概要设计,详细设计之间的关系是什么?

概要设计,详细设计之间的关系是什么?

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

 


1 楼qingrun(青润)回复于 2004-08-12 19:56:38 得分 20

你的看法有点问题。  
  概要设计是对需求分析的一个进一步细化。不是一个简单的模块性的描述。  
  概要设计阶段就要把一些考虑到的最大的技术难点做一次突破,因此我认为,概要设计实现的是对需求的进一步细化,也就是需求数字化的第一个实际步骤,同时部分需求较为稳定的模块要做先期的开发,技术最难的模块要做技术探索,逐渐推进。

2 楼spgoal(敏捷的狗狗)回复于 2004-08-12 21:31:59 得分 0

如果从需求分析直接跳到详细设计,中间没有一个过渡的过程,出现问题的几率会大很多,软件开发需要按部就班,最简单的按部就班就是按照传统的过程走一次,现在还搞迭代开发,其实也是一步一步走,使软件不断的完善。   
  楼主说的例子,在概要设计阶段,你就可以对排序的算法进行选择,分析其优劣性,概要设计结束时,基本上就已经确定用什么算法了,那么在详细设计时就可以专注与这个算法的具体实现

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值