软件开发过程控制程序
欢迎阅读 XXXXXX 项目项目 软件开发过程控制程序软件开发过程控制程序 文件编号 文件状态 当前版本 拟 制 审 核 批 准 [ ]草稿 [ ] 正式发布 [ ]正在修改 日期 日期 日期 欢迎阅读 修订历史记录修订历史记录 变更版本号日期 A A - 增加M M - 修订D D - 删除 摘要变更类型 (A*M*DA*M*D) 修改人备注 欢迎阅读 目目 录录 1 目的.4 2 适用范围.4 3 定义.4 3.1 需求分析.4 3.2 概要设计.4 3.3 详细设计.4 3.4 设计实现.4 4 职责.5 4.1 项目负责人.5 4.2 需求分析员.5 4.3 系统设计员.5 4.4 程序员.5 4.5 测试人员.5 4.6 配置管理人员.5 4.7 工作程序.5 5 开发过程6 5.1 项目计划.6 5.2 制定开发规范.6 5.3 需求分析.6 5.4 概要设计.6 5.5 详细设计.7 5.6 设计实现.7 5.7 内部测试.7 5.8 系统测试.7 5.9 软件配置管理过程.7 6 引用文件.8 7 技术文档.8 8. 附录8 欢迎阅读 1 1 目的目的 为保证软件产品及其文档可维护,软件开发过程得到有效控制,特制定本程序。 2 2 适用范围适用范围 本程序文件适用于本公司有合同的所有软件开发过程的控制活动。 3 3 定义定义 3 3..1 1 需求分析需求分析 研究用户要求以得到系统或软件需求定义的过程。 3 3..2 2 概要设计概要设计 分析各种设计方案和定义软件体系结构的过程。 典型的概要设计包括计算机程序组成成分和数据的定义及构 造、界面的定义,并提出时间和规模方面的估计。 3 3..3 3 详细设计详细设计 推敲并扩充概要设计,以获得关于处理逻辑、数据结构和数据定义的更加详尽的描述, 直到设计完善到足以 能实现的地步。 3 3..4 4 设计实现设计实现 把设计翻译成代码,然后对此代码排除隐错的过程。 它是程序的一种机器可执行形式, 或者能被自动地翻译 成机器可执行的形式的某种形式的程序。 欢迎阅读 4 4 职责职责 4 4..1 1 项目负责人项目负责人 负责制订《项目计划》 、协调项目内外各方的关系、控制项目进度并保证项目计划的实施和完成。 4 4..2 2 需求分析员需求分析员 作为开发方的代表,负责沟通用户和开发人员的认识和见解,明确及准确地编写《软件需求说明书》和初步 的《系统指南》 。 4 4..3 3 系统设计员系统设计员 负责把软件需求变换成可表示的可实现的软件形式, 为设计实现提供可行的依据。 并在设计过程中要负责编 写《概要设计说明书》 、 《数据库设计说明书》 、 《详细设计说明书》 ,完成《系统指南》的编写。 4 4..4 4 程序员程序员 按设计要求把软件的详细设计变换成可执行的源程序,进行调试。完成相应的文档,编写《用户操作手册》。 4 4..5 5 测试人员测试人员 负责制定测试计划,设计测试方案,测试用例,并实施测试。 4 4..6 6 配置管理人员配置管理人员 负责对开发库中软件配置项的管理和维护。 4 4..7 7 工作程序工作程序 软件开发过程主要分为项目计划、需求分析、概要设计、详细设计、设计实现、内部测试和系统测试 7 个阶 段。 欢迎阅读 5 5 开发过程开发过程 5 5..1 1 项目计划项目计划 项目负责人负责制定项目计划。 在项目计划中要对项目的目标和时间要求给出明确的定义, 要规定项目的组 织和管理规则,项目的开发过程和输出要求,项目对资源的需求和分配等,详见《项目计划控制程序》 。 5 5..2 2 制定开发规范制定开发规范 在项目开始后, 项目负责人要组织有关人员讨论和确定实施该项目的技术路线采用的开发方法论。 项目负 责人要组织编写《XXX 系统开发规范》 ,其中包括: a.阐述项目采用的技术路线; b.采用的软件开发方法和使用的软件辅助开发工具; c.制定需求分析阶段,设计阶段,编程阶段中文档编写规则,模型表示规则,命名约定等在开发过程中需 协调一致的规则。 《XXX 系统开发规范》中的一些详细规则可在开发过程中不断完善。 5 5..3 3 需求分析需求分析 需求分析员应通过各种方式收集和获得所开发项目的业务需求, 并对获取的需求和系统应具有的隐含需求进 行分析,以建立系统的软件需求。这些需求通常包括: a.功能需求 b.数据需求 c.性能需求 d.人机接口需求 e.安全和保密需求 f.网络需求 g.和其他系统的接口需求 h.操作、维护和安装需求 i.一些特殊的设计限制 需求分析员要使用《XXX 系统开发规范》中规定的需求分析方法和工具清晰准确地定义和描述这些需求。编 写《软件需求说明书》 ,编写初步的《系统指南》 。 《软件需求说明书》得到用户确认后,提交评审。 (参见《设计评审和设计更改控制程序》 ) 。 5 5..4 4 概要设计概要设计 系统设计员应建立一个高层的软件体系结构, 该体系结构应体现系统的需求。 该体系结构应描述软件的顶层 结构和定义其主要部分,包括: a.整个软件系统的层次结构; b.每一层次的模块结构; c.相关模块间的接口,即模块间传递信息的内容、方式和协议; d.确定各模块在计算机网络环境下的物理分布; 欢迎阅读 a.确定系统的数据库结构; e.确定本软件系统与其他外围系统接口; f.确定模块与系统功能间的关系; h.考虑可靠性、安全性、灵活性等方面的设计; i.要确定用户界面的设计风格; j.主要算法设计; k.异常处理设计。 描述以上设计结果,编写《概要设计说明书》 、 《数据库设计说明书》和修改完善《系统指南》 。将《概要设 计说明书》和《数据库设计说明书》提交评审。 (参见《设计评审和设计更改控制程序》 ) 5 5..5 5 详细设计详细设计 系统设计人员要深刻理解 《概要设计说明书》 , 保证详细设计与概要设计相一致, 为编码提供详尽的依据。 细化和描述每一个功能模块,确定实现各个模块功能的具体算法、内部数据结构和外部接口方式。 若功能模块涉及到用户界面,还要具体描绘出用户界面以及操作流程。 编写《详细设计说明书》 ,修改完善《系统指南》 。 提交详细设计评审。 (参见《设计评审和设计更改控制程序》 ) 5 5..6 6 设计实现设计实现 程序员应严格按照详细设计的说明,保证最终程序与详细设计相一致。编码过程中应遵循《 XXX 系统开发规 范》的命名规则和注释等规定保证程序的清晰、易读。 程序员要对编写的程序进行调试, 使程序不仅通过编译的语法检查, 而且在功能和性能等方面达到设计的要 求。编写《用户操作手册》 ,修改《系统指南》 。系统设计员最终完成《系统指南》 。 5 5..7 7 内部测试内部测试 项目负责人应组织系统的内部测试,内部测试由项目组内包括单元测试,集成测试和构造测试。 项目组内的测试员负责编写系统内部测试的《测试计划》和《测试实例》,实施测试,填写《测试报告》 。测 试部提供支持。具体控制程序请参见《测试过程控制程序》 。 5 5..8 8 系统测试系统测试 系统通过内部测试后,项目负责人应向测试部提请系统测试。测试部负责编写系统测试的《测试计划