Вы находитесь на странице: 1из 35

1

4+1 architectural view model


By Jainul Musani
2 4+1 Architectural view model
By Philippe Kruchten - Canadian software engineer,
Professor of Software Engineering at University of
British Columbia in Vancouver, Canada,
3 Introduction 4+1 architectural M. V.
4+1. describing the architecture of software-intensive
systems, based on the use of multiple, concurrent views.
The views are used to describe the system from the
viewpoint of different stakeholders,
such as
o End-users,
o Developers,
o project managers and
o System Engineers.
4 Introduction 4+1 architectural M. V.
The four views of the model are_
 Logical view,
 Development view,
 Process view and
 Physical view.
In addition selected use cases or scenarios
as the 'plus one' view.
5

Conceptual Physical
6
7

Logical View and the Process View are at a Conceptual


level
Used from analysis to design.
The Implementation View and the Deployment View are at
the Physical level
Used represent the actual application components built and
deployed.
8 Logical view
 (Object-oriented Decomposition)
Logical Architects use this view for functional analysis
UML diagrams used to represent the logical view include,
class diagrams, and state diagrams.
Viewer:End-user
considers: Functional requirements-What the system
should provide in terms of services to its users.
9 Logical view
The system is decomposed into a set of key abstractions,
taken (mostly) from the problem domain, in the form of
objects or object classes.
 They exploit the principles of abstraction, encapsulation,
and inheritance.
Logical view
10
Sequence Diagram of ATM
11
Logical View – Sequence Diagram
12
13
List of online tools to create diagrams
14
 https://www.draw.io/
 https://www.gliffy.com/
 https://cacoo.com/
 https://www.processon.com/
 https://www.lucidchart.com/
 http://diagramo.com/
 https://creately.com/
15 Class Diagram
16 Class Diagram
17 Class Diagram
18
Process View
 (The process decomposition)
 Viewer:Integrators
 Considers: Non -functional requirements
 This view considers non-functional aspects such as
 performance,
 Concurrency,
 scalability and
 throughput.
 To understand the organization processes, the process architectural view is used
in the Analysis and Design.
19
Process View
 The process view allows you to show
 what the system does at a high level, and
 how the smaller steps within the process fit together.
 It clears the processes steps, order and flow of information.
 the major flows of information through the system well understood and
documented.
Process view example
20
Process view example
21
22
Implementation View
 (Subsystem decomposition)
 Viewer: Programmers and Software Managers
 Considers: software module organization
(Hierarchy of layers, software management,
reuse, constraints of tools)
 Focuses on configuration management and actual software module organization.
 Component Diagrams are used to represent the Implementation View
 These diagrams show different components, the ports available and the
dependencies on the environment in terms of provided and required interfaces.
23
Implementation View
The implementation view is useful for:
assigning implementation work to individuals and
teams, or subcontractors
assessing the amount of code to be developed,
modified, or deleted
reasoning large-scale reuse
considering release strategies
Implementation View
24
Package Architecture
25
Physical View
26
 (Mapping the software to the Hardware)
 Viewer: System Engineers
 Considers: Non-functional req. regarding to underlying hardware
(Topology, Communication)
 Understanding the physical distribution of the system across a set of processing
nodes.
 The distribution of processing across a set of nodes in the system, including the
physical distribution of processes and threads.
Physical / Deployment View
27
Deployment of ATM / Physical
28
Scenario View
29
 (Putting it all together)
 Viewer: All users of other views and Evaluators.
 Considers: System consistency, validity
 Notation: almost similar to logical view
 The scenarios describe sequences of interactions between objects
and between processes.
 a use case is a list of actions or event steps typically defining the
interactions between a role (known in the UML as an actor) and a
system to achieve a goal.
 The actor can be a human or other external system.
 In systems engineering use cases are used at a higher level than
within software engineering often representing missions or
stakeholder goals.
Scenario View
30
Scenario Diagram – Usecase - ATM
31
32
USE CASE for Inventory
33
34 Bibliography
1) https://en.wikipedia.org/wiki/4%2B1_architectural_view_model
2) http://cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-
kruchten-4_1.pdf
3) http://www.ece.uvic.ca/~itraore/seng422-06/notes/arch06-3-2.pdf
4) http://sce.uhcl.edu/helm/rationalunifiedprocess/process/workflow/ana_desi/co_lview.
htm
5) https://technowiki.wordpress.com/2013/05/08/software-architecture-document-
guidelines/
6) https://www.sparxsystems.com.au/downloads/whitepapers/FCGSS_US_WP_Applying
_4+1_w_UML2.pdf

7) https://www.lucidchart.com/blog/uml-diagram-templates 
35

For Self Practice Examples use the


following site
 https://www.lucidchart.com/blog/uml-diagram-
templates#sequence

Вам также может понравиться