网站大量收购独家精品文档,联系QQ:2885784924

软件工程 4-2 软件设计原理与优化准则.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程 4-2 软件设计原理与优化准则

第四章 软件设计 二、软件设计原理与优化准则 1、软件结构与过程 软件结构的划分过程 树状结构和网状结构的特点 2、模块化 软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。 把问题/子问题的分解与软件开发中的系统/子系统或系统/模块对应起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。 模块的基本属性 “模块”,又称“组件”。一般有四个基本属性 模块的外部特性与内部特性 3、模块化的特征 4、模块的独立性 模块独立性的度量 模块间的耦合 *非直接耦合 *数据耦合 一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。 *标记耦合 一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。 *控制耦合 如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。 *外部耦合 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。 *公共耦合 若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 公共耦合的复杂程度随耦合模块的个数增加而显著增加。若只是两模块间有公共数据环境,则公共耦合有两种情况。松散公共耦合和紧密公共耦合。 *内容耦合 影响耦合度的因素 连接方式的类型: 接口的复杂性: 传送的信息流的类型: 耦合的时间: 降低耦合度的方法: 模块的内聚 模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割。则称该模块为功能内聚模块。 *信息内聚 *通信内聚 *过程内聚 使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。 *时间内聚 *逻辑内聚 这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。 *巧合内聚(偶然内聚) 当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。 5、软件设计优化的准则 思考题 时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。 内聚实例 T MOV A TO B READ Card file MOV C TO D P Q R S 巧合内聚 此例中A、B、C、D、T之间各不相干,只因为P、Q、R、S都要用到它们,为了节省一些存储空间,将它们放在一个模块中。 问题:这种模块不易取名,模块含义不易理解,难以测试,不易修改。当P、Q有不同要求(如P要求MOVE A TO B)时 T的修改会很复杂。因为它们本来互不相关,所以变动的可能性很大。 当存储空间不是很紧张时,应尽量避免巧合性内聚。 内聚实例 模块内各处理单元相关,按特定次序执行,采用数据流图时往往会出现此种内聚。 如图:读入的数据供编辑单元处理,读入和编辑这两个处理单元在一个过程中相关。 读入 编辑 数据 过程内聚 第四章 软件设计 * 第四章 软件设计 * 软件结构与过程 模块化 模块化的特征 模块化的独立性 软件设计的优化准则 软件过程:软件过程集中考虑每个模块各自的处理细节。过程必须提供一个精确的处理规格说明,包括事件顺序,精确的判定位置、重复的操作,以及数据组织和结构等 。 结构和过程之间的关系:描述一个模块的实现,必须包括所有从属于该模块的所有模块的引用,而从属于该模块的所有模块是通过结构体现的。 该划分过程从需求分析确立的目标系统的模型出发,对整个问题进行分割,使每个部分用一个或几个软件成份加以解决。 树状结构的特点:整个结构只有一个顶层模块,而对于任何一个下层模块,只有一个上级模块,而且同一层模块之间不发生联系。 网状结构的特点:任意两个模块间都可以有双向的关系。由于模块间不存在上下的关系,任何两个模块都是平等的,因此分不出层次来。 软件系统结构图 功能:描述该模块做什么? 逻辑:描述模块内

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档