欢迎下载
软件产品线
(Software Product line) 产品线简介
背景(Background) 概念(Concept)
产品线的好处和代价(Benefits and Costs of a Product Line) 相关术语解释(Note on terminology) 背景 背景
产品线方法将成为新世纪中占主导地位的软件生产模式
-产品的灵活性是市场的必然需求,而产品线将通过裁剪,生产出满足特定用户或用户群需要的产品
-从开发者的角度,产品线的成功在于产品之间通过共性的共享,达到了生产上经济的目的 在软件开发中,卡耐基梅隆大学软件工程研究所(CMU SEI)提出的“软件产品线”还是比较新的概念,并被迄今为止的实践证明是可行的,可以有效地提高生产率、缩短产品上市时间、提高质量和客户满意度。 产品线的概念
A product line is a group of products sharing a common, managed set of features that satisfy specific needs of a selected market.
一个软件产品线是满足下列性质的一组软件产品: -共享一组相同的、可管理的特性的集合 -满足一类特定的市场需求
产品线中新产品的制造过程
在一个软件产品线中,新产品形成通过以下步骤: -从公共核心资产库(core assets base)中选取合适的构件 -使用预定义的变化性机制进行裁剪,如:参数化、继承 -必要时增加新的构件
-在整个产品线范围内共同的体系结构指导下,进行构件组装,形成系统
新产品的开发从“创造”变为“组装”
-其中,占支配地位的活动是“集成”而非“编程”
相关概念
公共核心资产库(core assets base) COTS(Commercial Off-the-Shelf)
公共核心资产库(core assets base)
其中保存可重用资产,这些资产可被应用到多个系统中。
精选文档
欢迎下载
是产品线的基础,是管理支持产品开发的可复用资源的机制
核心资产库中的资源通常包括:
体系结构、可复用软件构件、领域模型、需求描述、文档和规约、性能模型和度量、日程、预算、测试计划、测试用例、工作计划、过程描述、通讯协议和描述、用户界面描述、应用生成器、设计准则和设计决策,… 其中,体系结构是最关键的资产 COTS
COTS(Commercial Off-the-Shelf) 商业构件(开架出售的构件) (软件行业里的分工)
构件经过对某个领域中的分析,这个领域里面经常会用的,共性的,完成一定功能的部分,做成一个构件。
?和类相比有何不同
?体系结构和COTS的关系
COTS-Intensive System 软件产品线与复用
软件产品线为重用建立了一个非常严格的上下文来使其发挥作用
(产品线依赖战略性的或经过规划的重用而非机会主义重用来发挥作用)
Case studies Show
Successful product lines cannot be achieved by technological means alone-
product lines are most often driven by organizational, economic, and market conditions 3 Primary focus areas 软件工程 技术管理工作 组织管理工作
Software Engineering Practice Understanding relevant domains Requirements engineering Architecture definition architecture evaluation Component development COTS utilization Mining existing assets
Software system integration Testing
精选文档
欢迎下载
软件产品线相关人员
领域专家:研究该领域里的共同点,做相关的构件
应用开发人员:实际需求来了,进行系统开发 产品线方法的基本活动 核心资产开发
核心资产开发活动的目标 产品线空间 核心资产库 生产计划
基于核心资产,以生产计划为指导,生产出产品线空间中的产品。
产品线空间描述了构成产品线的产品,不仅仅是产品名称的列表,还包括这些产品的共性和变化性,例如产品提供的操作,性能和其他质量属性,运行的平台等等。
核心资产库是利用产品线进行产品开发的基础,包括:
产品线中所有产品共享的体系结构
支持系统复用的软件构件,包括设计和实现构件 测试计划,测试用例,集成计划和各种文档
核心资产开发活动的输入(1) 产品约束
-产品线中的产品有哪些共性和个性 -它们提供哪些行为特性
-根据市场和技术预测将来产品要具有哪些功能 -遵循什么标准 -满足哪些性能标准 -同哪些外部系统交互 -满足哪些物理限制 -满足哪些质量要求
核心资产必须以最小牺牲产品质量的代价,换取对产品共性和个性的满足。 核心资产开发活动的输入(2) 风格、模式和框架
-符合产品约束和生产约束的相关体系结构是什么 -构件交互的协议和模式是什么 -有哪些可用的设计模式 -有哪些可用的应用框架
尽管这些都是体系结构定义的输入,它们被提高到如此高度的目的在于强调体系结构在软件产品线实践中的重要性。
核心资产开发活动的输入(3)
精选文档
软件产品线



