4+1 view model of software architecture - javeriana...

25
4+1 View Model of Software Architecture “Software architecture” course Presented By: Mazeiar Salehie October 2004

Upload: others

Post on 19-Apr-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

4+1 View Model of

Software Architecture

“Software architecture” course

Presented By: Mazeiar Salehie

October 2004

Page 2: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

2

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

Page 3: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

3

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

Page 4: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

4

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

Page 5: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

5

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

Page 6: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

6

Logical view

Physical ViewProcess View

Developmentview

4+1 View Model of Architecture

End user

System EngineerIntegrator

Programmers& softwaremanagers

Scenarios

Page 7: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

7

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

Page 8: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

8

Logical view Example

Page 9: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

9

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)

Page 10: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

10

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)

Page 11: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

11

Process View example

Page 12: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

12

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)

Page 13: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

13

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

Page 14: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

14

Physical view example

Page 15: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

15

Physical view example (cont.)

Page 16: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

16

Logical view

Physical ViewProcess View

Developmentview

4+1 View Model of Architecture

End user

System EngineerIntegrator

Programmers& softwaremanagers

Scenarios

Page 17: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

17

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

Page 18: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

18

Scenario example

Page 19: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

19

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.

Page 20: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

20

Logical view

Physical ViewProcess View

Developmentview

4+1 View Model of Architecture

End user

System EngineerIntegrator

Programmers& softwaremanagers

Scenarios

Page 21: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

21

From logical to Process view

� Two strategy to analyse level of concurrency:

� Inside-out: starting from Logical structure

� Outside-in: starting from physical structure

Page 22: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

22

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

Page 23: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

23

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

Page 24: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

24

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.

Page 25: 4+1 View Model of Software Architecture - Javeriana Calicic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-krucht… · Arch. documents over-emphasize an aspect of development

4+1 View Model of

Software Architecture

“Software architecture” course

Presented By: Mazeiar Salehie

October 2004