武汉科技大学汪勇witsbank@yeah.net第9章IT软件项目文档管理9.1文档管理概述9.2项目文档的撰写9.3文档的管理和维护9.4主要项目文档武汉科技大学汪勇witsbank@yeah.net9.1.1文档管理的概念9.1.2项目文档的分类9.1.3文档管理与SCM、CMM关系9.1文档管理概述武汉科技大学汪勇witsbank@yeah.net(1)文档文档是软件项目开发应用的一部分,存在于软件项目的整个生命周期之中。没有正式文档的软件项目开发,就不是规范标准的软件项目。文档缺陷是软件缺陷的一种表现形式,如果按照带有缺陷的文档进行操作,会造成不良的后果,甚至带来损失。在实际工作中因文档质量不高,造成软件投产后出现系统宕机、账务错误等时有发生。9.1.1文档管理的概念武汉科技大学汪勇witsbank@yeah.net(2)文档管理文档管理就是按照一定的标准高质量、高效率地设计和编制文档,按照规范分发、维护、转让、变更、修正、扩充和使用文档,提高软件项目的质量和客户满意度。文档的编制和管理在软件项目开发中占有突出的地位和相当大的工作量。9.1.1文档管理的概念武汉科技大学汪勇witsbank@yeah.net(3)文档管理的作用能作为开发组员之间交流沟通的媒介能为软件项目的维护工程师提供有关信息系统的资料能为项目管理者提供项目计划、预算、开发进度等各方面的信息能作为最终用户或管理员的用户手册,使用户知道如何使用、维护及管理系统9.1.1文档管理的概念武汉科技大学汪勇witsbank@yeah.net9.1.2项目文档的分类项目文档过程文档产品文档管理文档系统文档用户文档图9.1项目文档分类武汉科技大学汪勇witsbank@yeah.net(1)过程文档是指那些记录软件项目开发和维护过程的文档资料。项目的计划、进度、过程质量、组织及项目标准等都是过程文档。9.1.2项目文档的分类武汉科技大学汪勇witsbank@yeah.net过程文档分类计划文档:由项目经理负责产生,以便预测和控制软件的开发过程。相关报告:项目执行过程中产生的一组文档,是不同阶段的工作成果之一。标准报告:规定了软件过程应该如何实现,这些可以是国际标准、国家标准、行业标准等。工作文档:在项目开发中最主要的交流沟通工具,记录了软件项目开发中软件工程师的想法等。9.1.2项目文档的分类武汉科技大学汪勇witsbank@yeah.net9.1.2项目文档的分类过程文档作用它们是软件开发过程中包含的所有阶段之间的通信工具,记录生成软件需求、分析、设计、编码和测试、维护的详细规定和说明。描述开发小组的职责。用作检查和控制软件开发过程。如果开发文档丢失、不完整或过时,管理者将失去跟踪和控制软件项目的一个重要工具。武汉科技大学汪勇witsbank@yeah.net(2)产品文档产品文档是描述正在开发的产品的资料。产品文档可以分为用户文档和系统文档。产品文档作用为使用和运行软件产品的任何人规定培训和参考信息。使得那些未参加开发本软件的程序员维护它。促进软件产品的市场流通或提高可接受性。9.1.2项目文档的分类武汉科技大学汪勇witsbank@yeah.net主要的用户文档系统安装手册用户操作手册系统管理员手册9.1.2项目文档的分类主要的系统文档系统体系结构文档子系统的规范和设计说明书程序代码列表维护指导文档武汉科技大学汪勇witsbank@yeah.net系统管理员向导系统评估员功能性描述描述提供的服务系统管理员安装描述怎样安装系统新用户初级使用手册如何开始使用系统老用户参考手册所有系统功能的详细描述系统管理员如何操作和维护系统图9.2需要随软件系统发布而产生的部分用户文档9.1.2项目文档的分类武汉科技大学汪勇witsbank@yeah.net9.1.2项目文档的分类(3)管理文档这种文档建立在项目管理信息的基础上,诸如:每个阶段的进度、成本、变更等记录软件变更情况的记录会议记录职责定义武汉科技大学汪勇witsbank@yeah.net(1)文档管理与SCM关系不同阶段的文档有不同的版本,它是软件配置项之一,置于配置管理之下。(2)文档管理与CMM关系文档管理是CMM模型中Ⅲ级(已确定级)的要求。CMM-Ⅲ级中规定:软件开发活动的过程在管理活动、技术活动和支持活动等方面都已文档化、规范化。所有项目或产品的开发和维护都在这个规范化的体系基础上进行定制。9.1.3文档管理与SCM、CMM关系武汉科技大学汪勇witsbank@yeah.net9.2.1文档编制标准9.2.2项目文档结构9.2.3文档撰写流程9.2.4文档书写风格9.2项目文档的撰写武汉科技大学汪勇witsbank@yeah.netGB8566-88计算机软件开发规范GB8567-88计算机软件产品开发文件编制指GB/T11457-1995软件工程术语主要的文档标准见附件“软件开发文档标准”9.2.1文档编制标准武汉科技大学汪勇witsbank@yeah.net9.2.2项目文档结构(1)文档封面密级:机密文档编号:第版中视传媒AIMS2008文档名称武汉科技大学图9.3项目文档封面的主要信息总页数正文附录日期:编制审核批准:武汉科技大学汪勇witsbank@yeah.net9.2.2项目文档结构(2)文档内容结构目录正文a)提示编制文档应参考的标准b)文档编写人员、指定文档管理员c)提供编制文档所需要的条件d)编制工具d)明确保证文档质量的方法e)文档详细内容附件图9.4项目文档内容结构武汉科技大学汪勇witsbank@yeah.net阶段2:修改阶段1:编制编写最初文档评审文档整理评审意见修改文档校对文字最终文档确认最终文档设计文档复审文档打印文档打印备份文档阶段3:发布图9.5文档编制过程9.2.3文档撰写流程武汉科技大学汪勇witsbank@yeah.net语气:运用主动的而不是被动的语气术语:运用正确的术语和语法结构,简明定义用到的专业术语简洁:尽量用短句,段落简短,用词简洁标题:应用标题和子标题格式:所有文档格式统一说明和注释:不要单纯地以数字、图、表来理解信息,应当有一定的说明和注释编写文档时,应该注意以下问题:9.2.4文档书写风格武汉科技大学汪勇witsbank@yeah.net9.3文档的管理和维护9.3.1制定文档管理计划9.3.2制定文档管理办法9.3.3文档管理流程9.3.4建立文档管理系统武汉科技大学汪勇witsbank@yeah.net项目管理者在项目开发前应决定如下事项:要求哪些类型的文档;文档包含的内容;达到何种级别的质量水平;何时产生何种文档;如何保存、维护文档以及如何进行通信。9.3.1制定文档管理计划武汉科技大学汪勇witsbank@yeah.net(1)管理者的职责确定和准备各种标准和指南;建立编制、登记、出版文档的各种策略;建立确定文档质量的各种方法的规程;负责分发、收集、保管各类文档。积极支持文档工作,形成在开发工作中自觉编制文档的团队风气;9.3.2制定文档管理办法武汉科技大学汪勇witsbank@yeah.net9.3.2制定文档管理办法(2)文档管理办法①项目组应设一位文档管理人员,负责集中保管本项目已有文档。②项目组的成员可根据工作需要在自己手中保存主文本中与他工作相关的部分文档作为个人文档。这些一般都应是主文本的复制件。③主文本的修改必须特别谨慎。修改以前要充分估计修改可能带来的影响,并且要按照:提议、评议、审核、批准和实施等步骤加以严格的控制。④在新文档取代了旧文档时,文档管理员应及时注销旧文档,使其及时反映更新了的内容。⑤项目开发结束时,文档管理员应收回个人文档。武汉科技大学汪勇witsbank@yeah.net9.3.3文档管理流程图9.6项目文档管理流程文档版本管理文档分发与保管制定文档编制计划编制文档验收正式文档文档执行项目管理者项目开发者项目开发者文档管理者文档管理者文档管理者武汉科技大学汪勇witsbank@yeah.net文档索引文档管理系统配置管理系统文档参考用户请求图9.7文档管理系统文档数据库9.3.4建立文档管理系统武汉科技大学汪勇witsbank@yeah.net9.4.1立项报告9.4.2可行性研究报告9.4.3项目计划书9.4.4项目分析报告9.4.5项目设计报告9.4.6程序设计报告9.4.7项目测试报告9.4.8项目使用与维护手册9.4.9项目评价报告9.4.10项目总结报告9.4主要项目文档武汉科技大学汪勇witsbank@yeah.net(1)开发背景(2)现行系统存在的主要问题(3)新系统的目标(4)经费预算和经费来源(5)项目进度和完成期限(6)验收标准和方法(7)移交的文档资料(8)可行性研究的组织(9)其他需要说明的有关问题9.4.1立项报告武汉科技大学汪勇witsbank@yeah.net(1)系统概述(2)新系统的要求和约束(3)可行性研究的基本准则(4)新系统目标与方案(5)可行性分析管理现状研究、技术分析、投资与效益分析(6)其他可选方案及国内外同类方案的比较(7)可行性研究结论(8)有关建议9.4.2可行性研究报告武汉科技大学汪勇witsbank@yeah.net具体参见5.6节。9.4.3项目计划书武汉科技大学汪勇witsbank@yeah.net(1)概述(2)系统功能分析(3)业务流程分析(4)数据流程分析9.4.4项目分析报告武汉科技大学汪勇witsbank@yeah.net(1)系统概述(2)系统总体结构(3)计算机系统配置方案(4)代码设计(5)文件/数据库设计(6)输入输出设计(7)计算机处理过程设计(8)接口及通信环境设计(9)安全保密设计(10)数据准备(11)系统测试计划(12)培训计划9.4.5项目设计报告武汉科技大学汪勇witsbank@yeah.net(1)概述(2)程序结构图(3)程序控制图(4)算法(5)程序流程图(6)源程序(7)程序注释及说明9.4.6程序设计报告武汉科技大学汪勇witsbank@yeah.net(1)概述:说明项目测试的目的。(2)测试环境:有关软、硬件、通信、数据库、人员等情况。(3)测试内容:系统、子系统、模块的名称、性能技术指标等。(4)测试方案:测试的方法、测试数据、测试步骤、测试中故障的解决方案等。(5)测试结果:测试的实际情况。(6)结论:项目功能评价、性能技术指标评价、结论。9.4.7项目测试报告武汉科技大学汪勇witsbank@yeah.net(1)概述:主要包括系统功能、系统运行环境(软硬件环境)、系统安装等内容。(2)使用说明:系统操作使用说明较为详细地说明了操作的目的、过程、方式、输入输出的数据等。最好将系统操作的界面图放入说明书中,便于使用者学习与操作。(3)问题解释:解释了系统使用中可能出现的问题及解决办法,如非常规操作命令、系统恢复过程及意外情况、与开发单位的联系方式等。9.4.8项目使用与维护手册武汉科技大学汪勇witsbank@yeah.net(1)概述(2)系统构成(3)系统达到设计目标的情况(4)系统的可靠性、安全性、保密性、可维护性等状况(5)系统的经济效益与社会效益的评价(6)总结性评价9.4.9项目评价报告武汉科技大学汪勇witsbank@yeah.net(1)概述:包括项目的提供者、开发者、用户;项目开发的主要依据;项目开发的目的;项目开发的可行性分析等。(2)项目的完成情况:包括项目构成与主要功能;项目性能与技术指标;计划与实际进度对比;费用预算与实际费用的对比等。(3)项目评价:项目的主要特点;采用的技术方法与评价;项目工作效率与质量;存在的问题与原因;用户的评价与反馈意见。(4)经验与教训:项目开发过程中的经验与教训;对今后工作的建议;写出对外发表的论文。9.4.10项目开发总结报告