软件项目开发工作流程主讲人:冯林杰简述•对于一个新项目,从可行性研究到产品交货整个生存阶段将经历如下十大流程:1.项目可行性研究阶段2.立项阶段3.需求分析阶段4.开发策划阶段5.设计阶段6.编码实现阶段7.测试阶段8.验收阶段9.产品交付使用10.维护阶段项目组基本组成及岗位职责•新项目立项时会成立项目组,不同的项目组成员有不同的职责,一个项目组成员也可以身兼多职,但不可能身兼全职。a.项目负责人:负责项目的管理、组织、对技术、进度、质量全面负责。b.质量保证人员:负责质量保证工作计划的落实和软件的质量保证。c.配置管理人员:负责本项目的配置管理工作,对本项目文档程序是否符合规程文件的要求进行形式化的检查。d.分析人员:主要负责本项目的需求分析工作。e.设计人员:主要负责本项目的设计工作。f.程序员:按设计要求和有关标准进行编程工作。g.测试人员:负责单元测试、组合测试和总装测试工作。h.文档人员:负责本项目有关文档的编写工作。i.产品经理:协助进行产品研制计划制定、产品发布、产品推广等。软件开发流程一、可行性研究阶段如果是公司主开发项目,可行性研究通常是由公司技术负责人根据公司产品规划和市场需求,在要开展新项目前通过部门负责人制定人员进行的前期调研工作,可行性研究负责人员对产品的市场需求、技术发展、市场定位、功能需求、经济效益、进度需求、风险分析等进行可行性研究,提供产品立项建议,拟制可行性研究报告,有部门负责人制定营销部门配合可行性分析人员,技术负责人协助安排,可行性分析完毕后公司组织对可行性研究报告进行评审,评审通过后,公司组织进行立项工作。如果是外接的项目,在于客户签订合同之前,均应对将签项目进行资源、技术、市场的可行性分析,可行性分析通过后、签订合同前有公司组织相关人员对合同条款进行评审,评审通过后,公司组织进行立项工作。软件开发流程二、立项阶段可行性分析评审通过后,有开发部门经理下达立项任务,制定相关人员填写立项申请报告报批,报批通过后,由部门经理与技术负责人协商,下达开发任务书,经技术负责人审核确认后,报公司批准。批准立项后,项目进度应以立项申请报告中的阶段进度为准,如果进度要调整,需要填写进度调整申请报告报批。软件开发流程三、需求分析阶段公司根据客户提出的技术要求和相应的软件任务书以及其他有关文件,与客户协作,确定详细的软件需求。在本阶段可利用快速原型法使比较含糊的具有不确定性的软件需求(主要是功能)明确化。软件开发流程四、开发策划阶段根据项目要求和软件需求,由配置人员配合项目经理编写本项目的质量保证计划、配置管理计划和项目综合计划。在配置管理计划中,应列明本项目需提交的各阶段文档的名称,在项目个阶段完成后,项目组需列表说明要移交的文档。在制定计划时,应为计划、设计、测试、改错、再测试、变更、以及编制文档留出足够的时间。软件开发流程五、设计阶段1、概要设计根据软件需求说明建立软件总体结构和模块间的关系,确定各模块功能,定义各功能模块的接口,设计全局数据库和数据结构。2、详细设计对概要设计中产生的功能模块进行过程描述设计,设计功能模块的内部细节,包括算法和数据结构,为编写源代码提供必要的说明。软件开发流程六、编码实现阶段根据软件详细设计说明,对各程序模块进行编码、测试、静态分析和单元测试,验证程序单元与设计说明的一致性。软件开发流程七、测试阶段1、软件单元测试按详细设计的结构,根据软件单元测试计划,依照将经过单元测试的底层程序单元逐步组装成子项目直到开发项目的过程,对软件进行测试。2、组装测试根据软件需求说明书中定义的全部功能和性能要求及组装测试计划,对软件进行组装测试,以确定整个软件是否满足软件需求,是否可以提交总装测试。软件开发流程八、验收交付对完成测试的软件进行检查、审查和评审,确定软件是否达到了软件任务书的要求,验收通过的软件可以向客户交付。项目经理及项目组人员应在此阶段完成项目总结。软件开发流程九、软件维护对软件的维护包括针对软件运行过程中发现的问题而进行的改正性维护,针对不同任务的软件提出不需求而进行的改善性维护,以及可能出现的由于软件运行环境改变而进行的适应性维护。软件开发文档在软件开发过程的各个阶段,都要完成相应的文档编写工作。软件文档从形似上来看,大致可分为两类:a、开发过程中填写的各种图表,成为工作表格;b、应编制的技术资料或技术管理资料,成为文档或文件。按照文档产生和使用的范围,软件文档大致可分为三类:a、开发文档:这类文档是在软件开发过程中,作为软件开发人员前一阶段工作成果的体现和后一阶段工作依据的文档,包括软件需求说明书、数据库设计说明书、概要设计说明书、详细设计说明书、可行性研究报告、项目开发计划。b、管理文档:这类文档实在软件开发过程中,由开发人员制定的需提交人员的一些工作计划或工作报告,是管理人员能够通过这些文档了解软件开发项目安排、进度、资源使用和成果等,包括项目开发计划、测试计划、测试报告、开发进度月报、项目周计划周总结及项目开发总结等。c、用户文档:这类文档时软件开发人员为用户准备的有关该软件使用、操作、维护的资料,包括用户手册、操作手册、维护修改建议、软件需求说明书。非常感谢!欢迎多交流!