SlideShare a Scribd company logo
4+1 View Model of
Software Architecture
Basharat Hussain
23rd Nov. 2016
COMSTAS IIT - WAH
Outline
• Problem
• Solution
• 4+1 view model
• Logical view
• Process view
• Development view
• Physical view
• Use-case view
• The Notations
The Problem
• Arch. documents over-emphasize an aspect of development (i.e.
team organization) or do not address the concerns of all stakeholders.
• The stakeholders of software system:
• end-user,
• developers,
• system engineers,
• project managers
• Software engineers struggled to represent more on one blueprint,
and so architecture documents contains complex diagrams
Different stakeholders – different prospective
• Architecture also means different things to different stakeholders.
• For example,
• a Network Engineer would only be interested in the hardware and network
configuration of the system;
• a Project Manager in the key components to be developed and their
timelines;
• a Developer in classes that make up a component; and
• a Tester in testable scenarios.
Solution
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.
• Suitable for large and challenging architectures
• Describe different aspects of the system into different views.
• (Why?) Because different stakeholders have different aspects
• DEVELOPERS – Aspects of Systems like classes
• SYSTEM ADMINISTRATOR – Deployment, hardware and network configuration
• TESTER , PM, CUSTOMER -- ???
• “4+1” view model provides a “better organization with better separation of
concern”.
4+1 View Model of Software Architecture
4+1 view model architecture
(for distributed systems)
1. Logical View (or Structural View) - an object model of the
design
2. Process View (or Behavioral View) - concurrency and
synchronization aspects
3. Development View (or Implementation View) - static
organization (subset) of the software
4. Physical View (or Deployment View) - mapping of the
software to the hardware
+1. Use-cases View ( or Scenarios) - various usage scenarios
13 UML2.0 diagrams in ‘4+1 View Model’ Architecture
4+1 View Model of Software Architecture
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.
• What this view shows?
• “This view shows the components (objects) of the system as well as
their interaction/relationship”.
• Notation: Object and dynamic models
• UML diagrams: Class, Object, State Machine, Composite Structure
diagrams
2. Process View = (The Process Decomposition)
• 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 (Hierarchy of layers,
software management, reuse, constraints of tools)
• 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 hardware
(Topology, Communication)
• What this view shows?
• “This view shows the system execution environment”.
• UML diagrams: Deployment diagrams
• Non-UML diagrams: Network Topology (not in UML)
Non-functional
5. Use-case View/Scenarios = (putting it altogether)
• Viewer: All users of other views and Evaluators
• Considers: System consistency, validity
• What this view shows?
• “This view shows the Validation and Illustration of system
completeness. This view is redundant with other views.”.
• UML diagrams: Use-case diagram, User stories
Relationships between Views
• The Logical View and the Process View are at a conceptual level and are
used from analysis to design.
• The Development View and the Deployment View are at the physical level
and represent the actual application components built and deployed.
• The Logical View and the Development View are tied closer to
functionality (functional aspect) . They depict how functionality is modeled
and implemented.
• The Process View and Deployment View realizes the non-functional
aspects using behavioral and physical modeling.
• Use Case View leads to structural elements being analyzed in the Logical
View and implemented in the Development View. The scenarios in the Use
Case View are realized in the Process View and deployed in the Physical
View.
Why is it called the 4 + 1 instead of just 5?
• 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 distance.
• Start with Logical view (Req. Doc) and Move to Development 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
“Software Architecture is the fundamental organization
of a system, embodied in its components, their
relationships to each other and the environment, and
the principles governing its design and evolution.”
— The definition of Software Architecture as per IEEE Recommended
Practice for Architectural Description of Software Intensive Systems
(IEEE 1471-2000)
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
The Notations
Logical View – Notations (functional requirements)
• Class diagrams and class templates are usually used to illustrate the
abstraction. Common mechanisms or services are defined in class
utilities.
Logical View - Example
Logical View - Example
Process View – Notations (Non-functional requirements)
• A process is a group of tasks that form an executable unit and which can be (a)
tactically controlled, (b) replicated, (c) partitioned into a set of independent
tasks: major and minor (cyclic activities, buffering, time-outs).
Process View - Example
Process View - Example
Development/Implementation View - Notation
It consists of libraries and subsystems representation in dev
environment. The subsystems are organized into the hierarchy of
layers with well-defined interfaces.
A Typical Layer Model
Development View / Implementation View -
Example
Development View / Implementation View -
Example
Deployment/Physical View - Notations
Represents non-functional requirements such as availability, reliability,
scalability and performance. It shows how networks, processes, tasks and
objects are mapped onto the various nodes.
A typical Implementation
Model
Deployment/Physical View - Example
Deployment/Physical View - Example
Scenarios / Use Case Model (Small PABX)
Scenarios / Use Case Model (Small PABX)
Summary
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Enterprise Architecture
• If Solution Architecture is analogy to Building Blueprint, then
Enterprise Architecture will be analogy to City Blueprint.
• The scope of Enterprise Architecture covers the entire enterprise
rather than just 1 business unit.
Definition of Enterprise Architecture
• The MIT Center for Information Systems Research (MIT CISR) in 2007
defined enterprise architecture as:
“Enterprise architecture is the organizing logic for business
processes and IT infrastructure reflecting the integration and
standardization requirements of the company’s operating model. The
operating model is the desired state of business process integration and
business process standardization for delivering goods and services to
customers”.
Sun Tone Cube Architecture (Partitioning)
• The Sun Tone cubic shows a 3 dimensional cube that represent 3
important aspect of technology architecture.
• Tiers: Represent the separation of concern
• Layers: Hardware and Software Stack
• Systemic Qualities: cross functional
requirements of the IT System.
Still - One Size Does Not Fit All
• The architect community hasn’t agreed on a “Unified Architecture
Method”.
HP Global Method for ITSA
This architecture method comprises of the following views:
• Business view : The business view gives the business sponsor’s prospective
on ‘why we are doing it?’ The drivers, goals, context and measurements.
• Functional view : The functional view illustrates a system from a user’s
perspective. It gives answers to the ‘What’ questions: What is the
information, for which users, what are the services and at what qualities.
• Technical view : The application view illustrates a system from a builder’s
perspective and answer the ‘How’ questions: how the system will be
structured, how it will be constructed, how are the constraint handled?
• Implementation view : The infrastructure view depicts the system from a
Deployer’s point-of-view. It answers the ‘With’ questions: With what
product, with whom (people, governance), When/Where (rollout,
deployment).
Each view defines Architecture Principle, Architecture Model and Architecture Standards.
• 1. Architecture Principle: Principles are general rules and guidelines, intended to be enduring and seldom
amended, that inform the way in which an organization sets about fulfilling its mission. For example, if a
person’s principle is to “have integrity”. That will guide his actions and decisions; He would most likely have
a behavior standard not to steal. Therefore architecture principle provides the guidance to architecture
standards that is actionable. (Standard may be more likely subjected to changed than Principle). The format
for Defining Principles is:
• Name: Principle Name
• Statement: Unambiguous statement that communicate the fundamental rule.
• Rationale: Describe why the principle is established.
• Implications: Describe the requirements, both business and IT, for carrying out the principle.
• 2. Model: Diagram that describe the architecture view.
• 3. Architecture Standard: Standards are rules for how to define the structure throughout the
architecture. Taking the same example on ‘Integrity’ principle, the standard may be “When I found a wallet
that does not belongs to me, I will return it to the police station.” Notice that the standard is actionable and
design directly take reference to this standard and must comply with the architecture standard.
A good architecture method should give guidance on how to address
the coherence between architecture views. The HP Global Method
achieves views coherence through Architecture Principles. Architect
first defines the Business Architecture Principle, then derives the
Functional Architecture Principle and followed by Technical and
Implementation Architecture Principles. These principles once
finalized, forms the guiding principles for the definitions of model and
standard in each of its respective view.
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
Software Design Principles
Design Smells
7 Design Smells
The End
Ad

More Related Content

What's hot (20)

4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Prabhat gangwar
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
Venkat Srinivasan
 
UML - activity diagram tutorial
UML - activity diagram tutorialUML - activity diagram tutorial
UML - activity diagram tutorial
Eliza Wright
 
Uml class-diagram
Uml class-diagramUml class-diagram
Uml class-diagram
ASHOK KUMAR PALAKI
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
Emertxe Information Technologies Pvt Ltd
 
UML
UMLUML
UML
iQra Rafaqat
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
Indu Sharma Bhardwaj
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
5 architecture
5 architecture5 architecture
5 architecture
Adarsh Kumar
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
Ashesh R
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
Rahul Pola
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
Muhammad Asim
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
Assaf Gannon
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
koolkampus
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
Preeti Mishra
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
UML - activity diagram tutorial
UML - activity diagram tutorialUML - activity diagram tutorial
UML - activity diagram tutorial
Eliza Wright
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
Manish Kumar
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Software process and project metrics
Software process and project metricsSoftware process and project metrics
Software process and project metrics
Indu Sharma Bhardwaj
 
Software architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding GuideSoftware architectural patterns - A Quick Understanding Guide
Software architectural patterns - A Quick Understanding Guide
Mohammed Fazuluddin
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
Ashesh R
 
Use case Diagram
Use case Diagram Use case Diagram
Use case Diagram
Rahul Pola
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
Assaf Gannon
 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
koolkampus
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
Ivano Malavolta
 

Viewers also liked (20)

Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
Ali Ahmed
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
Dr Reeja S R
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
Henry Muccini
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
Paulo Gandra de Sousa
 
Architectural views
Architectural viewsArchitectural views
Architectural views
Saleem Khan
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes Workshop
CS, NcState
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
wweinmeyer79
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture Styles
Jorgen Thelin
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cus
lnavarros
 
Mcvs de-04 manual de instalación y configuración
Mcvs de-04 manual de instalación y configuraciónMcvs de-04 manual de instalación y configuración
Mcvs de-04 manual de instalación y configuración
lnavarros
 
Using Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software ArchitecturesUsing Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software Architectures
Tom Mens
 
modelo de arquitectura del software
 modelo de arquitectura del software modelo de arquitectura del software
modelo de arquitectura del software
Rosita Falen
 
Mcvs ad-01 modelo de arquitectura del software v3
Mcvs ad-01 modelo de arquitectura del software v3Mcvs ad-01 modelo de arquitectura del software v3
Mcvs ad-01 modelo de arquitectura del software v3
lnavarros
 
Java Technical Design Document
Java Technical Design DocumentJava Technical Design Document
Java Technical Design Document
Deborah Obasogie
 
Stakeholder Driven EA
Stakeholder Driven EAStakeholder Driven EA
Stakeholder Driven EA
Real IRM
 
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Theo Jungeblut
 
4+1
4+14+1
4+1
Suresh Kumar
 
Sig A&D - Documentation And Communication
Sig A&D - Documentation And CommunicationSig A&D - Documentation And Communication
Sig A&D - Documentation And Communication
David Meijers
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
Henry Muccini
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
Ali Ahmed
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
Dr Reeja S R
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
Henry Muccini
 
Architectural views
Architectural viewsArchitectural views
Architectural views
Saleem Khan
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes Workshop
CS, NcState
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
wweinmeyer79
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture Styles
Jorgen Thelin
 
Mcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cusMcvs ad-05 documento de analisis y diseño de cus
Mcvs ad-05 documento de analisis y diseño de cus
lnavarros
 
Mcvs de-04 manual de instalación y configuración
Mcvs de-04 manual de instalación y configuraciónMcvs de-04 manual de instalación y configuración
Mcvs de-04 manual de instalación y configuración
lnavarros
 
Using Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software ArchitecturesUsing Evolution Patterns to Evolve Software Architectures
Using Evolution Patterns to Evolve Software Architectures
Tom Mens
 
modelo de arquitectura del software
 modelo de arquitectura del software modelo de arquitectura del software
modelo de arquitectura del software
Rosita Falen
 
Mcvs ad-01 modelo de arquitectura del software v3
Mcvs ad-01 modelo de arquitectura del software v3Mcvs ad-01 modelo de arquitectura del software v3
Mcvs ad-01 modelo de arquitectura del software v3
lnavarros
 
Java Technical Design Document
Java Technical Design DocumentJava Technical Design Document
Java Technical Design Document
Deborah Obasogie
 
Stakeholder Driven EA
Stakeholder Driven EAStakeholder Driven EA
Stakeholder Driven EA
Real IRM
 
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Clean Code I - Design Patterns and Best Practices at SoCal Code Camp San Dieg...
Theo Jungeblut
 
Sig A&D - Documentation And Communication
Sig A&D - Documentation And CommunicationSig A&D - Documentation And Communication
Sig A&D - Documentation And Communication
David Meijers
 
Ad

Similar to 4+1 View Model of Software Architecture (20)

Arch06 1
Arch06 1Arch06 1
Arch06 1
nazn
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
Kumar
 
design concepts in software engineering.pptx
design concepts in software engineering.pptxdesign concepts in software engineering.pptx
design concepts in software engineering.pptx
priyadharshini512852
 
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
 
Architectural design
Architectural designArchitectural design
Architectural design
SHREEHARI WADAWADAGI
 
software architecture
software architecturesoftware architecture
software architecture
Manidheer Babu
 
_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
 
UML.PPT.pptx
UML.PPT.pptxUML.PPT.pptx
UML.PPT.pptx
mounikanarra3
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.ppt
FaizaZulkifal
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
John Chou
 
Power point for project
Power point for projectPower point for project
Power point for project
abdussalam taher
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
Prasad Chitta
 
Software architecture
Software architectureSoftware architecture
Software architecture
nazn
 
4plus1-View.ppt
4plus1-View.ppt4plus1-View.ppt
4plus1-View.ppt
LUISALEJANDROSOSAESC
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
Tawhidur Rahman Bhuiyan
 
SE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdf
SE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdfSE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdf
SE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdf
timoemin50
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
kirtisatpute4
 
Arch06 1
Arch06 1Arch06 1
Arch06 1
nazn
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
Kumar
 
design concepts in software engineering.pptx
design concepts in software engineering.pptxdesign concepts in software engineering.pptx
design concepts in software engineering.pptx
priyadharshini512852
 
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
 
_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
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.ppt
FaizaZulkifal
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
sabin kafle
 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
John Chou
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
Prasad Chitta
 
Software architecture
Software architectureSoftware architecture
Software architecture
nazn
 
SE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdf
SE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdfSE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdf
SE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.ppt.pdf
timoemin50
 
Ad

Recently uploaded (20)

interpolacrcrdcrdrcrdctctfct frfctfction.ppt
interpolacrcrdcrdrcrdctctfct frfctfction.pptinterpolacrcrdcrdrcrdctctfct frfctfction.ppt
interpolacrcrdcrdrcrdctctfct frfctfction.ppt
pawan070201
 
Lori Vanzant Online Presence. Take a look!
Lori Vanzant Online Presence. Take a look!Lori Vanzant Online Presence. Take a look!
Lori Vanzant Online Presence. Take a look!
vanzan01
 
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Designer
 
Steam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptxSteam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptx
andripapa1
 
Emirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdfEmirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdf
asfianoor1
 
Doodle Table of Contents Infographics by Slidesgo.pptx
Doodle Table of Contents Infographics by Slidesgo.pptxDoodle Table of Contents Infographics by Slidesgo.pptx
Doodle Table of Contents Infographics by Slidesgo.pptx
binhyennghlu
 
Hi! I'm Lori Vanzant. Please take a look
Hi! I'm Lori Vanzant. Please take a lookHi! I'm Lori Vanzant. Please take a look
Hi! I'm Lori Vanzant. Please take a look
vanzan01
 
dFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptxdFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptx
AKSHAYKAMBLE806728
 
Prof House interior Design Project exter
Prof House interior Design Project exterProf House interior Design Project exter
Prof House interior Design Project exter
NagudiBridget
 
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptxCOTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
ayushjadon04
 
MOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdf
MOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdfMOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdf
MOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdf
asfianoor1
 
The Irrational City | Unseen Forces of Placemaking
The Irrational City | Unseen Forces of PlacemakingThe Irrational City | Unseen Forces of Placemaking
The Irrational City | Unseen Forces of Placemaking
Leanne Munyori
 
Design of a Low-Power VLSI Router for Network-on-Chip.pptx
Design of a Low-Power VLSI Router for Network-on-Chip.pptxDesign of a Low-Power VLSI Router for Network-on-Chip.pptx
Design of a Low-Power VLSI Router for Network-on-Chip.pptx
BapujiBanothu
 
AR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdf
AR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdfAR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdf
AR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdf
akshayap23
 
Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!
vanzan01
 
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative StyleFlowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Likazelika
 
19 Best B,u,y Verified Cash App Accounts
19 Best B,u,y Verified Cash App Accounts19 Best B,u,y Verified Cash App Accounts
19 Best B,u,y Verified Cash App Accounts
https://sellsusa.com/product/buy-verified-cash-app-accounts/
 
2nd taxonomy, nomen microorganisms-.pptx
2nd  taxonomy, nomen  microorganisms-.pptx2nd  taxonomy, nomen  microorganisms-.pptx
2nd taxonomy, nomen microorganisms-.pptx
ayeleasefa2
 
Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...
Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...
Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...
Venngage AI Infographic Generator
 
Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.
vanzan01
 
interpolacrcrdcrdrcrdctctfct frfctfction.ppt
interpolacrcrdcrdrcrdctctfct frfctfction.pptinterpolacrcrdcrdrcrdctctfct frfctfction.ppt
interpolacrcrdcrdrcrdctctfct frfctfction.ppt
pawan070201
 
Lori Vanzant Online Presence. Take a look!
Lori Vanzant Online Presence. Take a look!Lori Vanzant Online Presence. Take a look!
Lori Vanzant Online Presence. Take a look!
vanzan01
 
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Designer
 
Steam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptxSteam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptx
andripapa1
 
Emirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdfEmirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdf
asfianoor1
 
Doodle Table of Contents Infographics by Slidesgo.pptx
Doodle Table of Contents Infographics by Slidesgo.pptxDoodle Table of Contents Infographics by Slidesgo.pptx
Doodle Table of Contents Infographics by Slidesgo.pptx
binhyennghlu
 
Hi! I'm Lori Vanzant. Please take a look
Hi! I'm Lori Vanzant. Please take a lookHi! I'm Lori Vanzant. Please take a look
Hi! I'm Lori Vanzant. Please take a look
vanzan01
 
dFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptxdFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptx
AKSHAYKAMBLE806728
 
Prof House interior Design Project exter
Prof House interior Design Project exterProf House interior Design Project exter
Prof House interior Design Project exter
NagudiBridget
 
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptxCOTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
ayushjadon04
 
MOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdf
MOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdfMOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdf
MOCCAE SUSTAINABLE TROPHY 2025 Presentation.pdf
asfianoor1
 
The Irrational City | Unseen Forces of Placemaking
The Irrational City | Unseen Forces of PlacemakingThe Irrational City | Unseen Forces of Placemaking
The Irrational City | Unseen Forces of Placemaking
Leanne Munyori
 
Design of a Low-Power VLSI Router for Network-on-Chip.pptx
Design of a Low-Power VLSI Router for Network-on-Chip.pptxDesign of a Low-Power VLSI Router for Network-on-Chip.pptx
Design of a Low-Power VLSI Router for Network-on-Chip.pptx
BapujiBanothu
 
AR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdf
AR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdfAR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdf
AR.AKSHAYA PAMBALATH-PORTFOLIOFINAL_.pdf
akshayap23
 
Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!
vanzan01
 
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative StyleFlowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Likazelika
 
2nd taxonomy, nomen microorganisms-.pptx
2nd  taxonomy, nomen  microorganisms-.pptx2nd  taxonomy, nomen  microorganisms-.pptx
2nd taxonomy, nomen microorganisms-.pptx
ayeleasefa2
 
Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...
Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...
Venngage AI Infographic Generator- AI-powered visuals that turn your ideas in...
Venngage AI Infographic Generator
 
Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.
vanzan01
 

4+1 View Model of Software Architecture

  • 1. 4+1 View Model of Software Architecture Basharat Hussain 23rd Nov. 2016 COMSTAS IIT - WAH
  • 2. Outline • Problem • Solution • 4+1 view model • Logical view • Process view • Development view • Physical view • Use-case view • The Notations
  • 3. The Problem • Arch. documents over-emphasize an aspect of development (i.e. team organization) or do not address the concerns of all stakeholders. • The stakeholders of software system: • end-user, • developers, • system engineers, • project managers • Software engineers struggled to represent more on one blueprint, and so architecture documents contains complex diagrams
  • 4. Different stakeholders – different prospective • Architecture also means different things to different stakeholders. • For example, • a Network Engineer would only be interested in the hardware and network configuration of the system; • a Project Manager in the key components to be developed and their timelines; • a Developer in classes that make up a component; and • a Tester in testable scenarios.
  • 5. Solution 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. • Suitable for large and challenging architectures • Describe different aspects of the system into different views. • (Why?) Because different stakeholders have different aspects • DEVELOPERS – Aspects of Systems like classes • SYSTEM ADMINISTRATOR – Deployment, hardware and network configuration • TESTER , PM, CUSTOMER -- ??? • “4+1” view model provides a “better organization with better separation of concern”.
  • 7. 4+1 view model architecture (for distributed systems) 1. Logical View (or Structural View) - an object model of the design 2. Process View (or Behavioral View) - concurrency and synchronization aspects 3. Development View (or Implementation View) - static organization (subset) of the software 4. Physical View (or Deployment View) - mapping of the software to the hardware +1. Use-cases View ( or Scenarios) - various usage scenarios
  • 8. 13 UML2.0 diagrams in ‘4+1 View Model’ Architecture
  • 10. 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. • What this view shows? • “This view shows the components (objects) of the system as well as their interaction/relationship”. • Notation: Object and dynamic models • UML diagrams: Class, Object, State Machine, Composite Structure diagrams
  • 11. 2. Process View = (The Process Decomposition) • 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
  • 12. 3. Development/Implementation View = (The Subsystem Decomposition) • Viewer: Programmers and Software Managers • Considers: Software module organization (Hierarchy of layers, software management, reuse, constraints of tools) • 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
  • 13. 4. Physical/Deployment View = (Software to Hardware Mapping) • Viewer: System Engineers • Considers: Non-functional Requirements for hardware (Topology, Communication) • What this view shows? • “This view shows the system execution environment”. • UML diagrams: Deployment diagrams • Non-UML diagrams: Network Topology (not in UML) Non-functional
  • 14. 5. Use-case View/Scenarios = (putting it altogether) • Viewer: All users of other views and Evaluators • Considers: System consistency, validity • What this view shows? • “This view shows the Validation and Illustration of system completeness. This view is redundant with other views.”. • UML diagrams: Use-case diagram, User stories
  • 15. Relationships between Views • The Logical View and the Process View are at a conceptual level and are used from analysis to design. • The Development View and the Deployment View are at the physical level and represent the actual application components built and deployed. • The Logical View and the Development View are tied closer to functionality (functional aspect) . They depict how functionality is modeled and implemented. • The Process View and Deployment View realizes the non-functional aspects using behavioral and physical modeling. • Use Case View leads to structural elements being analyzed in the Logical View and implemented in the Development View. The scenarios in the Use Case View are realized in the Process View and deployed in the Physical View.
  • 16. Why is it called the 4 + 1 instead of just 5? • 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.
  • 17. Correspondence between views • Views are interconnected. • They are very close, but the larger the project, the greater the distance. • Start with Logical view (Req. Doc) and Move to Development 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
  • 18. Software Architecture Definition by IEEE “Software Architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.” — The definition of Software Architecture as per IEEE Recommended Practice for Architectural Description of Software Intensive Systems (IEEE 1471-2000)
  • 23. Logical View – Notations (functional requirements) • Class diagrams and class templates are usually used to illustrate the abstraction. Common mechanisms or services are defined in class utilities.
  • 24. Logical View - Example
  • 25. Logical View - Example
  • 26. Process View – Notations (Non-functional requirements) • A process is a group of tasks that form an executable unit and which can be (a) tactically controlled, (b) replicated, (c) partitioned into a set of independent tasks: major and minor (cyclic activities, buffering, time-outs).
  • 27. Process View - Example
  • 28. Process View - Example
  • 29. Development/Implementation View - Notation It consists of libraries and subsystems representation in dev environment. The subsystems are organized into the hierarchy of layers with well-defined interfaces.
  • 31. Development View / Implementation View - Example
  • 32. Development View / Implementation View - Example
  • 33. Deployment/Physical View - Notations Represents non-functional requirements such as availability, reliability, scalability and performance. It shows how networks, processes, tasks and objects are mapped onto the various nodes.
  • 37. Scenarios / Use Case Model (Small PABX)
  • 38. Scenarios / Use Case Model (Small PABX)
  • 42. Enterprise Architecture • If Solution Architecture is analogy to Building Blueprint, then Enterprise Architecture will be analogy to City Blueprint. • The scope of Enterprise Architecture covers the entire enterprise rather than just 1 business unit.
  • 43. Definition of Enterprise Architecture • The MIT Center for Information Systems Research (MIT CISR) in 2007 defined enterprise architecture as: “Enterprise architecture is the organizing logic for business processes and IT infrastructure reflecting the integration and standardization requirements of the company’s operating model. The operating model is the desired state of business process integration and business process standardization for delivering goods and services to customers”.
  • 44. Sun Tone Cube Architecture (Partitioning) • The Sun Tone cubic shows a 3 dimensional cube that represent 3 important aspect of technology architecture. • Tiers: Represent the separation of concern • Layers: Hardware and Software Stack • Systemic Qualities: cross functional requirements of the IT System.
  • 45. Still - One Size Does Not Fit All • The architect community hasn’t agreed on a “Unified Architecture Method”.
  • 46. HP Global Method for ITSA
  • 47. This architecture method comprises of the following views: • Business view : The business view gives the business sponsor’s prospective on ‘why we are doing it?’ The drivers, goals, context and measurements. • Functional view : The functional view illustrates a system from a user’s perspective. It gives answers to the ‘What’ questions: What is the information, for which users, what are the services and at what qualities. • Technical view : The application view illustrates a system from a builder’s perspective and answer the ‘How’ questions: how the system will be structured, how it will be constructed, how are the constraint handled? • Implementation view : The infrastructure view depicts the system from a Deployer’s point-of-view. It answers the ‘With’ questions: With what product, with whom (people, governance), When/Where (rollout, deployment).
  • 48. Each view defines Architecture Principle, Architecture Model and Architecture Standards. • 1. Architecture Principle: Principles are general rules and guidelines, intended to be enduring and seldom amended, that inform the way in which an organization sets about fulfilling its mission. For example, if a person’s principle is to “have integrity”. That will guide his actions and decisions; He would most likely have a behavior standard not to steal. Therefore architecture principle provides the guidance to architecture standards that is actionable. (Standard may be more likely subjected to changed than Principle). The format for Defining Principles is: • Name: Principle Name • Statement: Unambiguous statement that communicate the fundamental rule. • Rationale: Describe why the principle is established. • Implications: Describe the requirements, both business and IT, for carrying out the principle. • 2. Model: Diagram that describe the architecture view. • 3. Architecture Standard: Standards are rules for how to define the structure throughout the architecture. Taking the same example on ‘Integrity’ principle, the standard may be “When I found a wallet that does not belongs to me, I will return it to the police station.” Notice that the standard is actionable and design directly take reference to this standard and must comply with the architecture standard.
  • 49. A good architecture method should give guidance on how to address the coherence between architecture views. The HP Global Method achieves views coherence through Architecture Principles. Architect first defines the Business Architecture Principle, then derives the Functional Architecture Principle and followed by Technical and Implementation Architecture Principles. These principles once finalized, forms the guiding principles for the definitions of model and standard in each of its respective view.