软件项目生命周期中的文档管理
 

2010-05-06 作者:笨鸟先飞! 来源:笨鸟先飞!的blog

 

文档是软件项目开发应用的一部分,存在于软件项目的整个生命周期之中,没有正式文档的软件项目开发,就不是规范标准的软件项目。文档Bug是软件缺陷的一种表现形式,通常客户并不知道文档是否存在Bug,如果按照带有缺陷的文档进行安装操作,同样会造成不良的后果,甚至带来损失,在实际工作中因文档质量不高,造成软件投产后出现系统宕机、账务扎账错误等生产问题时有发生。因此,文档的编制和管理在软件项目开发中占有突出的地位和相当大的工作量,高质量、高效率地设计、编制、分发、管理和维护文档,对于转让、变更、修正、扩充和使用文档,对于提高软件项目的质量和客户满意度有着重要的现实意义。
 1.文档的涵义

软件项目中的文档是用来记录、描述、展示软件项目开发过程中一系列信息的处理过程,通过书面或图示的形式对软件项目整体活动过程或结果进行描述、定义、规定、报告及认证。它描述和规定了软件项目开发的每一个细节,使用软件的操作命令及软件产品投产以后,对产品使用过程中意见及产品缺陷、质量等方面的说明。

2.文档的作用 本文转自项目管理者联盟

(1)提高了软件项目开发过程的能见度。标准规范、齐全的文档,详细记录了软件项目开发过程中发生的事件,便于项目管理人员检查、掌握软件开发进度、开发质量以及各种资源的调配,是开发人员进行软件开发的依据,也是项目成员协调工作的依据。

(2)提高了软件项目的开发效率。项目成员用一定时间编制、整理软件文档,可以使开发人员对各个阶段的工作都进行周密思考和理顺、找出存在的问题,从而减少差错,提高软件项目质量。同时,通过对完成文档的检查,在项目开发早期发现软件文档的错误和不一致性,加以及时纠正,可以减少文档Bug深入项目而导致的大问题的出现和为纠正这些错误而付出的更大的成本。

(3)便于软件项目成员之间的交流与合作。文档是一种无声的语言,它记录了软件项目开发过程中有关软件开发、运行、维护和培训等方面的信息,这些信息有利于管理人员、开发人员、操作人员、用户之间的交流和合作,便于软件项目能在规定的时间、费用内完成开发和投产应用。

(4)方便客户选购软件产品。描述清楚、完备的文档便于客户了解软件的功能、性能等各项指标,为客户选购符合自己需要的软件提供依据,是在客户与软件开发企业之间架起的一座桥梁。

(5)是做好软件项目投产维护工作的保证。高质量的文档可以帮助技术人员顺利完成软件的安装,并及时排除软件系统运行过程中出现的各种错误,可以帮助客户知道在使用操作过程中出现的错误信息含义,及时处理出现的问题并顺利完成工作。因此,高质量的文档是软件项目顺利投产的保障。

(6)有利于操作人员正确操作,减少操作失误。操作人员对产品的认识更多地是来自有关软件产品的使用说明文档,这些文档可以提高操作人员正确、快速地为客户办理业务的质量,做好产品的宣传,发挥产品性能,为客户提供周到细致的服务。

(7)有利于客户正确操作自助设备。描述简单、正确、清晰的文档,便于客户尽快地掌握ATM、POS、网上银行、手机银行及自助终端等各种自助设备的操作,方便客户,增强客户对金融产品的认知,提高自助设备的使用率和效益。

3.文档的分类

(1)开发文档:这类文档在软件项目开发过程中,体现了软件开发人员前一阶段工作的成果,同时又是后一阶段工作的依据。这类文档包括可行性研究报告、软件项目开发计划、软件需求规格说明、系统规格说明书、软件功能说明书和数据字典等。

(2)管理文档:这类文档在软件项目开发过程中,由软件开发人员制定的需提交管理部门的一些工作计划、工作方案和工作报告。通过阅读这些文档,管理人员能够了解软件项目开发活动安排、进度、资源使用等情况。这类文档包括项目开发计划、测试计划、测试方案、开发进度报告和项目总结报告等。

