概要设计,详细设计之间的关系是什么?
我的看法:
概要设计只说明系统有多少个模块,各模块之间的接口和个模块本身的功能
详细设计说明某个具体模块如何实现,粒度应该比程序略高一些
但是问题来了,各个模块之间是有层次关系的,也有先后逻辑关系。这就说明,在概要设计中,还必须考虑模块的实现细节,否则,你怎么知道这个模块下面要划分子模块?你怎么知道各子模块的调用顺序?
这就说明,概要设计和详细设计是重叠进行的,而软件工程书上说的确是顺序进行的,不知道是不是我的理解有问题。
举个例子,例如排序程序,如果设计2个模块:
一个主模块用于排序
子模块用于交换2个变量,主模块调用子模块
但是子模块是怎么设计出来的呢?肯定是你先想到了用冒泡等排序方式的时候需要交换数据,这已经考虑了主模块足够多的细节,似乎属于“详细设计”了,但是目前进行的是概要设计,这就产生了我所说的重叠的情况。