尊敬的 微信汇率:1円 ≈ 0.046166 元 支付宝汇率:1円 ≈ 0.046257元 [退出登录]
SlideShare a Scribd company logo
4+1 View Model

Designed by : Philippe Kruchten

Designed for : Describing the architecture of
               software-intensive systems, based
               on the use of multiple, concurrent
               views
What is View Model ?

 A view model in systems engineering or software
  engineering is a framework.

 It defines a coherent set of views to be used in the
  construction of a system architecture or software
  architecture.

 A view is a representation of a whole system from the
  perspective of a related set of concerns.

 Viewpoint modeling has become an effective approach for
  dealing with the inherent complexity of large distributed
  systems.
Intent of 4+1 view model
 To come up with a mechanism to separate the different
  aspects of a software system into different views of the
  system.

 But why???? -> Different stakeholders always have different
  interest in a software system.

DEVELOPERS – Aspects of Systems like classes

SYSTEM ADMINISTRATOR – Deployment, hardware and network
                       configuration.


 Similar points can be made for Testers, Project Managers
  and Customers.
Solution came from 4+1 View Model
 The views are used to describe the system from the viewpoint
  of different stakeholders, such as end-users, developers and
  project managers.

 The four views of the model are:
       -> Logical View
       -> Development View
       -> Process View
       -> Physical View

 In addition selected use cases or scenarios are utilized to
  illustrate the architecture serving as the 'plus one' view.
The 4+1 View model



   End user                                Development       Programmers
                Logical view                                  & software
                                               view
                                                               managers

                               Scenarios


                Process View               Physical View



   Integrator                                              System Engineer


 Describes software architecture using five concurrent views.
Logical View
(Object-oriented Decomposition)

Viewer        : End-user
Considers     : Functional requirements- What the system
                should provide in terms of services to its
                users.

 This view shows the components (objects) of the system as
  well as their interactions / relationships.

 UML diagrams – Class, State, Object, Sequence,
                 Communication diagrams.
Process View
(The process decomposition)

Viewer        : Integrators
Considers     : Non - functional requirements (concurrency,
                 performance, scalability)

 The process view shows the processes / workflow rules of a
  system and how those processes communicate with each
  other.

 UML diagrams – Activity diagram
Development View
(Subsystem decomposition)

Viewer       : Programmers and Software Managers
Considers    : software module organization
               (Hierarchy of layers, software management,
                reuse, constraints of tools)

 It gives a building block view of the system.
  Eg: Packages Used, Execution Environments, Class
  Libraries and Sub systems utilized.

 UML diagrams – Component, Package diagrams.
Physical Views
(Mapping the software to the Hardware)

Viewer        : System Engineers
Considers     : Non-functional req. regarding to underlying
                hardware (Topology, Communication)

 This view shows the systems execution environment

 UML diagram – Deployment diagram.
Scenario / Use case View
(Putting it all together)

Viewer          : All users of other views and Evaluators.
Considers       : System consistency, validity

 Validation and illustration to show the design is complete

 It is redundant with other views.

 UML diagram – Use case diagrams.
Relationship among the views

 Concurrency is not addressed in the logical view, to achieve the
  process view, we need to map classes and their objects onto tasks
  and processes addressing concurrency and synchronization.

 The processes and process groups are mapped onto the
  processing nodes of a physical computer network to obtain the
  physical view. For each dependency between components, there
  must be a corresponding link between nodes.

 The logical view is also the basis for the development view.
  Normally each class corresponds to a module. Large classes may
  be decomposed into packages. Collections of classes are grouped
  into subsystems.
Modeling a system
 Decide which views are needed to best express the
  architecture of the system and to expose the technical risks
  to the project.

 For each of these views, decide the artifacts(eg. UML
  Diagrams) needed to be created to capture the essential
  details of that view.

 As part of process planning, decide which of the UML
  diagrams require frequent reviews and which have to be
  documented.

 Allow room for diagrams that are thrown away. Such
  transitory diagrams are useful for exploring the implications
  of decisions taken and for experimenting with changes.
Views – UML Diagrams
 A simple Monolithic Application that runs on a
  single machine requires…

  •   Use case view      Use case Diagrams

  •   Design view        Class Diagrams
                         Interaction Diagrams

  •   Process view       None

  •   Implementation view None

  •   Deployment view    None
Views – UML Diagrams
 A complex, distributed system requires…
 •   Use case view     Use case Diagrams
                       Activity Diagrams

 •   Design view       Class Diagrams
                       Interaction Diagrams
                       State chart Diagrams

 •   Process view      Class Diagrams
                       Interaction Diagrams

 •   Implementation view Component Diagrams

 •   Deployment view   Deployment Diagrams