(3)用户文档:这类文档是软件开发人员为使用该软件的网点经办人员准备的有关该软件产品使用、操作的资料,主要是操作手册及新功能介绍方面的文档。

(4)投产文档:这类文档主要是软件开发人员对数据中心、分行科技人员准备的有关投产说明、版本安装、软件测试等方面的资料。

(5)记录文档:与客户交流往来的记录、软件项目开发过程中各种会议、跟踪记录、审查记录、产品投产记录和问题跟踪解决记录等。

(6)反馈文档:这类文档主要是软件产品在推广使用以后,客户对产品使用过程中意见及产品缺陷、质量等方面的信息反馈。

4.文档常见问题

(1)文档编写不够规范。主要表现在软件项目实施过程中,没有对每一个阶段的文档进行整理,分层次管理,各类文档资料缺少一个可以参照的样本,更多的是在以前他人写好的基础上,对内容进行修改一下就算完成任务。

(2)文档内容描写不够完善。在编写各种文档过程中,虽然大家都按事先规定的模式进行了编写,但编写的内容经常不够完善,夹杂着一些旧的东西没有及时更新。特别是一些参数表、用户手册等一些由数据中心、分行使用的文档,由于一时的疏漏,造成软件项目投产失败、投产后造成系统宕机、出现账务差错、客户按照你的操作说明不能得到正确的结果等现象的发生。

(3)对文档评审不够,使用效果不理想。按照软件工程的要求,在软件项目的开发过程中从设计到投产,要编写一系列的文档,编写这些文档是必须的,但经常会出现这样的现象,在软件开发企业,某职能部门负责人员自行制定了文档模板后,就通知各部门进行使用,结果大家反映效果不好,分析原因是没有在编写时很好地依据企业自身的现状,从实际出发征求大家的意见,对投入使用的文档没有组织相关人员进行评审。

(4)重视文档的形式,实用性不强。在实际的软件开发过程中,要求编制的文档非常多,但编制人员没有时间去关心它们的用途,也不知道哪些部门使用,更多的是在规定的时间内完成任务,以免影响考核成绩,这样一来一些不实用的、重复的文档编制工作,占用了开发人员有效的设计开发时间,影响了项目的整体进度。因此,软件文档的制定要实用,减少繁文缛节的文字工作。

(5)文档没有统一入库管理。随着系统的不断优化、升级,新需求的不断产生,各种文档越来越多,没有建立一个文档资料信息库,统一存放软件项目不同时期的各种文档,零散存在的文档,造成查询、统计一个软件项目完整的文档信息时非常困难。

(6)对文档的编制重视不够。大家常常把文档作为软件产品的附件,对待文档资料没有像对待程序代码一样关注和投入,文档中普遍存在错别字、语句涵义表达不清楚,口语化浓厚,引用的图表不够准确,主题表达不够清晰等现象。

(7)对文档的测试不足。通常测试主要是针对软件项目功能的测试,对该软件项目的文档测试则很少进行。通常用户把文档当成了软件产品的一部分,在软件产品安装使用过程中,不正确的提示信息把客户引入歧途,不但得不到预期的结果,还会产生错误,给用户带来麻烦。

5.文档编制要求

(1)标准化:从需求分析开始到投产应用所有涉及的每一种文档,都要给出一个可以执行的模板,所有完成的文档从里到外都要非常工整,具有专业水准,符合ISO9000及CMM质量标准要求。

(2)易用性:编制的各种软件文档,要便于不同的岗位人员进行阅读、理解、学习和使用。

(3)简洁性:要求软件项目中需要编写的文档内容突出主题,只反映要描述的问题,不包含其他不必要的东西,语言表达简明扼要,一清二楚,如有可能,可以配以适当的图表,以增强其清晰性。

(4)针对性:文档要按不同的类型、面对不同的对象,实行差异化编制,根据实际需要进行编写,也就是说文档编写目的要明确,因需而变。例如管理文档主要面向管理人员,用户文档主要面向用户,这两类文档不应像开发文档(面向开发人员)那样过多使用软件的专用术语。

