[工学]第4章-总体设计.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文档。上传文档
查看更多
[工学]第4章-总体设计

第4章 总体设计 4.1 总体设计的过程 4.2 软件设计的概念和原理 4.3 启发式规则 4.4 图形工具 4.5 面向数据流的设计方法 总体设计的任务 回答“怎么做”的问题; 总体设计的成果是系统结构图 4.1 总体设计的过程 分解软件的功能 设计软件的结构 设计软件数据库 制定测试的计划 书写软件的文档 严格审查和复查 4.2 软件设计的概念和原理 软件设计的方法:自顶向下,逐步求精 模块化概念 事情分解与难度公式 假设:复杂度C(P1)C(P2) 假设:工作量E(P1)E(P2) 则:C(P1+P2)C(P1)+C(P2) 则:E(P1+P2)E(P1)+E(P2) 模块化概念 模块划分不是无限地分割软件; 模块化概念 每个软件都有一个最适当的模块数目M使得软件开发的成本最小; 模块化的优点: 软件结构清晰; 有助于提高软件的可靠性; 有助于软件开发工程的组织管理; 抽象 使用问题所处环境的语言概括地描述问题的解法。 采用过程化的方法对问题加以描述。 描述数据对象的细节,定义与该数据对象相关的操作,如数据字典。 信息隐藏 模块中所包含的信息(包括数据和过程)不允许其它不需要这些信息的模块使用。 信息局部化 把一些关系密切的软件元素物理地放在一起。 局部化意味着模块中的错误也局部化了,易于发现。 模块独立 模块独立是模块化、抽象、信息隐蔽和局部化概念的直接结果; 模块独立的两条理由: 有效的模块化软件比较容易开发; 独立的模块比较容易测试和维护; 模块独立是好设计的关键; 模块独立的概念 衡量模块独立程度的定性标准----内聚、耦合 耦合是模块之间的互相连接的紧密程度的度量。 内聚是模块内部各个元素彼此结合的紧密程度的度量。 模块独立性比较强的模块是高内聚低耦合的模块。 耦合 一个软件结构内不同模块之间互相连接的度量 。 影响系统的可理解性、可测试性、可靠性和可维护性。 耦合的种类 非直接耦合 如果两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,这就是非直接耦合。 耦合的种类 数据耦合 如果两个模块彼此之间通过简单数据参数 (不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的,则称为数据耦合。 耦合的种类 标记耦合 如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系, 则称这两个模块间存在标记耦合。 耦合的种类 标记耦合: “住户情况”是一个数据结构,图中模块都与此数据结构有关. 标记耦合改为数据耦合举例 耦合的种类 控制耦合 如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能就是控制耦合。 耦合的种类 改控制耦合为数据耦合举例 耦合的种类 公共耦合 当两个或多个模块都通过一个公共数据环境相互作用,则它们之间的耦合就称为公共耦合。 公共的数据环境可以是全局变量、全局数据结构、共享的通信区、内存的公共覆盖区等。 耦合的种类 耦合的种类 内容耦合 (1) 一个模块直接访问另一个模块的内部数据; (2) 一个模块不通过正常入口转到另一模块内部; (3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中); (4) 一个模块有多个入口(程序功能不独立) 耦合的种类 耦合概念总结 尽量使用数据耦合; 少用控制耦合; 限制公共环境耦合的范围; 完全不用内容耦合; 内聚 一个模块内部各个元素彼此结合的紧密程度。 理想内聚的模块只做一件事情。 内聚和耦合密切相关,但更应重视内聚。 内聚的种类 功能内聚 10分 一个模块中各个部分都是完成某一具体功能必不可少的组成部分,该模块中所有部分紧密联系,不可分割的。 内聚的种类 顺序内聚 9分 如果一个模块内的处理元素和同一个功能密切相关,而且这些处理必须顺序执行。 内聚的种类 通信内聚 7分 如果一个模块内各功能部分都使用了相同的输入数据,或产生了相同的输出数据。通信内聚模块是通过数据流图来定义的。 内聚的种类 内聚的种类 通信内聚例子 内聚的种类 过程内聚 5分 用流程图设计程序时,把流程图中的某一部分划出组成模块,就得到过程内聚模块。 例如,把流程图中的循环部分、判定部分、计算部分分成三个模块,这三个模块都是过程内聚模块。 内聚的种类 内聚的种类 时间内聚 3分 时间内聚又称为经典内聚。模块要求所有功能必须在同一时间段内执行。 例如初始化模块和终止模块。 内聚的种类 逻辑内聚 1分 这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的判定参数来确定该模块应执行哪一种功能。 内聚的种类 逻辑内聚举例 内聚的种类 偶然内聚 0分 巧合内聚也称偶然内聚。当模块内各部分之间没有联系,或者即使有联系,这种联系也很松散。 耦合与内聚总

文档评论(0)

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

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

1亿VIP精品文档

相关文档