第5章总体设计课件.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文档。上传文档
查看更多
第5章总体设计课件.ppt

以上给出了 7种耦合类型,这只是从耦合的机制上所做的分类,按耦合的强弱程度的排列只是相对的关系。但它给设计人员在设计程序结构时提供了一决策准则。实际上,开始时两个模块之间的耦合不只是一种类型,而是多种类型的混合。这就要求设计人员按照实际情况进行分析、比较和分析,逐步加以改进,以提高模块的独立性。 总之,耦合是影响软件复杂程度的一个重要因素。应该采取下述设计原则: 尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。 2. 内 聚 一个模块内部元素在功能上相互关联的强度 设计目标:高内聚,模块在软件过程中完成单一的任务 (1) 功能内聚 (Functional Cohesion) 一个模块中各个部分都是完成某一具体功能必不可少的组成部分,或者说该模块中所有部分都是为了完成一项具体功能而协同工作,紧密联系,不可分割的。则称该模块为功能内聚模块。 内聚性最强 (2) 信息内聚(Informational Cohesion) 这种模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。 信息内聚模块可以看成是多个功能内聚模块的组合,并且达到信息的隐蔽。即把某个数据结构、资源或设备隐蔽在一个模块内,不为别的模块所知晓 (3) 通信内聚(Communication Cohesion) 如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据,则称之为通信内聚模块。通常,通信内聚模块是通过数据流图来定义的。 (4) 过程内聚(Procedural Cohesion) 模块内各处理成分相关,且必须以特定次序执行 读入 成绩单 审查 成绩单 统计 成绩 打印 成绩 读入并审查成绩单 统计并打印成绩单 (5) 时间内聚(Classical Cohesion) 时间内聚又称为经典内聚。这种模块大多为多功能模块,但模块的各个功能的执行与时间有关,通常要求所有功能必须在同一时间段内执行。 例如初始化模块和终止模块,系统结束模块、紧急故障处理模块等均是时间性聚合模块 。 (6) 逻辑内聚(Logical Cohesion) 把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。 S X Y Z W A B C D S X Y Z W ABCD (7) 巧合内聚(Coincidental Cohesion) 当模块内各部分之间没有联系,或者即使有联系,这种联也很松散,则称这种模块为巧合内聚模块,它是内聚程度最低的模块。 模块M中的三个语句没有任何联系 缺点:可理解性差, 可修改性差 内聚与耦合密切相关,同其它模块强耦合的模块意味者弱内聚,强内聚模块意味着与其它模块间松散耦合。 设计目标: 力争强内聚、弱耦合 耦合、内聚与模块独立性关系: 耦合与内聚都是模块独立性的定性标准,都反映模块独立性的良好程度。但耦合是直接的主导因素,内聚则辅助耦合共同对模块独立性进行衡量。 4.3 启发规则 改进软件结构提高模块独立性。 模块规模应该适中。 深度、宽度、扇出和扇入都应适当。 模块的作用域应该在控制域之内。 5. 力争降低模块接口的复杂程度。 6. 设计单入口单出口的模块。 7. 模块功能应该可以预测。 4.4 软件设计过程 1. 制定规范 在进入软件开发阶段之初,首先应为软件开发组制定在设计时应该共同遵守的标准,以便协调组内各成员的工作。包括: -- 阅读和理解软件需求说明书,确认用户要求能否实现,明确实现的条件,从而确定设计的目标,以及它们的优先顺序 -- 根据目标确定最合适的设计方法 -- 规定设计文档的编制标准 -- 规定编码的信息形式,与硬件,操作系统的接口规约,命名规则 2. 软件系统结构的总体设计 基于功能层次结构建立系统 -- 采用某种设计方法,将系统按功能划分成模块的层次结构 -- 确定每个模块的功能 -- 建立与已确定的软件需求的对应关系 -- 确定模块间的调用关系 -- 确定模块间的接口 -- 评估模块划分的质量 4.4 软件设计过程 3. 处理方式设计 确定为实现系统的功能需求所必需的算法,评估算法的性能 确定为满足系统的性能需求所必需的算法和模块间的控制方式 周转时间 响应时间 吞吐量 精度 确定外部信号的接收发送形式 4. 数据结构设计 确定软件涉及的文件系统的结构以及数据库的模式、子模式,进行数据完整性和安全性的设计 确定输入,输出文件的详细的数据结构 结合算法设计,确定算法所必需的

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档