质量管理:软件产品集成管理

质量管理:软件产品集成管理,第1张

质量管理:软件产品集成管理,第2张

在CMMI的培训和咨询中,笔者经常遇到很多软件技术人员不知道软件产品集成是做什么的,什么时候做。产品集成对于软件开发人员和测试人员来说既熟悉又陌生。熟悉是因为经常提到产品集成的概念,比如集成测试等。,而陌生感是因为产品集成的过程在真实项目中并不明显。)产品集成的英文单词是product integration,在CMMI的缩写是PI,是单独的PA (process domain),可见产品集成在软件项目中的重要性。针对CMMI实施中发现的问题,笔者做如下总结,供大家了解产品集成。
(一)产品集成的目的
产品集成的目的是将产品组件组合起来最终形成产品,并保证集成后的产品满足用户和设计的需求。CMMI进一步描述了这一过程。产品集成的过程是将产品组件集成为更复杂的产品组件或完整的产品。
通过上面的定义,我们要注意以下两点:
1。产品集成的组件不一定是最终产品,也可能是项目过程中的一些中间组件。
2。集成的产品或部件应满足用户和相关设计文件的要求。通过对产品集成目的的分析,我们可以知道产品集成在日常软件开发过程中是一个持续的过程。因为软件产品是逐步逐步完成的,所以产品集成应该是软件开发过程中的一项常规活动。那么产品整合什么时候进行呢?接下来,我们一起来分析产品整合的机会。
(二)产品集成的时机
软件开发模型的许多理论都提到了何时进行产品集成活动。其中比较先进的理论是敏捷开发模型中提出的“持续集成”和微软MSF开发模型中倡导的“日常构建”理论。这些理论对软件项目的开发具有指导意义。每个人都应该尽可能使产品集成的工作常规化和自动化。这样做的好处是可以尽早发现产品集成时各种接口不匹配带来的风险,项目组成员可以了解整个项目的进展。说到自动化产品集成,就不得不提到“自动化建日”这个工具,项目组成员使用NAnt或者Ant就可以实现。这些工具都基于XML,使用起来非常简单。因此,在软件项目中,除了需要产品集成的里程碑或重大变更外,作者还建议可以进行“自动日构建”,使产品集成常规化、自动化。
(三)产品集成原则
软件开发原则上与其他传统行业的开发流程和方法相同。这里以一支笔的装配过程来讨论产品集成的原理。先拿出一支普通的笔,代表软件项目要交付的最终产品,然后将笔拆分,如图1-1所示,可以分为笔帽、笔杆前半部分、笔杆后半部分和笔芯四个部分,分别代表软件项目中的四个组件或模块。
通过以上项目背景的描述,我们开始进入项目的开发过程。大多数软件项目都是团队合作完成的。在这个项目中,四个小组开发了四个模块:笔帽、笔杆前半部分、笔杆后半部分和笔芯。
●产品整合顺序CMMI的第一项工作就是为CMMI对产品整合要求的第一个专项目标确定“产品整合顺序”。如果你把签字笔的四个零件先用笔杆的前半部分和笔杆的后半部分组合起来,再把组合好的笔杆和笔芯组合起来,可能会事倍功半,甚至返工。因此,确定正确的“产品集成顺序”是一项非常重要的工作,需要尽快确定。产品集成最常见的顺序是“自上而下”和“自下而上”。在使用“自顶向下”的方法进行产品集成时,经常会用到测试存根的对象,这个功能通常可以通过Mock对象来实现;在使用“自下而上”的方法进行产品集成时,可以使用NUnit或JUnit等单元测试工具,这些工具可以由单元测试用例驱动,这样组装就可以顺利进行。
●产品集成的环境实现了(实现了)“为产品集成做准备”的第一个特殊目标。第二项工作是确定“集成环境”,这非常容易。简单来说,项目团队需要指定一个服务器作为产品集成的环境。需要注意的是,这个服务器的配置应该能够满足项目的需要。
●建立产品集成的步骤和标准。对于如何整合产品,应该有一套详细的计划和步骤。项目团队可以在适当的时候制定出详细的计划,并通过相关的审查。如何确定产品集成是否成功,项目组也要制定出相应的验收标准,这样产品集成才有依据。通过以上步骤,完成了产品集成的准备工作。接下来,产品集成的另一个重要部分是检查“产品界面”是否满足(和匹配)设计需求。
●保证产品接口的兼容性在CMMI产品集成的过程中,第二个目标就是“保证产品接口的兼容性”。众所周知,界面在软件开发和设计中非常重要,产品集成的成功有赖于此。让我们回顾一下图1-1。「笔杆前半部」和「笔杆后半部」哪一部分是笔杆的接口?你可以发现笔杆的前半部分和后半部分各有一个螺旋接口。你可以通过螺旋接口把笔杆的前半部分和后半部分拧在一起,组装成一个完整的笔杆。如果“笔杆前半部”和“笔杆后半部”的螺旋接头不吻合,就会造成次品或返工。在软件项目中,项目团队可以在设计文档中详细描述接口及其关系,或者通过列表维护项目的接口。当有变化时,产品界面的信息必须及时更新。
●组装产品组件,交付产品。通过实现CMMI产品集成过程中定义的第一个和第二个特殊目标,以下项目团队可以根据上述计划和准备开始产品装配。在组装产品之前,需要确定项目组提交的每个组件或模块的功能都符合要求,否则组装起来会比较麻烦。如何保证集成前组件的质量,集成后的组件或最终产品是否符合要求,这需要通过单元测试来实现。现在主流的开发工具都有其支持的单元测试工具或功能。随着TDD测试驱动开发模式的要求,开发人员在开发过程中会编写和进行单元测试(当然,先写单元测试用例再开发)。如果有单元测试用例,可以通过运行产品集成前后相应的测试用例来判断产品是否满足设计要求。最后,可以发布组装的组件或最终产品。但大多数时候,产品集成后的发布是对测试组的系统测试。根据CMMI的惯例,当集成产品发布到测试组时,应该有一个交接和确认的过程。测试组只需要检查所有相关的单元测试用例是否都通过了测试,就可以作为交接的依据。
●产品集成与配置管理的关系。笔者继续以签字笔为例。项目初期,只生产“笔芯”和“笔杆后半部分”。然后按照“产品集成顺序”,可以先将它们集成起来,组合成一个新的组件A,通过单元测试后可以存放在配置管理的“受控库”中。当“笔杆前半部”产生时,组件A与“笔杆前半部”整合产生新的组件B,新的组件B通过测试后,仍提交“受控库”保存。以此类推,所有组件依次集成,直到生产出最终产品。
总结
产品集成是软件开发的日常工作,也是与广大软件开发人员和测试人员密切相关的基础工作。作者提倡产品的日常化和自动化集成。你可以通过手中的笔很好的理解产品集成的概念。只要把握好产品集成的五个部分:顺序、环境、步骤、接口、集成测试,产品集成的管理就会简单可行。为了更容易理解,你只要看着你手中的笔就可以了:)

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 质量管理:软件产品集成管理

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情