四章概要设计总体设计.pptVIP

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

IPO图 (输入-处理-输出) 模块设计中的启发式规则 规则1模块规模要适中 (1).最好写在1页纸内 (2).不超过60行(30行后可读性变差) (3).过大的模块开发成本上升  (4).过小的模块接口成本上升 模块设计中的启发式规则 规则2改进软件结构提高模块独立性 (1).低藕合 (2).高内聚 (3).通过分解或合并可以减少控制信息的传递及对全局数据的引用,降低接口成本。 模块设计中的启发式规则 规则3深度、宽度、扇出和扇入要适当 模块设计中的启发式规则 规则3深度、宽度、扇出和扇入要适当 (1).深度不宜过多 (2).宽度越大系统越复杂 (3).扇出通常为3或4(上限在5-9) (4).扇入越多上级调用就越多,这是一件好事,但不能违背模块独立性原则单纯追求高扇入。 模块设计中的启发式规则 规则4模块的作用域应该在控制域之内 作用域:受该模块内一 个判定影响的 所有模块集合 控制域:模块本身和直 接间接从属于 该模块的模块 集合 A的控制域: A, B,C,D,E,F A的作用域不能A的控制域 模块设计中的启发式规则 规则5力求降低模块接口的复杂程度 模块设计中的启发式规则 规则6设计单入口和单出口的块 模块设计中的启发式规则 规则7模块功能应该可以预见 变换分析 ④ 在模块划分时,一个模块的直接下属模块一般在5个左右。如果直接下属模块超过10个,可设立中间层次。 ⑤ 如果出现了以下情况,就停止模块的功能分解: ?当模块不能再细分为明显的子任务时; ?当分解成用户提供的模块或程序库的子程序时; ?当模块的界面是输入/输出设备传送的信息时; ?当模块不宜再分解得过小时。 事务分析 ? 在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能。这种数据流就叫做事务。 ? 与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,建立系统到结构图。 事务分析过程: ① 识别事务源 利用数据流图和数据词典,从问题定义和需求分析的结果中,找出各种需要处理的事务。通常,事务来自物理输入装置。有时,设计人员还必须区别系统的输入、中心加工和输出中产生的事务。 事务分析过程: ② 规定适当的事务型结构 在确定了该数据流图具有事务型特征之后,根据模块划分理论,建立适当的事务型结构。 ③ 识别各种事务和它们定义的操作 从问题定义和需求分析中找出的事务及其操作所必需的全部信息,对于系统内部产生的事务,必须仔细地定义它们的操作。 事务分析过程: ④ 注意利用公用模块 在事务分析的过程中,如果不同事务的一些中间模块可由具有类似的语法和语义的若干个低层模块组成,则可以把这些低层模块构造成公用模块。 ⑤ 对每一事务,或对联系密切的一组事务,建立一个事务处理模块; 如果发现在系统中有类似的事务,可以把它们组成一个事务处理模块。 事务分析过程: ⑥ 对事务处理模块规定它们全部的下层操作模块 ⑦ 对操作模块规定它们的全部细节模块 变换分析是软件系统结构设计的主要方法。一般,一个大型的软件系统是变换型结构和事务型结构的混合结构。所以,我们通常利用以变换分析为主,事务分析为辅的方式进行软件结构设计。 软件模块结构的改进 ? 模块功能的完善化 一个完整的模块应当有以下几部分: ① 执行规定的功能的部分; ② 出错处理的部分。当模块不能完成规定的功能时,必须回送出错标志,出现例外情况的原因。 ③ 如果需要返回一系列数据给它的调用者,在完成数据加工或结束时, 应当给它的调用者返回一个结束状态标志。 软件模块结构的改进 ? 消除重复功能,改善软件结构 ① 完全相似:在结构上完全相似,可能只是在数据类型上不一致。此时可以采取完全合并的方法。 ② 局部相似:找出其相同部分,分离出去,重新定义成一个独立的下一层模块。还可以与它的上级模块合并。 过程内聚(Procedural Cohesion) 使用流程图做为工具设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。 模块的独立性: 时间内聚(Classical Cohesion) 时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。例如初始化模块和终止模块。 模块的独立性: 逻辑内聚(Logical Cohesion) 这种模块把几种 相关的功能组合 在一起,每次被 调

文档评论(0)

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

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

1亿VIP精品文档

相关文档