第4章节软件的设计1.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章节软件的设计1

第一部分 传统的软件工程方法 第二章 系统分析 第三章 需求分析 第四章 软件设计 第五章 软件测试 第四章 软件设计 4·1 软件设计的目标和任务 4·2 软件的设计基础 4·3 模块的独立性 4·4 结构设计中的图形工具 4·5 概要设计的方法 4·6 详细设计的描述方法 4·7 《软件设计说明书》 4·8 本章重点 4·1 软件设计的目标和任务 将分析模型转换为软件设计 将分析模型转换为软件设计 2. 软件设计的目标 3. 软件设计的两个阶段 4. 概要设计的任务与步骤 (1)设想可能的方案 (2)选取合理的方案 (3)推荐最佳方案 (4)功能分解 (5)设计软件结构 (6)数据库设计 (7)制定测试计划 (8)编写文档 (9)审查与复审 4·2 软件设计基础 4·2·1 结构和过程 4·2·1 结构和过程——基本概念 4·2·1 结构和过程——基本概念 4·2·1 结构和过程——基本概念 4·2·1 结构和过程——基本概念 只有一个顶层(0层)模块 0层外任一模块都会在它 的邻层存在一模块与它有关 同层模块间不发生联系 4·2·2 模块化(Modularity) 模块化是好软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作 4·2·2 模块化(Modularity) 4·2·2 模块化(Modularity) 4·2·2 模块化(Modularity) 4·2·3 抽象(Abstraction) 抽象:解决问题时只考虑与问题有关的方面,不考虑与问题无关的方面。即抽出事物的本质特性而不考虑细节。 原则应用举例 Windows NT一体化的I/O系统设计 4·2·3 抽象(Abstraction) 4·2·4 信息隐蔽(Information Hiding) 信息隐蔽的含义: 有效的模块化可以通过定义一组独立模块来实现,这些模块相互之间只交流软件功能必需的信息。 换句话说: 模块所包含的信息,不允许其它不需要这些信息的模块访问,独立的模块间仅仅交换为完成系统功能而必须交换的信息。 软件质量因素: 可维护性 可靠性 可理解性 效率 信息隐蔽的目的: 提高模块的独立性,减少修改或维护时的影响面。 4·2·5 信息局部化 把关系密切的软件元素物理地放得彼此靠近。 优点:可维护性好 可靠性好 可理解性好 4.3 模块的独立性 1. 独立性度量——耦合性 耦合性是模块间相互依赖程度的度量,耦合的强弱取决于模块间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据。 耦合性越高,模块独立性越弱 1. 独立性度量——耦合性 耦合强度依赖的因素: 一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度 模块间耦合的类型: 低 非直接耦合 耦 数据耦合 合 标志耦合 性 控制耦合 外部耦合 公共耦合 高 内容耦合 (1) 非直接耦合 两个模块没有直接关系(模快1和模快2),模块独立性最强。 (2) 数据耦合 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据。 属松散耦合。 数据耦合举例: 数据耦合举例: (3) 标记耦合(特征耦合) 如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系, 则称这两个模块间存在标记偶合。 标记耦合举例: (4) 控制耦合 一模块通过开关量、标志、名字等控制信息,明显地控制另一模块的功能。 控制耦合举例: 控制耦合举例: 消除控制耦合的方法: 控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。 去除模块间控制耦合的方法: (1)将被调用模块内的判定上移到调 用模块中进行 (2)被调用模块分解成若干单一功 能模块 改控制耦合为数据耦合举例: 控制耦合举例: 改控制耦合为数据耦合举例: 将B中核对口令功能划分到A (5) 外部耦合 一组模块均与同一外部环境关联(例如,I/O模块与特定的设备、格式和通信协议相关联),它们之间便存在外部耦合. 外部偶合必不可少,但这种模块数目应尽量少. (6) 公共耦合(公共数据区耦合) 一组模块引用同一个公用数据区(也称全局数据区、公共

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档