软件的系统设计(又称概要设计)和详细设计是软件设计阶段的两个紧密衔接的层次,它们之间的关系可以概括为 “总体”与“局部”、“框架”与“实现” 的关系。
其主要关系如下:
-
承上启下,逐步细化:
-
系统设计是上游环节,它承接需求分析的成果,专注于定义系统的总体结构。它的任务是回答“系统由哪些主要部分组成以及它们如何协作”这个宏观问题。
-
详细设计是下游环节,它承接系统设计确定的框架,专注于定义每个模块或组件的内部实现细节。它的任务是回答“每个部分具体如何实现”这个微观问题。
-
-
抽象到具体:
-
系统设计是抽象的、高层次的。它定义模块的功能、模块之间的接口(接口规范,如输入、输出、协议),但不关心模块内部的具体逻辑。
-
详细设计是具体的、低层次的。它需要详细描述模块内部的算法、数据结构、类与方法的设计、异常处理、与数据库的交互等,直到足够指导程序员编写代码。
-
-
设计范围不同:
-
系统设计关注全局,包括系统架构风格(如微服务、分层)、技术选型、子系统/模块划分、全局数据流、网络部署方案等。
-
详细设计关注局部,针对每个模块进行深入设计,是面向程序开发人员的。
-