《软件工程与项目管理》第4章_软件设计.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章软件设计 • 掌握:概要设计的方法、详细设计的方 法、软件设计说明书的规范化编写。 4.1 软件设计概述 4.1.1 软件设计的任务 软件设计的基本目的就是回答“系统应 该如何实现?”这个问题。软件设计的任 务,就是把分析阶段产生的软件需求说 明转换为用适当手段表示的软件设计文 档。 1.系统结构设计 系统结构设计用于定义软件主要结构性元素之间的 关系。系统结构设计表示(即基于计算机的系统的框 架)可以从系统规约、分析模型以及分析模型中所定 义的子系统的交互中导出。 2.数据设计 数据设计用于将分析阶段创建的信息模型,如数据 字典、数据流图等,转变为实现软件所需的数据结 构。部分数据设计可能和软件系统结构的设计同时发 生,但更详细的数据设计活动则会发生在设计每个具 体软件构件(或模块)的时候。 3.接口设计 接口设计描述软件内部模块之间以及软件与人之间 是如何通信的(包括数据流和控制流)。一个接口意 味着特定的信息流(如数据流或控制流)以及行为类 型,因此,数据和控制流图提供了接口设计所需的信 息。 4 .构件设计 从工程管理的角度来看,传统的软件设计任务通常 分两个阶段完成,即概要设计和详细设计。 4.1.2 模块与模块化 在软件系统设计中,模块是一个明确定义的输入、 输出和特性的程序实体,通常程序中单独命名且可通 过名字访问的过程函数、子程序或宏调用都可看作模 块。一般模块具有以下几种特征: (1)接口:模块的输入/输出。 (2)功能:模块实现什么功能,有什么作用。 (3)逻辑:描述模块内部如何实现需求及所需数 据。 (4 )状态:模块的运行环境,模块间调用与被调用 关系。 软件设计应当遵循“模块化” 的原则。 所谓“模块化”,就是将程序划分成若干个 独立的模块的过程,其中,每个模块完 成一个特定子功能,每个模块既相对独 立,又相互联系,它们共同完成系统指 定的各项功能。 4.1.3 抽象与细化 • 抽象是指从一些事物中抽取其本质的共同的特性,而 忽略其非本质细节的差异。 • 细化是一种先总体、后局部的思维原则,也就是一种 逐层分解、分而治之的方法。 • 模块的“粒度”是指模块的规模。如果模块的规模过大, 会使得模块的可重用性差,同时,修改、维护也比较 困难。在模块设计中,“细化”与“抽象” 的思想极为重 要。通过细化,可以将一个大模块分解成若干个小模 块;通过抽象,可以将多个模块中的公共部分概括出 来,用单独的模块表示,从而降低了模块的粒度。 4.1.4 信息隐蔽 信息隐蔽是在设计和确定模块时,使 得一个模块内包含的信息(过程和数 据)对于不需要这些信息的模块来说是 不能访问的。它通过定义一组独立的模 块来实现有效的模块化。信息隐蔽作为 一种设计准则用于模块化系统,在测试 与维护期间会为软件修改带来极大的好 处。 4.1.5 模块的独立性 模块的独立性是指软件系统中的每个 模块只涉及软件要求的具体的子功能, 应与软件系统中其他模块的接口保持简 单化,即模块间的联系不要太多。例 如,若一个模块只具有单一的功能,且 与其他模块没有太多的联系,那么称此 模块具有模块独立性。 1. 耦合 耦合是模块之间的相对独立性(互相连接的 紧密程度)的度量。模块之间的连接越紧密, 联系越多,耦合性就越高,而其模块独立性就 越弱。 1)非直接耦合 非直接耦合是指两个模块之间无直接关系, 它们之间的联系完全是通过主程序的控制和调 用来实现的。非直接耦合的模块间耦合程度最 低,即模块独立性最强。 2)数据耦合 数据耦合指的是模块间的通信参数都是数据 项。数据是模块间进行信息交流的一种必不可 少的联系形式。在模块之间传输的数据项越 少,产生的不利影响越少。 图4-1 数据耦合 3)标记耦合 如果两个模块通过参数表传递记录信息,而 这个记录是某一数据结构的子结构(如字符 串),而不是简单变量 4 )控制耦合 控制耦合是指一个模块向另一个模块传送的 信息控制了另一个模块的执行。

文档评论(0)

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

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

1亿VIP精品文档

相关文档