软件体系结构课件第十讲义四课软件产品线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 核心资产库是利用产品线进行产品开发的 基础,包括:
产品线中所有产品共享的体系结构 支持系统复用的软件构件,包括设计和实现构件 测试计划,测试用例,集成计划和各种文档
核心资产开发活动的输入(1)
• 产品约束
-产品线中的产品有哪些共性和个性 -它们提供哪些行为特性 -根据市场和技术预测将来产品要具有哪些功能 -遵循什么标准 -满足哪些性能标准 -同哪些外部系统交互 -满足哪些物理限制 -满足哪些质量要求
• 核心资产必须以最小牺牲产品质量的代价, 换取对产品共性和个性的满足。
核心资产开发活动的输入(2)
• 风格、模式和框架
-符合产品约束和生产约束的相关体系结构是什么
-构件交互的协议和模式是什么 -有哪些可用的设计模式 -有哪些可用的应用框架
• 尽管这些都是体系结构定义的输入,它们 被提高到如此高度的目的在于强调体系结 构在软件产品线实践中的重要性。
architecture
Is used to structure
Component
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
• 应用开发人员:实际需求来了,进行系统 开发
产品线方法的基本活动
核心资产开发
核心资产开发活动的目标
• 产品线空间 • 核心资产库 • 生产计划
基于核心资产,以生产计划为指导,生产出 产品线空间中的产品。
• 产品线空间描述了构成产品线的产品,不 仅仅是产品名称的列表,还包括这些产品 的共性和变化性,例如产品提供的操作, 性能和其他质量属性,运行的平台等等。
产品线的概念
A product line is a group of products sharing a common, managed set of features that satisfy specific needs of a selected market.
• 一个软件产品线是满足下列性质的一组 软件产品:
Biblioteka Baidu
COTS
• COTS(Commercial Off-the-Shelf) • 商业构件(开架出售的构件) • (软件行业里的分工) • 构件经过对某个领域中的分析,这个领域里
面经常会用的,共性的,完成一定功能的部 分,做成一个构件。
• ?和类相比有何不同 • ?体系结构和COTS的关系
COTS-Intensive System
核心资产开发活动的输入(3)
• 生产约束
- 产品线的产品要遵循哪些商业、军事或公司的规范 - 产品线的产品所基于的底层基础设施是什么 - 产品推向市场的时间需求是什么 - 哪些COTS构件是可用的 - 哪些遗产构件可被复用
-共享一组相同的、可管理的特性的集合 -满足一类特定的市场需求
产品线中新产品的制造过程
• 在一个软件产品线中,新产品形成通过以 下步骤:
-从公共核心资产库(core assets base)中选取合适的构件 -使用预定义的变化性机制进行裁剪,如:参数化、继承 -必要时增加新的构件 -在整个产品线范围内共同的体系结构指导下,进行构件组
- 是产品线的基础,是管理支持产品开发的 可复用资源的机制
• 核心资产库中的资源通常包括:
- 体系结构、可复用软件构件、领域模型、需求描述、 文档和规约、性能模型和度量、日程、预算、测试计 划、测试用例、工作计划、过程描述、通讯协议和描 述、用户界面描述、应用生成器、设计准则和设计决 策,…
- 其中,体系结构是最关键的资产
architecture evaluation
• Component development
COTS utilization
• Mining existing assets • Software system integration • Testing
软件产品线相关人员
• 领域专家:研究该领域里的共同点,做相 关的构件
装,形成系统
• 新产品的开发从“创造”变为“组装”
-其中,占支配地位的活动是“集成”而非“编程”
相关概念
• 公共核心资产库(core assets base)
• COTS(Commercial Off-the-Shelf)
公共核心资产库(core assets base)
• 其中保存可重用资产,这些资产可被应用 到多个系统中。
-产品的灵活性是市场的必然需求,而产品线将通过 裁剪,生产出满足特定用户或用户群需要的产品
-从开发者的角度,产品线的成功在于产品之间通过 共性的共享,达到了生产上经济的目的
• 在软件开发中,CMU SEI提出的“软件产 品线”还是比较新的概念,并被迄今为止 的实践证明是可行的,可以有效地提高生 产率、缩短产品上市时间、提高质量和客 户满意度。
3 Primary focus areas
• 软件工程 • 技术管理工作 • 组织管理工作
Software Engineering Practice
• Understanding relevant domains
Requirements engineering
• Architecture definition
软件产品线与复用
• 软件产品线为重用建立了一个非常严格的 上下文来使其发挥作用
(产品线依赖战略性的或经过规划的重用而 非机会主义重用来发挥作用)
Pertain to Share an
Are built from
Market strategy/ Application domain
Is satisfied by
精品jing
软件体系结构课件第十四课软件产品线
产品线简介
• 背景(Background) • 概念(Concept) • 产品线的好处和代价(Benefits and
Costs of a Product Line) • 相关术语解释(Note on terminology)
背景
背景
• 产品线方法将成为新世纪中占主导地位的 软件生产模式