价值:通过给客户一个满足或超过其功能和质量要求的解决方案来提高客户的满意度。

1.1.1 制定产品集成计划
项目经理指定合适的项目组成员负责产品集成工作,产品集成工作首先要制定产品集成计划,计划的内容包括:确定集成顺序、集成的环境、以及制定集成标准。
1.1.1.1 确定集成顺序在概要设计阶段的“功能设计”和“接口设计”完成以后,应识别待集成的产品组件,制定集成顺序,并在产品生命周期过程中的里程碑处审查产品的集成顺序,必要时加以修改。
通常情况下,待集成的产品组件包括:程序级和模块级。
程序级接口是指多层架构的程序设计中,程序与程序之间的接口设计;接口的调用是为了实现完整的子模块功能。
模块级接口是指软件的子功能模块之间的接口。
项目组可以根据项目的具体情况,选择集成的产品组件是程序级、模块级还是二者兼有。
产品集成顺序的确定应该与产品、产品组件的设计和选择解决方案工作协调进行,集成的顺序与产品的架构设计以及产品组件开发的顺序、进度、开发任务分配的方式相关。项目组内产品集成的负责人将确定的产品组件集成顺序记录在《产品集成计划》中。
1.1.1.2 确定和验证产品集成环境产品集成环境可以通过自己开发、客户/组织已有环境来获得。产品集成过程中的每一步所要求的环境都需要进一步明确,包括测试设备、模拟工具(在没有可用的产品组件时使用)、实际设备和记录设备。在概要设计阶段的“功能设计”和“接口设计”完成以后,将确定的产品集成环境和搭建过程记录在《产品集成计划》中。
如果产品集成的环境需要项目组开发,则应将其作为一个需求纳入到需求说明书中,并在后续的过程中按照其他需求的实现过程进行实现,如果用客户/组织内已有的环境,则需要对建立好的产品集成环境进行验证。
一般情况下,产品集成环境应该与产品开发环境一致
1.1.1.3 建立产品集成标准项目应建立产品的集成标准,包括产品集成的进入准则、出口准则、集成工作中的限制以及对集成测试的要求。
一般情况下,产品集成的进入准则包括如下方面:
1. 所有待集成的产品已经进行过代码走查,并符合项目制定的代码阶段的质量目标和代码走查的覆盖率;
2. 所有待集成的产品组件已经开发完毕;
3. 所有待集成的产品已经通过单元测试,且在单元测试中发现的问题已经修改至满足单元测试的出口标准;
4. 产品的集成环境已经建立并通过验证;
5. 相关接口验证已经完成。
待集成的产品组件是复用组件时,可以忽略1-3 。
产品集成的出口准则包括如下方面:
1. 集成后的产品通过集成测试,并达到集成测试的出口标准;
2. 集成后的产品达到预期的目标,包括功能、性能、以及接口的兼容性等方面的正确性。
项目可根据项目的实际情况对上述准则进行修订,修订的结果记录在《产品集成计划》中。
1.1.2 审查接口的兼容性审查接口的兼容性工作在概要设计阶段的“功能设计”和“接口设计”完成以后进行。
项目组按照设计阶段定义好的接口类型,确定接口与产品组件、产品集成环境、外部环境之间(包括软件运行的环境、客户已有的其他应用等)的关系。具体参见《概要设计说明书》文档内容。
接口一旦建立,项目组应对接口描述进行评审,以确保该描述与正在开发的或购买的产品之间没有偏离。将评审结果记录在《概要设计评审报告》中。主要评审用户接口设计是否正确全面;是否包含有软件与硬件接口设计,其是否正确且全面;是否包含有本系统和其他各支持系统的接口设计,其是否正确且全面;本系统内部各个系统元素之间的接口是否正确且全面;是否描述了各类接口的功能、各接口与其他接口或模块之间的关系,以及接口的设计是否具有可测试性等,最终形成《接口关系管理表》。
在每里程碑处及接口发生变更时,跟踪接口与产品组件、产品集成环境的对应关系,及时维护更新接口文档,确保各接口的一致性,以解决接口的冲突、不符合和变更问题。
1.1.3 组装产品组件根据《产品集成计划》进行产品组件的集成工作。在集成之前,必须确认每个产品组件都与其接口需求相吻合。把产品组件组装成一些较大的、较复杂的产品组件。
1.1.3.1 检查待集成产品组件,确认集成准备就绪项目组产品集成的负责人依据《产品集成计划》对产品组件进行检查,确认产品组件是否已经满足集成的进入准则,可以进行组装集成的工作。
1.1.3.2 集成产品组件当满足产品集成进入准则时,项目组将进行组件的集成工作。值得注意的是,该集成活动和下一步的评价活动应反复地交替进行,它始于最初的产品组件,经过产品组件的中间组装,直到最后集成为整个产品。
1.1.4 验证活动验证活动一般通过测试的方式进行,测试按阶段分为:集成测试、系统测试等。
组装产品组件完成后,要通过集成测试的方式来检查这些已组装的产品组件是否能正确运行。这样的“组装-测试”过程要反复进行,直到完成产品集成的全部工作。如果在这“组装-测试”过程中出现了问题,应该记录该问题,并采取适当的纠正措施解决该问题。
集成测试主要包括:
1. 集成之后的模块接口测试;
2. 模块性能测试。测试是否对其余的子模块产生不良的影响;
3. 功能测试。测试各个子功能连起来,能否达到预期要求的功能;
4. 人机界面测试。
该测试是在集成产品组件的不同阶段进行。例如,如果一个产品组件的集成是由4个较少复杂性的产品组件组成,则集成工作不要求在一次同时集成和评价这4个组件,而是逐渐地一次一个地集成这4个具有较少复杂性的产品组件,并在每次集成工作完成后,在组装更复杂的、符合产品体系结构规定的产品组件之前测试它们。
集成测试完成后,必须对组装成的最终产品进行全面的系统测试,特别是对系统的功能、性能、安全性、健壮性等进行测试。
系统测试完成后,才能进行后续的产品交付工作。
集成测试和系统测试的详细内容参见确认过程域中的《软件测试过程》。
1.1.5 产品交付产品交付包括:产品的打包、客户验收。
1.1.5.1 产品打包项目经理根据《项目合同》或《用户需求说明书》相关交付客户内容来确定需要交付的产品的组成,并制定《产品打包清单》,写明所有需要交付的工作产品的名称、版本号、数量信息。
项目经理将《产品打包清单》提交CCB审批,CCB审批通过后,由项目经理指定打包人员根据《产品打包清单》中所列项目,对待交付的产品所有内容逐项进行打包(如:制作软件发布光盘和支持文档的装订等),打包完成后,打包人要确认打包内容与《产品打包清单》中所述一致。
1.1.5.2 客户验收项目经理或项目经理指定项目组成员对用户的使用环境、实施条件进行确认,协同客户准备好所需关键资源(如网络资源、服务器资源等)。
到客户指定现场安装调试软件产品,确认软件产品能够在用户使用环境中正常运行。同时项目经理将产品交付的实体(如:安装光盘、用户手册等资料)交给客户,项目经理填写并打印《产品交接验收单》由客户方的验收人员进行验收,验收通过后在“验收人员签字”栏中签字确认。
依据开发方和客户方双方协商确定是否对客户进行培训,如果需要培训,则对客户进行产品的功能使用、安装部署、系统管理等知识进行培训,培训结束后提请客户方验收人员对产品的功能和运行情况进行验收,确保客户验收中提出的所有问题均已得到合理的解决,由项目经理编写《客户验收报告》,双方负责人在《客户验收报告》上签字确认验收结束。