软件工程4软件设计ppt课件.ppt
《软件工程4软件设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程4软件设计ppt课件.ppt(65页珍藏版)》请在三一办公上搜索。
1、第4章 软件设计,掌握:概要设计的方法、详细设计的方法、软件设计说明书的规范化编写。,4.1 软件设计概述,4.1.1 软件设计的任务,软件设计的基本目的就是回答“系统应该如何实现?”这个问题。软件设计的任务,就是把分析阶段产生的软件需求说明转换为用适当手段表示的软件设计文档。,1系统结构设计 系统结构设计用于定义软件主要结构性元素之间的关系。系统结构设计表示(即基于计算机的系统的框架)可以从系统规约、分析模型以及分析模型中所定义的子系统的交互中导出。2数据设计 数据设计用于将分析阶段创建的信息模型,如数据字典、数据流图等,转变为实现软件所需的数据结构。部分数据设计可能和软件系统结构的设计同时
2、发生,但更详细的数据设计活动则会发生在设计每个具体软件构件(或模块)的时候。,3接口设计 接口设计描述软件内部模块之间以及软件与人之间是如何通信的(包括数据流和控制流)。一个接口意味着特定的信息流(如数据流或控制流)以及行为类型,因此,数据和控制流图提供了接口设计所需的信息。4构件设计 从工程管理的角度来看,传统的软件设计任务通常分两个阶段完成,即概要设计和详细设计。,4.1.2 模块与模块化,在软件系统设计中,模块是一个明确定义的输入、输出和特性的程序实体,通常程序中单独命名且可通过名字访问的过程函数、子程序或宏调用都可看作模块。一般模块具有以下几种特征:(1)接口:模块的输入/输出。(2)
3、功能:模块实现什么功能,有什么作用。(3)逻辑:描述模块内部如何实现需求及所需数据。(4)状态:模块的运行环境,模块间调用与被调用关系。,软件设计应当遵循“模块化”的原则。所谓“模块化”,就是将程序划分成若干个独立的模块的过程,其中,每个模块完成一个特定子功能,每个模块既相对独立,又相互联系,它们共同完成系统指定的各项功能。,4.1.3 抽象与细化,抽象是指从一些事物中抽取其本质的共同的特性,而忽略其非本质细节的差异。细化是一种先总体、后局部的思维原则,也就是一种逐层分解、分而治之的方法。模块的“粒度”是指模块的规模。如果模块的规模过大,会使得模块的可重用性差,同时,修改、维护也比较困难。在模
4、块设计中,“细化”与“抽象”的思想极为重要。通过细化,可以将一个大模块分解成若干个小模块;通过抽象,可以将多个模块中的公共部分概括出来,用单独的模块表示,从而降低了模块的粒度。,4.1.4 信息隐蔽,信息隐蔽是在设计和确定模块时,使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说是不能访问的。它通过定义一组独立的模块来实现有效的模块化。信息隐蔽作为一种设计准则用于模块化系统,在测试与维护期间会为软件修改带来极大的好处。,4.1.5 模块的独立性,模块的独立性是指软件系统中的每个模块只涉及软件要求的具体的子功能,应与软件系统中其他模块的接口保持简单化,即模块间的联系不要太多。例如
5、,若一个模块只具有单一的功能,且与其他模块没有太多的联系,那么称此模块具有模块独立性。,1.耦合,耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。模块之间的连接越紧密,联系越多,耦合性就越高,而其模块独立性就越弱。1)非直接耦合 非直接耦合是指两个模块之间无直接关系,它们之间的联系完全是通过主程序的控制和调用来实现的。非直接耦合的模块间耦合程度最低,即模块独立性最强。,2)数据耦合 数据耦合指的是模块间的通信参数都是数据项。数据是模块间进行信息交流的一种必不可少的联系形式。在模块之间传输的数据项越少,产生的不利影响越少。,图4-1 数据耦合,3)标记耦合 如果两个模块通过参数表传递记录
6、信息,而这个记录是某一数据结构的子结构(如字符串),而不是简单变量 4)控制耦合 控制耦合是指一个模块向另一个模块传送的信息控制了另一个模块的执行。,图4-2 控制耦合,图4-3 控制耦合的修改,5)外部耦合 如果一组模块通过同个全局简单变量相互作用,那么它们之间的耦合称为外部耦合。6)公共耦合 公共耦合就是一组模块都访问同一全局数据结构。7)内容耦合 内容耦合是指一个模块直接访问另一模块的内容。,图4-4 7种耦合的耦合性及数据独立性,2.内聚,内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。一个模块内部各个元素之间的联系越紧密,则它的内聚性就越高,相对地,它与其他模块之
7、间的耦合性就会减低,而模块独立性也就越强。1)偶然内聚 如果一个模块的各个部分之间没有联系,或者即使有联系,这种联系也是很松散的,就称为偶然内聚。2)逻辑内聚 如果把几个逻辑上相关的功能放在同一个模块中,则模块每次被调用时,根据传送给该模块的判定参数来确定模块应执行的功能,就称为逻辑内聚。,3)时间内聚 时间内聚是指一个模块的各个组成部分的处理动作和时间有关。4)通信内聚 通信内聚是指一个模块内各个组成部分的处理动作都使用相同的输入数据或产生相同的输出数据。5)顺序内聚 顺序内聚是指一个模块内部的各个组成部分执行的几个处理动作有这样的特征:前一处理动作所产生的输出数据是下一个处理动作的输入数据
8、。6)功能内聚 功能内聚是指一个模块内部的各个组成部分的处理动作全部都为执行同一个功能而存在,并且只执行一个功能。,图4-5 6种耦合的耦合性及数据独立,4.1.6 自底向上与自顶向下设计策略,采用自顶向下的策略,首先将整个系统分解成子系统,再将子系统分解成更小的子系统,直至分解为能够直接实现的软件模块。采用自底向上的策略则首先考虑最基本的系统构件和系统的内部函数,然后逐步将这些构件聚合成更大的软件模块、子系统,最终形成整个系统。,4.1.7 结构化设计原则,(1)设计过程应该能够预测和评估。(2)设计对于分析模型应该是可跟踪的。(3)设计应该重视资源重用。(4)设计应该使最终软件尽可能和现实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 软件设计 ppt 课件

链接地址:https://www.31ppt.com/p-5414975.html