UML软件工程组织

软件工程文档内容

二、软件开发过程控制程序


1 目的

为保证软件产品及其文档可维护,软件开发过程得到有效控制,特制定本程序。

2 适用范围

本程序文件适用于本公司有合同的所有软件开发过程的控制活动。

3 定义

3.1 需求分析:(引用GB/T11457-1995的2.404)研究用户要求以得到系统或软件需求定义的过程。
3.2 概要设计:(引用GB/T11457-1995的2.343)分析各种设计方案和定义软件体系结构的过程。典型的概要设计包括计算机程序组成成分和数据的定义及构造、界面的定义,并提出时间和规模方面的估计。
3.3 详细设计:(引用GB/T11457-1995的2.147)推敲并扩充概要设计,以获得关于处理逻辑、数据结构和数据定义的更加详尽的描述,直到设计完善到足以能实现的地步。
3.4 设计实现:(引用GB/T11457-1995的2.229)把设计翻译成代码,然后对此代码排除隐错的过程。它是程序的一种机器可执行形式,或者能被自动地翻译成机器可执行的形式的某种形式的程序。

4 职责

4.1 项目负责人:负责制订【项目计划】、协调项目内外各方的关系、控制项目进度并保证项目计划的实施和完成。
4.2 需求分析员:作为开发方的代表,负责沟通用户和开发人员的认识和见解,明确及准确地编写【软件需求说明书】和初步的【系统指南】。
4.3 系统设计员:负责把软件需求变换成可表示的可实现的软件形式,为设计实现提供可行的依据。并在设计过程中要负责编写【概要设计说明书】、【数据库设计说明书】、【详细设计说明书】,完成【系统指南】的编写。
4.4 程序员:按设计要求把软件的详细设计变换成可执行的源程序,进行调试。完成相应的文档,编写【用户操作手册】。
4.5 测试人员:负责制定测试计划,设计测试方案,测试用例,并实施测试。
4.6 配置管理人员负责对开发库中软件配置项的管理和维护。

5 工作程序

软件开发过程主要分为项目计划、需求分析、概要设计、详细设计、设计实现、内部测试和系统测试7个阶段。

5.1 项目计划

项目负责人负责制定项目计划。在项目计划中要对项目的目标和时间要求给出明确的定义,要规定项目的组织和管理规则,项目的开发过程和输出要求,项目对资源的需求和 分配等,详见《项目计划控制程序》。

5.2 制定开发规范
5.2.1 在项目开始后,项目负责人要组织有关人员讨论和确定实施该项目的技术路线,采用的开发方法论。
5.2.2 项目负责人要组织编写【XXX系统开发规范】,其中包括:

a. 阐述项目采用的技术路线;
b. 采用的软件开发方法和使用的软件辅助开发工具;
c. 制定需求分析阶段,设计阶段,编程阶段中文档编写规则,模型表示规则,命名约定等在开发过程中需协调一致的规则。

5.2.3 【XXX系统开发规范】中的一些详细规则可在开发过程中不断完善。
5.3 需求分析
5.3.1需求分析员应通过各种方式收集和获得所开发项目的业务需求,并对获取的需求和系统应具有的隐含需求进行分析,以建立系统的软件需求。这些需求通常包括:

a. 功能需求
b. 数据需求
c. 性能需求
d. 人机接口需求
e. 安全和保密需求
f. 网络需求
g. 和其他系统的接口需求
h. 操作、维护和安装需求
i. 一些特殊的设计限制

5.3.2需求分析员要使用【XXX系统开发规范】中规定的需求分析方法和工具清晰准确地定义和描述这些需求。编写【软件需求说明书】,编写初步的【系统指南】。
5.3.3【软件需求说明书】得到用户确认后,提交评审。(参见《设计评审和设计更改控制程序》)。
5.4 概要设计
5.4.1 系统设计员应建立一个高层的软件体系结构,该体系结构应体现系统的需求。该体系结构应描述软件的顶层结构和定义其主要部分,包括:

a. 整个软件系统的层次结构;
b. 每一层次的模块结构;
c. 相关模块间的接口, 即模块间传递信息的内容、方式和协议;
d. 确定各模块在计算机网络环境下的物理分布;
a. 确定系统的数据库结构;
e. 确定本软件系统与其他外围系统接口;
f. 确定模块与系统功能间的关系;
g. 确定模块与数据库表间的关系;
h. 考虑可靠性、安全性、灵活性等方面的设计;
i. 要确定用户界面的设计风格;
j. 主要算法设计;
k. 异常处理设计。

5.4.2 描述以上设计结果,编写【概要设计说明书】、【数据库设计说明书】和修改完善【系统指南】。
5.4.3将【概要设计说明书】和【数据库设计说明书】提交评审。(参见《设计评审和设计更改控制程序》)
5.5 详细设计
5.5.1系统设计人员要深刻理解【概要设计说明书】,保证详细设计与概要设计相一致,为编码提供详尽的依据。
5.5.2细化和描述每一个功能模块,确定实现各个模块功能的具体算法、内部数据结构和外部接口方式。
5.5.3若功能模块涉及到用户界面,还要具体描绘出用户界面以及操作流程。
5.5.4编写【详细设计说明书】,修改完善【系统指南】。
5.5.5提交详细设计评审。(参见《设计评审和设计更改控制程序》)
5.6 设计实现
5.6.1程序员应严格按照详细设计的说明,保证最终程序与详细设计相一致。编码过程中应遵循【XXX系统开发规范】的命名规则和注释等规定保证程序的清晰、易读。
5.6.2程序员要对编写的程序进行调试,使程序不仅通过编译的语法检查,而且在功能和性能等方面达到设计的要求。
5.6.3编写【用户操作手册】,修改【系统指南】。
5.6.4 系统设计员最终完成【系统指南】。
5.7 内部测试
5.7.1项目负责人应组织系统的内部测试,内部测试由项目组内包括单元测试,集成测试和构造测试。
5.7.2项目组内的测试员负责编写系统内部测试的【测试计划】和【测试实例】,实施测试,填写【测试报告】。测试部提供支持。具体控制程序请参见《测试过程控制程序》。
5.8 系统测试
5.8.1系统通过内部测试后,项目负责人应向测试部提请系统测试。
5.8.2测试部负责编写系统测试的【测试计划】,【测试实例】,实施测试,填写【测试报告】。项目测试员提供配合。具体控制程序请参见《测试过程控制程序》。
5.9 软件配置管理过程
以上开发各个过程中产生计划、文档,程序都要纳入配置管理系统控制下。详见《软件配置管理程序》。

6 引用文件

《项目计划控制程序》 (T.CX0401-A01)
《设计评审和设计更改控制程序》 (T.CX0403-A01)
《测试过程控制程序》 (T.CX1001-A01)
《配置管理控制程序》 (T.CX0801-A01)

7 技术文档

【XXX系统开发规范】
【软件需求说明书】
【概要设计说明书】
【数据库设计说明书】
【详细设计说明书】
【系统指南】
【用户操作手册】
                                                                 下一页



版权所有:UML软件工程组织