CH4 概要设计 经典软件工程PPT 知识讲稿.pptVIP

CH4 概要设计 经典软件工程PPT 知识讲稿.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CH4 概要设计 经典软件工程PPT 知识讲稿.ppt

软件生存周期;软件设计是后续开发步骤及软件维护工作的基础。如果没有设计,只能建立一个不稳定的系统结构;第五章 软件设计;讨论要点;引言: 软件设计的目标和目的;3. 软件设计的问题;4. 软件设计方法;5. 软件设计分为两个阶段:;软件设计任务;软 件 工 程;§5.1 设计过程;§1. 概要设计的过程;总体设计阶段的文档;§5.2 软件设计原理;模块化概念; 模块化 (Modularity);2. 软件结构度量术语;模块化和软件成本;§2. 软件设计原则; 3、信息隐蔽(Information hiding)与局部化 每一个模块的实现细节对于其他模块来说是隐蔽的,模块中所包括的信息不允许其他不需要这些信息的模块调用。 信息隐蔽对于软件的测试与维护都有很大的好处。因为对于软件的其它部分来说,绝大多数数据和过程都是隐蔽的,这样,在修改期间由于疏忽而引入的错误所造成的影响就可以局限在一个或几个模块内部,不至波及到软件的其他部分。 局部化就是将一些关系密切的软件元素物理地放得彼此靠近。;4、模块独立性(Module independence) * 好设计的关键:每个模块完成一个相对独立的子功能,并且与其它模块间的接口简单。;⑴ 耦合(Coupling);例1:A访问C的内部数据或不通过正常入口而转入C的内部。;例2:部分代码重叠(常出现在汇编程序中);? 公共耦合 (Common coupling):几个模块共享一个数据区域;?控制耦合(Control coupling):一个模块通过传递控制信息来控制另一个模块;;? 低内聚: ?偶然内聚(Coincidental cohesion) 模块中任务没有多大关系;? 时间内聚(Temporal cohesion):模块内的功能在同一时间段内完成 例如:系统的初始化 问题:不同功能混在一个模块中,有时共用部分编码,使局部功能的修改牵动全局。;? 通信内聚(Communicational cohesion):模块中所有元素都用同一个输入数据或产生同一个输出数据 例如:从同一磁带上读取不相干的数据 —— 可能破坏独立性。;? 耦合、内聚与模块独立性的关系:;§5. 3 结构设计原则(启发原则);结构设计原则;? 深度 = 分层的层数。过大表示分工过细。 ? 宽度 = 同一层上模块数的最大值。过大表示系统复杂度大。;? 扇出 = 一个??块直接调用\控制的模块数。 3 ? fan-out ? 9;4、作用域在控制域内 ? 控制域;5、降低接口的复杂程度:接口复杂可能表明模块的独立性差。 6、单出单入,避免内容耦合。 7、模块功能可预测 —— 相同输入必产生相同输出。反例:模块中使用全局变量或静态变量,则可能导致不可预测。 ;层次图用来描绘软件的层次结构。在图5.2中已经非正式地使用了层次图。虽然层次图的形式和第3.7节中介绍的描绘数据结构的层次方框图相同,但是表现的内容却完全不同。层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。图5.3是层次图的一个例子。; 图5.3 正文加工系统的层次图 ;层次图很适于在自顶向下设计软件的过程中使用。 HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。 和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。HIPO图中的每张IPO图内都应该明显地标出它所描绘的模块在H图中的编号,以便追踪了解这个模块在软件结构中的位置。; 图5.4 带编号的层次图(H图);Yourdon提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似,也是描绘软件结构的图形工具,图中一个方框代表一个模块,框内注明模块的名字或主要功能;方框之间的箭头(或直线)表示模块的调用关系。因为按照惯例总是图中位于上方的方框代表的模块调用下方的模块,即使不用箭头也不会产生二义性,为了简单起见,可以只用直线而不用箭头表示模块间的调用关系。;在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。图5.5是结构图的一个例子。 以上介绍的是结构图的基本符号,也就是最经常使用的符号。此外还有一些附加的符号,可以表示模块的选择调用或循环调用。图5.6表示当模块M中某个判定为真时调用模块A,为假时调用模块B。图5.7表示模块M循环调

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档