软件开发控制程序
1.    概述
1.1.    目的
软件开发需要经过项目策划、需求、设计、实现、测试、部署与实施、评审、配置管理各工作流程,本文件规定了各流程的顺序和相互关系,用于指导项目组编制软件开发计划和开展软件开发工作,并给质量部跟踪开发过程提供依据。
1.2.    方针
(1)    项目策划、需求开发与管理、设计、实现、测试、部署与实施六个流程依一定的顺序进行,评审流程和配置管理流程贯穿整个过程,它们共同构成了软件开发的完整过程,对于一个新的软件产品这些过程是必须的;
(2)    在一些项目中项目策划、需求开发与管理、设计、实现、测试、部署与实施六个流程可以进行适当的裁减,但必须在项目策划时说明如何裁减及裁减的理由。
(3)    项目策划、需求开发与管理、设计、实现、测试、部署与实施六个流程可以是软件开发过程的六个阶段,也可以按照迭代的形式分几个阶段循环进行六个过程。
(4)    项目经理和质量管理员必须掌握各流程包含的若干活动及要求,客户和项目组其它成员需对所有过程有所了解。
1.3.    适用范围
本程序适用于软件开发过程中各阶段的控制。
1.4.    角职责
1.4.1.    研发中心经理
(1)    负责下达“项目任务书”
(2)    负责确定软件产品的技术方向
(3)    负责协调各软件项目研发过程中资源获取与分配
(4)    负责软件开发过程中与相关部门进行协调
1.4.2.    项目经理
(1)    负责项目策划,对软件开发过程进行剪裁,确定开发模式。负责组织编制“软件开发计划”,在计划中反映各软件开发各流程的相互关系。
(2)    负责按开发流程组织项目组各类人员进行项目开发工作。
(3)    负责检查各阶段工作完成情况。
(4)    对项目的进度、质量负责。
1.4.3.    系统分析师
(1)    负责进行需求采集、需求开发工作,并编制需求文档。
(2)    负责检查软件的设计是否符合需求。
1.4.4.    构架设计师
(1)    分析软件需求,提出适合的软件技术构架,并编制“构架设计文档”。
(2)    指导开发工程师进行软件的设计,并检查设计是否符合软件技术构架。
(3)    对开发工程师提供技术指导,并检查开发工程师软件的实现结果。
1.4.5.    数据库管理员
(1)    负责数据库结构设计与数据库管理,编制“数据库设计说明书”。
(2)    负责指导开发工程师进行数据库程序开发。
1.4.6.    开发工程师
(1)    对软件进行设计,并编制“用例实现规约”。
(2)    负责按《编码规范》、《界面规范》实现软件编码。
(3)    负责进行软件单元测试,对编码质量负责。
1.4.7.    项目测试主管
(1)    负责规划软件测试工作,制定“软件测试计划”,跟踪计划的执行。
(2)    负责分配测试任务,组织对“软件测试计划”的评审和对“软件测试用例”进行确认。
(3)    负责组织对测试进行总结,对测试质量负责。
1.4.8.    测试工程师
(1)    负责按软件需求编写“软件测试用例”,并按“软件测试用例”执行软件测试,提交软件缺陷记录。
(2)    负责对软件缺陷修改情况进行验证,对测试进行总结。
1.4.9.    项目实施经理
(1)    负责规划软件实施工作。
(2)    负责组织实施工程师进行软件实施工作。
(3)    负责总结软件实施工作,并对软件实施过程的质量负责。
1.4.10.    实施工程师
(1)    负责用户文档(包括“用户手册”、“培训教材”等)的编写。
(2)    负责软件的实施工作,包括用户培训、软件安装、使用指导等。
1.4.11.    质量部经理
(1)    负责软件项目质量管理体系的维护,软件质量管理策略的规划。
(2)    负责给项目分派质量管理员。
(3)    负责培训质量管理员并指导其工作。
1.4.12.    质量管理员
(1)    负责制定“质量保证计划”,并依此监督软件开发过程。
1.5.    术语与缩略语
(1)    需求文档:包括“业务需求说明书”、“前景”、“用例规约”、“词汇表”及用例模型。
(2)    设计文档:包括“构架设计说明书”、“用例实现规约”、“数据库设计说明书”和软件界面原型
2.    工作程序
2.1.    工作流程图
2.2.    SC-P-100下达项目任务书
责任角
研发中心经理
相关角
项目经理、技术副总
过程接口
进入条件
(或过程启动的事件)
“合同” 已经签订或自主研发软件意向已经确定
过程的输入
“合同”(可选)
过程的输出
“项目任务书”
退出条件
(或触发其它过程的件)
“项目任务书”已经下达
2.2.1.    SC-A-110编制项目任务书
在软件开发“合同”签订后,或者公司自主研发软件意向已经确定后,研发中心经理根据软件要求,编制“项目任务书”。在“项目任务书”中将确定项目经理及其它项目成员。
2.2.2.    SC-A-120审批项目任务书
研发中心经理在编制“项目任务书”后,送交技术副总进行审批。
2.2.3.    SC-A-130下达项目任务书
项目任务书审批通过后,研发中心经理把“项目任务书”下达给项目经理。
2.3.    SC-P-200项目策划
责任角
项目经理
相关角
构架设计师、项目测试主管、项目实施经理、研发中心经理
过程接口
进入条件
(或过程启动的事件)
“项目任务书”得到批准并已下达
过程的输入
合同(可选)
“项目任务书”
过程的输出
“软件开发计划”
软件测试流程退出条件
(或触发其它过程的件)
“软件开发计划”通过评审并得到批准
项目策划经常与需求开发同时进行,相互参考。项目策划具体流程参见《项目策划程序》。
2.4.    SC-P-300需求
责任角
系统分析师
相关角
项目经理、构架设计师、项目测试主管、项目实施经理
过程接口
进入条件
(或过程启动的事件)
“项目任务书”得到批准并已下达
过程的输入
“合同”
“项目任务书”
“软件开发计划”
过程的输出
需求文档
退出条件
(或触发其它过程的件)
“前景”通过评审并得到批准,“用例规约”通过了内部确认
项目需求经常与策划同时进行,相互参考。项目需求具体流程参见《软件需求程序》。
2.5.    SC-P-400设计
责任角
构架设计师
开发工程师
相关角
项目经理
过程接口
进入条件
(或过程启动的事件)
“前景”已通过评审并得到批准
过程的输入
需求文档
过程的输出
设计文档
退出条件
(或触发其它过程的件)
“构架设计说明书”、“用例实现规约”和“数据库设计说明书”通过评审并得到批准
在完成部分需求工作后即可开始软件设计流程。软件设计具体流程参见《软件设计程序》。
2.6.    SC-P-500实现
责任角
开发工程师
相关角
构架设计师、项目测试主管
过程接口
进入条件
(或过程启动的事件)
用例的详细设计已经完成
过程的输入
需求文档
设计文档
过程的输出
软件源程序
“单元测试表”
退出条件
(或触发其它过程的件)
所有用例已经实现,并经过了单元测试,用例实现相关文档已经完成。
在完成部分软件设计工作后即可开始软件实现流程。软件实现具体流程参见《软件实现程序》。