概要设计方法 PPT课件
合集下载
概要设计 PPT
机制描述; • 模块的核心接口:说明模块传递的信息、信息的结构; • 处理方式设计:满足功能和性能的算法;
重点!!!
概要设计的任务
• 数据结构设计 • 逻辑结构 • 物理结构 • 存储在数据表中 • 存储在缓存中 • 存储在配置文件中 • 算法相关逻辑数据结构及其操作
重点!!!
概要设计的任务
• 公共数据结构设计 • 公共数据:指被许多模块共同使用的数据,如
之间的调用与返回关系 • 数据结构设计 • 数据结构、设计只是软件系统的抽象表达式(外 壳)
• 功能模块:每个功能分解的模块 • 定义界面、确定功能边界、接口定义 • 不对内部逻辑进行描述 • 概要设计提供的是具体实施方案与策略 • 决定了软件的方向,对软件项目的成功和
部接口 • 分析系统的应用特点、技术特点以及项目
资金情况,确定系统的硬件环境、软件环 境、网络环境和数据环境 • 根据系统整体逻辑构造与应用需要,对系 统进行整体物理部署与优化
与用户的硬件环境相关! 重点!!!
概要设计的任务
• 软件结构设计---模块设计 • 模块描述:说明哪些模块实现了哪些功能; • 模块层次结构:可以用软件框架图来表达; • 模块间的关系:模块间依赖关系、调用关系描述,通信
概要设计
课程目的
• 概要设计与需求分析的关系 • 概要设计目标 • 概要设计内容 • 概要设计的过程 • 概要设计的任务
概要设计与需求分析
教师登录 学生 个人信息中心 课程管理
成绩查看 教务通知查看
HUST学分制教务管理系统
学生登录
注册状态查询 学生信息查询
课程信息查询 个人选课 课表下载
学期成绩 学年成绩 综合成绩
维护的难易程度有很大的影响
重点!!!
概要设计的任务
• 数据结构设计 • 逻辑结构 • 物理结构 • 存储在数据表中 • 存储在缓存中 • 存储在配置文件中 • 算法相关逻辑数据结构及其操作
重点!!!
概要设计的任务
• 公共数据结构设计 • 公共数据:指被许多模块共同使用的数据,如
之间的调用与返回关系 • 数据结构设计 • 数据结构、设计只是软件系统的抽象表达式(外 壳)
• 功能模块:每个功能分解的模块 • 定义界面、确定功能边界、接口定义 • 不对内部逻辑进行描述 • 概要设计提供的是具体实施方案与策略 • 决定了软件的方向,对软件项目的成功和
部接口 • 分析系统的应用特点、技术特点以及项目
资金情况,确定系统的硬件环境、软件环 境、网络环境和数据环境 • 根据系统整体逻辑构造与应用需要,对系 统进行整体物理部署与优化
与用户的硬件环境相关! 重点!!!
概要设计的任务
• 软件结构设计---模块设计 • 模块描述:说明哪些模块实现了哪些功能; • 模块层次结构:可以用软件框架图来表达; • 模块间的关系:模块间依赖关系、调用关系描述,通信
概要设计
课程目的
• 概要设计与需求分析的关系 • 概要设计目标 • 概要设计内容 • 概要设计的过程 • 概要设计的任务
概要设计与需求分析
教师登录 学生 个人信息中心 课程管理
成绩查看 教务通知查看
HUST学分制教务管理系统
学生登录
注册状态查询 学生信息查询
课程信息查询 个人选课 课表下载
学期成绩 学年成绩 综合成绩
维护的难易程度有很大的影响
概要设计ppt课件
软件工程
22
3.3 面向数据流的设计方法
• 目标:提供软件结构设计的一个系统化的 途径。
• 面向数据流的设计方法定义了一些不同的 “映射”,利用这些映射可以把数据流图
变换成软件结构,任何软件系统都可以用 数据流图表示。
• 我们通常所说的结构化设计方法(简称SD 方法),也就是基于数据流的设计方法。
• 1.确定系统具体的实施方案
• 2.设计软件结构和数据结构
• 3.编写概要设计说明书
软件工程
4
3.1.2 概要设计的过程
• 1.提供选择的方案
• 2.选取一组合理的方案
• 3.推荐最佳实施方案
• 4.功能分解
• 5.软件结构设计
• 6.数据库设计
• (1)模式设计。
(2)子模式设计。
• (3)完整性和安全性设计。(4)优化。
• 7.制定测试计划
• 8.编写概要设计文档
• 9.审查与复审概要设计文档。
软件工程
5
3.2 软件设计的概念与原则
模块化 抽象与逐步求精 信息隐蔽和局部化 模块独立性
• 耦合:表示软件结构内模块之间相互连接的紧密 程度
• 内聚:标志一个模块内各个元素彼此结合的紧 密程度
软件工程
6
耦合(1) (2) (3)
软件工程
7
耦合-----(4)控制耦合
• 两个模块间传递的信息中包含用于控制模块内部逻辑 的控制信息。
A
status
B
C
D
A的逻辑判断是执行C还是D, 取决于B传来的信息标志status
软件工程
8
耦合-----(5)外部耦合
• 一组模块都访问全局简单变量而不是同一全局 数据结构,而且不是通过参数表传递该全局变 量的信息。 例如:在C语言程序中各个模块都访问被说明 为external 类型的外部变量,外部耦合不存在 依赖于一个数据结构内部各项的物理安排。
软件工程导论第四章 概要设计PPT课件
服务器没有必要知道客户机的身份以及有多少台客户 机在运行
12
• 2 C/S结构
13
• 3 B/S 结构
14
• 4 B/S和C/S比较
• 1. C/S的优点
• (1)能充分发挥客户端PC的处理能力,很多工作可以在客 户端处理后再提交给服务器。对应的优点就是客户端响应 速度快。
• (2)可以减轻服务器端压力,如果用户的需求特别复杂, 用C/S。
同。 (3)接口模型 定义每个子系统从他们的公共接口能得到的服务。 (4)关系模型 关系模型给出子系统间的数据流的关系。
8
4.1软件体系结构 4.1.1概述
5.体系结构描述语言 使用体系结构描述语言(ADL)来描述系统 体系结构。ADL语言的基本要素是组件和连 接器,这类语言包含了形成规范化体系结 构所使用的规则。
第四章 概要设计
•4.1软件体系结构 •4.2概要设计任务与步骤 •4.3软件设计的基本概念 •4.4面向数据流的设计方法 •4.5面向数据结构的分析设计方法 •4.6概要设计文档评审
1
整体概述
概况一
点击此处输入相关文本内容 点击此处输入相关文本内容
概况二
点击此处输入相关文本内容 点击此处输入相关文本内容
• 用于描述系统最顶的结构和组织形式,标识出软件 的各个组成部分。
3
4.1软件体系结构
4.1.1概述 4.1.2系统构成 4.1.3控制模型 4.1.4模块化分解 4.1.5 领域相关的体系结构
4
4.1软件体系结构 4.1.1概述
• 体系结构设计是指将大型系统分解 成一些子系统,由子系统提供一些 相关的服务。
11
4.1软件体系结构 4.1.2系统构成
2.客户机/服务器模型 主要组成部分: (1) 一组给其他子系统提供服务的单功能服务器 (2) 一组向服务器请求服务的客户机, 可多个客户 机并发运行 (3) 一个连接客户机和服务器的网络. 是一个分布式系统模型,数据和处理过程可分配在 多个处理器之中。
12
• 2 C/S结构
13
• 3 B/S 结构
14
• 4 B/S和C/S比较
• 1. C/S的优点
• (1)能充分发挥客户端PC的处理能力,很多工作可以在客 户端处理后再提交给服务器。对应的优点就是客户端响应 速度快。
• (2)可以减轻服务器端压力,如果用户的需求特别复杂, 用C/S。
同。 (3)接口模型 定义每个子系统从他们的公共接口能得到的服务。 (4)关系模型 关系模型给出子系统间的数据流的关系。
8
4.1软件体系结构 4.1.1概述
5.体系结构描述语言 使用体系结构描述语言(ADL)来描述系统 体系结构。ADL语言的基本要素是组件和连 接器,这类语言包含了形成规范化体系结 构所使用的规则。
第四章 概要设计
•4.1软件体系结构 •4.2概要设计任务与步骤 •4.3软件设计的基本概念 •4.4面向数据流的设计方法 •4.5面向数据结构的分析设计方法 •4.6概要设计文档评审
1
整体概述
概况一
点击此处输入相关文本内容 点击此处输入相关文本内容
概况二
点击此处输入相关文本内容 点击此处输入相关文本内容
• 用于描述系统最顶的结构和组织形式,标识出软件 的各个组成部分。
3
4.1软件体系结构
4.1.1概述 4.1.2系统构成 4.1.3控制模型 4.1.4模块化分解 4.1.5 领域相关的体系结构
4
4.1软件体系结构 4.1.1概述
• 体系结构设计是指将大型系统分解 成一些子系统,由子系统提供一些 相关的服务。
11
4.1软件体系结构 4.1.2系统构成
2.客户机/服务器模型 主要组成部分: (1) 一组给其他子系统提供服务的单功能服务器 (2) 一组向服务器请求服务的客户机, 可多个客户 机并发运行 (3) 一个连接客户机和服务器的网络. 是一个分布式系统模型,数据和处理过程可分配在 多个处理器之中。
概要设计方法
事务分析设计方法步骤:
(1)在DFD上确定事务中心、接收部 分和发送部分。 (2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。 (3)分解细化接收分支和发送分支, 完成初始SC。
用户命令交互子系统DFD
用户 命令
读用户 命令 原配置 系统参 数据 建立配 数数据 置文件 读系统 配置命令 数据 格式化 配置数据
事务 中心 事务 分析
变换型数据流举例
传入部分
输入 信息
物理 输入
变换中心 结果
传出部分
数据
正确 信息 格式 检查
逻辑 输入
处理
显示
逻辑 输出 物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的DFD
变换流示意图
信息
外部 表示
信息流
输入流 输出流
交换流
内部 表示
时间
事务型数据流图举例
11
混合流设计举例
接收 部分
事务 中心
传入
变换
传出
T
发 送 部 分
混合流设计举例 变换中心 传出 传入 m EH T1 c1 LM b1 h e L b d g k b 2 c2 CD DE AB BC KL HK
T2
T3
a
b3 c3
f
FJ
j
事务流子系统
混合流设计举例
d 输入D d c c 输入C CD
面向数据 流方法的 设计过程
精化数据流图 “事务”
流类型
“变换”
区分输入和 输出分支
区分事务中心 和数据接收路径
映射成事务结构
事务分析
映射成变换结构
概要设计-PPT精品.ppt
➢收敛(convergence):设计者从设计材料中选 择和组合合适元素,以满足设计目标。这是 一个不断删除的过程。
数据 字典
状态转换图
控制规格说明
过程 设计 接口设计
体系结构设计
数据设计
分析模型转变成软件设计示意图
4.1.2系统构成
体系结构的三个标准模型 : 1.容器模型:适合于数据是由一个子系统产生而
客户软件
客户软件
客户软件
数据存储
客户软件
客户软件
客户软件
Hale Waihona Puke 数据为中心的体系结构过滤器
过滤器
过滤器
过滤器
数据流体系结构
用户界面层 应用层 实用层 核心层
表示构件
层次式体系结构
体系结构设计的定量分析
• 目前在体系结构设计质量定量分析方面的研究 尚处于起步阶段。
• Asada提出了伪定量技术的简单模型帮助设计 者确定体系结构满足预定义的“好”标准的程 度.这些标准称为设计量纲(Design Dimension),包括软件的质量属性:可靠性、 安全性、可维护性、可测试性、可移植性、可 复用性等。
• 体系结构的设计过程 1)系统结构化:分解成子系统,划分子系统之间的通信. 2)控制建模:建立各部分之间的控制关系的一般模型. 3)模块分解:子系统进一步分解成模块.
常见软件体系结构风格
• 以数据为中心的体系结构; • 数据流体系结构; • 调用和返回体系结构; • 面向对象体系结构; • 层次式体系结构。
Asada提出的简单模型可分为: • 频谱分析(Spectrum analysis)模型 • 设计选择分析(Design selection analysis)模
型 • 贡献分析(Contribution analysis)模型
数据 字典
状态转换图
控制规格说明
过程 设计 接口设计
体系结构设计
数据设计
分析模型转变成软件设计示意图
4.1.2系统构成
体系结构的三个标准模型 : 1.容器模型:适合于数据是由一个子系统产生而
客户软件
客户软件
客户软件
数据存储
客户软件
客户软件
客户软件
Hale Waihona Puke 数据为中心的体系结构过滤器
过滤器
过滤器
过滤器
数据流体系结构
用户界面层 应用层 实用层 核心层
表示构件
层次式体系结构
体系结构设计的定量分析
• 目前在体系结构设计质量定量分析方面的研究 尚处于起步阶段。
• Asada提出了伪定量技术的简单模型帮助设计 者确定体系结构满足预定义的“好”标准的程 度.这些标准称为设计量纲(Design Dimension),包括软件的质量属性:可靠性、 安全性、可维护性、可测试性、可移植性、可 复用性等。
• 体系结构的设计过程 1)系统结构化:分解成子系统,划分子系统之间的通信. 2)控制建模:建立各部分之间的控制关系的一般模型. 3)模块分解:子系统进一步分解成模块.
常见软件体系结构风格
• 以数据为中心的体系结构; • 数据流体系结构; • 调用和返回体系结构; • 面向对象体系结构; • 层次式体系结构。
Asada提出的简单模型可分为: • 频谱分析(Spectrum analysis)模型 • 设计选择分析(Design selection analysis)模
型 • 贡献分析(Contribution analysis)模型
《部分概要设计》PPT课件
12
作业项目 系统结构设计 功能模块和子系 统划分 用户界面和接口 设计 数据库设计 安全性设计
作业内容
系统体系结构的设计和硬件、网络 环境设备的配置软件开发平台的选 定
主要的结果资料
系统体系结构的设计说明,系 统环境(硬件、网络)设备配 置和使用软件开发平台的说明
功能模块的划分和大规模的系统 开发时,可以分解为几个子系统 窗体操作和窗体设计、报表设计、 与他系统的接口设计 逻辑数据库设计
运用 / 故障处理设 计 调整开发计划
2019/5/10 验收确认
系统概要说明书 业务处理流程图
向新系统移植的软硬件内容的讨论, 系统移植方案设计书 移植方案设计 (移植数据对象,移植方针) 系统运用和故障处理的基本方案设 计 全系统开发计划的调整,作出内部 设计之后的各工程的工作计划
运用基本方案设计书 故障处理基本方案设计书 开发计划表
系统的结构和功能定义 新物理DFD(数据流程图)
窗体关联图、窗体设计式样,报表 设计式样、接口设计说明书、外部 编码设计
ER图,数据库一览表 数据库表定义书
从安全性、保密性、可操作性考虑, 系统安全设计说明书 设计出必要的安全措施 作出新系统的功能说明书 把新物理DFD展开为业务处理流程
作成新系统的功 能说明书 系统移植设计
2019/5/10 17
2、界定影响系统设计的约束边界
⑴ ⑵ ⑶ ⑷ ⑸ ⑹
本系统需要遵循的相关标准或规范; 系统实现所依赖的软硬件环境的约束; 本系统与其他系统间的接口要求; 系统采用通讯协议方面的约束; 用户界面的约束; 软件质量的约束
2019/5/10
18
3、 系统策划与组织
设计模式,根据本产品的功能性需求 和非功能性需求,确定体系结构设计模 式。设计模式的确定是结构设计中最重 要的环节,一个好的模式能为系统的扩 充、复用等策略提供良好的支持。 ⑵ 系统设计模板的确定,就像写书时首 先应确定大纲内容一样,编写系统设计 文档之前也应首先确定系统的内容及其 组织编排方式,这主要从结构、功能、 性能、接口、信息模块以及进度、经费 等方面着重考虑。
总体设计(概要设计幻灯片
7. 制定测试方案
在软件开发的早期阶段考虑测试问题,能促使软件设 计人员在设计时注意提高软件的可测试性。本书第7 章将仔细讨论软件测试的目的和设计测试方案的各种 技术方法。
8. 书写文档
应该用正式的文档记录总体设计的结果,在这个阶段 应该完成的文档通常有下述几种:
(1) 系统说明主要内容包括用系统流程图描绘的系统 构成方案,组成系统的物理元素清单,本钱/效益分 析;对最正确方案的概括描述,精化的数据流图,用 层次图或构造图描绘的软件构造,用IPO图或其他工 具(例如,PDL语言)简要描述的各个模块的算法,模 块间的接口关系,以及需求、功能和模块三者之间的 穿插参照关系等等。
为确定软件构造,首先需要从实现角度把复杂的功能 进一步分解。分析员结合算法描述仔细分析数据流图 中的每个处理,如果一个处理的功能过分复杂,必须 把它的功能适当地分解成一系列比较简单的功能。一 般说来,经过分解之后应该使每个功能对大多数程序 员而言都是明显易懂的。功能分解导致数据流图的进 一步细化,同时还应该用IPO图或其他适当的工具简 要描述细化后每个处理的算法。
总体设计过程首先寻找实现目标系统的各种不同的方 案,需求分析阶段得到的数据流图是设想各种可能方 案的根底。然后分析员从这些供选择的方案中选取假 设干个合理的方案,为每个合理的方案都准备一份系 统流程图,列出组成系统的所有物理元素,进展本钱 /效益分析,并且制定实现这个方案的进度方案。分 析员应该综合分析比较这些合理的方案,从中选出一 个最正确方案向用户和使用部门负责人推荐。如果用 户和使用部门的负责人承受了推荐的方案,分析员应 该进一步为这个最正确方案设计软件构造,通常,设 计出初步的软件构造后还要多方改进,从而得到更合 理的构造,进展必要的数据库设计,确定测试要求并 且制定测试方案。
在软件开发的早期阶段考虑测试问题,能促使软件设 计人员在设计时注意提高软件的可测试性。本书第7 章将仔细讨论软件测试的目的和设计测试方案的各种 技术方法。
8. 书写文档
应该用正式的文档记录总体设计的结果,在这个阶段 应该完成的文档通常有下述几种:
(1) 系统说明主要内容包括用系统流程图描绘的系统 构成方案,组成系统的物理元素清单,本钱/效益分 析;对最正确方案的概括描述,精化的数据流图,用 层次图或构造图描绘的软件构造,用IPO图或其他工 具(例如,PDL语言)简要描述的各个模块的算法,模 块间的接口关系,以及需求、功能和模块三者之间的 穿插参照关系等等。
为确定软件构造,首先需要从实现角度把复杂的功能 进一步分解。分析员结合算法描述仔细分析数据流图 中的每个处理,如果一个处理的功能过分复杂,必须 把它的功能适当地分解成一系列比较简单的功能。一 般说来,经过分解之后应该使每个功能对大多数程序 员而言都是明显易懂的。功能分解导致数据流图的进 一步细化,同时还应该用IPO图或其他适当的工具简 要描述细化后每个处理的算法。
总体设计过程首先寻找实现目标系统的各种不同的方 案,需求分析阶段得到的数据流图是设想各种可能方 案的根底。然后分析员从这些供选择的方案中选取假 设干个合理的方案,为每个合理的方案都准备一份系 统流程图,列出组成系统的所有物理元素,进展本钱 /效益分析,并且制定实现这个方案的进度方案。分 析员应该综合分析比较这些合理的方案,从中选出一 个最正确方案向用户和使用部门负责人推荐。如果用 户和使用部门的负责人承受了推荐的方案,分析员应 该进一步为这个最正确方案设计软件构造,通常,设 计出初步的软件构造后还要多方改进,从而得到更合 理的构造,进展必要的数据库设计,确定测试要求并 且制定测试方案。
第3章 概要设计(3.1-3.3)
耦合(Coupling)是模块之间相互关联紧密 的程度。 一般地,模块的耦合度越低,模块的独立性越 强。
Great deal of dependence Independent
Highly coupled
Loosely coupled
武汉纺织大学 数学与计算机学院
抽象(Abstraction): 忽略细节,分层理解问题,自顶向下层层加细。
例:开发一个CAD软件,实现一个二维绘图系统的全 部功能,供低级计算机辅助设计使用。
抽象层次I:用问题所处环境的术语来描述这个软件。
该软件包括一个计算机绘图界面,向绘图 员显示图形,以及一个数字化仪界面,用 以代替绘图板和丁字尺。所有直线、折线、 矩形、圆及曲线的描画、所有的几何计算、 所有的剖面图和辅助视图都可以用这个 CAD软件实现……。
武汉纺织大学 数学与计算机学院
信息隐藏
如何确保模块数落在“最小代价区”?依据什么标 准划分模块? 由Parnas倡导的“信息隐藏”是指模块中所包含 的信息(包括数据和过程)对不需要这些信息的其 它模块是不可访问的。 抽象有助于定义组成软件的过程(或信息)实体; 隐藏定义并加强了对模块内部访问的约束,有助于 分离模块的实现者和使用者。
武汉纺织大学 数学与计算机学院
把分析模型转变成软件设计
数据设计侧重于数据结构的定义。
系统结构设计定义软件系统各主要成份之间的关系。 接口设计用于描述软件内部、软件与协作系统之间以 及软件与使用者之间的通信方式。 过程设计则是把结构成份转换成软件的过程性描述。 在编码步骤,根据这种过程性描述,生成源程序代码, 然后通过测试最终得到完整有效的软件。
武汉纺织大学 数学与计算机学院
过程内聚模块
读入 成绩单
Great deal of dependence Independent
Highly coupled
Loosely coupled
武汉纺织大学 数学与计算机学院
抽象(Abstraction): 忽略细节,分层理解问题,自顶向下层层加细。
例:开发一个CAD软件,实现一个二维绘图系统的全 部功能,供低级计算机辅助设计使用。
抽象层次I:用问题所处环境的术语来描述这个软件。
该软件包括一个计算机绘图界面,向绘图 员显示图形,以及一个数字化仪界面,用 以代替绘图板和丁字尺。所有直线、折线、 矩形、圆及曲线的描画、所有的几何计算、 所有的剖面图和辅助视图都可以用这个 CAD软件实现……。
武汉纺织大学 数学与计算机学院
信息隐藏
如何确保模块数落在“最小代价区”?依据什么标 准划分模块? 由Parnas倡导的“信息隐藏”是指模块中所包含 的信息(包括数据和过程)对不需要这些信息的其 它模块是不可访问的。 抽象有助于定义组成软件的过程(或信息)实体; 隐藏定义并加强了对模块内部访问的约束,有助于 分离模块的实现者和使用者。
武汉纺织大学 数学与计算机学院
把分析模型转变成软件设计
数据设计侧重于数据结构的定义。
系统结构设计定义软件系统各主要成份之间的关系。 接口设计用于描述软件内部、软件与协作系统之间以 及软件与使用者之间的通信方式。 过程设计则是把结构成份转换成软件的过程性描述。 在编码步骤,根据这种过程性描述,生成源程序代码, 然后通过测试最终得到完整有效的软件。
武汉纺织大学 数学与计算机学院
过程内聚模块
读入 成绩单
《概要设计总体设计》课件
总体设计的重要性
确保项目实施顺利
通过总体设计,可以明确项目的 整体结构、功能和技术要求,为 后续的详细设计、制造和测试等 环节提供指导和依据,从而确保
项目的顺利实施。
提高产品质量
总体设计过程中需要对产品的整 体性能、功能和结构进行全面考 虑,有助于发现和解决潜在的问 题,从而提高产品的质量和可靠
性。
案例三
总结词
跨领域合作、整合资源
详细描述
该案例强调了在建筑工程中,概要设 计与总体设计的结合应用,需要跨领 域合作,整合资源,综合考虑建筑、 结构、机电等多个专业的要求,确保 项目的顺利进行。
06
总结与展望
本课程总结
课程内容回顾 介绍了软件工程中概要设计的基本概念、原则和方法。
讲解了如何进行系统分析、系统设计、数据库设计等核心内容。
学习新技术和方法,保持与时俱进。
03
感谢您的观看
THANKS
课程目标
掌握概要设计和总体设计的基本概念 、原理和方法。
培养学生的团队协作和沟通能力,以 适应实际软件开发团队的工作环境。
学会在实际项目中应用概要设计和总 体设计,提高软件开发的效率和软件 质量。
02
概要设计概述
定义与概念
定义
概要设计是对软件系统的高级描 述,包括系统的整体结构、功能 模块、数据流程、接口设计等。
优化性原则
总体设计应对项目的整体结构和功 能进行优化设计,以提高产品的性 能和降低成本。
04
概要设计与总体设计的比 较
设计目的比较
概要设计
旨在为软件系统提供一个高层次、粗粒度的设计框架,明确 系统的整体结构、主要功能和接口,以便后续详细设计、编 码和测试。
系统设计和概要设计.ppt
设计面向方案,是排除阻力的过程,重在精化和适应,受 约束大 从整体上看,分析和设计的对立是保障问题和方案趋于 一致的基本动力。就像两个相反方向的张力,使软件朝着 正确的方向前进。
5、在进行系统设计时所应该注意的要点 (1)核心问题-----能否使用重复的体系结构模式
也就是能否达到结构级的软件重用---即能否在不同的软件 体系中,使用同一体系结构。
(2)设计的目的----指明一种易转化成代码的工作方案,是对
分析工作的细化
即进一步细化分析阶段所提取的类(包括其操作和属性),并 且增加新类以处理诸如数据库、用户接口、通信、设备等技术 领域的问题。
(3)系统设计时的基本要求----分析和设计应该是合作的
分析面向问题,是明确动力的过程,重在理解和翻译,灵 活性高
7、概要设计的重要输出 (1)概要设计说明书
完成设计阶段中 的基础性工作
编码规范:信息形式、接口规约、命名规则;
物理模型:组件图、配置图;
不同角度的构架视图:用例视图、逻辑视图、进程视图、 部署视图、实施视图、数据视图(可选);
系统总体布局:哪些部分组成、各部分在物理上、逻辑上 的相互关系;
(2)数据库设计说明书
很少有直接根据这个分析模型去完成程序的实现。为什么?
首先我们应该了解用例得到的分析模型,只是表达了系统中 的一些关键性的概念,而不能表达系统中的性能和系统的外 观。
同时分析模型往往对于系统的结构设计来说又往往过于简单, 复用和调试等等都不能在这个模型中被考虑完成。
因此,我们有必要对前面的分析模型再进一步地进行设计, 以最终产生出我们系统的设计模型
1、系统需求 我们但现在为止,已经收集、整理并且描述出系统的需
求 另外,我们也对需求中所涉及的一些主要的业务用例的实
5、在进行系统设计时所应该注意的要点 (1)核心问题-----能否使用重复的体系结构模式
也就是能否达到结构级的软件重用---即能否在不同的软件 体系中,使用同一体系结构。
(2)设计的目的----指明一种易转化成代码的工作方案,是对
分析工作的细化
即进一步细化分析阶段所提取的类(包括其操作和属性),并 且增加新类以处理诸如数据库、用户接口、通信、设备等技术 领域的问题。
(3)系统设计时的基本要求----分析和设计应该是合作的
分析面向问题,是明确动力的过程,重在理解和翻译,灵 活性高
7、概要设计的重要输出 (1)概要设计说明书
完成设计阶段中 的基础性工作
编码规范:信息形式、接口规约、命名规则;
物理模型:组件图、配置图;
不同角度的构架视图:用例视图、逻辑视图、进程视图、 部署视图、实施视图、数据视图(可选);
系统总体布局:哪些部分组成、各部分在物理上、逻辑上 的相互关系;
(2)数据库设计说明书
很少有直接根据这个分析模型去完成程序的实现。为什么?
首先我们应该了解用例得到的分析模型,只是表达了系统中 的一些关键性的概念,而不能表达系统中的性能和系统的外 观。
同时分析模型往往对于系统的结构设计来说又往往过于简单, 复用和调试等等都不能在这个模型中被考虑完成。
因此,我们有必要对前面的分析模型再进一步地进行设计, 以最终产生出我们系统的设计模型
1、系统需求 我们但现在为止,已经收集、整理并且描述出系统的需
求 另外,我们也对需求中所涉及的一些主要的业务用例的实
第6讲-概要设计
注:每个模块应附一简要说明描述 进出该模块的信息(接口描述); ① 进出该模块的信息(接口描述); 模块内部的信息; ② 模块内部的信息; 过程陈述,包括主要判定点及任务等; ③ 过程陈述,包括主要判定点及任务等; 对约束和特殊特点的简短讨论。 ④ 对约束和特殊特点的简短讨论。
18
数字仪表板 控制
接收传感器 信号
数据转换 控制
驱动仪表板
转换成 rpm 收集sps 收集
计算 gph
读燃料流
确定 计算 计算 计算 加/ 显示 显示 显示 发出 加/ mph mpg 里程 减速 mpg mph 里程 铃声 显示 减速
读旋转信号
发光二极管显示
19
面向数据流的设计方法
⑵ 事务分析
I
M
II II S I A … B … C …
个遇到的处理器映成相 应的层模块。 应的层模块。
个下层模块。 个下层模块。
O :由边界向外推,方法 由边界向外推, 与 I 类似
17
第三步: 本着高内聚、低耦合的原则。 第三步:修改 —— 本着高内聚、低耦合的原则。 精化后的数字仪表板系统的软件结构。 如下图 如下图) 例:精化后的数字仪表板系统的软件结构。(如下图
25
4 确定对象之间的通信
对象之间必须建立一种通信机制,即消息 对象之间必须建立一种通信机制, 要求一个对象执行某个操作, 要求一个对象执行某个操作,就要向它发送一个消 息,告诉对象做什么。
26
5
Object :System
完成对象定义
System ID Verification phone number System status System table Sensor type Sensor number Alarm threshold Alarm delay time Telephone number(s) Alarm type Master password Temporary password Number of tries
18
数字仪表板 控制
接收传感器 信号
数据转换 控制
驱动仪表板
转换成 rpm 收集sps 收集
计算 gph
读燃料流
确定 计算 计算 计算 加/ 显示 显示 显示 发出 加/ mph mpg 里程 减速 mpg mph 里程 铃声 显示 减速
读旋转信号
发光二极管显示
19
面向数据流的设计方法
⑵ 事务分析
I
M
II II S I A … B … C …
个遇到的处理器映成相 应的层模块。 应的层模块。
个下层模块。 个下层模块。
O :由边界向外推,方法 由边界向外推, 与 I 类似
17
第三步: 本着高内聚、低耦合的原则。 第三步:修改 —— 本着高内聚、低耦合的原则。 精化后的数字仪表板系统的软件结构。 如下图 如下图) 例:精化后的数字仪表板系统的软件结构。(如下图
25
4 确定对象之间的通信
对象之间必须建立一种通信机制,即消息 对象之间必须建立一种通信机制, 要求一个对象执行某个操作, 要求一个对象执行某个操作,就要向它发送一个消 息,告诉对象做什么。
26
5
Object :System
完成对象定义
System ID Verification phone number System status System table Sensor type Sensor number Alarm threshold Alarm delay time Telephone number(s) Alarm type Master password Temporary password Number of tries
《软件工程教学课件》04-概要设计
面向对象设计方法
识别对象
根据需求分析结果,识别出系统中的对象及其 属性、行为。
定义类与类之间的关系
通过类图描述对象的类及其之间的关系,如继 承、聚合、关联等。
设计接口与实现
定义对象的接口及其实现方式,确保系统的可扩展性和可维护性。
设计评审与优化
评审设计方案
对概要设计进行评审,确保其满足需求且具 有可行性。
案例三:移动应用的设计
总结词
详细描述
总结词
简洁易用、符合移动设备特 性
移动应用的设计需遵循简洁 易用的原则,提供直观的操 作界面和流畅的用户体验。 同时,要充分考虑移动设备 的特性,如触摸屏操作、电 池续航等,以确保应用的可 用性和性能。
响应式设计
详细描述
为了满足不同设备的屏幕尺 寸和分辨率,移动应用应采 用响应式设计。这样能够确 保应用在不同设备上均能呈 现良好的视觉效果和操作体 验。
功能全面、用户体验优先
总结词
安全性考虑
详细描述
电子商务网站的设计需要全面考虑用户需求,提 供商品展示、购物车、支付、物流跟踪等功能。 同时,要注重用户体验,确保网站易用、美观、 响应速度快。
详细描述
电子商务网站涉及用户的个人信息和交易信息, 因此安全性是首要考虑因素。概要设计阶段应考 虑数据加密、用户身份验证、防止SQL注入等安 全措施。
国际化内容
增加国际前沿的软件工程理论和实践内容, 拓宽学生的国际视野。
THANKS
感谢观看
案例四:数据库管理系统的设计
01 总结词
数据安全、高效存储与查询
02
详细描述
数据库管理系统的设计要确保 数据的安全性,包括数据的加 密存储、访问控制和备份恢复 等。同时,要优化数据的存储 结构和查询算法,以提高数据 的存储效率和查询性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)分解细化接收分支和发送分支, 完成初始SC。
用 命户 令读用命用令户户命令配系数置交命统数互令参据读数子系据统系原数配据统置 D建置格立文F式配 件化D配格配数置格式置据信式化息化
命令 命令 开/关
配置数据 配置数据
类型 分析处理 命令
A/D
密码命令
激活/非活动 信息
系统
显示信息 和状态
显示
A根据内
A按另一判
部判断决 定是否调
A
定结果选择 调用C或D
用B
BCD
SC中的循环调用
A
BC
A根据内在的循环重 复调用B、C等模块
结构图(SC)举例
处方 挂号 费
总计
医院管理系统
门诊 管理
挂挂
号号
单
费 总
计
挂号 病历 处理 管理
处方 管理
药库 管理
出库 常规 处理 处理
药房 管理
进药 管理
病房 财务 管理 管理
面向数据
精化数据流图
流方法的 设计过程
“事务” 流类型 “变换”
区分事务中心
区分输入和
和数据接收路径
输出分支
映射成事务结构
映射成变换结构
事务分析 用启发式设计规则精化软件结构 变换分析 导出接口描述和全程数据结构 复查
详细设计
SD方法的两种映射过渡方法
变换分析
变换型DFD
初始SC
事务分析
事务型DFD
Get C bb
c
Get E
d de
分 解
Get B B to C Read D D to E
(2) a a b
Read D A to B
传
w,u
w,u
出 ME
ME
分 支
w
uw
u
的W
分 解
U Write W Put U v uvv
V U to V Write V
(1)
(2)
中心加工分支的分解
MT
酒店管理信息系统功能结构图
HMIS
收银管理子系统 收银管理子系统 收银管理子系统
客预客历客预 人定房史房定 登登处记查查 记记理录询询
餐菜营汇各初 桌单业总类始 安作结打查设 排业帐印询置
客退夜客报 帐房审帐表 处处处查打 理理理询印
大型零售商场管理信息系统功能结构图 TM M I S
系 P 零商商商商顾连财人计经
变换型 数据流
结构
事务型 数据流
结构
传入 部分
传入
变换 中心
变换
接受 部分
接受
事务 中心
事务 分析
传出 部分
传出
动作 1
动作 2
动作 3
变换型数据流举例
传入部分 变换中心 传出部分
输入
正确
信息 格式 信息
检查
结果
处理
数据
显示
物理 输入
逻辑 输入
逻辑 输出
物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的DFD
ep r
u,w
c,p r
Q
P
R
(2) 事务分析设计方法
任何情况下都可使用变换分析 方法设计软件结构,但如数据 流具有明显的事务特点时 (有 一个明显的事务中心),以采用 事务分析方法为宜。
事务分析设计方法步骤:
(1)在DFD上确定事务中心、接收部 分和发送部分。
(2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。
信息
外部 表示
内部 表示
变换流示意图
信息流
输入流
输出流
交换流
时间
事务型数据流图举例
B LE
A I C MFO H
D
G
N
大型系统DFD中,变换型和事务型 结构往往共存:
传入
T
事务中心
变换 传出
2. 面向数据流设计方法的设计步骤 (1)精化DFD (2)确定DFD类型 (3)把DFD映射到系统模块结构设计 出模块结构的上层 (4)基于DFD逐步分解高层模块设计 出下层模块 (5)根据模块独立性原理,精化模 块结构 (6)模块接口描述
P
r
p
R
w
传出 部分
Q u Uv V
变换分析设计方法步骤
(2)第一级分解(建立初始SC框架)
设计顶层和第一层模块
第一级分解的方法
MC
MA
MT
ME
第一级分解后的SC
MC
顶层
c,e
u,w
c,e u,w
MA MT
中心变 传入模块 换模块
ME 第一层
传出模块
第一级分解后的SC(另一种画法)
MC
pr
u,w
§4.4概要设计(总体设计)
概要设计确定:
•软件系统的结构 •各模块功能及模块间联系(接口)
表示软件结构的图形工具
结构图 层次图和HIPO图
概要设计的任务与步骤
概要设计的过程 : (1)设想可能的方案 (2)选取合理的方案 (3)推荐最佳方案 (4)功能分解 (5)设计软件结构 (6)数据库设计 (7)制定测试计划 (8)编写文档 (9)审查与复审
4.4.1结构图(SC Structure Chart)
SD方法在概要设计中的主要表达工具
约定:
不加区分的数据 数据信息
编辑学生记录
学号
学生数据 无此学生
控制信息
读学生记录
SC中的四种模块
A
B
CD
传入模块 传出模块 变换模块
协调模块
A
B
EE F F
(a) (b) (c) (d)
SC中的选择调用
统O 售品品品品客锁务事划理
维 S 实进批库及管店管工统查
护系时货发存商理管理资计询
统系管管管品 理 管管
统理理理帐
理理
管
理
4.4.2 面向数据流的设计方法 (结构化设计方法SD)
1. 面向数据流设计方法的基本概念
SD以数据流图为基础,它定义了把
DFD变换成软件结构的不同映射方法
映射
DFD
软件系统的结构
(问题结构)
(程序结构)
系统结构特征可归纳为两种典型形式: 变换型结构 事务型结构
数据流图可分为两种类型: 变换型数据流 事务型数据流
基本模型
变换型 结构
输入
变换 输出 中心
特征
由输入、变 换中心和输 出三部分组 成
接受
事务型 路径 结构
事务 中心
动 具有在多种 作 事务中选择 路 执行某类事 径 物的能力
密码
读 密码
检验 信息
信息
四位 与文件中
数字
密码比较
检验
重试 检验信 信息
息过程
初始的SC
主模块
由变换分
析产生 输入模块 主加工模块 输入模块
c
e
e
w
c,p r w,u
MA1 MA2 Q P R ME1 ME2
传入分 支模块
中心加工 分支模块
传出分 支模块
变换分析设计方法步骤
(3)第二级分解(分解SC各分支)
自顶向下分解,设计出每个分 支的中、下层模块
c,e
传 入
MA
c
e
分
支
C
E
的b
d
分
B
D解a(1)Ac,e传
入 分
c MA e
支 的
初始SC
初始的SC
主模块
由变换分
析产生 输入模块 主加工模块 输入模块
事务控制模块
由事务分 接受模块 动作发送模块 析产生
动作1模块 动作2模块 动作3模块
(1) 变换分析设计方法
步骤:
(1)区分传入、变换中心、 传出部分,在 DFD 上 标明分界线
A
a
B
b
C
传入 部分
Dd E e
变换中心
W
c
用 命户 令读用命用令户户命令配系数置交命统数互令参据读数子系据统系原数配据统置 D建置格立文F式配 件化D配格配数置格式置据信式化息化
命令 命令 开/关
配置数据 配置数据
类型 分析处理 命令
A/D
密码命令
激活/非活动 信息
系统
显示信息 和状态
显示
A根据内
A按另一判
部判断决 定是否调
A
定结果选择 调用C或D
用B
BCD
SC中的循环调用
A
BC
A根据内在的循环重 复调用B、C等模块
结构图(SC)举例
处方 挂号 费
总计
医院管理系统
门诊 管理
挂挂
号号
单
费 总
计
挂号 病历 处理 管理
处方 管理
药库 管理
出库 常规 处理 处理
药房 管理
进药 管理
病房 财务 管理 管理
面向数据
精化数据流图
流方法的 设计过程
“事务” 流类型 “变换”
区分事务中心
区分输入和
和数据接收路径
输出分支
映射成事务结构
映射成变换结构
事务分析 用启发式设计规则精化软件结构 变换分析 导出接口描述和全程数据结构 复查
详细设计
SD方法的两种映射过渡方法
变换分析
变换型DFD
初始SC
事务分析
事务型DFD
Get C bb
c
Get E
d de
分 解
Get B B to C Read D D to E
(2) a a b
Read D A to B
传
w,u
w,u
出 ME
ME
分 支
w
uw
u
的W
分 解
U Write W Put U v uvv
V U to V Write V
(1)
(2)
中心加工分支的分解
MT
酒店管理信息系统功能结构图
HMIS
收银管理子系统 收银管理子系统 收银管理子系统
客预客历客预 人定房史房定 登登处记查查 记记理录询询
餐菜营汇各初 桌单业总类始 安作结打查设 排业帐印询置
客退夜客报 帐房审帐表 处处处查打 理理理询印
大型零售商场管理信息系统功能结构图 TM M I S
系 P 零商商商商顾连财人计经
变换型 数据流
结构
事务型 数据流
结构
传入 部分
传入
变换 中心
变换
接受 部分
接受
事务 中心
事务 分析
传出 部分
传出
动作 1
动作 2
动作 3
变换型数据流举例
传入部分 变换中心 传出部分
输入
正确
信息 格式 信息
检查
结果
处理
数据
显示
物理 输入
逻辑 输入
逻辑 输出
物理 输出
特点:具有明确的传入、变换(或称主加 工) 和传出界面的DFD
ep r
u,w
c,p r
Q
P
R
(2) 事务分析设计方法
任何情况下都可使用变换分析 方法设计软件结构,但如数据 流具有明显的事务特点时 (有 一个明显的事务中心),以采用 事务分析方法为宜。
事务分析设计方法步骤:
(1)在DFD上确定事务中心、接收部 分和发送部分。
(2)画出SC框架,把DFD上的三部分 分别映射为事务控制模块、接收 模块和动作发送模块。
信息
外部 表示
内部 表示
变换流示意图
信息流
输入流
输出流
交换流
时间
事务型数据流图举例
B LE
A I C MFO H
D
G
N
大型系统DFD中,变换型和事务型 结构往往共存:
传入
T
事务中心
变换 传出
2. 面向数据流设计方法的设计步骤 (1)精化DFD (2)确定DFD类型 (3)把DFD映射到系统模块结构设计 出模块结构的上层 (4)基于DFD逐步分解高层模块设计 出下层模块 (5)根据模块独立性原理,精化模 块结构 (6)模块接口描述
P
r
p
R
w
传出 部分
Q u Uv V
变换分析设计方法步骤
(2)第一级分解(建立初始SC框架)
设计顶层和第一层模块
第一级分解的方法
MC
MA
MT
ME
第一级分解后的SC
MC
顶层
c,e
u,w
c,e u,w
MA MT
中心变 传入模块 换模块
ME 第一层
传出模块
第一级分解后的SC(另一种画法)
MC
pr
u,w
§4.4概要设计(总体设计)
概要设计确定:
•软件系统的结构 •各模块功能及模块间联系(接口)
表示软件结构的图形工具
结构图 层次图和HIPO图
概要设计的任务与步骤
概要设计的过程 : (1)设想可能的方案 (2)选取合理的方案 (3)推荐最佳方案 (4)功能分解 (5)设计软件结构 (6)数据库设计 (7)制定测试计划 (8)编写文档 (9)审查与复审
4.4.1结构图(SC Structure Chart)
SD方法在概要设计中的主要表达工具
约定:
不加区分的数据 数据信息
编辑学生记录
学号
学生数据 无此学生
控制信息
读学生记录
SC中的四种模块
A
B
CD
传入模块 传出模块 变换模块
协调模块
A
B
EE F F
(a) (b) (c) (d)
SC中的选择调用
统O 售品品品品客锁务事划理
维 S 实进批库及管店管工统查
护系时货发存商理管理资计询
统系管管管品 理 管管
统理理理帐
理理
管
理
4.4.2 面向数据流的设计方法 (结构化设计方法SD)
1. 面向数据流设计方法的基本概念
SD以数据流图为基础,它定义了把
DFD变换成软件结构的不同映射方法
映射
DFD
软件系统的结构
(问题结构)
(程序结构)
系统结构特征可归纳为两种典型形式: 变换型结构 事务型结构
数据流图可分为两种类型: 变换型数据流 事务型数据流
基本模型
变换型 结构
输入
变换 输出 中心
特征
由输入、变 换中心和输 出三部分组 成
接受
事务型 路径 结构
事务 中心
动 具有在多种 作 事务中选择 路 执行某类事 径 物的能力
密码
读 密码
检验 信息
信息
四位 与文件中
数字
密码比较
检验
重试 检验信 信息
息过程
初始的SC
主模块
由变换分
析产生 输入模块 主加工模块 输入模块
c
e
e
w
c,p r w,u
MA1 MA2 Q P R ME1 ME2
传入分 支模块
中心加工 分支模块
传出分 支模块
变换分析设计方法步骤
(3)第二级分解(分解SC各分支)
自顶向下分解,设计出每个分 支的中、下层模块
c,e
传 入
MA
c
e
分
支
C
E
的b
d
分
B
D解a(1)Ac,e传
入 分
c MA e
支 的
初始SC
初始的SC
主模块
由变换分
析产生 输入模块 主加工模块 输入模块
事务控制模块
由事务分 接受模块 动作发送模块 析产生
动作1模块 动作2模块 动作3模块
(1) 变换分析设计方法
步骤:
(1)区分传入、变换中心、 传出部分,在 DFD 上 标明分界线
A
a
B
b
C
传入 部分
Dd E e
变换中心
W
c