一:总体设计的概念

(1)定义

总体设计的基本目的就是回答“系统应该如何实现”这个问题,又称为概要设计或初步设计

(2)主要任务

  • 划分出组成系统的物理元素程序、文件、数据库、人工过程和文档等,但是每个物理元素仍然处于黑盒子级,这些黑盒子里的具体内容将在以后仔细设计
  • 设计软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系

(3)步骤

  1. 寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础
  2. 分析员从这些供选择的方案中选取若干个合理的方案,为每个合理的方案都准备一份系统流程图,列出组成系统的所有物理元素,进行成本/效益分析,并且制定实现这个方案的进度计划
  3. 进行必要的数据库设计,确定测试要求并且制定测试计划

(4)必要性(了解)

可以站在全局高度上,花较少成本,从较抽象的层次上分析对比多种可能的系统实现方案和软件结构,从中选出最佳方案和最合理的软件结构,从而用较低成本开发出较高质量的软件系统。

二:设计过程

设计过程包括系统设计阶段结构设计阶段

(1)系统设计阶段

1:设想供选择的方案

在总体设计阶段应该考虑各种可能的实现方案,并且力求从中选出最佳方案。在总体设计阶段开始时只有系统的逻辑模型,分析员有充分的自由分析比较不同的物理实现方案,一旦选出了最佳的方案,将能大大提高系统的性能/价格比需求分析阶段得出的数据流图是总体设计的极好的出发点

常用的方法是:

  • 设想把数据流图中处理分组的各种可能的方法
  • 拋弃在技术上行不通的分组方法
  • 余下的分组方法代表可能的实现策略,并且可以启示供选择的物理系统

2:选取合理的方案

应该从前一步得到的一系列供选择的方案中选取若干个合理的方案,通常至少选取低成本、中等成本和高成本的3种方案

对于每个合理的方案,都应该准备下列4份材料

  • 系统流程图
  • 组成系统的物理元素清单
  • 成本/效益分析
  • 实现这个系统的进度计划

3:推荐最佳方案

应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。用户和有关的技术专家应该认真审查分析员所推荐的最佳系统,如果该系统确实符合用户的需要,并且是在现有条件下完全能够实现的,则应该提请使用部门负责人进一步审批。在使用部门的负责人也接受了分析员所推荐的方案之后,将进入总体设计过程的下一个重要阶段一结构设计阶段

(2)结构设计阶段

4:功能分解

为确定软件结构,需要从实现角度把复杂的功能进一步分解。需要结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能

5:设计软件结构

把模块组织成良好的层次系统,顶层模块调用它的下层模块以实现程序的完整功能,每个下层模块再调用下层的模块,从而完成程序的一个子功能,最下层的模块完成最具体的功能。软件结构,即由模块组成的层次统可以用层次图或结构图来描绘

6:设计数据库

对于需要使用数据库的那些应用系统,应该在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据库

7:制定测试计划

在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性

8:书写文档

主要有以下几种:

  • 系统说明
  • 用户手册
  • 测试计划
  • 详细实现计划
  • 数据库设计结果

9:审查和复查

最后对总体设计结果进行严格的技术审查,在技术审查通过后再由客户从管理角度进行复审

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