Kĩ thuật lập trình - Chapter 11: Components in product line architectures

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

ppt21 trang | Chia sẻ: huyhoang44 | Lượt xem: 607 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Kĩ thuật lập trình - Chapter 11: Components in product line architectures, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chapter 11Components in Product Line ArchitecturesPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesOverviewDeveloping a Single Product Component Markets Product Families and Product Lines Product Populations Component Approaches Frameworks as Components Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesGlobal Software Component MarketWill 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.”Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesBasic arguments for software product lines Size & ComplexityQualityLead TimeReductionArchitectureReuseComponents Product Lines DiversityPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesDeveloping a Single ProductStarting 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. Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Product Lines Single Product top-down planned developed intra – organization Product Family top-down planned developed intra – organization Product Population partially bottom-up planned / opportunistic developed / available intra – organization Component Markets bottom-up opportunistic available inter – organization Characteristics of Product Lines Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesComponent MarketsBuilding 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. Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesDifficulties in Component MarketsArchitectureMismatchLess efficient systemScaleReusabilityUsefulnessResourcesExcessPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesProduct Software Categorization:CoreFew other companies are able to produce such softwareSharing is not an optionKeyCan be obtained from othersBaseCan be and is obtained from othersPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesProduct Families and Product LinesProduct 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. Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesFixed 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 non-functional 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.Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesDefinitionsProduct 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.Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesConsequencesDevelopment within product populations will cross business lines, groups or division boundaries.Common architectural rules.Planning.Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesComponent ApproachesTwo dimensions for reuse:VariabilityIndependencePage Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures Plug-ins Component Frameworks Inheritance OO Frameworks Frameworks as Components Parameterized Koala ‘As is’ Libraries Lego Reusable Composable Independence Variability Variability Versus IndependencePage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesLibrariesThe classical techique for organizing reusable softwareMathematicalGraphicalLibrary-independent interfaceLibraries dependent on librariesPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesObject Oriented FrameworksA set of classes from which to create an applicationInheritance allows to abstract from specific behaviourDanger: derived classes are very dependentFragile base class problemPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesComponent FrameworksBenifits: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.Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesFrameworks As ComponentsPowerful parameterization mechanismThe ultimate solution for variability and independenceThe basic mechanism for achieving composability is to make every context dependency explicit and bindable by a third party.Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesVariant Free SkeletonSelectable Plug-insComponent Frameworks with Plug-ins Page Building Reliable Component-based Systems Chapter 11 - Components in Product Line ArchitecturesSummaryProduct development:Small product families  traditional techniques Larger product populations  top-down with bottom-upInter-organizational reuse of softwareProduct linesComponent approachesDifferent component modelsPage Building Reliable Component-based Systems Chapter 11 - Components in Product Line Architectures

Các file đính kèm theo tài liệu này:

  • ppt11_chapterwc_2134.ppt