网站大量收购独家精品文档,联系QQ:2885784924

第4章软件设计1.pptVIP

  1. 1、本文档共87页,可阅读全部内容。
  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文档。上传文档
查看更多
第4章软件设计1

第一部分 传统的软件工程方法;第四章 软件设计;4·1 软件设计的目标和任务;数据 字典;将分析模型转换为软件设计;2. 软件设计的目标;3. 软件设计的两个阶段;4. 概要设计的任务与步骤;4·2 软件设计基础;4·2·1 结构和过程;4·2·1 结构和过程——基本概念;4·2·1 结构和过程——基本概念;4·2·1 结构和过程——基本概念;4·2·1 结构和过程——基本概念;模块化是好软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作; 令C(x)是确定问题x的复杂度函数,E(x)是决定解决问题x所需要的工作量(按时间计算)的函数。对于问题P1和P2满足;4·2·2 模块化(Modularity);4·2·2 模块化(Modularity); 抽象:解决问题时只考虑与问题有关的方面,不考虑与问题无关的方面。即抽出事物的本质特性而不考虑细节。 原则应用举例 Windows NT一体化的I/O系统设计;文件管理 网络管理 设备管理 高速缓冲存储器;信息隐蔽的含义: 有效的模块化可以通过定义一组独立模块来实现,这些模块相互之间只交流软件功能必需的信息。 换句话说: 模块所包含的信息,不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。; 可维护性 可靠性 可理解性 效率 信息隐蔽的目的: 提高模块的独立性,减少修改或维护时的影响面。; 把关系密切的软件元素物理地放得彼此靠近。 优点:可维护性好 可靠性好 可理解性好;4.3 模块的独立性; 耦合性是模块间相互依赖程度的度量,耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。 耦合性越高,模块独立性越弱;无耦合-没有依赖关系;一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度; 低 非直接耦合 耦 数据耦合 合 标志耦合 性 控制耦合 外部耦合 公共耦合 高 内容耦合; 两个模块没有直接关系(模快1和模快2),模块独立性最强。; 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据。 属松散耦合。;开发票;计算水电费; 如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系, 则称这两个模块间存在标记偶合。;计算水电费;计算水电费; 一模块通过开关量、标志、名字等控制信息,明显地控制另一模块的功能。;A;读入分数; 控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。 去除模块间控制耦合的方法: (1)将被调用模块内的判定上移到调 用模块中进行 (2)被调用模块分解成若干单一功 能模块;A;A;A;A; 一组模块均与同一外部环境关联(例如,I/O模块与特定的设备、格式和通信协议相关联),它们之间便存在外部耦合. 外部偶合必不可少,但这种模块数目应尽量少.; 一组模块引用同一个公用数据区(也称全局数据区、公共数据环境)。 公共数据区指: 全局数据结构 共享通讯区 内存公共覆盖区等;A;A;所有的公共 耦合关系;(1)软件可理解性降低 (模块间存在错综复杂的连系) (2)软件可维护性差 (修改变量名或属性困难) (3)软件可靠性差 (公共数据区及全程变量无保护措施) 慎用公共数据区和全程变量!!!; 一模块直接访问另一模块的内部信息(程序代码或数据) 最不好内容耦合形式 !!!;(1)一模块直接访问另一模块的内部数据 (2)一模块不通过正常入口转到另一模块内 (3)两模块有一部分代码重叠 (4)一模块有多个入口; 耦合是影响软件复杂程度和设计质量的重要因素 目标:建立模块间耦合度尽可能    松散的系统;(1) 如模块必须存在耦合,选择适当的耦合类型 原则:尽量使用数据耦合    少用控制耦合    限制公共耦合的范围    坚决避免使用内容耦合;接 口 复 杂 性; 一个模块内部各成分之间相互关联的强度 设计目标:高内聚(一模块的所有      成分都直接参与并且      对于完成同一功能来      说都是最基本的) ;  低 巧合内聚 内 逻辑内聚 聚 时间内聚 性

文档评论(0)

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

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

1亿VIP精品文档

相关文档