软件工程实践者的研究方法第九章构件级设计教程详解.ppt

软件工程实践者的研究方法第九章构件级设计教程详解.ppt

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
设计传统构件 传统软件构件的构件级设计基础在20世纪60年代已经形成,Dijkstra等人提出,所有程序都可以建立在一组限定好的逻辑构造之上,这一组逻辑构造强调了“对功能域的支持”,其中每一个逻辑结构有可预测的逻辑结构(structure),从顶端进入,从底端退出,读者可以很容易地理解过程流。 这些逻辑构造包括顺序型、条件型和重复型。这些逻辑构造是结构化编程的基础,而结构化编程是构件级设计的一种重要技术。 图形化设计表示 图9-10 流程图构造 图形化设计表示 一般来说,如果需要从一组嵌套的循环或条件中退出,完全依赖结构化的构造将导致效率降低。更重要的是,退出路径上的复杂逻辑检验将会使软件的控制流不清晰,增加出错的可能,降低可读性和可维护性。 设计人员有两种选择:(1)重新设计过程表示,保证内层嵌套的控制流中不需要退出分支;(2)以受控方式突破结构化的构造,即设计一条从嵌套层内退出的路径。第一种选择是最理想的,但第二种选择也不违反结构化编程的精神。 表格式设计表示 在许多软件应用系统中,模块需要对复杂的组合条件求值,并根据这些条件选择要执行的动作。决策表(判定表)提供了一种表示方法,可以将动作和条件翻译成表格。 决策表分为四个部分,左上部列出了所有的条件,左下部列出所有可能的动作,右半部构成了一个矩阵,表示条件的组合以及特定条件组合对应的动作,因此矩阵的每一列可以解释成一条处理规则。 表格式设计表示 开发决策表的步骤如下: 1、列出特定过程(或模块)相关的所有动作。 2、列出执行该过程时的所有条件(或所做的决策)。 3、将特定的条件组合与特定的动作相关联,消除不可能的条件组合;或者找出所有可能的条件排列。 4、定义规则,指出一组条件对应哪个或哪些动作。 决策表实例 图9-11 决策表 程序设计语言 程序设计语言PDL也称为结构化的英语或伪代码,它是“一种混合语言”,采用一种语言的词汇和另一种语言的语法。 设计表示方法的比较 设计表示方法应该能够导致一个易于理解和评审的过程表示。此外,这些表示方法还应该增强“面向代码”的能力,以便代码确实能够成为设计的一个自然副产品。最后,设计表示方法必须易于维护,使得设计总是正确地表示程序。 PDL可以被直接嵌入到源程序列表中,以改善文档并减少设计维护的难度。可以由任何文本编辑程序或字处理系统完成编辑,自动处理器已经存在,并具有“自动代码生成”的潜力。 活动图和流程图的图形化特征使得设计人员更容易看清控制流。 决策表的准确内容,是表驱动应用系统的理想工具。 对设计工具的选择可能更取决于人为因素而不是技术因素。 基于构件的开发 在软件工程领域,复用既是老概念,也是新概念。在计算机发展的早期,程序员就已经复用概念、抽象和过程,但是早期的复用更像是一种临时的方法。今天,复杂的、高质量的计算机系统往往必须在短时间内开发完成,因此就需要一种更系统的、更有组织性的复用方法来帮助这样的快速开发。 基于构件的软件工程是一种强调使用可复用的软件构件来设计与构造计算机系统的过程。 基于构件的开发 领域工程的目的是识别、构造、分类和传播一组软件构件,这些构件在某一特定的应用领域中可以适用于现有的和未来的软件。总体目标是为软件工程师建立一种机制来分享这些构件,从而在开发新系统或改造现有系统时可以共享这些构件——复用它们。领域工程包括3种主要活动:分析、构造和传播。 基于构件的开发 领域分析过程中的步骤定义如下: 1.定义待研究的领域。 2.把从领域中提取的项进行分类。 3.收集领域中有代表性的应用系统样本。 4.分析样本中的每个应用系统,并且定义分析类。 5.为这些类开发需求模型。 基于构件的开发 构件合格性检验将保证某候选构件执行需要的功能,将完全适合系统的体系结构,并具有该应用系统所需的质量特性。以下为一些构件合格性检验的重要因素: 应用系统的编程接口。 构件所需的开发工具与集成工具。 运行时需求,包括资源使用、时间或速度以及网络协议。 服务需求,包括操作系统接口和来自其他构件的支持。 安全特征,包括访问控制和身份验证协议。 嵌入式设计假定,包括特定的数值或非数值算法的使用。 异常处理。 基于构件的开发 构件适应性修改。在理想情况下,领域工程建立构件库,构件可以很容易地被集成到应用系统体系结构中。“容易集成”的含义是:(1)对于库中的所有构件,都已经实现了一致的资源管理方法;(2)所有构件都存在诸如数据管理等公共活动;(3)已经以一致的方式实现了体系结构的内部接口及与外部环境的接口。 即使已经对某个构件在应用系统体系结构内部的使用进行了合格性检验,也可能在刚才提到的一个或多个地方发生冲突。为了避免这些冲突,经常使用一种称为构件包装的适应性修改技术。当软件团队对某一构件的内部设计和代码具有完全的访问权时,

文档评论(0)

创业文库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档