我看文档的重要性--by 翔子

来源:互联网 发布:自助下单软件 编辑:程序博客网 时间:2024/04/29 20:32

这段时间一直在忙着实验室的项目,就是某大型水利项目的信息系统建设,在项目的进行过程中,开始不断地认识到文档在系统建设中的重要性。

这个项目是和六系合作的一个项目,由六系负责牵头,几家单位一起合作。六系在项目开发方面确实是有着比较独到的地方,开发的过程也比较规范。因此在合作的过程中,我们也是抱着一种学习的心态去一起合作的。

相对于底层的开发而言,对于一个信息系统建设而言,最重要的事实上并不完全是技术。在系统建设过程中,大家平时非常关注的性能、效率往往不是最大的问题(当然也不能忽略),最重要的是能够充分引导和满足客户的需求——在尽量满足客户需求的同时,要控制和引导客户的需求——并给予用户良好的使用体验。

首先是在需求分析阶段,我们要做到的就是要提前熟悉对方的行业背景,能够和客户站在一个平台上对话。这就需要在项目开始之前,我们对项目做一个详细的初步调研。以我的项目讲,就是要能够在这之前对水利方面的特定流程,术语等等有一定的把握——这可以通过上网、去图书馆等等手段达到。之后才能可以与客户有比较有效率的交流。而这些,大家要明白,是和C#,ASP.NET等等没有任何关系的。在这个过程中,落实下来的就是需求文档,在这个文档中,我们就能对用户的需求有比较清晰的把握。当然了,还有一个可能大家平时接触不多的,就是投标文件,这个文件直接决定了我们能否做这个系统:-)。

经过了需求分析这个过程,大家就需要进行系统的概要设计。概要设计阶段是连接现实问题域和软件问题域的桥梁,我们要在这个阶段完成系统的数据库初步设计,系统的初步设计。在信息系统的建设中,数据库的设计是不言而喻的,它的设计好坏,能够直接影响之后项目成功与否(这个阶段我们多采用PowerDesigner作为我们的建模工具)。概要设计阶段的成果就是概要设计文档,在这个文档中我们就可以基本了解到系统的雏形。

经过了系统的概要设计,我们就要进入系统的详细设计。所谓详细设计,最直观的说法就是我们可以对系统的代码撰写列出一个提纲。我们要在这里定义好系统的类名,方法名,参数名,返回值等等。也就是说,系统的详细设计就是要求我们系统已经有一个比较清晰的实现,剩下的工作就是编写具体的代码了。系统详细设计的阶段性成果就是详细设计文档,它有两个好处:首先它能让我们在之后的编码阶段能有一个大致的概念,明白自己已经工作到什么阶段了——这一点比较重要,如果做得好,我们就可以比较好的掌控自己的工作进度;其次就是详细设计降低了系统建设的风险,因为在系统建设中,需求变更是一件非常正常的事情,如果我们系统设计阶段需求发生了变更,我们要做的还只是在文档中改变系统的设计,我们的编码工作并没有展开;如果没有系统设计,而直接进行编码,那么有时候需求的变动带来的结果就是灾难性的。由此可见文档的重要性。

另外,文档的重要性还表现在对于项目“传承”的重要性,有了好的文档,那么当项目进入了新的成员,那么就可以让这个成员直接参看文档来熟悉系统的建设,而不是单单询问原来的成员,节省了大家的时间。

以上是我个人在系统建设中对文档重要性的一些体会,希望能对大家有所帮助。

 

原创粉丝点击