(5) 可靠性设计

  可靠性设计也叫做质量设计。在计算机使用的过程中,可靠性是很重要的。可靠性不高的软件会使得运行结果不能使用而造成严重损失。软件可靠性简言之是指程序和文档中的错误少。
  软件可靠性与硬件不同,软件越使用可靠性越高。但是在运行过程中,为了适应环境的变化和用户新的要求,需要经常对软件进行改造和修正,这就是软件的维护。由于的维护往往会产生新的故障,所以要求在软件开发期间应当尽早找出差错,并在软件开发的一开始就要确定软件可靠性和其它质量指标,考虑相应措施,以使得软件易于修改和易于维护。

(6) 编写概要设计阶段的文档

  概要设计阶段完成时应编写以下文档:
   概要设计说明书。给出系统目标、总体设计、数据设计、处理方式设计、运行设计、出错设计等。
   数据库设计说明书。给出所使用数据库简介、数据模式设计、物理设计等。
   用户手册。对需求分析阶段编写的初步的用户手册进行审订。
   修订测试计划。对测试的策略、方法和步骤提出明确的要求。

(7) 概要设计评审

  在以上几项工作完成之后,应当组织对概要设计工作的评审。评审的内容包括:
  ・可追溯性:即分析该软件的系统结构、子系统结构,确认该软件设计是否复盖了所有已确定的软件需求,软件每一成份是否可追溯到某一项需求。
  ・接口:即分析软件各部分之间的联系,确认该软件的内部接口与外部接口是否已经明确定义。模块是否满足高内聚和低耦合的要求。模块作用范围是否在其控制范围之内。
  ・风险:即确认该软件设计在现有技术条件下和预算范围内是否能按时实现。
  ・实用性:即确认该软件设计对于需求的解决方案是否实用。
  ・技术清晰度:即确认该软件设计是否以一种易于翻译成代码的形式表达。
  ・可维护性:从软件维护的角度出发,确认该软件设计是否考虑了方便未来的维护。
  ・质量:即确认该软件设计是否表现出良好的质量特征。
  ・各种选择方案:看是否考虑过其它方案,比较各种选择方案的标准是什么。
  ・限制:评估对该软件的限制是否现实,是否与需求一致。
  ・其它具体问题:对于文档、可测试性、设计过程...等等进行评估。

  软件系统的一些外部特性的设计,例如软件的功能、一部分性能、以及用户的使用特性等,在软件需求分析阶段就已经开始。这些问题的解决,多少带有一些"怎么做"的性质,因此有人称之为软件的外部设计。