说明:
1.《软件开发计划》(SDP)描述开发者实施软件开发工作的计划,本文档中“软件开发”一词涵盖了新开发、修改、重用、再工程、维护和由软件产品引起的其他所有的活动。
2.SDP是向需求方提供了解和监督软件开发过程、所使用的方法、每项活动的途径、项目的安排、组织及资源的一种手段。
3.本计划的某些部分可视实际需要单独编制成册,例如,软件配置管理计划、软件质量保证计划和文档编制计划等。
1引言
1.1标识
本条应包含本文档适用的系统和软件的完整标识,(若适用)包括标识号、标题、缩略词语、版本号和发行号。
1.2系统概述
本条应简述本文档适用的系统和软件的用途,它应描述系统和软件的一般特性;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;列出其他有关的文档。
1.3文档概述
本条应概述本文档的用途和内容,并描述与其使用有关的保密性和私密性的要求。
1.4与其他计划之间的关系
(若有)本条描述本计划和其他项目管理计划的关系。
1.5基线
给出编写本项目开发计划的输入基线,如软件需求规格说明。
2引用文件
本章应列出本文档引用的所有文档的编号、标题、修订版本和日期,本章也应标识不能通过正常的供货渠道获得的所有文档的来源。
3交付产品
3.1程序
3.2文档
3.3服务
3.4非移交产品
3.5验收标准
3.6最后交付期限
列出本项目应交付的产品,包括软件产品和文档。其中,软件产品应指明哪些是要开发的,哪些是属于维护性质的;文档是指随软件产品交付给用户的技术文档,例如用户手册、安装手册等。
4所需工作概述
本章根据需要分条对后续章描述的计划作出说明,(若适用)包括以下概述:
a.对所要开发系统、软件的需求和约束;
b.对项目文档编制的需求和约束;
c.该项目在系统生命周期中所处的地位;
d.所选用的计划/采购策略或对它们的需求和约束;
e.项目进度安排及资源的需求和约束;
f.其他的需求和约束,如:项目的安全性、保密性、私密性、方法、标准、硬件开发和软件开发的相互依赖关系等。
5实施整个软件开发活动的计划
本章分以下几条。不需要的活动的条款用“不适用”注明,如果对项目中不同的开发阶段或不同的软件需要不同的计划,这些不同之处应在此条加以注解。除以下规定的内容外,每条中还应标识可适用的风险和不确定因素,及处理它们的计划。
5.1软件开发过程
本条应描述要采用的软件开发过程。计划应覆盖论及它的所有合同条款,确定已计划的开发阶段(适用的话)、目标和各阶段要执行的软件开发活动。
5.2软件开发总体计划
本条应分以下若干条进行描述。
5.2.1软件开发方法
本条应描述或引用要使用的软件开发方法,包括为支持这些方法所使用的手工、自动工具和过程的描述。该方法应覆盖论及它的所有合同条款。如果这些方法在它们所适用的活动范围有更好的描述,可引用本计划的其他条。
5.2.2软件产品标准
本条应描述或引用在表达需求、设计、编码、测试用例、测试过程和测试结果方面要遵循的标准。标准应覆盖合同中论及它的所有条款。如果这些标准在标准所适用的活动范围有更好的描述,可引用本计划中的其他条。对要使用的各种编程语言都应提供编码标准,至少应包括:
a.格式标准(如:缩进、空格、大小写和信息的排序);
b.首部注释标准,例如(要求:代码的名称/标识符,版本标识,修改历史,用途)需求和实现的设计决策,处理的注记(例如:使用的算法、假设、约束、限制和副作用),数据注记(输入、输出、变量和数据结构等);
c.其他注释标准(例如要求的数量和预期的内容);
d.变量、参数、程序包、过程和文档等的命名约定;
e.(若有)编程语言构造或功能的使用限制;
f.代码聚合复杂性的制约。