软件开发流程
V1.0
目录
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
目的 .......................................................................................................................................... 2 适用范围................................................................................................................................... 2 定义 .......................................................................................................................................... 2 输入 .......................................................................................................................................... 2 输出 .......................................................................................................................................... 2 角色职责................................................................................................................................... 2 流程图 ...................................................................................................................................... 2 流程活动说明........................................................................................................................... 2 纪录和表格............................................................................................................................... 7 相关文件............................................................................................................................... 7 流程评测指标....................................................................................................................... 8 流程负责人........................................................................................................................... 8
1/9
软件开发流程
1. 目的
规范软件开发过程,指导软件开发人员执行软件开发活动,保障软件开发的顺利进行,确保软件开发进度、开发质量,达到预期目标;并为智力资产库提供输入。 2. 适用范围
本流程适用于产品研发过程中所有软件(包括固件)开发活动的执行过程 3. 定义 4. 输入
《产品总体需求规格书》、《产品总体设计方案》 5. 输出
5.1《软件概要设计报告》 5.2《软件详细设计报告》 5.3《测试报告》 5.4 源程序(代码) 5.5 可执行程序 6. 角色职责
6.1 PDT经理(LPDT):根据需要参与软件过程中的评审。
6.2 系统工程师(SE):参与软件开发过程中的评审,指导QA完成评审报告; 6.3 软件工程师(SWE):编写软件概要设计报告、软件详细设计报告;进行软件编码并自测;进行单元测试、集成测试、系统测试,更新系统测试计划。
6.4 测试工程师(TE):参与制定测试计划;参与软件开发过程中的评审;参与实施单元测试、集成测试以及系统测试。
6.5 质量保证(QA):组织、监控软件开发过程中的评审,开发文档的基线化。 6.6 软件配置管理员(CMO):负责开发过程中的文档及代码的基线化。 6.7 软件需求管理员(RMO):负责开发过程中的需求跟踪。 7. 流程图
见附件: 软件开发子流程-流程图。 8. 流程活动说明
010 制定软件项目计划 开发组组长&系统工程师&软件工程师&测试工程师 根据产品的开发计划,制定产品软件部分的开发计划,包括进度、任务安排、风险、人
2/9
软件开发流程
员、开发工具、相关规范等内容。每个任务都需指定一个责任人;对于需要多人完成的任务,应当努力分解为多个单人可承担的子任务,以便计划的落实和跟踪。
输入:《软件总体设计方案》 输出:《软件项目计划》
时间控制:得到《软件总体设计方案》后5个工作日内。
020 软件概要设计 软件工程师 软件工程师根据软件概要设计方案书要求,对软件(包括固件)的功能、应用、实现环境、关键芯片特性、关键芯片的工作原理以及关键寄存器进行说明,并将软件分解到功能块级,明确描述对每一个功能块的输入、输出、与产品硬件接口的对应关系,以及功能块间的依赖关系。
输入:《软件总体设计方案》、《软件项目计划》 输出:《软件概要设计报告》/《软件设计报告》 时间控制:得到《软件项目计划》后5个工作日内
030 需求跟踪 RMO软件需求管理员 RMO需要对软件概要设计中需求的实现或变化情况进行跟踪,跟踪活动通过不断更新《需求跟踪表》来进行。需求跟踪活动是一个持续活动,将一直持续到软件开发子流流程结束。在每一次正规检视或评审之前,都必须进行需求跟踪,以确保软件需求规格在软件开发的各个阶段都能够充分、准确地得以实现。
输入:软件开发子流程设计文档(如软件概要设计、详细设计等) 输出:《需求跟踪表》
时间控制:一直持续到软件开发子流程结束
040 软件概要设计及计划检视 质量保证、系统工程师、软件工程师、测试工程师、项目经理
软件概要设计及测试计划正规检视中对文档、开发设计(包括功能、性能、设计方法、遵循标准、外部接口、维护性能)、测试计划以及配置管理等方面进行检查,确保软件概要设计作为后继开发工作指导性文件的全面性和准确性,确保测试计划中的各项需求在开发前期即被纳入考虑范围,确保测试计划中测试用例能够充分覆盖软件的各项需求。
输入:《软件概要设计报告》、《软件项目计划》、《软件测试计划》 输出:《软件概要设计检查表》、《软件项目计划检查表》
3/9
软件开发流程
时间控制:软件概要设计完成后5个工作日内。
050&100 更新项目计划
开发组组长
软件工程师根据正规检视的总结意见对前期拟定的软件项目计划进行更新,对计划中包含的进度、任务安排、风险、人员、开发工具、相关规范等内容进行适当调整。
输入:《软件概要设计报告》、《软件项目计划》、《软件项目计划检查表》 输出:更新的《软件项目计划》 时间控制:正规检视后2个工作日内。
060 软件项目计划、软件概要设计基线化
CMO配置管理员
CMO对经过正规检视的软件项目计划和软件概要设计进行基线化,将相关文档纳入项目的配置管理库,并向相关PDT成员发布。
相关文档包括: 《软件概要设计报告》 《软件项目计划》
时间控制:正规检视后2个工作日内。
070 软件详细设计&软件单元测试计划 软件工程师&测试工程师 在软件详细设计阶段,软件工程师将软件概要设计开发出的整体应用分成几个模块和程序,并为每个程序进行逻辑设计,然后归档作为程序规格。同时,测试工程师指导软件工程师为每个程序生成一个单元测试计划。详细设计阶段的重要活动包括通用例程和程序的确定(如数据有效性例程)、框架程序的开发以及用于提高生产率的实用程序和工具的开发。
输入准则是概要设计文档经过评审和授权,主要输入是概要设计文档。
输出准则是程序规格和单元测试计划已经经过评审和授权,主要输出详细设计报告和单元测试计划(包含在《软件测试计划》模板中)。
过程中的步骤如下: 将功能分成小的组件 如果需要,开发数据移植程序 设计/开发代码框架 开发例程和工具
4/9
软件开发流程
程序设计
确定程序调用的方法 确定输入和输出 设计程序逻辑 确定数据结构 确定使用的通用例程 写程序规格并对其进行平审 计划单元测试 确定单元测试环境 确定单元测试用例 确定测试数据 写单元测试计划
输入:《软件概要设计报告》
输出:更新的《软件详细设计报告》/《软件设计报告》、《软件单元测试计划》 时间控制:软件概要设计基线化后10个工作日内。
040&090&130 正规检视 质量保证、PDT经理、系统工程师、软件工程师、测试工程师
QA负责组织PDT经理(可选)、系统工程师(SE)、软件工程师(SWE)、测试工程师(TE)进行开发过程中的各种评审,并将评审时间通知PDT经理。
评审小组依据正规检视要素表对软件开发进行正规检视。 QA负责监控评审质量。 SE协助QA编写评审报告。 输入:《软件详细设计报告》 输出:《软件详细设计检查表》
时间控制:收到相应交付件(正规检视对象)后2个工作日内。
110 详细设计基线化
CMO配置管理员
CMO对经过正规检视的软件详细设计进行基线化,将相关文档纳入项目的配置管理库,并向相关PDT成员发布。
5/9
软件开发流程
相关文档包括: 《软件详细设计报告》 《软件单元测试计划》 《软件项目计划》
时间控制:正规检视后2个工作日内。 120 编码
软件工程师
软件工程师根据评审后的《详细设计报告》用编程语言来实现所需的软件,这个阶段根据合适的编码规范产生源代码和可执行程序(二进制文件)。
输入准则是软件详细设计已经过评审和授权,输入主要包括软件详细设计、软件概要设计、实用程序和开发工具及其文档。
输出是源代码、可执行代码。 150 单元测试
软件工程师&测试工程师
软件工程师根据测试计划编写测试代码并执行测试代码。
输出准则是成功执行所有单元测试计划中的测试用例,输出是测试数据、测试代码、可执行代码、《单元测试报告》和过程记录。
软件工程师根据《单元测试计划》进行软件进行单元测试。测试工程师根据需要参与必要的单元测试。
活动步骤如下: 生成测试数据库 生成代码 对程序进行编码 代码评审
记录和修正评审出的缺陷 进行自行单元测试 进行单元测试 进行附加测试 更正缺陷
时间控制:详细设计评审后2个工作日内开始。 输入:《软件详细设计报告》、《软件单元测试计划》 输出:《软件单元测试报告》
6/9
软件开发流程
160 经验教训总结 软件开发组长 软件系统测试评审完成后,PDT对软件开发工作的成功经验和失败教训进行总结,并按照统一的模板和要求形成案例存储在统一的数据库系统中,并推动共享、查询和继承应用。
输入:软件开发过程文档 输出:《经验教训总结》
时间控制:测试报告正规检视完成后2个工作日内开始。
170 系统集成和联调 SWE软件工程师 项目归档发布后,SWE软件工程师参与系统集成和联调。 输入:软件开发过程文档
时间控制:项目归档3个工作日内开始。
180 支持系统集成测试 SWE软件工程师 系统集成和联调完成后,提交测试部进行测试,由TE测试工程师负责具体的集成测试工作,SWE软件工程师提供集成测试过程中必要的技术支持和协助。
输入:通过系统集成和联调后的可执行文件
时间控制:系统集成和联调通过后3个工作日内开始。 9. 纪录和表格
9.1《软件概要设计报告》 9.2《软件概要设计检查表》 9.3《软件项目计划及计划检查表》 9.4《软件详细设计报告》 9.5《软件详细设计检查表》 9.6《软件测试计划》 9.7《软件测试报告》 9.8《软件测试检查表》 9.9《需求跟踪表》 9.10《软件项目计划》 9.11《产品总体设计方案》 9.12《经验教训总结》 10. 相关文件
7/9
10.1《产品开发流程》 10.2《设计更改子流程》 10.3《工程更改子流程》 11. 流程评测指标
11.1 进度篇差率 11.2 缺陷密度 11.3 需求满意度 12. 流程负责人
研发软件组
软件开发流程
8/9
软件开发流程
文件编制: 审 核: 批 准: 生效日期:
修订记录
编号 1 2 3 4 修订内容简述 生效日期 修订后版本号 修订人 审核人 批准人
9/9
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务