软件工程导论(第5章).ppt

  1. 1、本文档共146页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二部分 开发阶段;结构化设计(Structured Design,SD)分为两个阶段: 总体设计(又称概要设计) 通过仔细分析软件规格说明,适当地对软件进行功能分解,从而把软件划分为模块,并且设计出完成预定功能的模块结构。 详细设计 详细设计阶段详细地设计每个模块,确定完成每个模块功能所需要的算法和数据结构。 ;;;第五章 总体设计; 总体设计的基本目的 总体设计的基本目的就是回答“概括地说,系统应该如何实现?”这个问题。 总体设计又称为概要设计或初步设计。 总体设计阶段的任务 通过这个阶段的工作将划分出组成系统的物理元素——程序、文件、数据库、人工过程和文档等等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计。 总体设计阶段的另一项重要任务是设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。 ;总体设计的意义 在详细设计之前进行总体设计可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。 ;;5.1 设计过程;5.1.1 设想供选择的方案;;5.1.2 选取若干个合理的方案;5.1.3 推荐最佳方案;5.1.4 功能分解;5.1.5 设计软件结构;5.1.6 数据库设计;5.1.7 制定测试计划;5.1.8 书写文档;5.1.9 审查和复审;5.1.10 技术上的约定;5.1.10 技术上的约定;5.1.10 技术上的约定;5.1.10 技术上的约定;5.1.10 技术上的约定;5.1.10 技术上的约定;5.2 设计原理 **;5.2.1 模块化;5.2.1 模块化;5.2.1 模块化;最适当的模块数目 ; 模块化的根据 不等式 C(P1+P2)> C(P1)+ C(P2) E(P1+P2)> E(P1)+ E(P2) “各个击破”的结论——把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了 ;模块化的优点;模块化五条标准;5.2.2 抽象;5.2.2 抽象;5.2.3 逐步求精;5.2.3 逐步求精;5.2.4 信息隐蔽和局部化;5.2.4 信息隐蔽和局部化;5.2.5 模块独立;5.2.5 模块独立;耦合性(Coupling);耦合性(Coupling);耦合性(Coupling);(1)非直接耦合(Nondirect Coupling);(2)数据耦合 (Data Coupling);(2)数据耦合 ;(3)标记耦合 (Stamp Coupling);(3)标记耦合 (Stamp Coupling);(4)控制耦合(Control Coupling) ;(4)控制耦合(Control Coupling) ;(5)外部耦合 (External Coupling);(6)公共耦合(Common Coupling) ;(6)公共耦合(Common Coupling) ;(7)内容耦合 ; 应采取下述设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 ;模块化的原则 模块化设计的最终目标,是希望建立模块间耦合尽可能松散的系统。 在这样一个系统中,我们设计、编码、测试和维护其中任何一个模块,就不需要对系统中其他模块有很多的了解。 此外,由于模块间联系简单,发生在某一处的错误传播到整个系统的可能性很小。;内聚性(Cohesion) ;内聚性(Cohesion) ;(1)巧合内聚(Coincidental Cohesion) ;(1)巧合内聚(Coincidental Cohesion) ;(2)逻辑内聚 (Logical Cohesion);(2)逻辑内聚 (Logical Cohesion);(3)时间内聚 (Classical Cohesion);(3)时间内聚 (Classical Cohesion);(4)过程内聚 (Procedural Cohesion);(5)通信内聚(Communication Cohesion) ;(5)通信内聚(Communication Cohesion) ;69;(6)信息内聚(Informational Cohesion) ;(7) 顺序内聚(Sequence Cohesion) 如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行(通常一个处理元素的输出数据作为下一个处理元素的输入数据);(8)功能内聚(Functional Cohesion) ;内聚度;5.3 启发规则 ***;1 改进软件结构提高模块独立性;;2 模块规模应该适中;2 模块规模应该适中;3 深度、宽度、扇入和扇出都应适当;3 深度、宽度、扇

文档评论(0)

开心就好 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档