第5讲软件设计基础内容摘要:

询问打开的文件名 打开文件 显示文件内容 Else if SaveFile Then 询问存储文件名 存储文件 End if End Procedure 169。 Copyright Xinjun Mao 软件设计基础 24 模块化  什么是模块化思想 ? – 把软件划分为一组具有相对独立功能的部件,每个部件称为一个模块,当把所有的模块组装一起时,便可获得满足用户需求的软件系统 – 模块化体现了 “ 分而治之 ” 的问题分析和解决方法 模块 1 模块 2 模块 3 模块 4 模块 5 模块 6 169。 Copyright Xinjun Mao 软件设计基础 25 模块总数 最小成本区 软件总耗费 用于接口的开销 成本 / 每个模块 成本或工作量 软件开发成本与模块间关系示意图  如何设计模块使得软件开发成本最小。 – 软件设计准则 : 信息隐藏、高内聚度、低耦合度 169。 Copyright Xinjun Mao 软件设计基础 26 内聚度  什么是内聚度 – 指该模块内各成分间彼此结合的紧密程度  内聚度分类 – 偶然性内聚 : 模块内各成分为完成一组功能而结合在一起,关系松散 – 逻辑性内聚 : 模块完成的诸任务逻辑上相关 – 时间性内聚 : 模块内诸任务必须在同一时间段内执行 – 过程性内聚 : 模块内各成分相关且必须按特定次序执行 – 通讯性内聚 : 模块内各成分对数据结构的同一区域操作 – 顺序性内聚 : 模块内各成分与同一功能相关且顺序执行 – 功能性内聚 : 模块内各成分是一整体,完成单个功能. 169。 Copyright Xinjun Mao 软件设计基础 27 耦合度  什么是耦合度 – 模块间的相关程度 ,越低越好  耦合度分类 – 非直接耦合 : 二个模块都不依赖对方而独立存在 – 数据耦合 : 二个模块通过参数交换信息且仅限于数据 – 控制耦合 : 二个模块通过参数交换信息包含控制信息 – 特征耦合 : 介于数据耦合和控制耦合之间 – 外部耦合 : 二个模块与同一外部环境相关联 (文件等 ) – 公共耦合 : 模块间通过全局数据环境相互作用 – 内容耦合 : 一个模块使用另一模块内的数据和控制信息,或者直接转移到另一模块内执行 169。 Copyright Xinjun Mao 软件设计基础 28 信息隐藏 (1/2)  什么是信息隐藏 – 模块应该设计得使其所含的信息(过程和数据)对那些不需要这些信息的模块不可访问,模块之间仅仅交换那些为完成系统功能所必需交换的信息  例子 int nGetLen(char string[]) { int i, iLen。 …… . } 169。 Copyright Xinjun Mao 软件设计基础 29 信息隐藏 (2/2)  优点 – 模块的独立性更好 – 支持模块的并行开发(设计和编码) – 便于测试和维护,减少错误向外传播 – 便于增加新的功能 169。 Copyright Xinjun Mao 软件设计基础 30 本讲内容 1. 软件设计任务和过程 2. 软件设计原则 3. 软件设计结果描述工具 4. 软件设计规格说明书及评审 169。 Copyright Xinjun Mao 软件设计基础 31 软件总体设计  软件总体设计的任务  耦合度和内聚度是判断总体设计好坏主要标准  结构化软件总体结构的表示工具 – 层次图 – HIPO图 – 结构图  面向对象软件总体结构的表示工具 – 类图 169。 Copyright Xinjun Ma。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。