Download presentation
Presentation is loading. Please wait.
Published byΛητώ Κλυταιμνήστρα Παπαστεφάνου Modified over 6 years ago
1
Software Architecture in Practice
RiSE’s Seminars Bass’s book :: Chapter 14 Ana Paula Cavalcanti December 7, 2018
2
Summary Software Product Lines (Chapter 14) Overview
What Makes Software Product Lines Work? Scoping Architectures for Product Lines What Makes Software Product Lines Difficult December 7, 2018
3
Overview Software Product Lines :: Chapter 14
“Architecturally mature organization tend to treat their architectures as valuable intellectual property and look for ways in which that property can be leveraged to produce additional revenue and reduce costs.” Explicit and planned re-use of a software architecture across a family of related systems Base architecture common and tailorable elements that populate CORE ASSET BASE Applied to more than one system Reuse is cheaper than reinvent December 7, 2018
4
Overview Software Product Lines :: Chapter 14
Software Product Lines: “a set of software-intensive systems sharing a common, managed set of features that satisfy the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way.” Simplify the creation of systems Improvements in costs Depends on coordinated strategy involving software engineering, technical and organizational management December 7, 2018
5
What Makes Software Product Lines Work?
Software Product Lines :: Chapter 14 What Makes Software Product Lines Work? “The essence of a software product line is the disciplined, strategic re-use of assets in producing a family of products.” Focus on commonalities shared by the products Requirements Architectural design Elements Modeling and analysis Testing Project Planning Process, methods and tools People Exemplar systems Defect elimination December 7, 2018
6
What Makes Software Product Lines Work?
Software Product Lines :: Chapter 14 What Makes Software Product Lines Work? Rely on Reuse Promise almost always exceeding the pay off Rich Libraries Small Libraries “Software product lines make re-use work by establishing a very strict context for it. Nothing is placed in the re-use library that was not built to be re-use in that product line. Product lines work by relying on strategic or planned, not opportunistic, re-use” December 7, 2018
7
Software Product Lines :: Chapter 14
Scoping Define the product line scope Organization’s best prediction about what products it will be asked to build in the foreseeable future. Narrow scope (Products vary in a small number of features) Broad scope (Products vary in any kind as well as in features) Find commonality that can be exploited to substantially reduce the cost of constructing the systems that an organization intends to build. December 7, 2018
8
Architectures for Product Lines
Software Product Lines :: Chapter 14 Architectures for Product Lines “The essence of building a successful software product line is discriminating between what is expected to remain constant across all family members and what is expected to vary.” Identifying Variation Points Requirements Elicitation Architecture Design Implementation December 7, 2018
9
Architectures for Product Lines
Software Product Lines :: Chapter 14 Architectures for Product Lines Supporting Variation Points Inclusion or omission of elements Inclusion of a different number of replicated elements Selection of versions of elements that have the same interface but different behavioral or quality attribute characteristics Evaluating a Product Line Architecture What, how and when to evaluate? Focus on the variation points to make sure they are appropriate Sufficient flexibility to cover the intended scope December 7, 2018
10
What Makes Software Product Lines Difficult
Software Product Lines :: Chapter 14 What Makes Software Product Lines Difficult It takes a certain maturity… Technology is not the only barrier Organization, process and business issues Adoption Strategies “Getting an organization to adopt the product line approach is in many regards like any other technology insertion problem. How to solve it depends on the organization’s culture and context.” “Knowing the various adoption models can help an organization chose the one that is right for it.” December 7, 2018
11
What Makes Software Product Lines Difficult
Software Product Lines :: Chapter 14 What Makes Software Product Lines Difficult Creating Products and Evolving a Product Line Manage its evolution… External sources Internal sources Organizational Strategies Development department Business units Domain Engineering unit Hierarchical domain engineering unit December 7, 2018
12
References BASS, L.; CLEMENTS, P.; KAZMAN, R. Software Architecture in Practice. Addison-Wesley, 2003. CLEMENTS, P.; NOTHROP, L. Software Product Lines – Practice and Patterns. Addison-Wesley, 2002. December 7, 2018
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.