A Survey of Software Architecture Viewpoint Models

Download Report

Transcript A Survey of Software Architecture Viewpoint Models

A Survey of
Software Architecture
Viewpoint Models
Nicholas May
[email protected]
Overview

Surveyed five similar approaches to
documenting software architecture

To identify:
• Their strengths and weaknesses
• An optimum approach to
documenting software architecture
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 2
Contents




Background:
• Software architecture
• Documentation approaches
Survey:
• Comparison Framework
• Review of the five approaches
Conclusions
Questions
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 3
Background

What is Software Architecture?

Structures
= Components and Connectors

Styles
= Constraints on Composition.

Rationale
= Non-Functional Requirements
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 4
Background
- IEEE Standard 1471-2000
Adapted from “IEEE Recommended Practice for Architectural Description of Software Intensive Systems”. IEEE (2000)
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 5
Background - Viewpoint Models



Viewpoint models utilize perspectives to separate the
concerns.
Perspectives are variously called views, viewtypes, and
viewpoints.
Different viewpoint models focus on the different uses of
documentation.
•
•
•

Communication.
Design.
Re-use.
Other frameworks exist for classifying documentation.
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 6
Survey

Framework
• based on IEEE 1471-2000, IEEE (2000).

Viewpoint Models:
• “4+1” View Model, Kruchten, P. (1997).
• SEI View Model, Clements, P. et al. (2002b).
• ISO RM-ODP, ISO (1994).
• Siemens Four View Model, Soni, D. et al. (1995).
• Rational ADS, Norris, D. (2004).
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 7
Survey - Comparison Framework

Stakeholders
eg. Architects, Testers, Managers.
from “Documenting Software Architectures: views and beyond” (Clements et al, 2002a, page 10).

Concerns
eg. Performance, Implementation, Privacy.
from “Software Engineering” (Sommerville, 2000, page 101).

Structures
eg. Decomposition, Layer, Process
from “Software Architecture in Practice” (Bass et al., 2003, page 39).
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 8
Survey – Example Translations



Stakeholders
Implementers:
Concerns
Reliability:
Structures
Deployment:
Tuesday, 29th March 2005
Programmers and
Systems Engineers.
Quality of Service, Fault Tolerance,
Availability, and Failure Modes.
Hardware and Software
components.
A Survey of Software Architecture Viewpoint Models
Slide 9
Survey – Summary of Models
Focus
Features
SEI Communication Independent viewpoints
“4+1” Design
Viewpoints
3 viewpoints
Iterative design process
5 views
Siemens Design
Flow of information
through viewpoints
4 views
RM-ODP Re-use
Defines a common
vocabulary
5 viewpoints
Rational ADS Design
Defined mappings
between views
4 viewpoints
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 10
12
Stakeholders
"4+1"
10
SEI
8
RM-ODP
6
Siemens
4
2
Rational
ADS
0
Total
Structures
Tuesday, 29th March 2005
Concerns
A Survey of Software Architecture Viewpoint Models
Slide 11
Conclusions - Viewpoint Groups
“4+1”
model
SEI
model
Functional
Logical
view
Module
viewtype
Module
view
-
Behavioural
Process
view
C&C
viewtype
Execution
view
-
Development
view
Allocation
viewtype
Code
view
Realization
viewpoint
External
Tuesday, 29th March 2005
Siemens Rational
model
ADS
A Survey of Software Architecture Viewpoint Models
Slide 12
Conclusions - Optimum Set
Rational ADS - Requirements viewpoint
 SEI
- Module viewtype
 SEI
- C&C viewtype
 SEI
- Allocation viewtype

Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 13
Conclusions - Future Work

Map Stakeholders to Concerns

Determine Implicit Stakeholders

Verify Optimum Viewpoint Set
using Case Studies
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 14
Finale - summary

Software Architecture can be documented
using different approaches

Viewpoint models use multiple perspectives
based on the separation of concerns

Surveyed five viewpoint models

Identified their relative strengths and
weaknesses

Identified an optimum set of viewpoints
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 15
Finale
Tuesday, 29th March 2005

Thankyou

