第5章总体设计 5.,1设计过程 5.,2设计原理 53启发规则 5.4描绘软件结构的图形工具 5.5面向数据流的设计方法
第5章 总体设计 5.1 设计过程 5.2 设计原理 5.3 启发规则 5.4 描绘软件结构的图形工具 5.5 面向数据流的设计方法
软件设计宜言: Mitch Kapor 什么是设计?设计是你站在两个世界技 术世界和人类的目标世界而你尝试将这两 个世界结合在一起 ●●●●●● 罗马建筑批评家Ⅴ vitruvius提出的观念: “设计良好的建筑应该展示出坚固、适用和令 人赏心悦目
软件设计宣言:Mitch Kapor ◼ “什么是设计?设计是你站在两个世界——技 术世界和人类的目标世界——而你尝试将这两 个世界结合在一起……”。 罗马建筑批评家Vitruvius提出的观念: ◼ “设计良好的建筑应该展示出坚固、适用和令 人赏心悦目
软件设计是后续开发步骤及软件维护工作的基础。如果 没有设计,只能建立一个不稳定的系统结构 维护 维护 测试 测试 实现 实现 设计 有软件设计 没有软件设计
3 软件设计是后续开发步骤及软件维护工作的基础。如果 没有设计,只能建立一个不稳定的系统结构
设计阶段: 从工程管理的角度,可以将软件设计分为概要 设计阶段和详细设计阶段 从技术的角度,传统的结构化方法将软件设计 划分为体系结构设计、数据设计、接口设计和 过程设计4部分。 面向对象方法则将软件设计划分为体系结构设 计、类设计数据设计、接口设计和构件级设 计4部分
设计阶段: ◼ 从工程管理的角度,可以将软件设计分为概要 设计阶段和详细设计阶段。 ◼ 从技术的角度,传统的结构化方法将软件设计 划分为体系结构设计、数据设计、接口设计和 过程设计4部分。 ◼ 面向对象方法则将软件设计划分为体系结构设 计、类设计/数据设计、接口设计和构件级设 计4部分
概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到 软件详细的数据结构和算法。 管理观点 概要设计 详细设计 接口设计 过程设计 类设计(00法)(传统方法) 技术观点 数据设计 构件级设计 体系结构设计(0法)
概要设计,将软件需求转化为数据结构和软件的系统结构。 详细设计,即过程设计。通过对结构表示进行细化,得到 软件详细的数据结构和算法
将需求分析模型转换为软件结构 工 体实 规 象 关 格 过程设计 描(系(数据词典)流说 述 图 图 接口设计 状态转换图 体系结构设计 掉制规格芴的 数据设计
将需求分析模型转换为软件结构 数据词典 数 据 流 图 实 体 关 系 图 状态转换图 加 工 控 制 规 规 格 格 说 说 明 明 数 据 对 象 描 述 过程设计 接口设计 体系结构设计 数据设计
51设计过程 总体设计过程:首先寻找实现目标系统的各种不同的方案; 然后分析员从这些供选择的方案中选取若干个合理的方案, 从中选出一个最佳方案向用户和使用部门负责人推荐;分 析员应该进一步为这个最佳方案设计软件结构,进行必要 的数据库设计,确定测试要求并且制定测试计划。 必要性:总体设计可以站在全局高度上,花较少成本,从 较抽象的层次上分析对比多种可能的系统实现方案和软件 结构,从中选出最佳方案和最合理的软件结构,从而用较 低成本开发出较高质量的软件系统
◼ 总体设计过程:首先寻找实现目标系统的各种不同的方案; 然后分析员从这些供选择的方案中选取若干个合理的方案, 从中选出一个最佳方案向用户和使用部门负责人推荐;分 析员应该进一步为这个最佳方案设计软件结构,进行必要 的数据库设计,确定测试要求并且制定测试计划。 ◼ 必要性:总体设计可以站在全局高度上,花较少成本,从 较抽象的层次上分析对比多种可能的系统实现方案和软件 结构,从中选出最佳方案和最合理的软件结构,从而用较 低成本开发出较高质量的软件系统。 5.1 设计过程
由两个主要阶段组成: 系统设计阶段,确定系统的具体实现方案 口设想供选择的方案 口选取合理的方案 口推荐最佳方案 结构设计阶段,确定软件结构 功能分解 口制定测试计划 口口 设计软件结构书写文档 设计数据库 口审查和复审
由两个主要阶段组成: ◼ 系统设计阶段,确定系统的具体实现方案 ❑ 设想供选择的方案 ❑ 选取合理的方案 ❑ 推荐最佳方案 ◼ 结构设计阶段,确定软件结构 ❑ 功能分解 ❑ 设计软件结构 ❑ 设计数据库 ❑ 制定测试计划 ❑ 书写文档 ❑ 审查和复审
典型的总体设计过程包括下述9个步骤: 1.设想供选择的方案 ■根据需求分析阶段得出的数据流图考虑各种可能 的实现方案,力求从中选出最佳方案。 2.选取合理的方案 从前一步得到的一系列供选择的方案中选取若干 个合理的方案。对每个合理的方案分析员都应该 准备下列4份资料: 口系统流程图; 口组成系统的物理元素清单 口成本/效益分析; 口实现这个系统的进度计划
典型的总体设计过程包括下述9个步骤: 1. 设想供选择的方案 ◼ 根据需求分析阶段得出的数据流图考虑各种可能 的实现方案,力求从中选出最佳方案。 2. 选取合理的方案 ◼ 从前一步得到的一系列供选择的方案中选取若干 个合理的方案。对每个合理的方案分析员都应该 准备下列4份资料: ❑ 系统流程图; ❑ 组成系统的物理元素清单; ❑ 成本/效益分析; ❑ 实现这个系统的进度计划
3.推荐最佳方案 分析员应该综合分析对比各种合理方案的利弊, 推荐一个最佳的方案,并且为推荐的方案制定详 细的实现计划。 4.功能分解 首先进行结构设计,然后进行过程设计。 结构设计确定程序由哪些模块组成,以及这些模 块之间的关系;过程设计确定每个模块的处理过 程 结构设计是总体设计阶段的任务,过程设计是详 细设计阶段的任务
3. 推荐最佳方案 ◼ 分析员应该综合分析对比各种合理方案的利弊, 推荐一个最佳的方案,并且为推荐的方案制定详 细的实现计划。 4. 功能分解 ◼ 首先进行结构设计,然后进行过程设计。 ◼ 结构设计确定程序由哪些模块组成,以及这些模 块之间的关系;过程设计确定每个模块的处理过 程。 ◼ 结构设计是总体设计阶段的任务,过程设计是详 细设计阶段的任务