(软件工程复习核心重点)第四章总体设计-第一节:总体设计基本概念和设计过程
文章目录一:总体设计的概念(1)定义(2)主要任务二:设计过程(1)系统设计阶段1:设想供选择的方案2:选取合理的方案3:推荐最佳方案(2)结构设计阶段4:功能分解5:设计软件结构6:设计数据库7:制定测试计划8:书写文档9:审查和复查一:总体设计的概念(1)定义总体设计的基本目的就是回答“系统应该如何实现”这个问题,又称为概要设计或初步设计(2)主要任务1:确定系统中每个程序由哪些模块组成以及这
文章目录
一:总体设计的概念
(1)定义
总体设计的基本目的就是回答“系统应该如何实现”这个问题,又称为概要设计或初步设计
(2)主要任务
- 划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计
- 设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系
(3)步骤
- 寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础
- 分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划
- 进行必要的数据库设计,确定测试要求并且制定测试计划
(4)必要性(了解)
可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。
二:设计过程
设计过程包括系统设计阶段和结构设计阶段
(1)系统设计阶段
1:设想供选择的方案
在总体设计阶段应该考虑各种可能的实现方案,并且力求从中选出最佳方案。在总体设计阶段开始时只有系统的逻辑模型,分析员有充分的自由分析比较不同的物理实现方案,一旦选出了最佳的方案,将能大大提高系统的性能/价格比需求分析阶段得出的数据流图是总体设计的极好的出发点
常用的方法是:
- 设想把数据流图中处理分组的各种可能的方法
- 拋弃在技术上行不通的分组方法
- 余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统
2:选取合理的方案
应该从前一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的3种方案
对于每个合理的方案,都应该准备下列4份材料
- 系统流程图
- 组成系统的物理元素清单
- 成本/效益分析
- 实现这个系统的进度计划
3:推荐最佳方案
应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。用户和有关的技术专家应该认真审查分析员所推荐的最佳系统,如果该系统确实符合用户的需要,并且是在现有条件下完全能够实现的,则应该提请使用部门负责人进一步审批。在使用部门的负责人也接受了分析员所推荐的方案之后,将进入总体设计过程的下一个重要阶段一结构设计阶段
(2)结构设计阶段
4:功能分解
为确定软件结构,需要从实现角度把复杂的功能进一步分解。需要结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能
5:设计软件结构
把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。软件结构,即由模块组成的层次统可以用层次图或结构图来描绘
6:设计数据库
对于需要使用数据库的那些应用系统,应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库
7:制定测试计划
在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性
8:书写文档
主要有以下几种:
- 系统说明
- 用户手册
- 测试计划
- 详细实现计划
- 数据库设计结果
9:审查和复查
最后对总体设计结果进行严格的技术审查,在技术审查通过后再由客户从管理角度进行复审
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)