角色职责
设计人员 | 开发人员 | 测试人员 | 质量管理人员 | 项目负责人 | |
建立产品集成计划 | 评审 | 评审 | 评审 | 评审 | 建立 |
制定详细的产品集成规程 |
| 支持 | 制订 | 制定 | 检查 |
建立产品集成环境 |
| 建立 | 测试 | 检查 |
|
审查接口描述的完备性 |
| 检查 | 检查 |
|
|
管理接口 | 管理 | 支持 | 测试 | 检查 | 审核 |
确认集成用的产品构件已经准备就绪 |
| 提供 | 检查 | 确认 |
|
集成产品构件 | 支持 | 集成 | 测试 |
| 审核 |
核查集成的产品构件 | 评审 | 评审 | 评审 | 评审 | 评审 |
打包交付产品或产品构件 |
| 执行 | 测试 |
| 检查 |
技能要求
人员职责 | 备注 | |
设计人员 | 熟悉通用的设计与开发技术; 熟悉公司技术力量和产品积累; 熟悉建模工具的操作使用 | |
开发人员 | 具有识别“标准设计表示方法”的能力; 精通实现“产品构件”的开发工具 熟悉文档编辑工具; 熟悉产品安装及维护流程; 熟悉产品的使用方法和技巧 | |
测试小组 | 熟悉通用的测试方法; 熟悉通用的测试工具 | |
项目经理 | 熟悉项目管理; 熟悉客户行业的业务知识; 精通通用的设计与开发技术; 熟悉公司技术力量和产品积累; 熟悉需求开发及分析方法; 熟悉办公软件的操作使用; 熟悉建模工具的操作使用。 |
1计划产品集成
1.1概述
对不同规模和不同应用类型项目计划集成的程度不同,对大规模的系统,必须要有一个明确的、统一的集成计划,集成计划内容符合软件开发计划中的进度、资源安排,但在实施集成之前,要在软件开发计划的基础上细化。细化集成计划的时机可根据项目情况选择在设计完成后或在编码完成后。
1.2参与人员
1.2.1设计人员
- 负责对需要集成的组件或者模块进行识别和整理,形成初步的集成资源内容和顺序清单。
- 负责评审时对组件或模块集成的内容、顺序、关联性、优先级等进行解释和答疑。
- 参与评审集成计划。
1.2.2项目负责人
- 负责建立集成计划。
- 负责评审时对集成计划进行解释和答疑。
1.2.3开发人员
- 参与可交付物清单和集成计划的评审。
- 测试人员或质量保证员
- 参与可交付物清单和集成计划的评审。
1.3入口准则
- 《详细设计说明书》通过评审,系统待开发。
1.4 输入
- 软件开发计划,集成计划的内容应该符合开发计划中明确的进度、资源等内容。
- 《需求规格说明书》。
- 《软件设计说明书》或《软件详细设计说明书》,设计文档中定义的系统体系结构是制订集成策略的基础.。
- 《接口定义表》等产品构件及其说明资料。
1.5活动
识别待集成产品的组件
产品集成前,产品设计人员需要对待集成的产品进行分析和识别,制定产品集成的内容清单和集成顺序等策略。
首先根据系统体系结构、需求规格说明中的功能关键路径和项目计划中的内容确定集成组件或模块,及其集成的顺序。
其次,需要确定集成关键支撑技术,比如在组件系统中,采用的组件协议是关键,不过一般这种协议在项目设计中已给出(COM/J2EE/CORBAR)。在协议的基础上明确采用哪种类型的集成环境。
检查集成计划中的集成策略
设计人员代表、开发人员代表、质量保证、测试人员参与产品集成计划中集成策略的检查。对集成策略清单的评审需要建立已完集成单元实现的基础上。集成策略清单经过评审后,项目负责人开始着手制定集成计划。
建立集成计划
项目负责人在明确基本集成思路的基础上,进一步综合考虑项目进度的要求,进一步划分集成内容,界定集成单元,落实集成任务,确定集成的进度表。
评审集成计划
由项目负责人主持,设计人员代表、质量保证、测试人员参加对集成计划的评审。
1.5出口准则
- 《产品集成计划》评审通过。
1.6输出
- 《产品集成计划》
- 《评审报告》
2准备产品集成
2.1概述
在不同的项目中,产品集成环境起到不同的作用,在异地开发项目中,产品集成环境起到至关重要的作用。不论是哪种项目开发,在实施产品集成前要搭建好集成环境。
2.2参与人员
2.2.1开发人员:
- 建立和维护集成环境。
2.2.2设计人员
- 管理接口,做好接口的配置管理。
- 做好接口的变更管理。
2.2.3项目负责人
- 对集成标准进行检查,确保按照项目目标实施。
2.2.4质量保证或测试工程师
- 建立和制定集成测试的准则和标准。
- 对集成环境进行检查,提出面向测试的意见整改意见。
2.3入口准则
产品集成计划完成。
2.4输入
产品集成计划。
2.5活动
2.5.1制定集成准则
质量管理员应在集成计划评审后,迅速建立产品集成的标准。标准包括了:
集成时机:一般单元测试阶段完成后,就可以开始做产品集成。
集成频率:在条件允许的情况下,建议项目组每天集成或者每几天集成一次,或者在项目进入集成测试阶段每天集成多次。
集成时间:集成时间需要统一规定。例如项目组可以规定某天下午16:00打包,15:30前每个开发人员必须提交所有源码以供集成。
确定将要集成的关键模块,集成的顺序,集成的方法,需要测试的接口、集成验证的规程等。
从配置库中获取正确的待集成文件之前,负责配置管理的人员应取消开发人员在配置库“写”的操作权限。
注意:编译的中间产物不能放入配置库中,如错误代码文件等,避免导致编译工具发现已经有编译好的中间文件,不再重新编译生成新的文件。
2.5.2建立集成环境
开发人员在集成前建立编译、集成的环境,包括硬件环境、网络环境、软件环境(如:Windows、Linux、Macs等),确认关键系统的版本(如:STM、依赖库等)。
必须确保集成用的机器是干净的机器,即不安装与编译、集成无关的程序。如果项目有特殊的要求,可以在项目计划中给予明确。
2.5.3准备待集成的文件
在集成前,开发人员在单元测试完成后将各自的最新源代码、外部依赖库文件和产品集成注意事项提交到配置库。负责配置管理的人员应取消开发人员在配置库“写”的操作权限。
2.6出口准则
物理集成环境建立。
2.7输出
产品集成环境检查表(检查项)。
集成环境配置清单。
产品集成环境检查表(整改项)。
物理集成环境。
3实施产品集成
3.1概述
在该过程中实际实施集成,按照集成计划把待集成单元组装起来。
3.2参与人员
3.2.1设计人员
确认集成单元,管理接口变更。
3.2.2开发人员
- 确认集成单元,提出接口变更请求。
- 组装集成单元。
- 修改集成测试中出现的软件缺陷。
- 维护集成环境。
- 制作产品交付物并修改不合格项。
3.2.3测试人员
- 监控集成单元的状态。
- 监控集成测试环境的状态。
- 根据集成测试规范对集成单元做组装测试。
- 发现的缺陷记录到缺陷管理系统。
- 对产品交付物进行测试,重点放在产品集成结果是否达标。
3.2.4项目负责人
实施项目监控,做项目定期例会。
主持产品集成评审会议。
检查最终交付物。
3.3入口准则
待集成单元完成。
集成环境准备就绪。
3.4输入
待集成单元首先应该满足一定的集成入口条件才能成为待集成单元。在每个单元提交给集成时必须一同提交单元的配置管理状态,这些配置管理状态组成了单元的产品集成基线。
产品集成计划,按照集成计划执行集成流程。
3.5活动
确认集成单元
在实施单元组装前,检查待集成单元是否到位并且满足进入集成的条件,对未满足集成条件的单元不能集成。如果集成单元是代码,检查集成单元是否经过测试和质量检查;对基线内的集成单元,则确认是否进行基线审计以及CCB的批准。
从配置库中构造集成单元
开发人员从配置库构造集成单元,构造方法参见《配置管理过程》之软件产品的构造和发布。
组装集成单元
开发人员按照接口定义组装单元。
组装后的产品交付物提交控制配置库。
项目负责人核实编码完成情况后可提交测试申请。
集成产品状态的控制
测试人员利用集成构建工具对提交到控制配置库中的版本代码进行测试产品的发布与部署。
测试人员和项目负责人共同维护集成产品的版本和状态。
测试人员对正在构建的中间产品进行状态监控,并对检测的异常结果发布电子邮件或报告。
测试人员应对发布的中间产品做集成测试,对产品的功能和结果进行验证和确认。
测试人员出具集成测试报告。
待发布产品的评审
所有的项目组成员在产品通过集成测试后,召开评审会议对产品目标和能力、质量文档进行评审。
集成产品的发布
开发人员对源代码进行打包,制作可交付的产品。
质量管理员对产品交付物检查,重点检查可交付物的完备性。
项目负责人对产品交付物做检查确认后即可发布。
控制接口变更
在组装过程中,设计人员对接口变更严格按照配置管理中的变更请求过程进行控制管理。
3.6出口准则
完成产品评审。
通过项目负责人检查和确认。
完成系统的基本集成出口条件是完成接口的单元测试。集成过程的输出可能是递增式的,在一个集成阶段完成输出一部分的已集成系统,形成集成Build(基线),在此基础上,测试过程就可针对该Build进行集成测试。
3.7输出
- 测试申请单。
- 需求跟踪矩阵表。
- 集成测试用例。
- 集成测试报告。
- 产品评审报告。
- 已完成集成的系统。
- 可交付物清单。
4挂起、恢复和退出条件
4.1挂起
进入第一轮测试,测试人员大体了解一下产品情况,如果在一小时之内发现5个以上(含5个)操作性错误,或者3个以上(含3个)功能性错误,则冒烟测试未通过,退回单元测试组测试;
- 遇到有项目优先级更高的集成测试任务;
- 遇到有项目优先级更高的集成任务;
- 在测试复测过程中发现产品无法运行下去;
- 人员,设备不足;
- 重大突发紧急情况;
4.2恢复
符合进入集成测试条件(一小时之内发现5个以下(不含5个)操作性错误,或者3个以下(不含3个)功能性错误)通过冒烟测试;
- 项目优先级更高的集成测试任务暂告完成;
- 项目优先级更高的集成任务暂告完成;
- 复测过程中产品可以运行下去;
- 人员,设备到位;
- 突发事件处理完成;
4.2退出
- 项目因故终止;
- 不可抗力:合同专用条款中约定等级以上的自然灾害也属不可抗力;
- 其他原因的测试工作频频被挂起或者挂起后迟迟恢复不了,并过了客户要求的时期