这样一来,设计可以明显地划分成两个阶段:
主要集中于划分模块、分配任务、定义调用关系。模块间的接口与传参在这个阶段要定 得 十分细致明确,应编写严谨的数据字典,避免后续设计产生不解或误解。概要设计一般不是一次就能做到位,而是反复地进行结构调整。典型的调整是合并功能重复 的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。
详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。一个模块一篇详细设计文档。
概要设计文档相当于机械设计中的装配图,而详细设计文档相当于机械设计中的零件图。文档的编排、装订方式也可以参考机械图纸的方法。
(原文说的不够明白,我dark的理解是应该是:如果是关系型的数据库或数据结构,应该说明各表之间的主外键关系或表的字段之间的关系,包括引用和依赖等)详细设计里的数据库设计就应该是一份完善的数据结构文档,就是一个包括类型、命名、精度、字段说明、表说明等内容的数据字典。(说白了, 详设的数据库说明就应该细化到表有哪些字段和字段类型与精度了)
举个例子,例如排序程序,如果设计2个模块:
一个主模块用于排序子模块用于交换2个变量,主模块调用子模块,但是子模块是怎么设计出来的呢定是你先想到了用冒泡等排序方式的时候需要交换数据,这已经考虑了主模块足够多的细节,似乎属于”详细设计”了,但是目前进行的是概要设计,这就产生了我所说的重叠的情况。
A:
看看上面的帖子,有意思的居多。
上面也有朋友说到用建筑的例子来比喻。
软件的概要设计,主要是建立软件系统的整体架构,也就是我们在盖房子时候,需要先将房子的整个架子构建起来。
软件的详细设计,主要是将软件系统的各个部分的具体设计方法、逻辑、功能采用文字方式进行表述。这样在实现过程中,Coding人员原则上严格按此进行代码实现即可。
这样的一个最为简单的例证:我们可以将代码交付第三方来做。验证与跟踪采取设计来。
我 看上面还有一个朋友说:快速做代码。这个本身没有值得批评之处。但只要想一下,你写的代码没有任何设计思想、文档留下的情况,一旦你离开,如何维护新 设计吗是花费几倍人力去研究你写的几千/万,甚至几十万行代码果是这样的,你没错,关键是你们老板太对了,钱算什么。
另外的一个问题是:中国人如此聪明,但中国为什么没有出现巨型软件产品呢人英雄主义依然很严重,老板的短视利益行为大行其道。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!