软件工程第3章 总体设计.pptVIP

  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文档。上传文档
查看更多
1、系统流程图 2、HIPO图 (1)HIPO图的H图 (2)IPO图 表3-1 IPO表的组成 3.4.2 总体设计中的工具 * * 1 引言 2 总体设计 3 接口设计 4 运行设计 5 系统数据结构设计 6 补救措施 7 系统维护设计 3.4.2 总体设计中说明书编写规范 * * 5.模块的耦合 具体区分模块间耦合程度强弱的标准如下: (1) 非直接耦合 如果两个模块中的每一个都能独立地工作而不需要另一个模块的存在,那么它们彼此完全独立。 (2) 数据耦合 如果两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据,那么这种耦合称为数据耦合。 (3) 控制耦合 如果传递的信息中有控制信息,则这种耦合称为控制耦合,如图3-2所示。 3.2.1 软件结构和过程 * * 5.模块的耦合 控制耦合是中等程度的耦合,它增加了系统的复杂程度。控制耦合往往是多余的,在把模块适当分解之后通常可以用数据耦合代替它。 图3-2 控制耦合 3.2.1 软件结构和过程 * * 5.模块的耦合 (4) 公共环境耦合 ? 当两个或多个模块通过一个公共数据环境相互作用时,它们之间的耦合称为公共环境耦合。 ? 当耦合的模块个数增加时复杂程度显著增加。如果只有两个模块有公共环境,那么这种耦合有下述两种可能,如图3-3所示。 3.2.1 软件结构和过程 * * 5.模块的耦合 图3-3 公共环境耦合 公共环境耦合是一种不良的连接关系,它给模块的维护和修改带来困难。如公共数据要作修改,很难判定有多少模块应用了该公共数据,故在模块设计时,一般不允许有公共连接关系的模块存在。 3.2.1 软件结构和过程 * * 5.模块的耦合 (5) 内容耦合 如果一个模块和另一个模块的内部属性(即运行程序和内部数据)有关,则称为内部耦合。两个模块间发生内容耦的情况: 图3-4 内容耦合 坚决避免使用内容耦合。事实上许多高级程序设计语言已经设计成不允许在程序中出现任何形式的内容耦合。 3.2.1 软件结构和过程 * * 5.模块的耦合 (6) 标记耦合 如果一组模块通过参数表传递记录信息,也就是说,这组模块共享了这个纪录,这就是标记耦合。在设计中应尽量避免这种耦合。 (7) 外部耦合 一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该变量的信息,则称之为外部耦合。 3.2.1 软件结构和过程 * * 5.模块的耦合 一般模块之间的连接有七种,构成的耦合也有七种类型,如图3-5所示。 图3-5 七种耦合类型的关系 总之,耦合是影响软件复杂程度的一个重要因素。应该采取的原则是:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。 3.2.1 软件结构和过程 * * 6.模块的内聚 (1) 偶然内聚 如果一个模块完成一组任务,各个任务之间没有实质性联系,即使这些任务彼此间有关系,其关系也是很松散的,就叫做偶然内聚,如图3-6所示。 图3-6 偶然内聚 图3-7 逻辑内聚 3.2.1 软件结构和过程 * 6.模块的内聚 (2) 逻辑内聚 ? 如果一个模块内部各组成部分的处理动作在逻辑上相似,但功能都彼此不同或无关,则称为逻辑内聚,如图3-7所示。 (3) 时间内聚 ? 如果一个模块内的各组成部分的处理动作和时间相关,则称为时间内聚。 3.2.1 软件结构和过程 * * 6.模块的内聚 (4) 过程内聚 ? 如果一个模块内部的各个组成部分的处理动作各不相同,彼此也没有联系,但他们都受同一个控制流支配,并由这个控制流决定他们的执行次序,则为过程内聚。 ? 使用程序流程图作为工具设计软件时,常常通过研究流程图确定模块的划分,这样得到的往往是过程内聚的模块。如图3-8所示,通过循环体,计算两种累积数。 图3-8 过程内聚 3.2.1 软件结构和过程 * * 6.模块的内聚 (5) 通信内聚 如果模块中所有元素都使用同一个输入数据和(或)产生同一个输出数据,则称为通信内聚. 图3-9所示的是通信内聚模块的示意图。例如要完成两个工作,这两个处理动作都使用相同的输入数据: 图3-9 通信内聚模块 3.2.1 软件结构和过程 * * 6.模块的内聚 (6) 信息内聚 信息内聚模块具有多种功能,能完成多种任务。各个功能都在同一数据结构上操作,每一项功能只有一个惟一的入口点,例如图3-10所示的有四个功能,即这个模块将根据不

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档