《软件工程》课件——第4章 总体设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 总体设计
XX大学 XX系 XXX
软件工程教程 电子科技大学出版社
学习目标
l 了解总体设计的目标、任务和设计过程; l 理解总体设计的原理和结构设计准则; l 掌握面向数据流的软件结构设计方法和描绘软
件结构的图形工具; l 能够运用相关方法和工具进行简单的软件结构
设计。
目录
01
02 03
04
” 和有关技术专家应认真审查分析员推荐的最佳方案,如果
确实符合用户需求,且在现有技术条件下能够完全实现, 则提请使用部门负责人进行审批。在审批通过后,方可进 入总体设计的下一个重要阶段——结构设计。
总体设计的过程
(4)功能分级 结构设计的任务是确定目标系统由哪些模块组
” 成,以及这些模块之间的逻辑关系。结构设计之
总体设计的目标和任务
总体设计的基本目的是回答“概括地说,系统应该如何实 现”这个问题,目标是得到良好的软件总体结构,即独立性良 好、规模适中的一组模块以及深度、宽度、扇入、扇出合适的 系统结构。良好的总体结构将给后续阶段的工作带来诸多便利 ,也是保障软件质量、降低开发成本、提高软件可维护性的先 决条件。什么是良好的软件结构?如何设计良好的软件结构? 可以使用哪些工具?将是本章主要介绍的内容。
总体设计的目标和任务
从工程管理的角度,软件设计可以划分为两个 阶段:总体设计阶段和详细设计阶段。总体设计
的目标是把需求分析得到的结构化分析模型映射成结 构化设计模型。前者反映的是问题域的既定事实,后 者反映的是带有设计者意图的或意志的预期事实。结 构化分析与结构化设计的关系如图4.1所示。
总体设计的
后的过程设计属于详细设计阶段的任务,用于确 定每个模块的处理过程。
总体设计的过程
为了确定软件的结构,首先应该从实现的角度 把复杂的功能进一步分解。具体做法是,仔细分 析数据流图中的每个处理,如果一个处理的功能
” 过分复杂,则把它适当的分解成一系列比较简单
的功能,整个分解过程实质上是对数据流图的进 一步细化。在分解的过程中,还应该用IPO表简要 地描述每个处理的算法。
图4.1分析模型到设计模型的映射
总体设计的目标和任务
需要明白的是,分析模型不是设计的结果,分 析模型要如实反映问题域的真实情况;设计模型要 以分析模型为基础,用计算机所理解的虚拟世界的 方式对问题域中待解决的问题进行重新的结构构建 ,并反映设计这的意志,设计模型绝不能违反分析 模型中的事实和现实世界的常识,否则,就不可能 得到符合预期的产品。
(7)制定测试计划 虽然是在设计阶段,但是提早考虑测试问
” 题,能促使设计人员在设计时注意提高软件的
可测试性。在总体设计阶段仅是利用黑盒测试 法制定功能测试计划与测试策略。在详细设计 时才编写详细的测试用例和测试计划。
总体设计的过程
(8)编写文档
应该用正式的文档记录总体设计的结果,文档通常包括 以下五种。
05
06
07
总体设计的目标和任务 总体设计的过程 总体设计的原理 软件结构设计准则 描绘软件结构的图形工具 面向数据流的软件结构设计方法 本章小结
总体设计的目标和任务
01
总体设计的目标和任务
按照软件生存周期模型的结构,总体设计(也 称概要设计)是在需求分析取得正式结果的基础 上开展的软件开发工作,是软件开发时期的第一 阶段工作,对开发时期的其他后续工作具有统筹 的作用。
总体设计的过程
(2)选取合理的方案 从前一步的到的不同方案中选取若干个合理的
” 方案,通常要包括低成本、中等成本和高成本的
三种方案。在判断方案的合理性时,可依据可行 性研究阶段确定的项目规模,有时可能还需要进 一步征求用户的意见。
总体设计的过程
(3)推荐最佳方案 系统分析员应综合分析对比各种合理方案的利弊,推 荐一个最佳方案,并为此方案制定详细的实现计划。用户
” 结构设计阶段,确定软件的结构。典型的总体
设计过程包括以下九个步骤。
总体设计的过程
(1)设想供选择的方案 在总体设计阶段,系统分析员首先应该考虑 各种可能的实现方案,并力求选出最佳方案。设
” 想方案的出发点是数据流图,常用的做法是,设
想把数据流图中的处理进行分组的各种可能的方 法,抛弃在技术上行不通、不合理的分组方法, 余下的分组方法代表可能的实现策略。
总体设计的过程
(5)设计软件结构 设计软件结构就是要把软件的模块组织成良好的 层次系统。在这个层次系统中,每一层模块都调用它
” 下一层的模块,每个下层模块再调用更下层的模块,
最下层的模块完成最具体的功能,从而实现程序的某 个子功能,所有的子功能共同完成系统的完整功能。 描述软件结构可以使用层次图或结构图。
① 系统说明。主要内容包括系统流程图描绘的系统构成
” 方案,组成系统的物理元素清单,成本/效益分析,对最佳方
案的概括性描述,精华的数据流图,用层次图或结构图描绘 的软件结构,用IPO表或PDL语言简要描述的各个模块的算法 ,模块间的结构关系,以及需求、功能和模块三者之间的交 叉参照关系等。
总体设计的过程
② 用户手册。根据总体设计的结果,修改更正在
ห้องสมุดไป่ตู้
需求分析阶段产生的初步的用户手册。
③ 测试计划。包括测试策略、测试方案、预期结
果、测试计划等。

④ 详细的实现计划。包括实现的各阶段所需要的
时间、资源、人员配置等。
⑤ 数据库设计的结果。
总体设计的过程
(9)审查和复查 最后,应该对总体设计的结果进行严格的
总体设计的过程
如果数据流图已经细化到适当的层次(如
果再分解就涉及到过程设计的问题),则可以
直接从数据流图映射出软件结构。

总体设计的过程
(6)数据库设计 对于需要使用数据库的应用领域,还要进
” 行数据库设计。数据库的设计包括模式设计子
模式设计、完整性设计和安全性设计、优化处 理等。
总体设计的过程
总体设计的目标和任务
总体设计的主要任务是把分析阶段得到的数据 模型映射成数据库设计,把数据流图映射成软件功 能结构,行为模型可以用于详细设计阶段的流程、 算法设计。软件功能结构反映了软件的功能组成, 以及各功能模块间的逻辑关系(含接口关系)。
总体设计的过程
02
总体设计的过程
总体设计过程通常由两个主要阶段组成: 系统设计阶段,确定系统的的具体实现方案;
相关文档
最新文档