0% found this document useful (0 votes)
35 views25 pages

4+1 View Model of Software Architecture: "Software Architecture" Course Presented By: Mazeiar Salehie October 2004

This document presents Philippe Kruchten's 4+1 View Model for software architecture documentation. The model uses four primary views (logical, process, development, physical) along with scenarios to represent a software system from the perspectives of different stakeholders. Each view addresses specific concerns using different notations. The views are interconnected and developed iteratively. The model helps address the challenges of representing complex architectures and ensuring documentation meets the needs of all stakeholders such as end users, developers, and system engineers.

Uploaded by

Vaishali Ravi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views25 pages

4+1 View Model of Software Architecture: "Software Architecture" Course Presented By: Mazeiar Salehie October 2004

This document presents Philippe Kruchten's 4+1 View Model for software architecture documentation. The model uses four primary views (logical, process, development, physical) along with scenarios to represent a software system from the perspectives of different stakeholders. Each view addresses specific concerns using different notations. The views are interconnected and developed iteratively. The model helps address the challenges of representing complex architectures and ensuring documentation meets the needs of all stakeholders such as end users, developers, and system engineers.

Uploaded by

Vaishali Ravi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 25

4+1 View Model of

Software Architecture
“Software architecture” course

Presented By: Mazeiar Salehie


October 2004
Outline
 About Kruchten and this paper
 Problem
 Solution
 4+1 view model
 Logical view
 Process view
 Development view
 Physical view
 Scenarios
 The Iterative process
 Remarks
2
About Kruchten and this paper
 Philippe Kruchten
 Over 16 years of experience as the leader of
RUP development team in Rational corp. (now
owned by IBM)
 Valuable experiences in industry (Telecom, Air
traffic control system) which he used them for
confirmation of his model
 The “4+1 view model” paper:
 60 citations according to ACM portal site

3
Problem
 Arch. documents over-emphasize an
aspect of development (i.e. team
organization) or do not address the
concerns of all stakeholders
 Various stakeholders of software system:
end-user, developers, system engineers,
project managers
 Software engineers struggled to represent
more on one blueprint, and so arch.
documents contain complex diagrams

4
Solution
 Using several concurrent views or perspectives,
with different notations each one addressing one
specific set for concerns
 “4+1” view model presented to address large and
challenging architectures

5
4+1 View Model of Architecture

End user Development Programmers


Logical view & software
view
managers

Scenarios

Process View Physical View

Integrator System Engineer

6
Logical View
(Object-oriented Decomposition)
Viewer: End-user
considers: Functional requirements- What the
system should provide in terms of services to its
users.
Notation: The Booch notation (OMT) (object and
dynamic models)
Tool: Rational Rose

7
Logical view Example

8
Process View
(The process decomposition)
viewer: Integrators
considers: Non - functional requirements
(concurrency, performance, scalability)
style: Several styles would fit in this view
(Garlan and Shaw ‘s Architecture styles)

9
Process view (cont.)
 Uses multiple levels of abstractions, a
logical network of processes at the highest
level
 A process is a grouping of tasks that form
an executable unit:
 Major Tasks: Arch. relevant tasks
 Minor Tasks: Helper tasks. (Buffering)

10
Process View example

11
Development View
(Subsystem decomposition)
Basis of a line of product
Viewer: Programmers and Software Managers
considers: software module organization
(Hierarchy of layers, software management,
reuse, constraints of tools)
Style: layered style
Notation: the Booch notation (module, subsystem,
layer)

12
Physical View
(Mapping the software to the Hardware)
Viewer: System Engineers
Considers: Non-functional req. regarding to
underlying hardware (Topology, Communication)
Notation: May have several forms and may Tightly
connected to the process view
 There may be two architecture:
 Test and development
 deployment

13
Physical view example

14
Physical view example (cont.)

15
4+1 View Model of Architecture

End user Development Programmers


Logical view & software
view
managers

Scenarios

Process View Physical View

Integrator System Engineer

16
Scenarios
(Putting it all together)
Viewer: All users of other views and Evaluators.
Considers: System consistency, validity
Notation: almost similar to logical view
Tool: Rational Rose
 Help illustrate and validate the document
 Help Architect during the architecture
design

17
Scenario example

18
Correspondence between views
 Views are interconnected.
 Start with Logical view (Req. Doc) and Move to
Development or Process view and then finally go
to Physical view.

19
4+1 View Model of Architecture

End user Development Programmers


Logical view & software
view
managers

Scenarios

Process View Physical View

Integrator System Engineer

20
From logical to Process view
 Two strategy to analyse level of
concurrency:
 Inside-out: starting from Logical structure
 Outside-in: starting from physical structure

21
From Logical to development
 They are very close, but the larger the
project, the greater the distance
 Grouping to subsystems based on:
 Classes
 Class packages
 Line of codes
 Team organization

22
The Iterative process
 Not all software arch. Need all views.
 A scenario-driven approach to develop the
system
 Documentation:
 Software architecture document
 Software design guidelines

23
Remarks
 Methodology successfully used in the
industry
 Air Traffic Control
 Telecom
 Comprehensive: All other views are
reducible to one of the 4 views
 In this paper there is no tools to integrate
views. So there is an inconsistency
problem in this model which is more
tangible in the maintenance of the
architecture.
24
4+1 View Model of
Software Architecture
“Software architecture” course

Presented By: Mazeiar Salehie


October 2004

You might also like