软件设计文档与程序代码的关系
软件设计文档大多是软件的系统结构,或逻辑结构,一般都是从很高层次上的设计.
但我们程序员最终还是得到程序代码去实现,了解了系统结构后,结构上是很清晰,但总觉得跟程序的实现之间还是存在着一定的鸿沟.
并不能做到系统结构,逻辑图等了解后就能很好的理解代码.
到底怎么做到跟程序之间做直接的映射呢,需要什么样类型的文档来说明呢.
简单的说就是怎么记录好系统的流程跟代码的实现的映射,很方便的知道那个流程对应那些代码.
[解决办法]
楼主提的问题很好,我认为这是目前软件开发技术发展的局限所在,即高层设计和底层实现间的隔膜过大,实际上面向过程方法时代,这个问题最严重,到面向对象时代,很大程度上解决了这个问题。
在我想象的理想的开发方法里面,一个软件应该是可以从各个层次进行透视的,最底层即是二进制代码,上面可能有虚拟机中间代码,再上是程序语言代码,再上层是详细设计层,再上层是概要设计层。。。等等。
这些层之间的不同在于抽象层次的不同,运用的语言不同,而实际要表达的都是同一个东西,只是从不同的层面表达而已,所谓的设计文档就是高层次上对软件的描述,如果对设计文档的描述语言进行严格的定义和规范,那么他和低层次应该可以较好的对应起来,目前这种不同层次间的隔膜实际上是软件开发技术不成熟的反映。
理想的开发工具,应该可以自由的在各个层次间进行透视切换,比如楼主上面说的,流程图到代码间的直接映射,但现在的软件发展水平,并没有完全成熟到这种地步。
不过MDA--模型驱动的软件开发方法,好像能在一定程度上解决这个问题。