软件开发计划(SDP)
说明:
1.《软件开发计划》(SDP)描述开发者实施软件开发工作的计划,本文档中“软件开发”一词
涵盖了新开发、修改、重用、再工程、维护和由软件产品引起的其他所有的活动。
2.SDP 是向需求方提供了解和监督软件开发过程、所使用的方法、每项活动的途径、项目的
安排、组织及资源的一种手段。
3.本计划的某些部分可视实际需要单独编制成册,例如,软件配置管理计划、软件质量保证
计划和文档编制计划等。
1/20
目录
软件开发计划(SDP)........................................................................................................................... 1
1 引言 ................................................................................................................................................. 6
1.1 标识 ...................................................................................................................................... 6
1.2 系统概述 .............................................................................................................................. 6
1.3 文档概述 .............................................................................................................................. 6
1.4 与其他计划之间的关系 ......................................................................................................6
1.5 基线 ...................................................................................................................................... 6
2 引用文件 ......................................................................................................................................... 6
3 交付产品 ......................................................................................................................................... 7
3.1 程序 ...................................................................................................................................... 7
3.2 文档 ...................................................................................................................................... 7
3.3 服务 ...................................................................................................................................... 7
3.4 非移交产品 .......................................................................................................................... 7
3.5 验收标准 .............................................................................................................................. 7
3.6 最后交付期限 ...................................................................................................................... 7
4 所需工作概述 ................................................................................................................................. 7
5 实施整个软件开发活动的计划.....................................................................................................7
5.1 软件开发过程 ...................................................................................................................... 8
5.2 软件开发总体计划 ..............................................................................................................8
5.2.1 软件开发方法 ...........................................................................................................8
5.2.2 软件产品标准 ...........................................................................................................8
5.2.3 可重用的软件产品 ...................................................................................................8
5.2.4 处理关键性需求.......................................................................................................9
5.2.5 计算机硬件资源利用...............................................................................................9
5.2.6 记录原理 ...................................................................................................................9
5.2.7 需方评审途径 ...........................................................................................................9
6 实施详细软件开发活动的计划...................................................................................................10
6.1 项目计划和监督 ................................................................................................................10
6.1.1 软件开发计划(包括对该计划的更新).................................................................. 10
6.1.2CSCI 测试计划..........................................................................................................10
6.1.3 系统测试计划 .........................................................................................................10
6.1.4 软件安装计划 .........................................................................................................10
6.1.5 软件移交计划 .........................................................................................................10
6.1.6 跟踪和更新计划,包括评审管理的时间间隔.................................................... 10
6.2 建立软件开发环境 ............................................................................................................10
6.2.1 软件工程环境 .........................................................................................................11
6.2.2 软件测试环境 .........................................................................................................11
6.2.3 软件开发库.............................................................................................................11
6.2.4 软件开发文档 .........................................................................................................11
6.2.5 非交付软件.............................................................................................................11
6.3 系统需求分析 ....................................................................................................................11
6.3.1 用户输入分析 .........................................................................................................11
2/20
6.3.2 运行概念 .................................................................................................................11
6.3.3 系统需求 .................................................................................................................11
6.4 系统设计 ............................................................................................................................ 11
6.4.1 系统级设计决策.....................................................................................................11
6.4.2 系统体系结构设计 .................................................................................................11
6.5 软件需求分析 ....................................................................................................................11
6.6 软件设计 ............................................................................................................................ 11
6.6.1CSCI 级设计决策......................................................................................................12
6.6.2CSCI 体系结构设计..................................................................................................12
6.6.3CSCI 详细设计..........................................................................................................12
6.7 软件实现和配置项测试 ....................................................................................................12
6.7.1 软件实现 .................................................................................................................12
6.7.2 配置项测试准备.....................................................................................................12
6.7.3 配置项测试执行.....................................................................................................12
6.7.4 修改和再测试 .........................................................................................................12
6.7.5 配置项测试结果分析与记录 .................................................................................12
6.8 配置项集成和测试 ............................................................................................................12
6.8.1 配置项集成和测试准备 .........................................................................................13
6.8.2 配置项集成和测试执行 .........................................................................................13
6.8.3 修改和再测试 .........................................................................................................13
6.8.4 配置项集成和测试结果分析与记录.....................................................................13
6.9CSCI 合格性测试.................................................................................................................13
6.9.1CSCI 合格性测试的独立性......................................................................................13
6.9.2 在目标计算机系统(或模拟的环境)上测试..........................................................13
6.9.3CSCI 合格性测试准备..............................................................................................13
6.9.4CSCI 合格性测试演练..............................................................................................13
6.9.5CSCI 合格性测试执行..............................................................................................13
6.9.6 修改和再测试 .........................................................................................................13
6.9.7CSCI 合格性测试结果分析与记录......................................................................... 13
6.10CSCI/HWCI 集成和测试 ....................................................................................................13
6.10.1CSCI/HWCI 集成和测试准备.................................................................................14
6.10.2CSCI/HWCI 集成和测试执行.................................................................................14
6.10.3 修改和再测试 .......................................................................................................14
6.10.4CSCI/HWCI 集成和测试结果分析与记录 .............................................................14
6.11 系统合格性测试..............................................................................................................14
6.11.1 系统合格性测试的独立性 ...................................................................................14
6.11.2 在目标计算机系统(或模拟的环境)上测试 ........................................................14
6.11.3 系统合格性测试准备 ...........................................................................................14
6.11.4 系统合格性测试演练 ...........................................................................................14
6.11.5 系统合格性测试执行 ...........................................................................................14
6.11.6 修改和再测试 .......................................................................................................14
6.11.7 系统合格性测试结果分析与记录 .......................................................................14
6.12 软件使用准备..................................................................................................................14
6.12.1 可执行软件的准备 ...............................................................................................15
3/20
6.12.2 用户现场的版本说明的准备 ...............................................................................15
6.12.3 用户手册的准备 ...................................................................................................15
6.12.4 在用户现场安装 ...................................................................................................15
6.13 软件移交准备..................................................................................................................15
6.13.1 可执行软件的准备 ...............................................................................................15
6.13.2 源文件准备 ...........................................................................................................15
6.13.3 支持现场的版本说明的准备 ...............................................................................15
6.13.4“已完成”的 CSCI 设计和其他的软件支持信息的准备.................................. 15
6.13.5 系统设计说明的更新 ...........................................................................................15
6.13.6 支持手册准备 .......................................................................................................15
6.13.7 到指定支持现场的移交 .......................................................................................15
6.14 软件配置管理..................................................................................................................15
6.14.1 配置标识 ...............................................................................................................16
6.14.2 配置控制 ...............................................................................................................16
6.14.3 配置状态统计 .......................................................................................................16
6.14.4 配置审核 ...............................................................................................................16
6.14.5 发行管理和交付 ...................................................................................................16
6.15 软件产品评估..................................................................................................................16
6.15.1 中间阶段的和最终的软件产品评估 .................................................................. 16
6.15.2 软件产品评估记录(包括所记录的具体条目)....................................................16
6.15.3 软件产品评估的独立性 .......................................................................................16
6.16 软件质量保证..................................................................................................................16
6.16.1 软件质量保证评估 ...............................................................................................17
6.16.2 软件质量保证记录、包括所记录的具体条目 .................................................. 17
6.16.3 软件质量保证的独立性 .......................................................................................17
6.17 问题解决过程(更正活动)............................................................................................... 17
6.17.1 问题/变更报告 ..................................................................................................... 17
6.17.2 更正活动系统 .......................................................................................................17
6.18 联合评审(联合技术评审和联合管理评审)................................................................... 17
6.18.1 联合技术评审包括----组建议的评审 ..................................................................17
6.18.2 联合管理评审包括----组建议的评审 ..................................................................17
6.19 文档编制.......................................................................................................................... 17
6.20 其他软件开发活动..........................................................................................................18
6.20.1 风险管理,包括已知的风险和相应的对策 ...................................................... 18
6.20.2 软件管理指标,包括要使用的指标 .................................................................. 18
6.20.3 保密性和私密性 ...................................................................................................18
6.20.4 分承包方管理 .......................................................................................................18
6.20.5 与软件独立验证与确认(IV&V)机构的接口 ........................................................18
6.20.6 和有关开发方的协调 ...........................................................................................18
6.20.7 项目过程的改进 ...................................................................................................18
6.20.8 计划中未提及的其他活动 ...................................................................................18
7 进度表和活动网络图................................................................................................................... 18
8 项目组织和资源........................................................................................................................... 18
8.1 项目组织 ............................................................................................................................ 19
4/20
8.2 项目资源 ............................................................................................................................ 19
9 培训 ............................................................................................................................................... 19
9.1 项目的技术要求 ................................................................................................................19
9.2 培训计划 ............................................................................................................................ 19
10 项目估算 ..................................................................................................................................... 19
10.1 规模估算.......................................................................................................................... 20
10.2 工作量估算......................................................................................................................20
10.3 成本估算.......................................................................................................................... 20
10.4 关键计算机资源估算......................................................................................................20
10.5 管理预留.......................................................................................................................... 20
11 风险管理 ..................................................................................................................................... 20
12 支持条件 ..................................................................................................................................... 20
12.1 计算机系统支持。..........................................................................................................20
12.2 需要需方承担的工作和提供的条件。..........................................................................20
12.3 需要分包商承担的工作和提供的条件。......................................................................20
13 注解 ............................................................................................................................................. 20
附录 .................................................................................................................................................. 20
5/20
1 引言
1.1 标识
本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、
版本号和发行号。
1.2 系统概述
本条应简述本文档适用的系统和软件的用途,它应描述系统和软件的一般特性;概述系统开
发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和
计划的运行现场;列出其他有关的文档。
1.3 文档概述
本条应概述本文档的用途和内容,并描述与其使用有关的保密性和私密性的要求。
1.4 与其他计划之间的关系
(若有)本条描述本计划和其他项目管理计划的关系。
1.5 基线
给出编写本项目开发计划的输入基线,如软件需求规格说明。
2 引用文件
本章应列出本文档引用的所有文档的编号、标题、修订版本和日期,本章也应标识不能通过
正常的供货渠道获得的所有文档的来源。
6/20
3 交付产品
3.1 程序
3.2 文档
3.3 服务
3.4 非移交产品
3.5 验收标准
3.6 最后交付期限
列出本项目应交付的产品,包括软件产品和文档。其中,软件产品应指明哪些是要开发的,
哪些是属于维护性质的;文档是指随软件产品交付给用户的技术文档,例如用户手册、安装
手册等。
4 所需工作概述
本章根据需要分条对后续章描述的计划作出说明,(若适用)包括以下概述:
a.对所要开发系统、软件的需求和约束;
b.对项目文档编制的需求和约束;
c.该项目在系统生命周期中所处的地位;
d.所选用的计划/采购策略或对它们的需求和约束;
e.项目进度安排及资源的需求和约束;
f.其他的需求和约束,如:项目的安全性、保密性、私密性、方法、标准、硬件开发和软件
开发的相互依赖关系等。
5 实施整个软件开发活动的计划
本章分以下几条。不需要的活动的条款用“不适用”注明,如果对项目中不同的开发阶段或
不同的软件需要不同的计划,这些不同之处应在此条加以注解。除以下规定的内容外,每条
中还应标识可适用的风险和不确定因素,及处理它们的计划。
7/20
5.1 软件开发过程
本条应描述要采用的软件开发过程。计划应覆盖论及它的所有合同条款,确定已计划的开发
阶段(适用的话)、目标和各阶段要执行的软件开发活动。
5.2 软件开发总体计划
本条应分以下若干条进行描述。
5.2.1 软件开发方法
本条应描述或引用要使用的软件开发方法,包括为支持这些方法所使用的手工、自动工具和
过程的描述。该方法应覆盖论及它的所有合同条款。如果这些方法在它们所适用的活动范围
有更好的描述,可引用本计划的其他条。
5.2.2 软件产品标准
本条应描述或引用在表达需求、设计、编码、测试用例、测试过程和测试结果方面要遵循的
标准。标准应覆盖合同中论及它的所有条款。如果这些标准在标准所适用的活动范围有更好
的描述,可引用本计划中的其他条。对要使用的各种编程语言都应提供编码标准,至少应包
括:
a.格式标准(如:缩进、空格、大小写和信息的排序);
b.首部注释标准,例如(要求:代码的名称/标识符,版本标识,修改历史,用途)需求和实现
的设计决策,处理的注记(例如:使用的算法、假设、约束、限制和副作用),数据注记(输入、
输出、变量和数据结构等);
c.其他注释标准(例如要求的数量和预期的内容);
d.变量、参数、程序包、过程和文档等的命名约定;
e.(若有)编程语言构造或功能的使用限制;
f.代码聚合复杂性的制约。
5.2.3 可重用的软件产品
本条应分以下若干条。
5.2.3.1 吸纳可重用的软件产品
本条应描述标识、评估和吸纳可重用软件产品要遵循的方法,包括搜寻这些产品的范围和进
行评估的准则。描述应覆盖合同中论及它的所有条款。在制定或更新计划时对已选定的或候
选的可重用的软件产品应加以标识和说明,(若适用)同时应给出与使用有关的优点、缺陷和
限制。
8/20