Software Architecture in Practice - PowerPoint PPT Presentation

About This Presentation
Title:

Software Architecture in Practice

Description:

Explicit and planned re-use of a software architecture across a ... Reuse is cheaper than reinvent. 10/14/09. 4. Overview. Simplify the creation of systems ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 13
Provided by: anapaulac
Category:

less

Transcript and Presenter's Notes

Title: Software Architecture in Practice


1
Software Architecture in Practice
  • RiSEs Seminars
  • Basss book Chapter 14
  • Ana Paula Cavalcanti

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

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

COREASSET BASE
Applied to more than one system Reuse is cheaper
than reinvent
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

5
What Makes Software Product Lines Work?
Software Product Lines Chapter 14
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
6
What Makes Software Product Lines Work?
Software Product Lines Chapter 14
  • 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

7
Scoping
Software Product Lines Chapter 14
  • Define the product line scope
  • Organizations 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.

8
Architectures for Product Lines
Software Product Lines Chapter 14
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

9
Architectures for Product Lines
Software Product Lines Chapter 14
  • 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

10
What Makes Software Product Lines Difficult
Software Product Lines Chapter 14
  • 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 organizations culture and
    context.
  • Knowing the various adoption models can help an
    organization chose the one that is right for it.

11
What Makes Software Product Lines Difficult
Software Product Lines Chapter 14
  • 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

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.
Write a Comment
User Comments (0)
About PowerShow.com