4.1 软件总体设计的目标和任务


  • 总体设计阶段的基本目标和任务:系统应该如何实现?划分出组成系统的物理元素,比如程序、文件、数据库等。
  • 总体设计的其他任务:设计软件的总体结构
    1. 确定系统中的每个程序是由哪些模块组成的。
    2. 每个模块的功能。
    3. 模块和模块之间的接口、调用关系等。
  • 典型的总体设计过程包括以下9个步骤:
    1. 设想供选择的方案
      • 根据需求分析阶段得出的数据流图,考虑各种可能的实现方案,力求从中选出最佳方案。
    2. 选取合理的方案
      • 从前一步得到的一系列供选择的方案中选取若干个合理的方案。
    3. 推荐最佳方案
      • 分析员应该综合分析对比各种合理方案的利弊,推荐一个最佳的方案,并且为推荐的方案制定详细的实现计划。
    4. 功能分解
      • 首先进行结构设计,然后进行过程设计。
      • 结构设计确定程序由哪些模块组成,以及这些模块之间的关系;过程设计确定每个模块的详细设计处理过程。
      • 结构设计是总体设计阶段的任务,过程设计是详细设计阶段的任务。
    5. 设计软件结构
      • 通常程序中的一个模块完成一个适当的子功能。应当把模块组织成良好的层次系统。软件结构可以用层次图或结构图来描述。
      • 如果数据流图已经细化到适当的层次,则可以直接从数据流图映射出软件结构,这就是面向数据流的设计方法。
    6. 设计数据库
      • 对于需要使用数据库的应用系统,软件工程师应该在需求分析阶段所确定的系统数据需求的基础上,进一步涉及数据库。
    7. 制定测试计划
      • 在软件开发的早期阶段考虑测试问题,能促使软件设计人员在设计时注意提高软件的可测试性。
    8. 书写文档
      • 应该用正式的文档记录总体设计的结果。
    9. 审查和复审
      • 最后应该对总体设计的结果进行严格的技术审查和管理复审。

  目录