第4章软件总体设计 本章内容结构 本章引言 学习目标 ●教学内容 本章小结 ●思考和练习 课堂讨论 2021年2月3日 第4章软件总体设计 第1页
2021年2月3日 第4章 软件总体设计 第1页 第4章 软件总体设计 本章内容结构 ⚫ 本章引言 ⚫ 学习目标 ⚫ 教学内容 ⚫ 本章小结 ⚫ 思考和练习 ⚫ 课堂讨论
本章引言 经过需求分析阶段的工作,建立了由数据流图、数据字典和 一组算法描述所定义的系统逻辑模型,系统必须“做什么” 已经清楚了,下一步将进入软件设计阶段,即着手实现系统 需求,要把“做什么”的逻辑模型变换为“怎样做”的物理 模型。同时要把设计结果反映在“软件设计规格说明书”文 档中。因此软件设计是把软件需求转换为软件表的过程。总 体设计是进入软件设计的第一个阶段,只描述软件的总的体 系结构,第二个阶段是详细设计,即对结构进一步细化。 本章主要介绍软件总体设计,第5章介绍软件的详细设计。 2021年2月3日 第4章软件总体设计 第2页
第4章 软件总体设计 本章引言 ⚫ 经过需求分析阶段的工作,建立了由数据流图、数据字典和 一组算法描述所定义的系统逻辑模型,系统必须“做什么” 已经清楚了,下一步将进入软件设计阶段,即着手实现系统 需求,要把“做什么”的逻辑模型变换为“怎样做”的物理 模型。同时要把设计结果反映在“软件设计规格说明书”文 档中。因此软件设计是把软件需求转换为软件表的过程。总 体设计是进入软件设计的第一个阶段,只描述软件的总的体 系结构,第二个阶段是详细设计,即对结构进一步细化。 ⚫ 本章主要介绍软件总体设计,第5 章介绍软件的详细设计。 2021年2月3日 第2页
学习目标 ●理解软件总体设计的目标和任务 理解软件结构设计的准则 ●理解并掌握软件设计的概念和原理 ●理解并掌握数据库设计方法 熟悉软件设计的各类图形工具 ●熟练掌握结构化设计方法 ●熟悉总体设计说明书的主要内容及撰写方法 2021年2月3日 第4章软件总体设计 第3页
2021年2月3日 第4章 软件总体设计 第3页 学习目标 ⚫ 理解软件总体设计的目标和任务 ⚫ 理解软件结构设计的准则 ⚫ 理解并掌握软件设计的概念和原理 ⚫ 理解并掌握数据库设计方法 ⚫ 熟悉软件设计的各类图形工具 ⚫ 熟练掌握结构化设计方法 ⚫ 熟悉总体设计说明书的主要内容及撰写方法
教学内容 41软件总体设计的目标和任务 42软件结构设计准则 43软件设计的概念和原理 44数据库设计 4.5软件结构设计的图形工具 46结构化设计方法 4.7总体设计说明书 48本章小结和习题 2021年2月3日 第4章软件总体设计 第4页
2021年2月3日 第4章 软件总体设计 第4页 教学内容 4.1 软件总体设计的目标和任务 4.2 软件结构设计准则 4.3 软件设计的概念和原理 4.4 数据库设计 4.5 软件结构设计的图形工具 4.6 结构化设计方法 4.7 总体设计说明书 4.8 本章小结和习题
4.1软件总体设计的目标和任务 √总体设计阶段的基本目标就是回答“概括地说,系 统应该如何实现?”这个问题。 总体设计的另一项任务是设计软件的总体结构,即 确定系统中的每个程序是由哪些模块组成的,每个 模块的功能以及模块和模块之间的接口、调用关系 等 2021年2月3日 第4章软件总体设计 第5页
2021年2月3日 第4章 软件总体设计 第5页 4.1 软件总体设计的目标和任务 ✓ 总体设计阶段的基本目标就是回答“概括地说,系 统应该如何实现?”这个问题 。 ✓ 总体设计的另一项任务是设计软件的总体结构,即 确定系统中的每个程序是由哪些模块组成的,每个 模块的功能以及模块和模块之间的接口、调用关系 等
4.1恿体设计的过程 概括为两个主要阶段 系统设计:确定系统的具体实现方案。 结构设计:确定软件结构。 详细过程如下: 设想供选 选取合 推荐最 功能 设计软 择的方案 理的方案 佳方案 分解 件结构 系统流程图 数据流图·组成系统的物理元素清单 制订测 数据库 设计 °成本效益分析 试计划 实现系统的进度计划 系统说明 用户手册 审查和 测试计划 复审A 文档 详细的实现计划 数据库设计结果 第4章软件总体设计
第4章 软件总体设计 4.1 总体设计的过程: •系统设计:确定系统的具体实现方案。 •结构设计:确定软件结构。 设想供选 择的方案 选 取 合 理的方案 推荐最 佳方案 功能 分解 设计软 件结构 数据库 设 计 制订测 试计划 书写 文档 数据流图 • 系统流程图 • 组成系统的物理元素清单 • 成本/效益分析 • 实现系统的进度计划 • 系统说明 • 用户手册 • 测试计划 • 详细的实现计划 • 数据库设计结果 审查和 复 审 概括为两个主要阶段 详细过程如下:
41软件总体设计的目标和任务 典型的总体设计过程包括以下9个步骤: 1设想供选择的方案 口根据需求分析阶段得出的数据流图,考虑各种可能的实 现方案,力求从中选出最佳方案。 2选取合理的方案 口从前一步得到的一系列供选择的方案中选取若干个合 理的方案。 3推荐最佳方案 口分析员应该综合分析对比各种合理方案的利弊,推荐 一个最佳的方案,并且为推荐的方案制定详细的实现计划。 第4章软件总体设计
第4章 软件总体设计 4.1 软件总体设计的目标和任务 典型的总体设计过程包括以下9个步骤: 1.设想供选择的方案 根据需求分析阶段得出的数据流图,考虑各种可能的实 现方案,力求从中选出最佳方案。 2.选取合理的方案 从前一步得到的一系列供选择的方案中选取若干个合 理的方案。 3.推荐最佳方案 分析员应该综合分析对比各种合理方案的利弊,推荐 一个最佳的方案,并且为推荐的方案制定详细的实现计划
41软件总体设计的目标和任务 4.功能分解 口首先进行结构设计,然后进行过程设计。 口结构设计确定程序由哪些模块组成,以及这些模块之间 的关系;过程设计确定每个模块的详细设计处理过程。 口结构设计是总体设计阶段的任务,过程设计是详细设计 阶段的任务。 5设计软件结构 口通常程序中的一个模块完成一个适当的子功能。应当把 模块组织成良好的层次系统。软件结构可以用层次图或 结构图来描述。 口如果数据流图已经细化到适当的层次,则可以直接从数 据流图映射出软件结构,这就是面向数据流的设计方法。 第4章软件总体设计
第4章 软件总体设计 4.1 软件总体设计的目标和任务 4.功能分解 首先进行结构设计,然后进行过程设计。 结构设计确定程序由哪些模块组成,以及这些模块之间 的关系;过程设计确定每个模块的详细设计处理过程。 结构设计是总体设计阶段的任务,过程设计是详细设计 阶段的任务。 5.设计软件结构 通常程序中的一个模块完成一个适当的子功能。应当把 模块组织成良好的层次系统。软件结构可以用层次图或 结构图来描述。 如果数据流图已经细化到适当的层次,则可以直接从数 据流图映射出软件结构,这就是面向数据流的设计方法
41软件总体设计的目标和任务 6设计数据库 口对于需要使用数据库的应用系统,软件工程师应该 在需求分析阶段所确定的系统数据需求的基础上,进 步涉及数据库。 7.制定测试计划 口在软件开发的早期阶段考虑测试问题,能促使软件 设计人员在设计时注意提高软件的可测试性。 8书写文档 口应该用正式的文档记录总体设计的结果。 9审查和复审 口最后应该对总体设计的结果进行严格的技术审查和 管理复审。 第4章软件总体设计
第4章 软件总体设计 4.1 软件总体设计的目标和任务 6.设计数据库 对于需要使用数据库的应用系统,软件工程师应该 在需求分析阶段所确定的系统数据需求的基础上,进一 步涉及数据库。 7.制定测试计划 在软件开发的早期阶段考虑测试问题,能促使软件 设计人员在设计时注意提高软件的可测试性。 8.书写文档 应该用正式的文档记录总体设计的结果。 9.审查和复审 最后应该对总体设计的结果进行严格的技术审查和 管理复审
4.2软件结构设计准则 软件总体设计的任务是软件体系结构设计和 软件模块设计。 421软件体系结构设计准则 4.22软件模块设计准则 2021年2月3日 第4章软件总体设计 第10页
2021年2月3日 第4章 软件总体设计 第10页 4.2 软件结构设计准则 软件总体设计的任务是软件体系结构设计和 软件模块设计。 4.2.1 软件体系结构设计准则 4.2.2 软件模块设计准则