Why is it called the 4 + 1 instead of just 5?
  The use case view has a special significance.

  When all other views are finished, it's effectively
   redundant.

  However, all other views would not be possible without it.

  It details the high levels requirements of the system.

  The other views detail how those requirements are
   realized.
4+1 View model came before UML
 It's important to remember the 4 + 1 approach was put
  forward two years before the first introduction of UML
  which did not manifest in its first appearance until 1997.

 UML is how most enterprise architectures are modeled and
  the 4 + 1 approach still plays a relevance to UML today.

 UML 2.0 has 13 different types of diagrams - each diagram
  type can be categorized into one of the 4 + 1 views.

 UML is 4 + 1 friendly!
Is it important?
 It makes modeling easier.

 Better organization with better separation of concern.

 The 4 + 1 approach provides a way for architects to be able
  to prioritize modeling concerns.

 The 4 + 1 approach makes it possible for stakeholders to get
  the parts of the model that are relevant to them.
4+1 view model

More Related Content

What's hot

Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
Debajyoti Biswas
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
Charotar University Of Science And Technology,Gujrat
 
Component and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewComponent and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief Overview
Rajiv Kumar
 
Component based software development
Component based software developmentComponent based software development
Component based software development
Emmanuel Fuchs
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
Kumar
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
ganesh12july
 
Uml deployment diagram
Uml deployment diagramUml deployment diagram
Uml deployment diagram
Asraa Batool
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
mohamed khalaf alla mohamedain
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
DIPEN SAINI
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Hassan A-j
 
UML
UMLUML
Software design
Software designSoftware design
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
Hemant Sharma
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
Gobinath Subramaniam
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
KarthigaiSelviS3
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
Melba Rosalind
 

What's hot (20)

Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
 
Component and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief OverviewComponent and Deployment Diagram - Brief Overview
Component and Deployment Diagram - Brief Overview
 
Component based software development
Component based software developmentComponent based software development
Component based software development
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
Uml deployment diagram
Uml deployment diagramUml deployment diagram
Uml deployment diagram
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
UML
UMLUML
UML
 
Software design
Software designSoftware design
Software design
 
Interaction Modeling
Interaction ModelingInteraction Modeling
Interaction Modeling
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
Identifying classes and objects ooad
Identifying classes and objects ooadIdentifying classes and objects ooad
Identifying classes and objects ooad
 

Similar to 4+1 view model

Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
Jérôme Kehrli
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
do_2013
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
do_2013
 
4plus1-View.ppt
4plus1-View.ppt4plus1-View.ppt
4plus1-View.ppt
LUISALEJANDROSOSAESC
 
Chapter1
Chapter1Chapter1
Chapter1
Dang Tuan
 
4+1archi
4+1archi4+1archi
4+1archi
Jainul Musani
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
Tot Bob
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
Uml3
Uml3Uml3
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
madhavi patil
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
nazn
 
UML Design
UML DesignUML Design
UML Design
Debashis Biswas
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
ganeshkarthy
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
Kumar
 
4+1
4+14+1
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Dr Sukhpal Singh Gill
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptx
TangZhiSiang
 
Chapter9
Chapter9Chapter9
Chapter9
Dang Tuan
 
Cs 2401 Unit 1
Cs 2401 Unit 1Cs 2401 Unit 1
Cs 2401 Unit 1
Susan Cox
 

Similar to 4+1 view model (20)

Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdf
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
 
4plus1-View.ppt
4plus1-View.ppt4plus1-View.ppt
4plus1-View.ppt
 
Chapter1
Chapter1Chapter1
Chapter1
 
4+1archi
4+1archi4+1archi
4+1archi
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
Uml3
Uml3Uml3
Uml3
 
SMD Unit i
SMD Unit iSMD Unit i
SMD Unit i
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
 
UML Design
UML DesignUML Design
UML Design
 
Unit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdfUnit-1_Notes(OOAD).pdf
Unit-1_Notes(OOAD).pdf
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
4+1
4+14+1
4+1
 
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
Workshop on Basics of Software Engineering (DFD, UML and Project Culture)
 
SE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptxSE - Lecture 3 - Software Tools n Environment.pptx
SE - Lecture 3 - Software Tools n Environment.pptx
 
Chapter9
Chapter9Chapter9
Chapter9
 
Cs 2401 Unit 1
Cs 2401 Unit 1Cs 2401 Unit 1
Cs 2401 Unit 1
 

