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

计算机软件技术基础-第4章-软件工程-2.ppt

计算机软件技术基础-第4章-软件工程-2.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络教育学院 网络教育学院 §4.4 概要设计 软件设计是把软件需求变为软件的具体方案 软件设计包括两个阶段: 概要设计 详细设计 概要设计根据软件需求所确定的数据流程或数据结构,导出软件的总体表示----软件结构或程序过程 概要设计 软件结构: 软件结构是一种层次化的表示,其指出了由需求分析隐含的确定的某一问题的软件解法的各个元素(称之为模块)之间的相互控制关系 软件结构的演变从确定问题开始,当该问题的每个部分用一个或多个软件加以解决以后,整个问题的解也就有了 概要设计 概要设计 软件结构的度量和术语: 深度:表示控制的层数。 宽度:表示控制(同一层次)总跨度。 扇出数:指由一模块直接控制的其他模块的数目。 扇入数:指有多少个模块直接控制一个给定的模块。 上级模块 下级模块 概要设计 程序过程: 程序过程是用于描述每个模块的操作细节,是关于模块算法的详细描述,它应当包括处理的顺序、精确的判定位置、重复的操作以及数据组织和结构等。 概要设计 模块: 模块是数据说明、可执行语句等程序对象的集合,是单独命名的并且可以通过名字来访问,例如过程、函数、子程序、宏等。 概要设计 模块化: 软件被划分成(独立命名和可独立访问的被称作模块的)构件,每个模块完成一个子功能,它们集成到一起满足问题需求。 概要设计 模块化论据: C(x)定义为问题x的感知复杂性 E(x)定义为解决问题x所需要的工作量 对p1和p2两个问题, 若 C(p1) C(p2),则 E(p1) E(p2) C(p1 + p2) C(p1) + C(p2) E(p1 + p2) E(p1) + E(p2) 概要设计 概要设计 实现模块化的手段: 抽象:抽出事物的本质特性而暂时不考虑它们的细节。 数据隐蔽:应该这样设计和确定模块,使得一个模块内包含的数据(过程和数据)对于不需要这些数据的模块来说,是不可访问的。 概要设计 模块独立性: 模块独立是指开发具有独立功能而且和其它模块之间没有过多的相互作用的模块。 模块独立的意义: --功能分割,简化接口,易于多人合作开发同一软件; --独立的模块易于测试和维护。 概要设计 模块独立程度的衡量标准: --耦合性:对一个软件结构内不同模块间互连程度的度量(eg.数据耦合,控制耦合,公共环境耦合)。 --内聚性:标志一个模块内各个处理元素彼此结合的紧密程度,理想的内聚模块只做一件事情。 概要设计 耦合分类: 无任何连接:两个模块中的每一个都能独立地工作而不需要另一个的存在(最低耦合)。 数据耦合:两个模块彼此通过参数交换数据,且交换的仅仅是数据(低耦合)。 控制耦合:两个模块之间传递的数据有控制成分(中耦合)(控制耦合往往是多余的,在将模块适当分解后,通常可用数据耦合代替它。) 概要设计 公共环境耦合:两个或多个模块通过一个公共环境相互作用: 1. 一个存数据,一个取数据(低耦合); 2. 都存取数据。 内容耦合: 1. 一个模块访问另一个模块的内部数据; 2. 两个模块有一部分程序代码重叠; 3. 一个模块不通过正常入口而转移的另一个的内部; 4. 一个模块有多个入口(意味着该模块有多个功能)。 概要设计 内聚分类(1/2): 偶然内聚:一组任务关系松散(低) 逻辑内聚:一组任务在逻辑上同属一类,例如均为输出(低) 时间内聚:一组任务必须在同一段时间内执行(低)(eg.模块完成各种初始化工作) 概要设计 内聚分类(2/2): 通信内聚:模块内所有元素都引用相同的输入或输出数据集合(中) 顺序内聚:模块中的每个元素都是与同一功能紧密相关,一个元素的输出是下一个元素的输入(高) 功能内聚:一个模块完成一个且仅完成一个功能(高) 概要设计 关于耦合性和内聚性的设计原则: 1、力争尽可能低的耦合性:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合 2、力争尽可能高的内聚性. 概要设计 概要设计的启发式准则(1/3): 1、改进软件结构,提高模块独立性 2、模块规模应该适中(最好能写在一页纸上) 大模块分解不充分;小模块使用开销大,接口复杂。 3、尽量减少高扇出结构的数目,随着深度的增加争取更多的扇入。 扇出过大意味着模块过分复杂,需要控制和协调过多的下级模块。一般来说,顶层扇出高,中间扇出少,低层高扇入。经验表明,一个设计得好的典型系统的平均扇出通常是3或4(扇出的上限通常是5~9)。 概要设计 概要设计的启发式准则(2/3): 4、模块的作用范围保持在该模块的控制范围内 模块的作用范围是指该模块中一个判断所影响的所有其它

文档评论(0)

一天一点 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档