- 1、本文档共74页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 软件概要设计 4.1 概要设计的任务和过程 4.2 概要设计的基本原理 4.3 软件模块化的优化原则 4.4 概要设计的方法 小 结 思考与练习 4.1 概要设计的任务和过程 软件概要设计的任务就是将软件的需求分析转化为软件的系统结构和数据结构。 软件的概要设计一般包含数据设计、体系结构设计、接口设计和过程设计,具体的的信息流如图所示: 软件概要设计过程可以划分为两个主要阶段: 系统设计和结构设计。 系统设计的任务是确定整个系统的具体实现方案。 结构设计的任务则是确定软件的整体体系结构。 一般来说,其过程可以分为如下几个步骤: 1、设计系统的实现方案 2、选取最佳、合理的设计方案 3、任务分解 4、确定软件结构 5、系统数据结构设计 6、制定测试计划 7、编写概要设计阶段的有关设计文档 8、概要设计评审与复审 在概要设计文档一般包含以下几个方面: 1)概要设计说明书:给出系统目标、总体设计、数据设计、处理方式设计、运行设计以及出错设计等。 2)数据库设计说明书:给出本系统所使用的数据库的有关说明及其它相关的内容。 ?3)用户手册:根据系统概要设计的结果修改和更正在需求分析阶段得到的初步的使用手册。 4)初步的系统测试计划:给出系统测试的基本策略、方法和测试步骤的明确要求。 5)详细设计的实现计划:给出系统各个模块实现的详细的设计思路。 4.2 概要设计的基本原理 4.2.1 模块与模块独立性 4.2.2 抽象、信息隐蔽与局部化 4.2.1 模块与模块独立性 所谓模块是指可以单独命名且可以通过名字来访问的数据说明、可执行语句等程序对象的集合。将这些模块组装起来以满足整个问题的需求。 将一个大的复杂问题分解为若干个小的易于理解的问题之后,实际的解决过程则变的简单了。这就是模块化的依据。 当然,模块的划分不能够太随意和无限制。事实上,有时候模块的划分过于细化反而会增加系统的整体工作量。模块化合软件的成本可以用下图来表示。 模块的独立性是指模块和其它模块之间没有过多的相互作用,也就是说每一个模块都完成一个相对独立的特定的子功能。 为什么模块要具有独立性呢?一般有以下两个主要原因: 1)一个相对独立的模块的功能较为单一,接口简单,易于开发。 2)一个相对独立的模块比较容易测试和维护。 模块的独立程度可以用两个定性的标准来度量,即模块的内聚性和耦合性。 1.内聚性(cohesion) 内聚是模块功能强度的度量,它标志一个模块内部各个元素彼此结合的紧密程度。一个理想的内聚程度高的模块应该只完成一种功能。一般模块的内聚性分为7种类型,它们的关系如下图所示。 偶然内聚(巧合内聚) 逻辑内聚 把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块的参数确定执行哪种功能。 逻辑内聚模块 时间内聚(经典内聚) 模块完成的功能必须在同一时间 内执行,这些功能只因时间因素 关联在一起。 例如:初始化系统模块、 系统结束模块、 紧急故障处理模块等均是时间性聚合 模块. 过程内聚(顺序性组合) 模块内各处理成分相关, 且必须以特定次序执行 过程内聚模块 通信内聚 模块内各部分使用相同的输入数据,或产生相同的输出结果 通信内聚模块例 信息内聚 模块完成多个功能,各功能都在同一数据结构上操作,每一功能有唯一入口。 信息内聚模块 功能内聚 模块仅包括为完成某个功能所必须的所有成分。 模块所有成分共同完成一个功 能,缺一不可 内聚性最强 在软件的设计过程中,我们应该尽量使模块的内聚性强一些。 为了做到这一点,一般遵循以下内聚性原则: (1)?? 定量使用信息内聚 (2)?? 少用通信内聚和过程内聚 (3)?? 限用时间内聚 (4)?? 禁用逻辑内聚 2.耦合性(coupling) 耦合性是软件结构内不同模块之间相互关联程度的度量。耦合的强弱取决于模块之间接口的复杂程度、模块的调用方式以及通过接口的数据。和内聚性一样,我们通常也把模块的耦合性分成7种类型,如下图所示。 (1) 无直接耦合 两个模块没有直接关系(模块1和模块2),模块独立性最强。 (2) 数据耦合 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据(若干参数)。 属松散耦合。 数据耦合举例 (3) 标记耦合(复合型耦合) 如两个模块通过传递数据结构(不是简单数据,而是记录
您可能关注的文档
最近下载
- 2024年广东省中考英语试题(含听力音频和答案).docx VIP
- 公务员制度导论-孙德超-第4章 公务员分类管理制度.ppt VIP
- 五年级下册数学应用易错题.docx VIP
- 智慧税务服务综合管理系统方案.docx VIP
- 公务员制度导论-孙德超-第5章 公务员录用制度.ppt VIP
- 运营车辆停运费诉状范文范例.docx VIP
- 2024江苏省句容市《质量员之设备安装质量基础知识》资格考试必背200题完整题库(基础题).docx VIP
- 玩转手机银行APP.doc VIP
- 纳米材料与纳米技术 课件全套 第1--7章 纳米材料的结构单元---先进纳米加工技术.pptx
- 网约车停运费诉状模板范文范例.docx VIP
文档评论(0)