前一段时间写了初步学习了软件开发文档,虽然耗时不断感觉理解的并不是很深刻,最近我们举行了一次学术交流会,让我们重新认识了软件开发文档。一开始总感觉总是对文档不怎么感什么兴趣,枯燥、冗长、无聊,只是按照固定的模板框框往里添东西,像我们为机房收费系统写文档时我就有这样的感受,许多名词术语下根本不知道写些什么,还有开发进度报告、经费估算,这些都是瞎掰上去的。
可我写完之后就不这么看了,当初的想法完全是自己站在一个程序员的角度看的,自己参与的只是软件的代码实现部分,所以觉得其他的文档很多余。但是软件开发毕竟是要走标准化路线的,这样才能协调软件开发的各方面工作,真正实现软件的效益。而要做到标准化规范化,文档是十分重要的。下面是我对文档的一些小总结:
一、文档的作用
在我理解,文档最主要的目的还是为了做好软件的开发,协调好客户和相关开发人员关系,做出高质量并符合客户需求的软件产品来。一幅图来说明文档的桥梁关系:
二、文档的分类
我们知道了文档的功能,然后就可以根据这些功能把这些文档分一下类,看看每个文档是写给谁看的。这也是建立在我们对文档理解的基础上。
如图所示:
我们说过了文档在软件开发过程中起一个桥梁作用,是沟通用户、软件开发人员和软件管理人员的桥梁。软件开发人员在开发过程中把文档作为软件开发的前一阶段的总结以及后一阶段的依据。软件开发过程中,软件开发人员会制定一些软件开发计划或者工作报告,这些计划或报告都要提供给管理人员得到必要的支持,这就是开发文档。而软件管理人员则可以根据这些文档了解软件开发的安排、进度、使用资源和成果;管理人员也要在宏观上把握和控制软件开发的整体进程,与这些相关的就是管理文档了。此外,软件开发人员需要为用户了解、使用、维护软件提供详细的资料,这就是用户文档了。当然,各个文档并不是独立的,它们之间是有一定联系的,共同促进开发工作的进行。
三、文档和软件生命周期的关系
学习了软件工程我们知道,软件开发分为好几个阶段,文档作为各个开发阶段的指导,是和开发工作同时进行的,那么怎么软件开发生命周期和每个文档之间又是什么关系呢?
如下图:
首先声明下,这是经过改造后的,一开始可没这么好,第一次画的时候我不知道那个用户手册和操作手册什么时候写,当然不可能是软件完成后再写了,所以只能提前,那就是在需求分析和软件设计的时候就写好了。还有就是测试计划,既然是计划,当然实在测试工作进行之前就已经写好了的,所以应该在软件设计和软件设计阶段就已经写好了。
这里就不再介绍每个文档的内容了,总之,经过这一些列分析,你有木有感受到文档的重要行呢?在开发工作中文档是必不可少的,如果你把自己想成一个管理人员,也许文档就没那么难写枯燥了吧。