第7章软件产品线详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件产品线定义
软件产品线(Software Product Line, SPL)是指一组可管理的,具有公共特性的 软件应用系统的集合 在利用软件产品线方法构建一个应用系统时, 主要的工作是组装和繁衍,而不是创造,其 重要的活动是集成而不是编程 核心资源是软件产品线的实现基础,通常包 括:
核心资源开发、软件项目开发和技术协调、 组织管理三大活动不断迭代循环,促进产品 线的基础设施不断完善 迭代是软件产品线活动所固有的特性,循环 存在于核心开发中,循环存在于软件项目开 发中,同时,循环也存在于两者的技术协调 和组织管理中 核心资源开发活动的输出包括:
产品线范围:是关于产品线所能包含的产品描述, 列举出所有产品的共性和彼此之间存在的个性差 异 核心资源:是产品线中应用系统创建的基础设施 开发计划:描述了如何利用产品线中的核心资源 去开发软件项目
Jane Bosch提出“软件产品线由一个产品 线体系结构,一组可复用构件和由共享的核 心资源派生的产品集合构成”。这个观点是 从产品线构成的角度来给出的。 Bass、Clements和Kazman认为“软件 产品线是在一个公共的软件资源集合基础上 建立起来的,共享同一个特性集合的应用系 统集”。
大部分组织都只关注某一具体应用领域,他们不 断地重复开发该领域已有的软件变体 这些变体之间通常存在着大量的相似性,而这又 为系统化和大规模软件复用奠定了基础
在软件开发过程中,不能采用统计数据进行 定量化的度量,而只能通过文字描述和图表 显示来进行定性化的度量 定性化度量要求:在分析和评判过程中,需 要对有意义和可观察的模式或主题进行对比 和解释
产品线范围,指出当前所要开发的软件项目是否 可由产品线来实现,指明该项目可由产品线实现 的模块,同时,还应该说明应用系统开发依赖于 产品线的程度 用于创建该项目的核心资源 开发计划,详细描述了如何利用核心资源来ห้องสมุดไป่ตู้计 实现该软件项目
软件产品线就是一组相关的应用系统,但是 它们如何存在却取决于具体的核心资源、开 发计划、作用范围和组织环境
Kruege提出“软件产品线是一种工程技术, 利用通用的产品构建方法和一组共享的软件 资源来开发功能相似的应用系统”。这个定 义强调了软件产品线的工业化生产模式。 Pohl给出的定义是“软件产品线工程是使用 公用平台、大规模定制技术来开发功能密集 型系统和软件产品的范型”。该定义关注公 用平台的搭建和产品个性化信息的定制。 卡耐基梅隆大学的软件工程研究所给出了软 件产品线的经典定义。
产品线体系结构、可复用软件构件、领域模 型、需求陈述、文档技术资料、规格说明书、 性能模型、进度表、预算、测试计划、测试 用例、工作计划和过程描述等 其中产品线体系结构是核心资源中的最关键 部分 关于软件产品线的定义主要包括以下几种:
Parnas提出了程序家族的概念,认为“软 件产品线是具有广泛公共属性的一组程序, 在分析单个程序属性前,值得先研究这些公 共属性”。这应该是软件产品线的最原始定 义。 Weiss和Lai提出“从项目之间的公共方面 出发,预期考虑可变性等因素所设计的程序 族就是软件产品线”。
软件产品线工程与其它复用技术相比,主要 存在以下两方面的差异:
第七章 软件产品线
本章内容
7.1软件产品线概述 7.2软件产品线的基本活动 7.3软件产品线的开发过程 7.4软件产品线应用实例
7.1软件产品线概述
软件开发可以象制造业一样,在产品线上采 用标准的软件构件来进行组装生产 软件产品线的起源可以追溯到1976年 Parnas对程序族的研究 软件产品线是软件复用的一种重要方法,是 一种预先规划的和系统化的软件复用技术 软件产品线的基本思想是:大部分的软件需 求并不是全新的,而是已有系统需求的变体
软件产品线就是一组相关的应用系统,但是 它们如何存在却取决于具体的核心资源、开 发计划、作用范围和组织环境 技术协调和组织管理对于软件产品线的成功 是至关重要的 产品线工程是在核心资源的基础上,遵循用 户的实际需求所开展的一种监督和协调工作 软件产品线是一种正在成熟的软件工程范型, 用于开发同一领域中具有相似需求的应用系 统
核心资源促进了应用系统的快速创建,核心资源 随着新应用系统的开发而不断地被更新
通过跟踪核心资源的使用情况,其结果将被 反馈到核心资源的开发活动中,以创建更多 有利于复用的基础设施 核心资源开发和软件项目开发都需要人力、 物力和财力的投入,因此需要持久的、强有 力的和卓有远见的组织管理 管理必须促进企业文化的交流,将新项目的 开发放到可用资源环境下进行考虑
项目 产品线范围 核心资源 开发计划
软件项目开发
项目 1 项目 2 …… 项目 n
管理
软件项目开发活动依赖于核心资源开发活动 的输出结果,即产品线范围、核心资源和开 发计划 软件项目开发活动的输人包括:
项目实际需求,被表示为领域中一些通用产品描 述的变化或增量,也可表示为产品线需求集合的 一个增量,通过比较应用需求与产品线需求模型 来获得
7.2软件产品线的基本活动
软件产品线包括核心资源开发、利用核心资 源的项目开发以及在这两部分中所需要的技 术协调和组织管理
核心资源开发被称之为领域工程,利用核心 资源的软件项目开发也被称为应用工程 软件产品线总是针对某一特定领域而创建的, 在创建之后,又要为该领域的应用开发服务 在核心资源开发和软件项目开发之间,存在 着反馈循环
在一个特定领域中,基础架构是支持一组具 有相似应用需求的领域模型和参考架构,这 一基础架构经常被称为产品线体系结构 (Product Line Architecture,PLA) 描述产品线体系结构的最好手段就是框架, 框架是一个可复用的和已经部分实现的软件 制品,框架能够被扩展实例化,以生成特定 的应用系统
相关文档
最新文档