The History of Software Architecture 1 - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

The History of Software Architecture 1

Description:

Architectural styles. Style and engineering. Style and ... Prescribe the architectural constraints to the desired level. Separate aesthetics from engineering ... – PowerPoint PPT presentation

Number of Views:388
Avg rating:3.0/5.0
Slides: 12
Provided by: alanoca
Category:

less

Transcript and Presenter's Notes

Title: The History of Software Architecture 1


1
The History of Software Architecture (1)
  • INFO3011 Software Architecture and Design
  • downloadable pdf file

2
Leading Contributors
  • The leading contributors of the modern discipline
    of Software Architecture to date are
  • Dewayne Perry and Alexander Wolf
  • Mary Shaw and David Garlan
  • Len Bass, Paul Clements, Rick Kazman and Linda
    Northrup
  • Frank Buschmann et al.,
  • James O. Coplien

3
Foundations of Study
  • The seminal work is a 1992 paper by Dewayne E.
    Perry and Alexander L. Wolf
  • Foundations for the Study of Software
    Architecture. ACM SIGSOFT Software Engineering
    Notes 17(4) pp.40-52
  • Constructed a model of Software Architecture
    consisting of 3 components
  • Elements
  • Form
  • Rationale

4
Perry and Wolf, 1992
  • We use the term architecture rather than
    design to evoke notions of codification, of
    abstraction, of formal training (of software
    architects), and of style
  • Benefits sought
  • Architecture as a framework for satisfying
    requirements
  • Architecture as the technical basis for design
  • Architecture as an effective basis for reuse
  • Architecture as the basis for dependency and
    consistency analysis

5
Basis of the Intuition
  • Perry and Wolf examined other architectural
    disciplines for lessons
  • Computing hardware architecture
  • Small number of design features
  • Scale achieved by replication of the design
    elements
  • Network architecture
  • Two kinds of components nodes and connections
  • Only a few topologies to be considered
  • Building architecture
  • Multiple views
  • Architectural styles
  • Style and engineering
  • Style and materials

6
The Context of Architecture
  • Requirements are concerned with the determination
    of the information, processing and
    characteristics of that information needed by the
    user of the system
  • Architecture is concerned with the selection of
    architectural elements, their interactions, and
    the constraints on those elements and their
    interactions necessary to provide a framework in
    which to satisfy the requirements and serve as a
    basis for design
  • Design is concerned with the modularisation and
    detailed interfaces of the design elements, their
    algorithms and procedures, and the data types
    needed to support the architecture and to satisfy
    the requirements and
  • Implementation is concerned with the
    representations of the algorithms and data types
    that satisfy the design, architecture and
    requirements.

7
The Purpose of Architectural Specification
  • Architectural specifications are required to be
    of such a character that we can
  • Prescribe the architectural constraints to the
    desired level
  • Separate aesthetics from engineering
  • Express different aspects of architecture in an
    appropriate manner
  • Perform dependency and consistency analysis

8
The Model elements
  • Software Architecture elements, form,
    rationale
  • Elements
  • Processing elements
  • Data elements
  • Connecting elements

9
The Model form
  • Form
  • Consists of weighted properties and relationships
  • Weighting is either
  • Importance of property or relationship
  • Or necessity of selecting among alternatives
  • Properties
  • Define the minimum constraints on the choice of
    architectural elements
  • Relationships
  • used to constrain the placement of
    architectural elements and how they interact

10
The Model rationale
  • Rationale
  • Is underlying, but integral
  • Captures the motivation for the choice of style,
    elements and form
  • In building architecture
  • Rationale explicates underlying philosophical
    aesthetics
  • In software architecture
  • Instead explicates the satisfaction of system
    constraints
  • Functional and non-functional

11
Architectural Style
  • Perry and Wolf noted that, distinct from other
    architectural disciplines, software architecture
    had no named styles
  • They proposed that architectural styles be used
    as constraints on an architecture
  • The important thing about an architectural style
    is that it encapsulates important decisions about
    the architectural elements and emphasizes
    important constraints on their elements and their
    relationships
Write a Comment
User Comments (0)
About PowerShow.com