软件开发的过程中,文档的编写是一个不可或缺的过程。主要可以分为开发项目前、开发过程中和开发后形成的文档。其中前期文档是可行性分析报告、项目开发计划和需求分析说明书;开发过程中形成的是概要设计、详细设计、数据库设计、数据要求说明书、测试计划和测试分析报告,还有开发进度报告;最后则要形成项目总结报告、操作手册和用户手册。
一、思想转变过程
初次看到这些文档,有种无从下手的感觉,不知道应该如何编写。所给的文档中大部分已经清楚的给出了提示和编写方向,只不过由于这是第一次接触文档,所以有好多地方都不太明白。询问师傅时,他们告诉我,其实第一遍文档没有必要书写的太仔细,主要是了解书写的格式以及书写的主要内容与方向即可。有了他们的指导,发现再写文档的时候就没有了先前的那种纠结与无奈了。后来重新分配导师制,师傅给我的建议是先把自己会的内容编写完整,然后再着手不会的内容,可以通过查找资料加深印象。当然,由于我们编写的机房收费系统功能不是太强大,系统复杂程度低(先前在敲该系统的时候感觉它很复杂,也很大),所以文档中有很多东西是我们不必要书写的,只作为了解和认识。
根据师傅们给的建议,我先将那些比较容易写的编写完整,然后再去研究那些不太明白或者是无从下手的知识。尤其是在这个过程中所遇到的画图的内容,这些图主要是流程图类的。当看到模版上的一些流程图时,大概思路是有的,只不过是不知道如何下手,如何画。等到将容易的内容搞定之后,就开始了我轰轰烈烈的画图过程。我所使用的画图软件是Powerdesigner,一开始整这个软件就用了很长时间,包括软件的汉化和画图。相对来说汉化还是比较容易的,网上就有相关的介绍,但是这个画图过程就有点难了,我找了很多资料都是没有找到自己想要的那种效果,所以只好自己去捉摸了。不过庆幸的是最终能够用它画出自己想要的图了。先展示一张我自己画的图吧
当然这个只是一张简单的图,还有很多地方需要修改,有待继续专研。
二、文档实战
文档是我们开发系统的一个指导性的文件,一个项目的好坏在很大程度上是取决于文档的完善性、准确性和可操作性等问题。
我们开发项目之前首先要进行可行性分析,研究项目是否值得我们去开发,主要是从经济上、技术上和操作上进行分析。在这个过程中最主要的是系统流程图的编写,要从各方面进行考虑,画出适合该系统运行的流程图。然后就是根据数据流程图,对项目进行规划。项目计划主要解决3个问题:第一,确定项目的目标;第二,确定为了达到项目目标的各项活动的时间和顺序;第三,确定项目中每项活动所需要的资源。同时还需要进行需求分析,这个需要用户和开发人员密切交流,从用户的需求出发,明确我们的系统必须要做到的是什么。
先前的阶段完成后就进入开发阶段,这时候需要完成的文档是设计文档,分为总体设计和详细设计。总体设计主要是设计软件结构,确定系统中的每个程序有哪些模块组成以及他们之间的关系。详细设计将更加的细化,确定如何具体的实现所要求的系统。同时还需要设计数据库,方便数据的存储和取用。这就涉及到数据库设计要求与原则以及数据的要求等问题,这个过程也是需要生成文档,以便开发过程中遇到问题时容易找出问题所在。设计好之后就开始进入编程阶段,利用代码来实现各个模块的功能以及功能之间的联系。等这一切结束之后,我们还需要对项目进行测试,测试是为了发现程序中的错误而执行程序的过程。我们需要测试程序是否达到用户要求,是否有错误等问题。主要方法是白盒测试和黑盒测试。测试的过程中我们也需要形成测试计划文档和测试分析文档,以指导测试程序的进行。等测试完毕,程序无错误的时候就可以交付使用。进入使用阶段和维护阶段,这时候需要我们对软件不断进行维护,主要有改正性维护、适应性维护、完善性维护和预防性维护。
还要形成用户手册和操作手册,以达到让用户能够快速掌握该软件的使用方法和操作步骤。最后我们还需要综合项目开发过程中的问题以及通过调查用户对软件的评价等来进行项目总结,形成总结报告,记录我们的开发过程,对今后的发展起到指导作用。
三、总结
通过这次的学习,让我对软件工程有了更深刻的理解。其实,这个过程也正如我们的人生一样,都是需要一步一步的来,不可能一簇而就的。不要总是想着最终有多大的收获或者现在不理解的问题,你只要把现在手头上的工作做好就行,等到时机成熟的时候,一切将水到渠成。