软件产品线
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1定义:
卡耐基。梅隆大学软件工程研究所(CMU/SEI)定义为:产品线是一个产品集合,这些产品共享一个公共的、可管理的特征集,这个特征集能满足选定的市场或任务领域的特定要求。这些系统遵循一个预描述的方式,在公共的核心资源(core assets)基础上开发的。
根据这个定义,软件产品线有两个部分:核心资源和产品集合。
核心资源也称平台:产品线中所有产品共享的产品线体系结构,新设计的或通过对现有系统的再工程到底的、需要再整个产品线中系统化重用的软件构件,与这些构件相关的测试计划、测试实例,所有设计文档,需求说明书,领域模型,领域范围的定义,采用COTS的构件。
其中软件产品线体系结构和构件是最为重要的部分。
-----------------------------------------------
独立软件系统的体系结构对体系结构的变化没有说明和限制,在体系结构实例化的过程中,几乎允许任意的变化。
产品线的体系结构作为所有产品共享的体系结构和各产品导出的体系结构的基础,必须对允许进行的变化进行显式的说明和限定,才能使最终的实例化结果既有共性又也个性。
-----------------------------------------------
2软件产品线的建立方式
1将现有产品演化为产品线
在基于现有产品线体系结构的基础上,将特定产品的构件逐步地、越来越多地转换为产品线的共用构件。从基于产品的开发慢慢转到基于产品线的开发。
优点:通过分解投资回报周期,以及对现有系统演化的维持,使得产品线的开发风险降低。
2用软件产品线代替现有产品集
基本停止现有产品的开发,直接对软件产品线的核心资源开发。遗留系统只有在符合现有体系结构和需求的情况下才可以和新的构架合作。
对于软硬件结合紧密且硬件需求差异大的现有产品集,因无法满足产品线方法对软硬件同步的需要,只能采用这种革命式的方法。
3全新产品线的演化
当一个组织进入一个全新的领域时,同样有演化和革命两种方式。
演化方式将每一个新产品与产品线的核心资源进行协调。
好处:先期投资少,风险较小,第一个产品问世早。
4全新软件产品线的开发
体系结构设计师和工程师首先得到产品线的所有可能需求,基于这个需求的超集来设计和开发产品线核心资源。第一个产品将在所有核心资源完成后开始构造。这是一种革命式的方式。
优点:一旦核心资源开发完毕,则新产品的开发速度将相当快。
缺点:容易对新领域的需求全面且正确的分析,使得核心资源的建立不能想预期那样支持新产品及产品线的开发。
3演化
产品线的演化与其他系统演化的原因一样,演化包括:核心资源演化,产品演化,产品版本升级。于是出现了核心资源的新旧版本,产品的新旧版本,新旧产品。它们之间的协调是演化中的主要问题。
这些问题包括:核心资源是否演化以反映新产品及其中的新需求,新产品或产品的新版本采用核心资源的哪种版本。
可以这样:新产品或产品新版本采用核心资源新版本,而已有的产品不追随核心资源的演化。
核心资源要不断演化以反映新产品及产品新版本反馈的新需求等。