CMMI工程TS技术解决方案过程V10.docx
《CMMI工程TS技术解决方案过程V10.docx》由会员分享,可在线阅读,更多相关《CMMI工程TS技术解决方案过程V10.docx(13页珍藏版)》请在冰豆网上搜索。
CMMI工程TS技术解决方案过程V10
技术解决方案过程
文档编号:
GZCY_TS_PRS-V1.0
文档信息:
文档名称:
文档类别:
CMMI板
密级:
机密
版本信息:
V1.0
建立日期:
创建人:
审核者:
批准人:
批准日期:
保管人:
存放位置:
编辑软件:
MicrosoftOffice2003英文版
CONFIDENTIAL
文档修订记录
版本编号或者更改记录编号
变化状态
简要说明(变更内容和变更范围)
日期
变更人
批准日期
批准人
V1.0
C
初次创建
2004-07-21
CMMI事业部
*变化状态:
C――创建,A——增加,M——修改,D——删除
文档审批信息
序号
审批人
角色
审批日期
签字
备注
前言
技术解决方案的目的在于开发、设计和实现满足需求的解决方案。
解决方案、设计和实现等都围绕产品、产品构件和与过程有关的产品。
第一章简介
一.1目的
本过程目的在于提供开发、设计和实现满足需求解决方案的过程,是项目工程过程的核心。
主要包括选择产品构件解决方案、开发设计、实现产品设计和实施建议等内容。
本部分内容是OOSP组织标准过程的中相关内容的细化。
一.2适用范围
本文档的适用范围为组织内所有软件项目。
一.3术语表
组织标准软件过程(OSSP):
可在组织内使用的基本过程定义,用它来引导建立项目的一般软件过程。
它描述每个软件项目打算并入自己的项目定义的软件过程中的基本软件过程要素,还描述这些软件过程要素之间的关系(如排序和接口);
一.4参考资料
第二章过程总体描述
二.1组织内部过程框架总览
图表1组织过程总览
二.2过程概述
组织过程分为项目管理、项目工程和项目支持部分,在本过程中主要描述PH2部分内容。
第三章过程元素描述
三.1概要设计
三.1.1概述
分析与设计具有预定功能的软件系统体系结构(即模块结构),确定子系统、功能模块的功能及其间的内、外接口,确定数据结构。
三.1.2参与人员
项目经理:
组织进行概要设计,组织相关人员进行概要设计文档评审
系统设计人员:
进行概要设计,评审概要设计文档
软件测试人员:
集成测试设计
三.1.3入口准则
《产品需求规格说明书》已经制定,评审通过
三.1.4输入
《产品需求规格说明书》
三.1.5任务
三.1.5.1设计方法
面向结构(数据流)设计方法:
结合《软件需求规格说明书》及系统不同层次的数据流图,把整个系统分解为模块并确定各模块功能,确定每个功能模块的输入、转换和输出数据流,并考虑各方面数据接口、存储方式等。
迭代逐步分解各系统模块,直到确定每个功能模块只执行一个行为为止,同时细化数据结构设计,完善数据字典以确保系统能获得所需的输出结果,从而完成系统构架设计。
1.面向对象设计方法:
结合《软件需求规格说明书》(包括快速原型分析模型、类模型)和系统选用的编程语言,确定客户类(包括子类)及类的各种行为,并使用设计模型及相应的列表,确定每个对象的客户(模块)关联,并给予必要的方法设计。
迭代逐步检查对象及其方法,直到系统中每个对象拥有所有必需的方法,从而完成系统构架设计。
三.1.5.2工作步骤
2.项目经理确定系统设计人员,并讨论确定阶段出口准则,通盘考虑并跟踪上游顺延下来的进度、技术难度等风险、问题,与相关人员沟通,制定阶段计划。
必要时,请高层参与问题解决;
3.评估、确认需求分析结果,并对可重用的软件或功能模块进行性能测试,通盘考虑整个系统结构、功能扩展性;
三.1.5.2.1系统体系结构设计:
4.用选定的工具(如需求功能矩阵表等)和开发计划设定的交付方式(如小版本渐进交付)及设计方法,结合设计原则(如功能模块化等),将系统分解为若干子系统、功能模块,并确定子系统、功能模块及其间的关系;
5.确定子系统、功能模块间的约束、假设和依赖(如系统运行环境和开发、测试环境等,并考虑系统并发性和分布性要求);
6.结合以上内容,对系统的模块逻辑实现和集成方法进行设计,降低使软件难于实现、测试(必要时测试人员参与讨论)、维护的因素,形成高内聚、低耦合的系统体系结构;
7.定义错误处理和恢复策略,对可能出现的故障进行分解,确定处理对策;
三.1.5.2.2数据体系结构设计:
8.确定项目数据库设计规则以便于系统统一,其中包括:
库命名,逻辑设计,物理设计,安全性设计及优化,管理规则等;
9.数据库设计一般要经过“逻辑设计→物理设计→安全性设计→优化”等步骤,通常要迭代进行:
10.逻辑设计
分析软件系统模块及其之间的数据操作,使用抽象数据类型设计,转换数据对象的属性及其关联、接口等内容,设计并完善数据字典及其约束条件,实现数据的变量封装结构设计。
面向结构设计方法中为创建与数据库相关的数据流图或实体关系图;若采用面向对象方法,则分析类信息传递内容,并创建类图;
11.物理设计
设计表结构,与实体关系图或类图相结合;对表结构进行规范化处理;
12.安全性设计
考虑数据库的登陆访问限制,用户密码加密,操作访问权限等系统安全设计;
13.优化
分析并优化数据库的“时—空”(即性能,容量等)效率,尽可能“提高处理速度”并且“降低数据占用空间”。
分析“时—空”效率的瓶颈,找出优化对象(目标),并确定优先级;
消除对象(目标)间的对抗性,必要时给出折中方案;
给出优化的具体措施,如逐步评估、优化数据库环境参数,对表格进行反规范化处理等,坚持信息隐蔽等原则,加强数据设计可维护性;
三.1.5.2.3接口(包括用户界面)设计:
与客户、测试人员交流界面设计需求,明确用户界面、接口设计规则,包括:
标准控件的使用规则,通用界面(包括主界面和子界面等)、接口设计原则等;
14.界面设计
分析需求说明中对用户界面的需求,实施用户界面设计,包括界面及其关系、工作流程等,必要时采取原型设计,并请客户或同行评估后细化改进;
15.接口设计
扩展子系统或功能模块及其之间的关系和限制条件,实施系统所需的接口设计,并消除冗余后,完善系统的数据流图,必要时形成功能说明和操作方式。
若面向对象方法,则为子系统包、类间的属性、方法等设计;
由测试人员参与完善测试接口设计;
结合系统错误处理和数据验证方法,验证接口设计结果,并逆向需求求证;
确定新开发、采购和复用方案
利用决策分析和决定过程确定新开发、采购和复用方案。
三.1.5.3整合及评审
16.根据设计方法及其设计结果,项目经理负责采用指定的概要设计说明书、数据库设计说明书模板(必要时结合数据字典或类图)描述设计体系结构内容;
17.根据设计结果完善、更新、充实用户文档(初稿)相应内容;
18.指定需求跟踪人负责跟踪系统设计结果,完善需求功能矩阵表;
19.测试人员负责对系统设计结果进行可测试性验证;
20.项目经理或客户委派专人负责组织对设计的工作产品根据《评审规程》执行评审。
三.1.6出口准则
《概要设计文档》评审通过
三.1.7输出
《概要设计说明书》
三.1.8度量
形成《概要设计说明书》所花的工时
评审《概要设计说明书》所花的工时
三.2详细设计
三.2.1概述
详细设计系统所有模块的主要接口与属性、数据结构和算法,指导模块编程。
三.2.2参与人员
项目经理:
组织进行详细设计,组织相关人员进行详细设计文档评审
系统设计人员:
进行详细设计,评审详细设计文档
软件测试人员:
进行单元测试设计
三.2.3入口准则
《概要设计说明书》评审通过
三.2.4输入
《概要设计说明书》
三.2.5任务
三.2.5.1细化系统设计
21.项目经理确定详细设计人员,并通盘考虑上游顺延下来的进度、技术难度风险、问题,制定阶段工作计划,确定阶段出口准则。
必要时,请高层参与解决问题;
22.项目经理配合详细设计人员对概要设计方案进行评估,项目组间或组内达成共识;
23.结合设计方法、工具、需求文档和软件系统体系结构设计文档,逐步细化设计每个功能模块的主要接口与属性,必要时还须细化每个用户界面;若采用面向对象方法,则为设计类的函数和成员变量;
24.细化设计每个功能模块的数据结构与算法(若存在的话),并提高其效率,确认并完善重用软件及模块单元的算法和处理流程,确保系统一致性;
25.对重要的设计元素,需要根据《SPEC模版》编写程序规格说明书(简称SPEC);
26.处理数据流程并充分考虑系统限制,逐步完善系统集成方案;
27.指定需求跟踪负责人对需求状态进行跟踪,完善需求功能矩阵表,若发现问题,登记到《项目问题日志》中;
28.重复执行以上步骤直到达到出口准则;
三.2.5.2整合及评审
29.项目经理负责组织整合设计内容,编写《详细设计说明书》并完善用户文档;
项目经理负责组织对阶段工作产品的验证和评审,根据《评审规程》执行评审;
三.2.6出口准则
《详细设计文档》评审通过
需求跟踪结果一致
三.2.7输出
《详细设计说明书》
《单元测试用例》
三.2.8度量
形成《详细设计说明书》所花的工时
评审《详细设计说明书》所花的工时
三.3编码及单元测试
三.3.1概述
依据计划把系统设计文档翻译成整个系统的模块代码,并完成代码的审查和单元测试。
三.3.2参与人员
项目经理:
组织编码及单元测试工作
开发人员:
编码
单元测试人员:
单元测试。
可由编码人员兼职
三.3.3入口准则
《详细设计说明书》已经制定,评审通过
三.3.4输入
《详细设计说明书》
《数据库设计说明书》
三.3.5任务
三.3.5.1工作步骤
30.项目经理确定开发人员,通盘考虑上游顺延下来的进度、技术难度等风险、问题,制定阶段工作计划,确定阶段出口准则,必要时,请高层参与问题解决;
31.根据组织级的《编码规则》,确定适用于项目组的编码规则,统一定义有意义的变量名、模块名,注释规则,提高程序的可靠性和可维护性;
32.必要时在各编码组内对临时的编译环境和调试方法进行约束;
三.3.5.2编码:
33.开发人员实施阶段计划,组建开发环境,避免硬件操作系统等的不兼容风险;
34.开发人员基于架构设计、模块优先级及集成实现方式,按计划时序在配置环境下把功能模块翻译成代码,并进行必要的调试和代码走查;
35.指定人员按计划依据《编码规则》对配置库中的提交代码进行同行评审;
36.指定需求跟踪负责人对需求进行跟踪,完善需求模块功能矩阵表,若发现问题,形成跟踪报告,提交项目经理或高层经理寻求解决方案
三.3.5.3单元测试:
(详见软件测试规程中相应内容)
37.单元测试人员(或开发人员)编写单元测试用例;
38.在预定测试环境下,单元测试人员依据单元测试计划和测试用例实施测试活动;
39.采用测试管理工具跟踪、管理测试和BUG回归过程;
40.项目经理或测试负责人按计划评估测试结果,直到达到单元测试出口准则为止;
41.把达到出口条件的源代码纳入配置库管理,以便进行下一轮测试。
三.3.6出口准则
代码编写完成,完成走查
测试缺陷全部解决
需求跟踪结果一致
三.3.7输出
代码
三.3.8度量
编写代码所花的工时
走查代码所花的工时
解决缺陷所花的工时
三.4编制产品支持文档
三.4.1概述
依据《产品需求规格说明书》等所有技术文档,编制并维护用于产品安装、运行和维护的文档。
三.4.2参与人员
项目经理:
组织文档编写工作
文档人员:
编写文档
相关人员:
评审文档
三.4.3入口准则
系统测试完成
三.4.4输入
《用户需求说明》
《详细设计说明书》
《测试用例》
三.4.5任务
三.4.5.1审查需求、设计、产品和测试结果
审查需求、设计、产品和测试结果,以确保发现那些影响安装、运行和维护的问题并加以解决。
三.4.5.2编制安装、运行和维护的文档
依据所有技术文档和相关模板编写《最终用户培训材料》、《用户手册》、《操作手册》、《维护手册》、《在线帮助》文档。
三.4.5.3评审安装、运行和维护的文档
组织相关人员对《最终用户培训材料》、《用户手册》、《操作手册》、《维护手册》、《在线帮助》文档进行同行评审,同行评审流程参见《评审规程》
三.4.5.4修改和维护安装、运行和维护的文档
必要时修改和维护《最终用户培训材料》、《用户手册》、《操作手册》、《维护手册》、《在线帮助》文档。
三.4.6出口准则
产品支持文档编写完成
三.4.7输出
产品支持文档
三.4.8度量
编写产品支持文档花费的工时十你若真见过那些强者打拼的样子,就一定会明白,那些人之所以能达到别人到不了的高度,全是因为他们吃过许多别人吃不了的苦。
这世上从来就没有横空出世的运气,只有不为人知的努力。