4+1 view model

  • 1.
  • 2. 4+1 View Model Designed by : Philippe Kruchten Designed for : Describing the architecture of software-intensive systems, based on the use of multiple, concurrent views
  • 3. What is View Model ?  A view model in systems engineering or software engineering is a framework.  It defines a coherent set of views to be used in the construction of a system architecture or software architecture.  A view is a representation of a whole system from the perspective of a related set of concerns.  Viewpoint modeling has become an effective approach for dealing with the inherent complexity of large distributed systems.
  • 4. Intent of 4+1 view model  To come up with a mechanism to separate the different aspects of a software system into different views of the system.  But why???? -> Different stakeholders always have different interest in a software system. DEVELOPERS – Aspects of Systems like classes SYSTEM ADMINISTRATOR – Deployment, hardware and network configuration.  Similar points can be made for Testers, Project Managers and Customers.
  • 5. Solution came from 4+1 View Model  The views are used to describe the system from the viewpoint of different stakeholders, such as end-users, developers and project managers.  The four views of the model are: -> Logical View -> Development View -> Process View -> Physical View  In addition selected use cases or scenarios are utilized to illustrate the architecture serving as the 'plus one' view.
  • 6.
  • 7. The 4+1 View model End user Development Programmers Logical view & software view managers Scenarios Process View Physical View Integrator System Engineer  Describes software architecture using five concurrent views.
  • 8. Logical View (Object-oriented Decomposition) Viewer : End-user Considers : Functional requirements- What the system should provide in terms of services to its users.  This view shows the components (objects) of the system as well as their interactions / relationships.  UML diagrams – Class, State, Object, Sequence, Communication diagrams.
  • 9. Process View (The process decomposition) Viewer : Integrators Considers : Non - functional requirements (concurrency, performance, scalability)  The process view shows the processes / workflow rules of a system and how those processes communicate with each other.  UML diagrams – Activity diagram
  • 10. Development View (Subsystem decomposition) Viewer : Programmers and Software Managers Considers : software module organization (Hierarchy of layers, software management, reuse, constraints of tools)  It gives a building block view of the system. Eg: Packages Used, Execution Environments, Class Libraries and Sub systems utilized.  UML diagrams – Component, Package diagrams.
  • 11. Physical Views (Mapping the software to the Hardware) Viewer : System Engineers Considers : Non-functional req. regarding to underlying hardware (Topology, Communication)  This view shows the systems execution environment  UML diagram – Deployment diagram.
  • 12. Scenario / Use case View (Putting it all together) Viewer : All users of other views and Evaluators. Considers : System consistency, validity  Validation and illustration to show the design is complete  It is redundant with other views.  UML diagram – Use case diagrams.
  • 13. Relationship among the views  Concurrency is not addressed in the logical view, to achieve the process view, we need to map classes and their objects onto tasks and processes addressing concurrency and synchronization.  The processes and process groups are mapped onto the processing nodes of a physical computer network to obtain the physical view. For each dependency between components, there must be a corresponding link between nodes.  The logical view is also the basis for the development view. Normally each class corresponds to a module. Large classes may be decomposed into packages. Collections of classes are grouped into subsystems.
  • 14. Modeling a system  Decide which views are needed to best express the architecture of the system and to expose the technical risks to the project.  For each of these views, decide the artifacts(eg. UML Diagrams) needed to be created to capture the essential details of that view.  As part of process planning, decide which of the UML diagrams require frequent reviews and which have to be documented.  Allow room for diagrams that are thrown away. Such transitory diagrams are useful for exploring the implications of decisions taken and for experimenting with changes.
  • 15. Views – UML Diagrams  A simple Monolithic Application that runs on a single machine requires… • Use case view Use case Diagrams • Design view Class Diagrams Interaction Diagrams • Process view None • Implementation view None • Deployment view None
  • 16. Views – UML Diagrams  A complex, distributed system requires… • Use case view Use case Diagrams Activity Diagrams • Design view Class Diagrams Interaction Diagrams State chart Diagrams • Process view Class Diagrams Interaction Diagrams • Implementation view Component Diagrams • Deployment view Deployment Diagrams
  • 17. Why is it called the 4 + 1 instead of just 5?  The use case view has a special significance.  When all other views are finished, it's effectively redundant.  However, all other views would not be possible without it.  It details the high levels requirements of the system.  The other views detail how those requirements are realized.
  • 18. 4+1 View model came before UML  It's important to remember the 4 + 1 approach was put forward two years before the first introduction of UML which did not manifest in its first appearance until 1997.  UML is how most enterprise architectures are modeled and the 4 + 1 approach still plays a relevance to UML today.  UML 2.0 has 13 different types of diagrams - each diagram type can be categorized into one of the 4 + 1 views.  UML is 4 + 1 friendly!
  • 19. Is it important?  It makes modeling easier.  Better organization with better separation of concern.  The 4 + 1 approach provides a way for architects to be able to prioritize modeling concerns.  The 4 + 1 approach makes it possible for stakeholders to get the parts of the model that are relevant to them.
  翻译: