Lecture Building reliable component-based systems - Chapter 11: Components in product line architectures

21 15 0
Lecture Building reliable component-based systems - Chapter 11: Components in product line architectures

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

In this chapter, the following content will be discussed: Developing a single product, component markets, product families and product lines, product populations, component approaches, frameworks as components.

Chapter 11 Components in Product Line Architectures Building Reliable Component­based  Overview Developing a Single Product Component Markets Product Families and Product Lines Product Populations Component Approaches Frameworks as Components Building Reliable Component­based  Global Software Component Market Will it solve all our reuse problems? Far from a global component market Intra-organizational reuse of core software indispensable ”The traditional techniques for reuse of software are still sufficient for small product families, but for larger product populations the best elements of single product development and third party component markets are required.” Building Reliable Component­based  Basic arguments for software product lines Size & Complexity Architecture Quality Diversity Product Lines Reuse Components Lead Time Reduction Building Reliable Component­based  Developing a Single Product Starting from the requirements, we define an architecture The architecture decomposes the system into subsystems and components We build and test the components, then the subsystems, and finally the product Building Reliable Component­based  Characteristics of Product Lines Product Lines Single Product Product Family Product Population Component Markets top-down top-down partially bottom-up bottom-up planned planned planned / opportunistic opportunistic developed developed developed / available available intra – organization intra – organization intra – organization inter – organization Building Reliable Component­based  Component Markets Building systems from existing components, obtained from third parties often has the following characteristics: It is a bottom-up activity (no global architecture defined) Use of components is opportunistic (use whatever is available) The component software is available when starting the project It results in inter-organizational reuse Building Reliable Component­based  Difficulties in Component Markets Architecture Mismatch Less efficient system Scale Reusability Usefulness Resources Excess Building Reliable Component­based  Product Software Categorization: Core Few other companies are able to produce such software Sharing is not an option Key Can be obtained from others Base Can be and is obtained from others Building Reliable Component­based  Product Families and Product Lines Product family : Is a set of products with many commonalties and few differences Is intra-organizational Product Line: Is a top-down, planned, proactive approach to achieve reuse of software within a family (or population, see the next section) of products Building Reliable Component­based  Fixed Generic Architectures The use of fixed generic architectures with variation points: Involve creation of a platform first, from which products can be derived Are a sound basis for realizing the functional and nonfunctional properties Can be difficult to forecast the requirements of future products Can be difficult to agree upon a single architecture in a large multi business-line organization Building Reliable Component­based  Definitions Product Family: Is a set of products with many commonalities and few differences Product Populations: Is a set of products with many commonalities but also many differences Building Reliable Component­based  Consequences Development within product populations will cross business lines, groups or division boundaries Common architectural rules Planning Building Reliable Component­based  Component Approaches Two dimensions for reuse: Variability Independence Building Reliable Component­based  Variability Versus Independence Independence Reusable Composable Lego ‘As is’ Variability Libraries Parameterized Inheritance Koala OO Frameworks Frameworks as Components Plug-ins Component Frameworks Building Reliable Component­based  Libraries The classical techique for organizing reusable software Mathematical Graphical Library-independent interface Libraries dependent on libraries Building Reliable Component­based  Object Oriented Frameworks A set of classes from which to create an application Inheritance allows to abstract from specific behaviour Danger: derived classes are very dependent Fragile base class problem Building Reliable Component­based  Component Frameworks Benifits: Components can be plugged to specialize the behavior Resembles OO frameworks Specifies interfaces between plug-ins and underlying framework – reduces dependencies Downsides: Plug-ins cannot be independently deployed Framework often not composable itself Building Reliable Component­based  Frameworks As Components Powerful parameterization mechanism The ultimate solution for variability and independence The basic mechanism for achieving composability is to make every context dependency explicit and bindable by a third party Building Reliable Component­based  Selectable Plug-ins Variant Free Skeleton Component Frameworks with Plug-ins Building Reliable Component­based  Summary Product development: Small product families traditional techniques Larger product populations top-down with bottom-up Inter-organizational reuse of software Product lines Component approaches Different component models Building Reliable Component­based  ... system into subsystems and components We build and test the components, then the subsystems, and finally the product Building? ?Reliable? ?Component­based  Characteristics of Product Lines Product Lines... available intra – organization intra – organization intra – organization inter – organization Building? ?Reliable? ?Component­based  Component Markets Building systems from existing components, obtained... future products Can be difficult to agree upon a single architecture in a large multi business -line organization Building? ?Reliable? ?Component­based  Definitions Product Family: Is a set of products

Ngày đăng: 15/05/2020, 21:59

Mục lục

  • Slide 1

  • Overview

  • Global Software Component Market

  • Basic arguments for software product lines

  • Developing a Single Product

  • Characteristics of Product Lines

  • Component Markets

  • Difficulties in Component Markets

  • Product Software Categorization:

  • Product Families and Product Lines

  • Fixed Generic Architectures

  • Definitions

  • Consequences

  • Component Approaches

  • Variability Versus Independence

  • Libraries

  • Object Oriented Frameworks

  • Component Frameworks

  • Frameworks As Components

  • Slide 20

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan