技术解决方案过程.docx
《技术解决方案过程.docx》由会员分享,可在线阅读,更多相关《技术解决方案过程.docx(12页珍藏版)》请在冰豆网上搜索。
技术解决方案过程
技术解决方案过程
文档编号:
FHI_CMMI_TS_PRS
文档信息:
技术解决方案过程
文档名称:
技术解决方案过程
文档类别:
CMMI过程
密级:
内部秘密
版本信息:
1.1
建立日期:
2016-1-5
创建人:
EPG
批准人:
李庆林
批准日期:
2016.2.25
存放位置:
集成公司组织资产库/组织标准过程
编辑软件:
MicrosoftOffice2003中文版
文档修订记录
版本编号或者更改记录编号
变化状态
简要说明(变更内容和变更范围)
修改日期
变更人
批准日期
批准人
V1.0
C
创建
2016-1-5
张娜娜
2016-2-25
李庆林
V1.1
M
文档编号去掉版本号
2016-4-17
邓沛沛
2016-4-17
李庆林
*变化状态:
C――创建,A——增加,M——修改,D——删除
1简介
技术解决方案的目的在于开发、设计和实现满足需求的解决方案。
解决方案、设计和实现等都围绕产品、产品构件和与过程有关的产品。
1.1目的
本过程目的在于提供开发、设计和实现满足需求解决方案的过程,是项目工程过程的核心。
主要包括选择产品构件解决方案、开发设计、实现产品设计和实施建议等内容。
本部分内容是OSSP组织标准过程的中相关内容的细化。
1.2适用范围
本文档的适用范围为组织内所有软件项目。
1.3术语表
组织标准软件过程(OSSP):
可在组织内使用的基本过程定义,用它来引导建立项目的一般软件过程。
它描述每个软件项目打算并入自己的项目定义的软件过程中的基本软件过程要素,还描述这些软件过程要素之间的关系(如排序和接口)。
1.4参考资料
无。
2
本过程文件描述的内容
过程总体描述
2.1组织内部过程框架总览
图表1组织过程总览
2.2过程概述
组织过程分为项目管理、项目工程和项目支持部分,在本过程中主要描述PH2部分内容。
本部分过程是在需求开发任务完成,用户需求分析说明书已被批准纳入需求基线。
详细流程如下:
图表2TS过程流程元素
3过程元素描述
3.1概要设计
3.1.1概述
分析与设计具有预定功能的软件系统体系结构(即模块结构),确定子系统、功能模块的功能及其间的内、外接口,确定数据结构。
3.1.2参与人员
●项目经理:
组织进行概要设计,组织相关人员进行概要设计文档评审
●系统设计人员:
进行概要设计,评审概要设计文档
●软件测试人员:
集成测试设计
3.1.3入口准则
《软件需求规格说明书》已经制定,评审通过
3.1.4输入
《软件需求规格说明书》
3.1.5任务
3.1.5.1设计方法
⏹面向结构(数据流)设计方法:
结合《软件需求规格说明书》及系统不同层次的数据流图,把整个系统分解为模块并确定各模块功能,确定每个功能模块的输入、转换和输出数据流,并考虑各方面数据接口、存储方式等。
迭代逐步分解各系统模块,直到确定每个功能模块只执行一个行为为止,同时细化数据结构设计,完善数据字典以确保系统能获得所需的输出结果,从而完成系统构架设计。
⏹面向对象设计方法:
结合《软件需求规格说明书》(包括快速原型分析模型、类模型)和系统选用的编程语言,确定客户类(包括子类)及类的各种行为,并使用设计模型及相应的列表,确定每个对象的客户(模块)关联,并给予必要的方法设计。
迭代逐步检查对象及其方法,直到系统中每个对象拥有所有必需的方法,从而完成系统构架设计。
3.1.5.2工作步骤
1、项目经理确定系统设计人员,并讨论确定阶段出口准则,通盘考虑并跟踪上游顺延下来的
进度、技术难度等风险、问题,与相关人员沟通,制定阶段计划。
必要时,请高层参与问题解
决;
2、评估、确认需求分析结果,并对可重用的软件或功能模块进行性能测试,通盘考虑整个系统
结构、功能扩展性。
3.1.5.2.1.系统体系结构设计
1、用选定的工具(如需求功能矩阵表等)和开发计划设定的交付方式(如小版本渐进交付)及设计方法,结合设计原则(如功能模块化等),将系统分解为若干子系统、功能模块,并确定子系统、功能模块及其间的关系;
2、确定子系统、功能模块间的约束、假设和依赖(如系统运行环境和开发、测试环境等,并考虑系统并发性和分布性要求);
3、结合以上内容,对系统的模块逻辑实现和集成方法进行设计,降低使软件难于实现、测试(必要时测试人员参与讨论)、维护的因素,形成高内聚、低耦合的系统体系结构;
4、定义错误处理和恢复策略,对可能出现的故障进行分解,确定处理对策;
5、在进行上述关乎系统体系结构设计工作时要有一套以上设计方案,每套方案对系统关键点进行不同设计,利用决策分析和决定过程确定方案。
最终方案通过小组评审或正式评审确定最终方案,其它方案作为预备方案。
3.1.5.2.2.数据体系结构设计
1、确定项目数据库设计规则以便于系统统一,其中包括:
库命名,逻辑设计,物理设计,安全性设计及优化,管理规则等;
2、数据库设计一般要经过“逻辑设计→物理设计→安全性设计→优化”等步骤,通常要迭代进行:
A.逻辑设计
分析软件系统模块及其之间的数据操作,使用抽象数据类型设计,转换数据对象的属性及其关联、接口等内容,设计并完善数据字典及其约束条件,实现数据的变量封装结构设计。
面向结构设计方法中为创建与数据库相关的数据流图或实体关系图;若采用面向对象方法,则分析类信息传递内容,并创建类图;
B.物理设计
设计表结构,与实体关系图或类图相结合;对表结构进行规范化处理;
C.安全性设计
考虑数据库的登陆访问限制,用户密码加密,操作访问权限等系统安全设计;
D.优化
分析并优化数据库的“时—空”(即性能,容量等)效率,尽可能“提高处理速度”并且“降低数据占用空间”。
Ø分析“时—空”效率的瓶颈,找出优化对象(目标),并确定优先级;
Ø消除对象(目标)间的对抗性,必要时给出折中方案;
Ø给出优化的具体措施,如逐步评估、优化数据库环境参数,对表格进行反规范化处理等,坚持信息隐蔽等原则,加强数据设计可维护性;
3.1.5.2.3.接口(包括用户界面)设计
与客户、测试人员交流界面设计需求,明确用户界面、接口设计规则,包括:
标准控件的使用规则,通用界面(包括主界面和子界面等)、接口设计原则等;
1、界面设计
分析需求说明中对用户界面的需求,实施用户界面设计,包括界面及其关系、工作流程等,必要时采取原型设计,并请客户或同行评估后细化改进;
2、接口设计
Ø扩展子系统或功能模块及其之间的关系和限制条件,实施系统所需的接口设计,并消除冗余后,完善系统的数据流图,必要时形成功能说明和操作方式。
若面向对象方法,则为子系统包、类间的属性、方法等设计;
Ø由测试人员参与完善测试接口设计;
Ø结合系统错误处理和数据验证方法,验证接口设计结果,并逆向需求求证;
3、确定新开发、采购和复用方案
Ø利用决策分析和决定过程确定新开发、采购和复用方案。
3.1.5.3整合及评审
1、根据设计方法及其设计结果,项目经理负责采用指定的概要设计说明书、数据库设计说明书模板(必要时结合数据字典或类图)描述设计体系结构内容;
2、根据设计结果完善、更新、充实用户文档(初稿)相应内容;
3、指定需求跟踪人负责跟踪系统设计结果,完善需求功能矩阵表;
4、测试人员负责对系统设计结果进行可测试性验证;
5、项目经理或客户委派专人负责组织对设计的工作产品根据《评审规程》执行评审。
6、评审通过的工作产品纳入配置基线管理。
3.1.6出口准则
《概要设计文档》评审通过
3.1.7输出
《概要设计说明书》
3.1.8资源和能力要求
项目经理具有组织项目开发、同行评审的能力。
系统设计人员具有进行软件概要设计的能力。
软件测试人员具有进行集成测试设计的能力。
3.2详细设计
3.2.1概述
详细设计系统所有模块的主要接口与属性、数据结构和算法,指导模块编程。
3.2.2参与人员
项目经理:
组织进行详细设计,组织相关人员进行详细设计文档评审
系统设计人员:
进行详细设计,评审详细设计文档
开发人员:
进行单元测试设计
3.2.3入口准则
《概要设计说明书》评审通过
3.2.4输入
《概要设计说明书》
3.2.5任务
3.2.5.1细化系统设计
1、项目经理确定详细设计人员,并通盘考虑上游顺延下来的进度、技术难度风险、问题,制定阶段工作计划,确定阶段出口准则。
必要时,请高层参与解决问题;
2、项目经理配合详细设计人员对概要设计方案进行评估,项目组间或组内达成共识;
3、结合设计方法、工具、需求文档和软件系统体系结构设计文档,逐步细化设计每个功能模块的主要接口与属性,必要时还须细化每个用户界面;若采用面向对象方法,则为设计类的函数和成员变量;
4、细化设计每个功能模块的数据结构与算法(若存在的话),并提高其效率,确认并完善重用软件及模块单元的算法和处理流程,确保系统一致性;
5、处理数据流程并充分考虑系统限制,逐步完善系统集成方案;
6、指定需求跟踪负责人对需求状态进行跟踪,完善需求跟踪矩阵表,若发现问题,登记到《项目问题日志》中;
7、重复执行以上步骤直到达到出口准则;
8、在进行系统细化设计时,对重用部件接口、算法、关键技术方案的设计,要求有一套以上设计方案,利用决策分析和决定过程确定最佳设计。
其它优秀方案作为预备方案。
3.2.5.2整合及评审
1、项目经理负责组织整合设计内容,编写《详细设计说明书》并完善用户文档;
2、项目经理负责组织对阶段工作产品的验证和评审,根据《评审规程》执行评审;
3、评审通过的工作产品纳入配置基线管理。
3.2.6出口准则
《详细设计文档》评审通过
需求跟踪结果一致
3.2.7输出
《详细设计说明书》
《单元测试用例》(可选)
3.2.8资源和能力要求
项目经理具有组织项目设计、同行评审的能力。
系统设计人员具有进行软件详细设计的能力。
开发人员具有进行单元测试设计的能力。
3.3编码及单元测试
3.3.1概述
依据计划把系统设计文档翻译成整个系统的模块代码,并完成代码的审查和单元测试。
3.3.2参与人员
●项目经理:
组织编码及单元测试工作
●开发人员:
编码
●开发人员:
单元测试。
如项目组有单元测试人员,由单元测试人员负责。
3.3.3入口准则
《详细设计说明书》已经制定,评审通过
3.3.4输入
《详细设计说明书》
《数据库设计说明书》
3.3.5任务
3.3.5.1工作步骤
1、项目经理确定开发人员,通盘考虑上游顺延下来的进度、技术难度等风险、问题,制定阶段工作计划,确定阶段出口准则,必要时,请高层参与问题解决;
2、根据组织级的《编码规范》,确定适用于项目组的编码规则,统一定义有意义的变量名、模块名,注释规则,提高程序的可靠性和可维护性;
3、必要时在各编码组内对临时的编译环境和调试方法进行约束;
3.3.5.2编码
1、开发人员实施阶段计划,组建开发环境,避免硬件操作系统等的不兼容风险;
2、开发人员基于架构设计、模块优先级及集成实现方式,按计划时序在配置环境下把功能模块翻译成代码,并进行必要的调试和代码走查;
3、指定人员按计划依据《编码规范》对配置库中的提交代码进行同行评审;
4、指定需求跟踪负责人对需求进行跟踪,完善需求模块功能矩阵表,若发现问题,形成跟踪报告,提交项目经理或高层经理寻求解决方案。
3.3.5.3单元测试
(详见软件测试规程中相应内容)
1、单元测试人员(或开发人员)编写单元测试用例;
2、在预定测试环境下