软件研发流程
软件研发流程软件研发流程 第一步:需求调研分析 1相关系统分析员和用户初步了解需求, 然后用WORD列出要开发的系统的大功能模块, 每个大功能模 块有哪些小功能模块,关于有些需求比较明确相关的界面时,在这一步里面能够初步定义好少量的界 面。 2 系统分析员深入了解和分析需求,依照自己的体会和需求用WORD或相关的工具再做出一份文档系 统的功能需求文档。这次的文档会清晰例用系统大致的大功能模块,大功能模块有哪些小功能模块, 同时还例出相关的界面和界面功能。 3 系统分析员和用户再次确认需求。 第二步:概要设计 第一, 开发者需要对软件系统进行概要设计, 即系统设计。 概要设计需要对软件系统的设计 进行考虑, 包括系统的差不多处理流程、系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结 构设计和出错处理设计等,为软件的详细设计提供基础。 第三步:详细设计 在概要设计的基础上,开发者需要进行软件系统的详细设计。在详细设计中,描述实 现具体模块所 涉及到的要紧算法、数据结构、类的层次结构及调用关系,需要说明软件系统各个层次中的每一个程 序(每个模块或子程序)的设计考虑,以便进行编码和测试。应当保证软件的需求完全分配给整个软件。 详细设计应当足够详细,能够依照详细设计报告进行编码。 第四步:编码 在软件编码时期,开发者依照«软件系统详细设计报告»中对数据结构、算法分析和模块实现等方 面的设计要求,开始具体的编写程序工作,分别实现各模块的功能,从而实现对目标系统的功能、性 能、接口、界面等方面的要求。 第五步:测试 测试编写好的系统。交给用户使用,用户使用后一个一个的确认每个功能。第五步:软件交付预 备在软件测试证明软件达到要求后, 软件开发者应向用户提交开发的目标安装程序、 数据库的数 据字典、«用户安装手册»、«用户使用指南»、需求报告、设计报告、测试报告等双方合同约定的产物。 «用户安装手册»应详细介绍安装软件对运行环境的要求、安装软件的定义和内容、在客户端、服务器 端及中间件的具体安装步骤、 安装后的系统配置。«用户使用指南»应包括软件各项功能的使用流 程、操作步骤、相应业务介绍、专门提示和本卷须知等方面的内容,在需要时还应举例说明。 第六步:验收用户验收。 0.定义 PDT〔Product Development Team〕:产品研发核心小组,是一种跨资源部门的产品研发 组织形式,负责从产品立项到批量生产的产品全流程治理,要紧目标是依照产品研发 合同书的要求确保产品在市场上获得成功。 软件项目组:由各业务部软件开发人员组成,同意软件开发经理和业务部软件部的共同领 导,负责完成产品的需求分析,软件概要与详细设计,编码实现与单元测试,集成调 试和系统联调等工作。 1.目的 本流程旨在有效地规范软件开发过程,进一步提高软件开发的工程化、系统化水平,提高 软件产品质量和文档治理质量,以保证软件开发的规范性和继承性。 2.适用范畴 2.1 本流程适用于研发系统所有含软件系统开发的项目和单板软件。 2. 2 本流程要紧指导按照瀑布模型和V模型进行软件开发的过程, 关于采纳快速应用开发模型、 原型法、渐增模型以及螺旋模型来指导软件开发过程的情形,能够对本流程进行适当的 取舍和裁剪,然而在«软件开发打算»中必须说明。 3.流程提要 3.1 本流程在各个评审点均有可能反馈至前面的某个时期,即每个步骤都会阻碍前面几个步 骤的变化,这是一个循环改进的过程。 3.2 PDT软件组和测试组依照产品规格与系统需求数据库进行软件需求分析,定义系统软件规 格,提交«软件需求规格说明书»作为软件系统设计和开发的基础。PDT组织软件组和相关 人员依照软件规格进行概要设计,提交«软件概要设计说明书»和«软件开发打算»。 3.3 测试组在软件概要设计评审通过后介入软件开发过程,启动«产品测试流程»。 3.4 软件组/测试组依照软件概要设计结果进行软件详细设计,提交 «软件详细设计说明书» 和«单元测试打算»,然后依照设计结果进行软件和测试程序编码。 3.5 编码时期完成后,软件组和测试组第一对代码进行单元测试与代码审查,然后进行软件 集成调试和集成测试,提交相应的软件集成调试记录与测试报告。 3.6 软件集成测试通过后,由开发组成员进行系统联调;系统联调终止后,由配置治理员合 相应的软件版本提交系统测试。 4.输入 4.1 «产品规格书» 4.2 «总体技术方案书» 5.输出 5.1 «软件需求规格说明书» 5.2 «软件概要设计说明书» 5.3 «软件开发打算» 5.4 «软件详细设计说明书» 5.5 «单元测试打算» 5.6 «软件集成调试报告» 5.7 «软件集成测试报告» 5.8 «系统联调报告» 5.9软件源代码、相应的目标代码与可执行文件 6.职责 6.1 软件组 6.1.1 负责软件需求分析,定义系统的软件规格; 6.1.2 依照软件规格进行软件概要与详细设计; 6.1.3 负责软件和测试程序的编码实现与单元测试; 6.1.4 针对软件系统进行集成调试和系统联调; 6.1.5 提交相应的文档。 6.2 测试组 6.2.1 在软件概要设计完成后,负责执行软件测试流程; 6.2.2 协助软件组进行测试程序的编码实现、软件单元测试和代码审查; 6.2.3 负责软件集成测试和软件系统测试; 6.2.4 提交相应的文档。 6.3 总体组 6.3.1 协助PDT进行软件规格评审; 6.3.2 协助PDT进行软件概要设计评审。 6.4 软件工程室〔SE〕 6.4.1 协助PDT与总体组进行软件规格评审; 6.4.2 协助PDT与总体组进行软件概要设计评审。 6.5 配置治理员 6.5.1 负责本产品组的配置治理工作。 7.技能要求 7.1 熟悉本流程文件及相应的规范和文档模板; 7.2 熟悉与软件开发流程接口的流程文件; 7.3 把握软件需求分析、设计、实现与测试所需的技能; 7.4 熟悉配置治理的过程与规范。 8.流程图 开始 001a 产品规格书 001b 002 软件需求分析/概要设计 软件需求分析 软件组/测试组 002a 总体技术方案书 软件需求规格说明书 003 软件规格评审 PDT/总体组/SE Yes 004 No 004a 软件概要设计说明书 004b 软件概要设计 软件组 005 No 软件开发计划 软件概要设计评审 PDT/总体组/SE Yes 007 006 软件详细设计 软件组 008 No 007a 软件开发 软件详细设计说明书 软件详细设计说明书 产品测试流程 测试组 详细设计评审 软件组/测试组 009 Yes 009a 单元测试设计 软件组/测试组 010 单元测试计划 软件和测试程序编码 软件组/测试组 011 单元测试和代码审查 软件组/测试组 A A 012 012a 软件集成调试记录 012b 006a 软件集成调试 软件组 013 软件集成调试报告 013a 软件集成测试计划 软件集成测试 测试组 014 No 软件集成测试报告 集成测试审核 测试组 015 Yes 016硬件开发流程 硬件组 016a 系统联调 系统联调记录 016b 系统联调 软件组/硬件组/测试组 系