(5)一致性:文档的行文应当十分确切,对于同一现象的描写,不能出现多义性的描述,同一项目中几个文档描述的内容应当是一致的,相互之间没有矛盾。

(6)完整性:任何一个文档都应当是完整的、独立的,没有遗漏和丢失的内容。也就是说每一种文档在设计时可以包含必要的图形、模型、叙述、表、索引、附录和参考文献,列举的这些内容都是完整的。同一软件项目涉及的几个文档之间可能存在部分内容相同,这种重复是必要的,不要在文档中出现“见XX文档XX章节”的现象。

(7)灵活性:在实际操作中要针对软件项目规模和复杂程度的不同,对现行的文档进行修正,决定编制的文档种类。可以依据自身软件开发情况,制定一个对文档编制的规定,用列表的形式列出在项目什么条件下,应该形成哪些文档,这些文档的详细程度。

(8)可追溯性:在软件项目的开发过程中,各个阶段编制的文档不是孤立的,而是与各个阶段完成的工作有密切的关系,随着项目开发工作的进展,具有一定的继承关系,体现出了可追溯的特性,如软件需求会在设计说明书、测试设计方案及用户手册中有所体现。

(9)设定优先级:在软件项目众多的文档中,其中一些文档必定是关键文档,起到非常重要的作用。对于这类文档要设定优先级别特别关注,不能有任何的错误存在,对于一些关键的地方要特别标记,特别说明。

6.文档的审核

审核就是检查编写的项目文档是否齐全有无遗漏,是否符合文档的规范要求,内容描写是否正确紧扣主题,列出的图表信息是否准确,以确保文档的质量。审核要花费一定的人力和时间,但效果是显著的。通过对文档进行全面的审核、充分的测试,有效地发现文档中存在的问题,如遗漏的需求、多余的功能设计内容、不切实际的测试计划、不可行的测试方案、不充分的测试案例和不合格的操作手册等,提前发现问题、改正问题。这样比客户使用软件时遇到麻烦或软件项目推广应用中出现问题时再向项目开发人员寻求支持更有效,且能提高客户的满意度,减少出错返工的成本和时间。

7.使用工具管理文档

对于一个大型的软件项目系统,从形成概念开始,经过设计、开发、推广使用和不断增补修订,直到最后被淘汰的整个项目生命周期中都要编写大量的文档。而文档编写的内容是在不断变化的,有的是连续的,承前启后的,有的是新增加的,也有的是废除的,如何管理好这些文档资料,为大家提供最新的信息,便于日常的调用查询,便于信息的利用,是发挥文档作用的重要一环,否则就是占用空间的垃圾。这就需要设计开发一个统一的软件文档管理工具,分门别类统一存放管理各种文档资料,建立软件文档资料信息库,供大家随时查询调用。

总之,文档在软件项目的开发过程中起到了关键的作用,从某种意义上来说,文档是软件项目开发规范的体现和指南,按照规范要求编制一整套文档的过程,就是按照开发规范完成一个软件项目开发的过程。高质量的文档可以提高软件项目的质量,有助于程序员编制程序,有助于管理人员监督和管理软件的开发,有助于用户更好地安装和使用软件系统,有助于维护人员进行有效的修改和扩充。所以,在软件项目的开发过程中,要充分做好软件文档的编制和管理工作。

 



C#编码命名规则
关于项目文档不规范的思考
软件需求规格说明书
软件项目生命周期中的文档
软件开发文件编制指南
软件项目程序与文档合一管理
更多...   


技术文档编写与评审
软件工程基础+文档编写与评审
使用SoDA自动化文档设计


某集成电路制造商 技术文档编写
亚信联创 软件技术文档
知名电信软件服务商 技术文档
某金融软件服务商 技术文档
法国电信 技术文档编写与管理
北京--技术文档编写与评审
中新大东方--文档编写评审
更多...   
 
 
 
 
 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号