第四节 总体的设计.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 总体设计Preliminary Design 2 软件设计的概念和原理 耦合(Coupling) : 一个软件结构内不同模块之间互连程度的度量。   常见的耦合: (1)非直接耦合(Not direct coupling) (2)数据耦合(Data coupling) (3)标记耦合(Stamp coupling) (4)控制耦合(Control coupling) ( 5 ) 外部耦合(External coupling) (5)公共耦合(Common coupling) (6)内容耦合(Context coupling) 2 软件设计的概念和原理 ---- 耦合 面向数据流的设计方法 Data Flow-Oriented Design Method 5 面向数据流的设计方法(续) 5 面向数据流的设计方法(续) * * * 5.1 总体设计的过程 Preliminary Design process 5.2 软件设计的概念和原理 Software Concepts and principle 5.3 启发式准则 Heuristic Rule 5.4 总体设计的图形描述工具 Preliminary Design Diagram Tool 5.5 面向数据流的设计方法 Data Flow-Oriented Design 第5章 总体设计 Preliminary Design 总体设计的两项任务: “系统应该如何实现?”” 划分出组成系统的物理元素----程序、文件、数据库、人工过程和文档 设计软件的结构----确定每个程序的模块组成及模块之间的相互关系。 5.1 总体设计的过程(两个主要阶): Preliminary Design process 系统设计:确定系统的具体实现方案。 结构设计:确定软件结构。      1)软件结构表现软件模块之间的关系。      2)软件的层次结构(非树状)。      3)软件结构的度量。(深度、宽度、扇出和扇入) 设计供选择的方案 选 取 合理的方案 推荐最佳方案 功能分解 设计软件结构 数据库设 计 制订测试计划 书写文档 数据流图 系统流程图 组成系统的物理元素清单 成本/效益分析 实现系统的进度计划 系统说明 用户手册 测试计划 详细的实现计划 数据库设计结果 审查和复 审 由哪些模块组成,以及之间的关系。 5. 2 软件设计的概念和原理 Software Concepts and principle 4.2.1 模块化(Modularity) 4.2.2 抽象(Abstraction) 4.2.3 信息隐蔽和局部化 Information Hiding and localize 4.2.4 模块独立性 Module Independence 5.2.1 模块化(Modularity) 这种“分而治之”的思想提供了模块化的根据:把复杂的问题分解成许多容易解决的小问题,原来的问题也就容易解决了。 模块化:把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集 总起来组成一个整体,可以完成指定的功能,满足问题的功能。 模块是数据说明、可执行语句等程序对象的集合。 根据前面的结论,我们可以得出下面的不等式: E(P1+P2)>E(P1)+E(P2) 这个不等式表明:单独解决问题P1和P2所需的工作量之和,比把P1和P2合起来作为一个问题来解决时所需的工作量要少。 有两个函数:C(x)表示问题x的复杂程度;E(x)表示解决问题x所需要的工作量(时间)。 对于两个问题P1和P2,如果:C(P1)>C(P2) 则:E(P1)>E(P2) 另一个有趣的特性是:C(P1+P2)>C(P1)+C(P2) 模块化和软件成本的关系 成本 模块数目 接口成本 最小成本区 模块化和软件成本 软件总成本 成本/模块 4.2.2 抽象(Abstraction)  在某个阶段只抓住问题的共性,忽略差异。       方法:过程抽象(结构化设计)          数据抽象(面向对象设计)   软件工程过程的每一步,都是对软件解法的抽象层次的一次细化。 4.2.3 信息隐蔽和局部化(Information Hiding and localize)   信息隐蔽:模块所包含的信息对于其它不需要这些信息的模块来说,是不能访问的。   局部化:把一些关系密切的元素物理地放到一起。 4.2.4模块的独立性(Module Independence)   模块独立----每个模块完成一个相对独立的子

文档评论(0)

189****6140 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档