软件项目开发工作流程
一、简述
对于一个新项目, 从可行性研究到产品交货整个生存阶段将经历如下十大流程:
1、项目可行性研究阶段
2、立项阶段
3、需求分析阶段
4、开发策划阶段
5、设计阶段
6、编码实现阶段
7、测试阶段
8、验收阶段
9、产品交付使用
10、维护阶段
二、项目组基本组成及岗位职责
新项目立项时会成立项目组, 不同的项目组成员有不同的职责, 一个项目组成员也能够身兼多职, 但不可身兼全职。
a项目负责人: 负责项目的管理、组织、对技术、进度、质量全面负责。
b质量保证人员: 负责质量保证工作计划的落实和软件的质量保证。
C配置管理人员: 负责本项目的配置管理工作, 对本项目的文档、程序是否符合规程文件的要求进行形式化的检查。
D分析人员: 主要负责本项目的需求分析工作。
E设计人员: 主要负责本项目的设计工作。
F程序员: 按设计要求和有关标准进行编程工作。
G测试人员: 负责单元测试、组合测试和总装测试工作。
H文档人员: 负责本项目有关文档的编写工作。
I产品经理: 协助进行产品研制计划制定、产品发布与产品推广等,在产品开发中, 充分代表用户的利益, 提供建议,负责在产品功能与出品日期二者之间的权衡;负责产品市场营销、产品销售和市场推广过程。
( 一般由营销部门或中试部门人员担任)
三、软件开发流程
3.1 可行性研究阶段
如果是公司自主开发项目, 可行性研究一般是由公司技术负责人根据公司产品规划和市场需求, 在要开展新项当前经过部门负责人指定人员进行的前期调研工作, 可行性研究负责人员对产品的市场需求、技术发展、市场定位、功能需求、经济效益、进度
需求、风险分析等进行可行性研究, 提供产品立项建议, 拟制可
行性研究报告, 由部门负责人指定营销部门配合可行性分析人员,
技术负责人协助安排。
可行性分析完毕后由总工办组织对可行性研究报告进行评审, 评审经过后, 总工办组织进行立项工作。
如果是系统集成部外接的系统集成项目, 在系统集成部与客户签订合同之前, 均应对将签项目进行资源、技术、市场的可行性分析, 可行性分析经过后、签订合同前由总工办组织相关人员对合同条款进行评审, 评审经过后, 总工办组织进行立项工作。
本阶段提交的文档: 项目可行性研究任务书( 技术负责人或部门负责人下达)
项目可行性研究报告( 可行性研究人员编写)
系统集成项目合同
质量记录: 可行性分析评审报告
3.2立项阶段
可行性分析评审经过后, 由开发部门经理下达立项任务, 指定相关人员填写立项申请报告报批。
报批经过后, 由部门经理与技术负责人协商, 下达开发任务书, 经技术负责人审核确认后, 报公司批准。
批准立项后项目进度应以立项申请报告中的阶段进度为准, 如果进度要调整, 需填写进度调整申请报告报批。
本阶段提交的文档: 项目立项申请报告
开发任务书
3.3 需求分析阶段
承办单位根据交办单位提出的技术要求和相应的软件任务书以及其它有关文件, 与交办单位协作, 确定详细的软件需求, 该阶段完成的软件需求规格说明经审定和批准后将作为整个软件开发工作的基础列入配置管理的基线, 在本阶段可利用快速原型法使比较含糊的具有不确定性的软件需求( 主要是功能) 明确化。
能给本公司开发的软件的”需求基线”确定提供一个讨论、进一步完善的基础。
在本阶段, 由产品经理负责, 其它人员配合, 编写产品规格说明书, 此说明书面向最终用户和领导, 主要描绘产品的形状以及功能、性能、功能特性、性能特性。
由项目经理负责编写系统技术方案书, 描述公司初次使用的技术的详细解决方案。
本阶段完毕后对需求分析进行评审, 出具需求分析评审报告。
本阶段提交的文档: 软件需求规格说明书。
原型分析说明书
产品规格说明书
系统技术方案书
质量记录: 需求分析评审报告
提交的软件: 产品的原型( 注: 如果时间有限, 能够只编写原型分析说明书而不作原型)
3.4开发策化阶段
根据项目要求和软件需求, 由配置人员配合项目经理编写本项目的质量保证计划、配置管理计划和项目综合计划。
在配置管理计划中, 应列明本项目需提交的各阶段文档的名称, 在项目各阶段完成后, 项目组需列表说明要移交的文档, 将此表与各文档一并向总工办移交。
在制定计划时, 应为计划、设计、测试、改错、再测试、变更、以及编制文档留出足够的时间。
不应使用突击的办法来完成项目。
本阶段涉及的文档: 软件质量保证计划
配置管理计划
项目综合计划
3.5设计阶段
3.5.1概要设计
根据软件需求规格说明建立软件总体结构和模块间的关系, 确定各模块功能, 定义各功能模块的接口, 设计全局数据库和数据结构, 在概要设计明确后, 能够对综合计划进一步细化, 填写项目进度预计。
概要设计需经过评审。
本阶段涉及的文档: 产品概要设计说明书
数据库设计说明
项目进度预计
质量记录: 评审报告
3.5.2详细设计
对概要设计中产生的功能模块进行过程描述设计, 设计功能模块的内部细节, 包括算法和数据结构, 为编写源代码提供必要的说明。
详细设计需要经过评审。
本阶段涉及的文档: 软件详细设计说明书
测试计划
质量记录: 评审报告
3.6编码实现阶段
根据软件详细设计说明、对各程序模块进行编码、调试、静态分析和单元测试, 验证程序单元与设计说明的一致性。
本阶段涉及的文档: 项目进度月报
项目周计划和周总结
项目开发人员周计划
工作日志
每周例会记录
配置项更改申请单
3.6 测试阶段
3.6.1 软件单元测试
按详细设计的结构, 根据软件单元测试计划, 依照将经过单元测试的底层程序单元逐步组装成子项目直到开发项目的过程, 对软件进行测试。