软件新人经常问我一个项目应该到底有哪些文档,在此结合工作实际把我一般形成的文档作一列表,仅供诸位参考。
一、项目立项建议书
项目立项建议书主要用于分析项目要求与各种资源是否能够匹配,用来决策层决定是否最终立项。
主要要素包括:
(1)项目名称、建设单位、项目负责人、联系方式、项目来源、立项日期
(2)建设单位(政府或企业)背景
(3)项目概述
(4)研发能力(自主或外包)
(5)项目开发计划(团队分工、成本估计、项目进度采用Gantt图)
(6)结论与系统目标
二、可行性分析报告
可行性分析报告主要用来对于项目立项的可行性分析,用以辅助项目立项,可以认为是项目是否立项的主要依据。
主要要素包括:
(1)引言(编写目的、背景、定义、参考资料与标准)
(2)可行性研究的前提
(3)对现有系统的分析(如果是新项目略过)
(4)所建议的新系统:改进之处与优势
(5)可选择的其它系统解决方案
(6)风险评估
(7)投资及效益分析
(8)结论
三、项目开发计划
项目开发计划主要用于控制项目进度。
主要要素包括:
(1)引言(编写目的、背景、定义、参考资料)
(2)项目概述(工作内容、参加人员、产品、服务、非移交的产品、验收标准、完成项目的最迟期限)
(3)实施计划(任务分解与分工、接口人员、进度、预算、关键问题)
(4)支持条件
四、开发合同
开发合同主要用于规范开发方与使用方的权利与义务。(自行研发产品略过)
主要要至少包括:
(1)甲乙双方主体
(2)签订日期、交货日期、交货地点
(3)双方权利与义务
(4)服务和升级
(5)合同违约
(6)合同终止
(7)知道产权与保密义务
(8)验收标准
(9)结算方式
(10)其它事宜
五、需求分析(业务流程)
需求分析是软件开发的一个至关重要的环节,需求是项目成功的根本,是项目的方向,如果方向错了,后果可想而知。
这个阶段主要用来软件开发方与客户沟通方便,尽可能采用通俗易懂的图示,一定勿用专业建模图形。
主要要素包括:
(1)甲乙双方项目小组成员与沟通机制
(2)基本术语与字典
(3)业务概述
六、业务用例
业务用例是在上一阶段需求分析的基础上,进一步细化每项功能。
主要要素包括:
(1)甲乙双方项目小组成员与沟通机制
(2)基本术语与字典
(3)业务用例:(用例名称、适用范围、主执行者、前置条件、成功保证、触发事件、主成功场景、扩展)
七、用户界面UI
用户界面主要用来根据业务用例做出仿真界面,客户可以直观体验文字描述中的正谬。
主要要素包括:
(1)UI规范
(2)WEB开发采用Dreamweaver绘制静态页;WinForm采用相应工具表达(例如VS2010)
(3)保存形式:电子
八、业务建模
业务建模主要根据前面阶段的分析结果建立程序开发人员能够熟悉的开发模型。
主要要素包括:
(1)建模工具:Rose或者Visio
(2)保存形式:电子
九、数据库建模
数据库建模主要用于数据库设计。
主要要素包括:
(1)建模工具:PowerDesigner等
(2)保存形式:电子
十、语言编码
语言编码是程序开发最为重要的阶段,无论其它阶段多么完美,最终都要通过该阶段达成。
主要要素包括:
(1)编码约定及规范
(2)保存形式:电子
十一、测试文档
测试文档是用来运用各种模型进行黑盒或者白盒测试,以便程序健壮和具有良好的容错性。
主要要素包括:
(1)软件测试理论
(2)编制测试文档(用例名称、测试目的、测试人、测试时间、测试结果、初始条件、测试步骤、结果验、不符合要求描述)
十二、操作手册
操作手册主要用来说明软件如何安装与使用。
主要要素包括:
(1)安装、卸载说明
(2)操作手册
十三、结项报告
结项报告主要总结本次项目的成功与不足之处,对于成功的经验以便于下一次工程借鉴,不足之处加以改进,避免再犯同样的错误。
主要要素包括:
(1)总结成功经验
(2)总结不足之处的教训
至此,一个项目可以告一段落。
-------------------------------------------------------------------------------------------------------------------------------------------------
项目是一件事情、一项独一无二的任务,也可以理解为是在一定的时间和一定的预算内所要达到的预期目的。项目侧重于过程,它是一个动态的概念,例如我们可以把一条高速公路的建设过程视为项目,但不可以把高速公路本身称为项目。那么到底什么活动可以称为项目呢?安排一个演出活动;开发和介绍一种新产品;策划一场婚礼;进行工厂的现代化改造;主持一次会议等等这些在我们日常生活中经常可以遇到的一些事情都可以称为项目。
-------------------------------------------------------------------------------------------------------------------------------------------------
我们在教课书上经常听到70%以上的项目都是失败的,根据项目上述定义,无论是你的项目:(1)不能按期完成;(2)超过预算;(3)没有达到预期目的,至要你的项目这三个要素有一个不符合都称之为失败。
如果项目经过延期之后,达到甚至超越预期目的,从项目本身而言仍然是失败的项目,但是你的项目质量可能是优秀的。