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