第4章概要设计xz.ppt

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

第四章 概要设计 概要设计的任务与准备 软件结构设计及优化 图形工具 结构化设计 数据结构设计 概要设计说明指南 4.1 概要设计的任务与准备 分析模型 设计模型 设计文档 回答How to do? 可以分为概要设计、详细设计 软件设计包括 数据设计 体系结构设计 接口设计 过程设计 软件设计的任务 问题结构(软件需求) 软件结构 从软件需求规格说明书出发,形成软件的具体设计方案。 软件设计的任务 数据设计 信息模型 软件数据结构 体系结构设计 定义软件部件间的关系 接口设计 软件内部、外部及与人之间的通信 过程设计 软件组件的过程性描述 软件设计分为两个阶段: (1)概要设计(总体设计) 确定软件的结构以及各组成成分 (子系统或模块)之间的相互关系。 (2)详细设计 确定模块内部的算法和数据结构,产生 描述各模块程序过程的详细文档。 4.2 软件结构设计及优化 模块(module)与构件(component) 模块:定义输入、输出和特性的程序实体 构件:可重复使用的软件组件 抽象(abstract)与细化(refinement) 抽象:分层次考虑和处理问题(数据和过程) 细化:从高到低的逐步分解过程 信息隐藏 对其它模块隐藏模块内部的数据和过程 软件复用 Design with reuse, design for reuse 模块化设计(modular design) 分解(decomposition) 模块独立性(module independence) 自顶向下(top—down design) 自底向上(bottom—up design) 模块化 (Modularity) 模块化是好的软件设计的一个基本准则 高层模块 从整体上把握 问题,隐蔽细节 复杂问题 较小问题 分解 可减小解题所需的总的工作 模块化和软件成本 模块的独立性 模块独立性的概念 模块独立的含义: 模块完成独立的功能 符合信息隐蔽和信息局部化原则 模块间关连和依赖程度尽量小 模块独立性的度量 模块独立性取决于模块的 内部和外部特征。 SD方法提出的定性的度量标准: 模块之间的耦合性 模块自身的内聚性 模块独立性(module independence) 内聚(cohesion) 模块内部各成分之间 耦合(coupling) 一个模块与其它模块之间 模块的独立性高 块内联系强 块间联系弱 模块独立性的度量之一:内聚性 一个模块内部元素在功能上相互 关联的强度 设计目标:高内聚 (模块在软件过程中 完成单一的任务) 内聚 内聚 cohesion 1.偶然性内聚 coincidental cohesion 2.逻辑性内聚 logical cohesion 3.时间性内聚 temporal cohesion 4.过程性内聚 procedural cohesion 5.通讯性内聚 communicational cohesion 6.顺序性内聚 sequential cohesion 7.功能性内聚 functional cohesion 逻辑性模块 模块独立性的度量之二:耦合性 模块间相对独立性(相互依赖程度)的度量 耦合性越高,模块独立性越弱 一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度 耦合 coupling 1.非直接耦合 no direct coupling  2.数据耦合 data coupling  3.特征耦合  stamp coupling   4.控制耦合  control coupling 5.外部耦合 external coupling 6.公共耦合 common coupling 7.内容耦合 content coupling 弱耦合 公共耦合 模块化设计的原则和目标 耦合是影响软件复杂程度和设计 质量的重要因素 目标:建立模块间耦合度尽可能    松散的系统 如何降低模块间耦合度: (1) 尽量使用数据耦合   少用控制耦合   限制公共耦合的范围   坚决避免使用内容耦合 (2) 降低接口的复杂性 内聚与耦合密切相关,同其 它模块强耦合的模块意味者 弱内聚,强内聚模块意味着 与其它模块间松散耦合. 设计目标: 力争强内聚、弱耦合 耦合、内聚与模块独立性关系 耦合与内聚都是模块独立性的 定性标准,都反映模块独立性 的良好程度。但内聚是直接的 主导

文档评论(0)

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

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

1亿VIP精品文档

相关文档