|
知识路径: > 软件工程 > 软件产品线 >
|
相关知识点:8个
|
|
|
|
软件产品线的建立通常有4种方式,其划分依据有两个,第一个是该组织是用演化方式(evolutionary)还是革命方式(revolutionary)引入产品线开发过程,第二个是基于现有产品还是开发全新的产品线。4种方式基本特征见下表。
|
|
|
|
|
(1)将现有产品演化为产品线。在基于现有产品体系结构设计的产品线体系结构的基础上,将特定产品的构件逐步地、越来越多地转化为产品线的共用构件,从基于产品的方法“慢慢地”转化为基于产品线的软件开发。这种方法的主要优点是通过对投资回报周期的分解、对现有系统演化的维持,使产品线方法的实施风险降到了最小,但完成产品线核心资源的总周期和总投资都比使用革命方式要大。
|
|
|
(2)用软件产品线替代现有产品集。基本停止现有产品的开发,所有努力直接针对软件产品线的核心资源开发。遗留系统只有在符合体系结构和构件需求的情况下,才可以和新的构件协作。这种方法的目标是开发一个不受现有产品集存在问题限制的、全新的平台、总周期和总投资较演化方法要少,但因重要需求的变化导致的初始投资报废的风险加大。另外,基于核心资源的第一个产品面世的时间将会推后。现有产品集中软硬件结合的紧密程度,以及不同产品在硬件方面的需求的差异,也是产品线开发采用演化还是革命方式的决策依据。对于软硬件结合密切且硬件需求差异大的现有产品集因无法满足产品线方法对软硬件同步的需求,只能采用革命方式替代现有产品集。
|
|
|
(3)全新软件产品线的演化。当一个软件组织进入一个全新的领域,要开发该领域的一系列产品时,同样也有演化和革命两种方式。演化方式是将每一个新产品的需求与产品线核心资源进行协调。这种方式的好处是先期投资少,风险较小,第一个产品面世时间早。另外,因为是进入一个全新的领域,演化方法可以减少和简化因经验不足造成的初始阶段错误的修正代价;缺点是已有的产品线核心资源会影响新产品的需求协调,使成本加大。
|
|
|
(4)全新软件产品线的开发。设计师和开发工程师首先要得到产品线所有可能的需求,基于这个需求超集来设计和开发产品线核心资源。第一个产品将在产品线核心资源全部完成之后才开始构造。这种方式的优点是一旦产品线核心资源完成后,新产品的开发速度将非常快,总成本也将减少;缺点是对新领域的需求很难做到全面和正确,使得核心资源不能像预期的那样支持新产品的开发。
|
|
|