Week 10 Kruchten-4+1 View
Week 10 Kruchten-4+1 View
Week 10 Kruchten-4+1 View
• Problem
• Solution
• 4+1 view model
• Logical view
• Process view
• Development view
• Physical view
• Use-case view
• The Notations
The Problem
A software architecture must describe its group of components, their connections, interactions among them and
deployment configuration of all components.
1. Logical View = (The Object-oriented Decomposition)
• Viewer: End-user
• Considers: Functional Requirements- What the system should
provide in terms of services to its users.
• Viewer: Integrator(s)
• Considers: Non-Functional Requirements - (concurrency, performance,
scalability, usability, resilience, re-use, comprehensibility, economic
and
technology constraints, trade-offs, and cross-cutting concerns - like
security and transaction management)
• What this view shows?
• “This view shows the processes (workflow rules) of the system and how
those processes communicate with each other”.
• UML diagrams: Sequence, Communication, Activity, Timing,
Interaction
Overview diagrams
3. Development/Implementation View
= (The Subsystem
Decomposition)
• Viewer: Programmers and Software Managers
• Considers: Software module organization of layers,
software management, reuse, constraints of tools)
(Hierarchy
• What this view shows?
• “This view shows the building blocks of the system”.
• UML diagrams: Component, Package diagrams
• Package Details, Execution Environments, Class Libraries, Layers, Sub-system
design
4. Physical/Deployment View
= (Software to Hardware
Mapping)
• Viewer: System Engineers
• Considers: Non-functional Requirements for
(Topology, Communication)
hardware
• What this view shows? Non-functional
• The Use-case View: The use case view has a special significance.
Views are effectively redundant (i.e. Views are interconnected).
However, all other views would not be possible without use
case view.
It details the high levels requirements of the system.
The other views detail how those requirements are realized.
Correspondence between views
• Views are interconnected.
• They are very close, but the larger the project, the greater the
• Start with Logical view (Req. Doc) and Move to Development
distance. or Process
view and then finally go to Physical view.
1. From logical to Process view
Two strategies to analyze level of concurrency:
Inside-out: starting from Logical structure
Outside-in: starting from physical structure
2. From Logical to development view
Grouping to subsystems is based on:
Classes
Class packages
Line of codes
Team organization
Software Architecture Definition by IEEE
It specifies the notions of view and viewpoint, where a viewpoint identifies the set
of concerns and the representations/modeling techniques, etc. used to describe
the architecture to address those concerns and a view is the result of applying a
viewpoint to a particular system.
It establishes content requirements for architecture descriptions and the idea that
a conforming architecture description has a 1-to-1 correspondence between
its viewpoints and its views.