Questions
A Survey of Software Architecture Viewpoint Models
Slide 16
Survey - “4+1” View Model
Adapted from “Architectural Blueprints – the 4+1 view model of software architecture”, Kruchten, P. (1997)
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 17
Survey - SEI View Model

Module Viewtype

Component & Connector Viewtype

Allocation Viewtype
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 18
Survey - RM-ODP
Tuesday, 29th March 2005

Enterprise View

Information View

Computational View

Engineering View

Technology View
A Survey of Software Architecture Viewpoint Models
Slide 19
Survey
- Siemens Four View Model
Adapted from “Applied Software Architecture”, Hofmeister, C. et al. (2000).
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 20
Survey - Rational ADS
Adapted from “Communicating Complex Architectures with UML and the Rational ADS”, Norris, D. (2004).
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 21
Conclusions – Number of
viewpoints addressing Structures
"4+1"
SEI
RM-ODP
Siemens
Rational ADS
Number of Viewpoints
Decomposition
Uses
Layered
Abstraction
Process
Concurrency
Shared Data
Client-Server
Deployment
Implementation
Work Assignment
0
Tuesday, 29th March 2005
5
10
15
A Survey of Software Architecture Viewpoint Models
20
Slide 22
Conclusions – Number of
viewpoints addressing Concerns
"4+1"
SEI
RM-ODP
Siemens
Rational ADS
Number of Viewpoints
Usability
Performance
Space
Reliability
Portability
Delivery
Implementation
Standards
Interoperability
Ethical
Privacy
Safety
0
Tuesday, 29th March 2005
5
10
15
A Survey of Software Architecture Viewpoint Models
20
Slide 23
Conclusions – Number of viewpoints
addressing Stakeholder Roles
"4+1"
SEI
RM-ODP
Siemens
Rational ADS
Number of Viewpoints
Architects / Requirements Engineers
Sub-System Architects / Designers
Implementers
Testers / Integrators
Maintainers
External System Architects / Designers
Managers
Product Line Managers
Quality Assurance Team
End User
Standard Writers
0
Tuesday, 29th March 2005
5
10
15
A Survey of Software Architecture Viewpoint Models
20
Slide 24
References
Bass, L. et al.
(2003).
Software Architecture in Practice. Addison Wesley, Boston,
MA, USA, 2nd edition. ISBN 0-321-15495-9.
Clements, P. et al.
(2002a)
Documenting Software Architecture: Views and Beyond.
Addison Wesley, Boston, MA, USA, 1st edition. ISBN 0-20170372-6.
Clements, P. et al.
(2002b)
A practical method for documenting software architectures.
http://www-2.cs.cmu.edu/afs/cs/project/able/ftp/icse03dsa/submitted.pdf viewed on 20th September, 2004. Draft.
Hofmeister, C. et al. Applied Software Architecture. Object Technology Series.
(2000).
Addison Wesley, Boston, MA, USA, 1st edition. ISBN 0-20132571-3.
IEEE (2000)
Tuesday, 29th March 2005
IEEE Recommended Practice for Architectural Description of
Software-Intensive Systems. Institute of Electrical and
Electronics Engineers. IEEE Std 1471-2000.
A Survey of Software Architecture Viewpoint Models
Slide 25
References - Continued
ISO (1994)
Reference Model of Open Distributed Processing (RM-ODP).
International Organization for Standardization. Technical
Report 10746.
Kruchten, P. (1997)
Architectural Blueprints - The “4+1” View Model of Software
Architecture. IEEE Software, 12(6):42–50.
Norris, P
(2004)
Communicating Complex Architectures with UML and the
Rational ADS. In Proceedings of the IBM Rational Software
Development User Conference, 2004. Copyright 2004 IBM
Australia.
Sommerville, I.
(2000)
Software Engineering. Addison Wesley, Boston, MA, USA,
6th edition.
ISBN 0-201-39815-X.
Soni, D. et al.
(1995)
Software architecture in industrial applications. In
International Conference on Software Engineering, pages
196–207.
Tuesday, 29th March 2005
A Survey of Software Architecture Viewpoint Models
Slide 26