第七章_软件产品线概述
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.1 软件产品线的起源
在借鉴制造业产品线创建软件产品线时,需 要注意以下几个问题:
与生产一个具体的产品相比,软件开发过程是难 以预测的,其可变的因素太多 软件不能像具体产品一样进行大规模的生产 不是所有的软件错误都会引发系统失败 软件产品不会磨损 软件系统不受自然界规律的限制
本章内容
7.5 软件产品线开发评价 7.6 软件产品线的建立 7.7 软件产品线开发模型
7.7.1 软件产品线的双生命周期模型 7.7.2 软件产品线的N生命周期模型
7.8 软件产品线的组织结构 7.9 软件产品线测试
本章内容
7.10 软件产品线的优点 7.11 软件产品线开发所面临的问题
7.1 软件产品线的起源
软件开发可以象制造业一样,在产品线上采 用标准的软件构件来进行组装生产 软件产品线的起源可以追溯到1976年 Parnas对程序族的研究 软件产品线是软件复用的一种重要方法,是 一种预先规划的和系统化的软件复用技术 软件产品线的基本思想是:大部分的软件需 求并不是全新的,而是已有系统需求的变体
在软件产品线工程中,主要讨论如何确定领 域范围和软件资源
7.1 软件产品线的起源
在建立软件产品线和识别领域潜在资源时, 需要考虑不同的实现技术、各种领域信息、 相关的经济收益和由此所引发的风险 软件产品线是最高级别的软件复用技术 软件产品线是一组具有共同体系构架和可复 用构件的应用系统,构建了一个支持特定领 域产品开发的软件平台 在软件产品线中,根据产品线架构对用户需 求进行定制,通过继承可复用成分和应用中 的独特部分来创建应用系统
7.2 软件产品线定义
产品线体系结构、可复用软件构件、领域模型、 需求陈述、文档技术资料、规格说明书、性能模 型、进度表、预算、测试计划、测试用例、工作 计划和过程描述等 其中产品线体系结构是核心资源中的最关键部分
关于软件产品线的定义主要包括以下几种:
Parnas提出了程序家族的概念,认为‚软件产 品线是具有广泛公共属性的一组程序
7.1 软件产品线的起源
软件产品线已经发展为一个新兴的、多学科 交叉的研究领域 它涉及软件工程、管理技术和商业规划等多 个方面,几乎涵盖了软件工程的所有方向 目前,软件产品线方法已成为学术界研究的 一个热点问题,在软件开发行业中得到了初 步的应用 应用软件产品线方法,能够大幅度地减少开 发成本,缩短开发周期,同时提高软件产品 的质量
7.2 软件产品线定义
Bass、Clements和Kazman认为‚软件产品线 是在一个公共的软件资源集合基础上建立起来的, 共享同一个特性集合的应用系统集‛ 卡耐基梅隆大学的软件工程研究所给出了软件产 品线的经典定义,软件产品线是一个应用系统的 集合,这些产品共享一个公共的、可管理的特征 集,这个特征集能够满足选定的市场或任务领域 的特定需求
7.1 软件产品线的起源
大部分组织都只关注某一具体应用领域,他们不 断地重复开发该领域已有的软件变体 这些变体之间通常存在着大量的相似性,而这又 为系统化和大规模软件复用奠定了基础
在软件开发过程中,不能采用统计数据进行 定量化的度量,而只能通过文字描述和图表 显示来进行定性化的度量 定性化度量要求:在分析和评判过程中,需 要对有意义和可观察的模式或主题进行对比 和解释
7.2 软件产品线定义
产品线的定义强调了以下几点:
预先定义的生产方式 共享的软件核心资源 以核心资源为基础的软件开发
软件产品线的成功则恰恰是因为在实践过程 中,将技术、过程、组织和业务等进行了综 合考虑 在软件产品线中,管理层必须指导、跟踪和 强制核心资源的使用
第七章 软件产品线
本Baidu Nhomakorabea内容
7.1 7.2 7.3 7.4
软件产品线的起源 软件产品线定义 软件产品线的基本活动 软件产品线需求分析
软件产品线需求建模 软件产品线需求分析的特点 利用扩展的UML描述产品线需求 软件产品线需求分析中潜藏的风险
7.4.1 7.4.2 7.4.3 7.4.4
7.2 软件产品线定义
Weiss和Lai认为‚从项目之间的公共方面出发, 预期考虑可变性等因素所设计的程序族就是软件 产品线‛ Lee认为‚软件产品线工程是一种新兴的软件工 程范型,指导软件开发组织利用核心资源完成软 件项目开发任务,而不是从零开始‛ Bosch认为‚软件产品线由一个产品线体系结构, 一组可复用构件和由共享的核心资源派生的产品 集合构成‛
7.2 软件产品线定义
软件产品线(Software Product Line,SPL) 是指一组可管理的,具有公共特性的软件应 用系统的集合 在利用软件产品线方法构建一个应用系统时, 主要的工作是组装和繁衍,而不是创造,其 重要的活动是集成而不是编程 核心资源是软件产品线的实现基础,通常包 括:
7.2 软件产品线定义
Kruege认为‚软件产品线是一种工程技术,利 用通用的产品构建方法和一组共享的软件资源来 开发功能相似的应用系统‛ Pohl给出的定义是‚软件产品线工程是使用公 用平台、大规模定制技术来开发功能密集型系统 和软件产品的范型‛ Margaret Davis认为‚软件产品线是,在组成 和功能方面具有共性(Commonalities)和个性 (Variabilities)的多个相似系统所形成的一个系 统族‛
软件产品线的主要组成部分包括核心资源和 软件项目集合
7.2 软件产品线定义
核心资源是领域工程所获得的成果的集合,是软 件产品线中应用系统构造的前提基础,也有组织 将核心资源称为集成开发平台 核心资源包含了软件产品线中所有系统共享的产 品线体系结构,以及新设计开发的或者通过对现 有系统再工程得到的、需要在整个产品线中进行 系统化重用的构件 此外,与产品线体系结构相关的实时性能模型、 体系结构评估结果、与软件构件相关的测试计划、 测试实例、设计文档、需求说明书、领域模型、 领域范围定义都属于核心资源