软件研制过程.docx
《软件研制过程.docx》由会员分享,可在线阅读,更多相关《软件研制过程.docx(19页珍藏版)》请在冰点文库上搜索。
软件研制过程
软件研制过程
XXXX有限公司
前言
按照国家军用标准《GJB5000A-2008军用软件研制能力成熟度模型》和公司《5000体系软件方针》的要求,为了确保软件研制过程的适宜性、充分性和有效性,寻求持续改进的机会,特制订本程序。
本程序文件主要编写人:
本程序文件审核人:
本程序文件批准人:
本程序文件批准日期:
更改历史页
序号
版本号
日期
更改条款
作者(更改者)
1范围
根据有关国军标要求,结合公司软件产品研制的特点,依据《5000体系软件方针》,特制订本过程文件。
本过程文件规定了公司军用软件产品研制过程各阶段的任务和要求,其中软件产品是指计算机程序、相应的数据和文档(包括固件中的数据和程序)。
本过程文件适用于公司承担的军用软件产品(以下简称软件产品)的研制,其他软件产品可参照执行。
当上级单位有特殊要求时,按上级规定的要求执行。
2引用文件
GJB438B-2009军用软件开发文档通用要求
GJB900-1990系统安全性通用大纲
GJB2786A-2009军用软件开发通用要求
GJB5000A-2008军用软件研制能力成熟度模型
GJB/Z102-1997软件可靠性和安全性设计
3术语和定义
GJB438B、GJB5000A确立的术语和定义适用于本过程文件。
4软件等级的划分
参照GJB900、GJB/Z102,软件产品按重要程度、安全性影响程度,划分为关键(影响重要作战任务完成、装备和人员安全的软件)、重要(影响装备重要性能实现的软件)、一般(除关键软件和重要软件外的其余软件)。
如无特殊规定,项目管理组组织依据软件重要程度、安全性影响程度、软件规模等确定软件管理级别即A级软件(关键软件)、B级软件(重要软件)、C级软件(一般软件),经项目总体、用户代表(必要时)等会签,批准后下发执行。
5软件研制过程
参照GJB2786A,软件项目生命周期内软件研制过程一般分为计划、软件需求分析、软件设计、软件实现和单元测试、单元集成和测试、配置项测试和验收与交付七个阶段。
同时软件项目组还要按照公司程序文件的要求,参与系统分析与设计活动,配合系统进行论证和系统需求分析,参与《软件研制任务书》的制定和评审。
在《软件研制任务书》初稿下发后,项目负责人组建软件项目组,明确项目组成员和职责,配置管理员建立配置管理系统。
当软件产品交付后,按照《软件项目生命周期选择指南》中E模型(维护模型)为用户提供必要的培训和产品维护,直至退役。
研制过程流程图见图1。
图1软件研制过程流程图
图1软件研制过程流程图(续)
5.1各级软件基本过程
针对不同情况各级软件基本过程见表2。
表2各级软件基本过程表
等级/规模
阶段
A
B
C
软件研制任务书编制
策划
软件需求分析
软件概要设计
软件详细设计
编码与软件单元测试
软件集成与测试
软件配置项测试
产品验收
产品交付
注1:
表中“√”表示应包含此阶段;“Ο”表示可合并。
5.2软件研制过程各阶段和活动的主要内容及要求
等级/规模
阶段
A
B
C
软件研制任务书
软件需求分析
软件概要设计
软件详细设计
编码与软件单元测试
软件集成与测试
软件配置项测试
系统集成和测试
产品验收
产品交付
注1:
表中“√”表示应包含此阶段;“Ο”表示可合并。
软件研制过程各阶段和活动的主要内容及要求见表3。
表3软件研制过程各阶段和活动的主要内容及要求
阶段
入口准则
输入
主要实施活动
出口准则
输出
软件研制任务书编制
用户要求已确定
合同、技术协议等相关有效文件
a)项目负责人制定软件研制任务书,项目管理组组织软件研制任务书的讨论、确定等活动,按《软件评审规程》组织《软件研制任务书》初稿评审,项目软件负责人参与活动;
b)项目负责人组织软件研制任务书确认评审,项目组参加;
c)软件研制任务书确认评审通过后,项目配置管理员将其纳入配置管理,并将技术协调单统计表纳入配置管理,建立并发布功能基线;
a)完成《软件研制任务书》初稿评审;
b)软件研制任务书经
确认,并纳入配置管
理;
c)功能基线已建立;
a)《软件研制任务书评审报告》;
b)《软件研制任务书》;
c)功能基线。
项目策划
a)完成软件研制任务书评审;
b)软件项目组
已成立。
《软件研制任务书》
a)项目负责人召开项目启动会并组建软件项目组;
b)项目软件负责人进行项目早期策划,明确项目成员角色与职责;
c)配置管理员建立项目配置管理系统。
d)项目软件负责人编制《软件开发计划》;
e)项目配置管理员编制《软件配置管理计划》;
f)软件质量保证员编制《软件质量保证计划》;
g)编制供方协议管理计划等其它项目计划;
h)项目管理组按《软件评审规程》组织对项目计划进行评审;
i)项目配置管理员将《软件开发计划》等项目计划纳入配置管理。
a)软件项目组成立;
b)项目配置管理系统
建立;
c)《软件开发计划》等软件项目计划通过
评审;
d)阶段产品纳入配置
管理。
a)《软件项目组成员名单》;
b)项目配置管理系统;
c)《软件开发计划》等软件项目计划。
软件需求分
析
a)通过软件研制任务书评
审;
b)软件项目组
已成立。
《软件研制任务书》
a)软件需求分析人员依据《软件研制任务书》编制《软件需求规格说明》和《接口需求规格说明》(可合并编制);
b)软件测试人员依据《软件需求规格说明》和《接口需求规格说明》,编制《软件测试计划》(即配置项测试计划);
c)项目管理组按《软件评审规程》组织评审;
d)项目配置管理员将阶段产品纳入配置管理;
e)建立并发布分配基线;
f)培训组按培训计划,组织各阶段培训。
a)完成所有的阶段产
品;
b)软件需求规格说明、接口需求规格说明、软件测试计划通过
评审;
c)阶段产品纳入配置
管理
d)分配基线已建立。
a)《软件需求规格说明》、(《接口需求规格说明》);
b)《软件测试计划》;
c)培训记录。
软件概要设计
通过软件需求分析评审
a)《软件需求规格说明》;
b)《接口需求规格说明》
a)软件开发人员按《软件设计规范》要求,依据软件需求规格说明、接口需求规格说明进行设计,编制《软件概要设计说明》和《接口设计说明》(可合并编制);
b)软件测试人员应按软件概要设计说明规定的要求,编制《集成测试计划》;
c)设计部门按《软件评审规程》进行评审;
d)项目配置管理员将阶段产品纳入配置管理。
a)完成所有阶段产品;
b)《软件概要设计说明》、测试计划等通过评审;
c)阶段产品纳入配置
管理。
a)《软件概要设计说明》;
b)集成测试计划
软件详细设计
通过软件概要设计评审
a)《软件概要设计说明》;
b)《接口设计说明》
a)软件开发人员按《软件设计规范》要求,依据软件概要设计说明、接口设计说明进行详细设计,编制《软件详细设计说明》;
b)软件测试人员应按软件设计说明规定的要求,编制《单元测试计划》;
c)设计部门按《软件评审规程》进行评审;
d)项目配置管理员将阶段产品纳入配置管理。
a)完成所有阶段产品;
b)《软件详细设计说明》、测试计划等通过评审;
c)阶段产品纳入配置
管理。
a)《软件详细设计说明》;
b)单元测试计划
软件实现和单元测试
通过软件设计评审
a)《软件设计说明》;
b)单元测试计
划。
a)软件开发人员依据《C&C++软件编程规范》、《JAVA软件编程规范》和详细设计说明等进行编码;
b)软件测试人员依据《软件测试规程》和单元测试计划进行单元测试,并记录测试结果;
c)软件开发人员根据测试结果,修改源程序和相关文档;
d)软件测试人员对测试进行总结,编制《单元测试报告》;
e)设计部门按《软件评审规程》进行评审;
f)如项目要求,项目配置管理员按项目要求将阶段产品纳入配置管理。
a)完成所有的阶段产
品;
b)阶段产品通过评审。
a)单元代码;
b)单元测试记录;
c)问题跟踪表;
d)单元测试报告等相关文档。
软件集成与
测试
通过单元测试评审
a)《软件设计说明》;
b)单元集成测试计划(说明);
c)单元代码
a)软件开发人员进行单元集成;
b)软件测试人员依据《软件测试规程》和集成测试计划进行集成测试,并记录测试结果;
c)软件开发人员根据测试结果,修改源程序和相关文档;
d)软件测试人员对测试进行总结,编制《集成测试报告》;
e)设计部门按《软件评审规程》进行评审;
f)软件开发人员编制软件产品规格说明等文档;
g)如项目要求,项目配置管理员按项目要求将阶段产品纳入配置管理。
a)完成所有的阶段产
品;
b)阶段产品通过评审。
a)源程序;
b)可执行程序;
c)问题跟踪表;
d)测试记录、测试报告等相关文档;
e)软件产品规格说明等文档。
配置项测试
单元集成通过测试评审或完成
a)源程序
b)软件产品规格说明等文档;
c)软件测试计划(说明)
a)软件测试人员依据《软件测试规程》和软件软件测试计划进行配置项测试,并记录测试结果;
b)软件开发人员根据测试结果,修改源程序和相关文档;
c)软件测试人员对测试进行总结,编制《配置项测试报告》;
d)质量保证组组织按《软件评审规程》进行评审;
e)项目配置管理员将阶段(或所有测试阶段)产品纳入配置管理;
f)配置管理员将软件产品纳入产品库。
a)完成所有的阶段产
品;
b)配置项测试通过评
审;
c)阶段产品纳入配置
管理;
a)可执行程序;
b)配置项测试记录;
c)问题跟踪表
d)配置项测试报告、软件产品规格说明等文档。
验收测试
配置项测试通过测试评审或完成
a)《软件研制任务书》、《软件开发计划》等;
b)可执行程序;
a)公司检验人员依据《产品检验大纲》进行检验,并记录检验结果;
b)软件开发人员根据测试结果,修改源程序和相关文档;
c)检验人员对检验进行总结,编制《检验报告》;
d)项目配置管理员将阶段(或所有测试阶段)产品纳入配置管理;
f)配置管理员将软件产品纳入产品库。
a)完成所有的阶段产
品;
b)检验通过;
c)阶段产品纳入配置
管理;
d)软件产品已纳入产
品库。
a)检验大纲;
b)检验记录;
c)检验报告。
交付活动
完成所有验收工作并通过验收和交付评审(一般随硬件产品一同进行)
a)《软件研制任务书》、《软件开发计划》等;
b)可执行程序;
c)相关文档和过程记录。
a)项目总结:
由项目配置管理员、软件质量保证员、软件测量分析员分别编制软件配置管理报告、软件质量保证报告、软件测量分析报告,项目软件负责人对软件项目进行分析和总结,编制《软件研制总结报告》;
b)由项目配置管理员将有关阶段产品提交并纳入配置管理;
c)公司配置管理员,按交付配置项清单将有关配置项出库,项目配置管理组组织进行验收和交付产品(物理审核、功能审核),并将结果记录在《交付活动检查表》中。
d)由项目管理组组织进行软件产品验收和交付活动。
e)建立并发布产品基线,纳入配置管理。
a)测试结论满足任务
书;
b)软件产品已入产品
库;
c)产品具备交付状态
d)产品基线已建立
a)交付清单;
b)交付记录;
c)《软件研制总结报告》等文档。
6相关过程文件
a)项目策划过程
b)项目监控过程
c)需求管理过程
d)过程与产品质量保证过程
e)配置管理过程
f)测量与分析过程
g)供方协议管理过程
7指导性文件
a)问题处理规程
b)软件项目生命周期选择指南
c)软件评审规程
d)C&C++软件编程规范
e)JAVA软件编程规范
8模板
详见“文档参考模板”。
9检查单
《交付活动检查表》。
以上检查表见《检查表汇总》。