概要设计ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程
7
耦合-----(4)控制耦合
• 两个模块间传递的信息中包含用于控制模块内部逻辑 的控制信息。
A
status
B
C
D
A的逻辑判断是执行C还是D, 取决于B传来的信息标志status
软件工程
8
耦合-----(5)外部耦合
• 一组模块都访问全局简单变量而不是同一全局 数据结构,而且不是通过参数表传递该全局变 量的信息。 例如:在C语言程序中各个模块都访问被说明 为external 类型的外部变量,外部耦合不存在 依赖于一个数据结构内部各项的物理安排。
阶段可以使用任何一种设计方法
软件工程
2
第三章 概要设计
软件设计分两步:概要设计和详细设计两个 阶段。
概要设计:把需求转换为数据结构和软件体 系结构设计和接口设计
详细设计:又称过程设计,主要集中在体系结 构表达式的细化,产生详细的数据结构和 软件算法表达式
软件工程
3
3.1.1 概要设计的任务
• 概要设计是将软件需求转换成软件结构 和数据结构的阶段,概要设计的基本目 的是概要地说明系统应该怎样实现,又 称为初步设计或总体设计,其具体任务 是:
(2)增加总控模块、用于调度输入、加工和输 出模块,协调完成任务。
软件工程
23
基本概念
• 数据流:变换流,事务流 • 1.变换流特性
• 数据沿输入通路进入系统,由外部形式变换成内部形式, 然后通过变换中心,经过加工处理以后再沿输出通路变 换成外部形式离开软件系统
• 变换型数据流图一般可分为输入、加工、输出三部分:
软件工程
24
变换流图转换成软件结构的映射方法
(1)将数据流图的输入、加工和输出部分别转 换为输入、加工和输出模块。
文件 读文件
计算A 计算B
打印 报表
软件工程
18
6 信息内聚(顺序内聚)
这种模块完成多个功能,各个功能都在同一数 据结构上操作,每项功能有唯一的入口点
软件工程
19
(7)功能内聚
• 一个模块中各个部分都是为完成一项具体功能 而协同工作、紧密联系,不可分割的,则该模 块为功能内聚模块。功能内聚模块是内聚性最 强的模块
软件工程
22
3.3 面向数据流的设计方法
• 目标:提供软件结构设计的一个系统化的 途径。
• 面向数据流的设计方法定义了一些不同的 “映射”,利用这些映射可以把数据流图
变换成软件结构,任何软件系统都可以用 数据流图表示。
• 我们通常所说的结构化设计方法(简称SD 方法),也就是基于数据流的设计方法。
3 保留现场
软件工程
16
(4)过程内聚
• 使用流程图作为工具设计程序的时候,常常
通过流程图来确定模块划分。把流程图中的某 一部分划分出来组成模块,就得到过程内聚模 块。 • 这类模块的内聚程度比时间内聚模块的内聚程 度更强一些
软件工程
17
(5)通信内聚
该模块内各功能都使用了相同的输入数据,或产
生了相同的输出数据,则称之为通信内聚模块
• 7.制定测试计划
• 8.编写概要设计文档
• 9.审查与复审概要设计文档。
软件工程
5
3.2 软件设计的概念与原则
模块化 抽象与逐步求精 信息隐蔽和局部化 模块独立性
• 耦合:表示软件结构内模块之间相互连接的紧密 程度
• 内聚:标志一个模块内各个元素彼此结合的紧 密程度
软件工程
6
耦合(1) (2) (3)
• 1.确定系统具体的实施方案
• 2.设计软件结构和数据结构
• 3.编写概要设计说明书
软件工程
4
3.1.2 概要设计的过程
• 1.提供选择的方案
• 2.选取一组合理的方案
• 3.推荐最佳实施方案
• 4.功能分解
• 5.软件结构设计
• 6.数据库设计
• (1)模式设计。
(2)子模式设计。
• (3)完整性和安全性设计。(4)优化。
(1)非直接耦合:两个模块没有直接的联系,它们 中任何一个都能不依赖于对方而独立地工作。
(2)数据耦合: 两个模块借助于参数表传递简单数据 • 两模块只通过参数交换信息,且此信息仅为数据 • 被调用模块的输入输出都是简单数据 (3)标记耦合:一个数据结构的一部分(如记录的
一部分)借助于模块接口被传递。
软件工程
20
内聚性与模块独立性的关系图
软件工程
21
设计准则
目标 产生一个模块化的程序结构,并明确模块间
的控制关系,定义用户界面、说明程序所用的数 据结构。
1. 改进软件结构,提高模块独立性 2. 模块规模应适中 3.适当选择深度、宽度、扇出和扇入 4.模块的作用域应该在控制域之内源自文库5.降低模块接口的复杂度 6.设计单入口单出口的模块 7.模块功能应该可以预测
软件工程
9
耦合----(6)公共耦合
• 多个模块都访问同一个公共的数据环境。公共数据环 境可以是全局数据结构,共享的通信区,内存的公共 覆盖区等。复杂程度随耦合模块个数增加而显著增加。
A
B
C
D
全程 数据区
E
软件工程
10
耦合---- (7)内容耦合
一个模块访问另一个模块的内部数据;一个模块不通过
正常入口转到另一模块的内部;两个模块有一部分程 序代码重叠;一个模块有多个入口
C
W模块
X=Y+Z GET CARD IF I=5 THEN E=0
……
软件工程
14
(2)逻辑内聚
• 该模块完成的任务在逻辑上属于相同或相似
X
Y
Z
X
Y
Z
A
B
C
软件工程
ABC
15
(3)时间内聚(经典内聚):
大多为多功能模块,但要求模块的各个功能必 须在同一时间段内执行
1 关闭文件
紧急故障处理模块 2 报警
第三章 概要设计
软件设计的任务 • 软件设计是一个把软件需求转换成软
件表示的过程。 软件设计的影响 • 最终影响软件实现的成功与否 • 影响软件维护的难易程度 • 影响软件的质量
软件工程
9.05 1
第三章 概要设计
包含的三个内容 • 数据设计:把分析阶段的信息域模型变换为数据
结构 • 体系结构设计:程序结构构件之间的相互关系 • 过程设计:变换结构构件为软件的过程描述 与需求分析阶段相对独立 • 在软件需求提供的信息,功能和行为模型上,设计
模块A …
LAB:MOVE A1
…
内容耦合
模块B ……
GOTO LAB
……
软件工程
11
耦合性与模块独立性的关系图
软件工程
12
内聚
• 内聚是标志一个模块内各个元素彼此结 合的紧密程度
• 它是信息隐蔽和局部化概念的自然扩展。
•
软件工程
13
(1)巧合内聚(偶然内聚)
• 模块完成的一组任务关系松散
A
B