SlideShare a Scribd company logo
1 of 55
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 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
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)
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
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.
Software Design Principles
Design Smells
7 Design Smells
The End

More Related Content

What's hot

Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Sudarshan Dhondaley
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineeringRa'Fat Al-Msie'deen
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and DesignRa'Fat Al-Msie'deen
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software EngineeringVarsha Ajith
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
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 SE15koolkampus
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture PatternsAssaf Gannon
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering arvind pandey
 

What's hot (20)

Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2Architectural Styles and Case Studies, Software architecture ,unit–2
Architectural Styles and Case Studies, Software architecture ,unit–2
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Requirements validation - requirements engineering
Requirements validation - requirements engineeringRequirements validation - requirements engineering
Requirements validation - requirements engineering
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 
Software Architecture and Design
Software Architecture and DesignSoftware Architecture and Design
Software Architecture and Design
 
Design concept -Software Engineering
Design concept -Software EngineeringDesign concept -Software Engineering
Design concept -Software Engineering
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
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
 
UML
UMLUML
UML
 
Software Architecture Patterns
Software Architecture PatternsSoftware Architecture Patterns
Software Architecture Patterns
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering Unit 5- Architectural Design in software engineering
Unit 5- Architectural Design in software engineering
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 

Viewers also liked

4+1view architecture
4+1view architecture4+1view architecture
4+1view architecturedrewz lin
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document FinalAli Ahmed
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and ViewpointsHenry Muccini
 
Architectural views
Architectural viewsArchitectural views
Architectural viewsSaleem Khan
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes WorkshopCS, NcState
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architectureHimanshu
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptswweinmeyer79
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture StylesJorgen 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 cuslnavarros
 
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ónlnavarros
 
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 ArchitecturesTom Mens
 
modelo de arquitectura del software
 modelo de arquitectura del software modelo de arquitectura del software
modelo de arquitectura del softwareRosita 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 v3lnavarros
 
Java Technical Design Document
Java Technical Design DocumentJava Technical Design Document
Java Technical Design DocumentDeborah Obasogie
 
Stakeholder Driven EA
Stakeholder Driven EAStakeholder Driven EA
Stakeholder Driven EAReal 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 CommunicationDavid Meijers
 

Viewers also liked (20)

4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Architectural views
Architectural viewsArchitectural views
Architectural views
 
Quality Attributes Workshop
Quality Attributes WorkshopQuality Attributes Workshop
Quality Attributes Workshop
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
An introduction to fundamental architecture concepts
An introduction to fundamental architecture conceptsAn introduction to fundamental architecture concepts
An introduction to fundamental architecture concepts
 
Three Software Architecture Styles
Three Software Architecture StylesThree Software Architecture Styles
Three Software Architecture Styles
 
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
 
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
 
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
 
modelo de arquitectura del software
 modelo de arquitectura del software modelo de arquitectura del software
modelo de arquitectura del software
 
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
 
Java Technical Design Document
Java Technical Design DocumentJava Technical Design Document
Java Technical Design Document
 
Stakeholder Driven EA
Stakeholder Driven EAStakeholder Driven EA
Stakeholder Driven EA
 
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...
 
4+1
4+14+1
4+1
 
Sig A&D - Documentation And Communication
Sig A&D - Documentation And CommunicationSig A&D - Documentation And Communication
Sig A&D - Documentation And Communication
 

Similar to 4+1 View Model of Software Architecture

Arch06 1
Arch06 1Arch06 1
Arch06 1nazn
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and ViewsKumar
 
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.pptxKarthigaiSelviS3
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdfdo_2013
 
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdf
_773d48108e2dda1c1a731bf69b06c3be_Software-Architecture_Course-Notes.pdfdo_2013
 
Software-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfSoftware-Architecture_Course-Notes.pdf
Software-Architecture_Course-Notes.pdfdo_2013
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.pptFaizaZulkifal
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with umlsabin kafle
 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and viewsJohn Chou
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplifiedPrasad Chitta
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTmalathijanapati1
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 

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

Arch06 1
Arch06 1Arch06 1
Arch06 1
 
UML Architecture and Views
UML Architecture and ViewsUML Architecture and Views
UML Architecture and Views
 
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
 
Architectural design
Architectural designArchitectural design
Architectural design
 
software architecture
software architecturesoftware architecture
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
 
_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
 
UML.PPT.pptx
UML.PPT.pptxUML.PPT.pptx
UML.PPT.pptx
 
Software_Archi-1.ppt
Software_Archi-1.pptSoftware_Archi-1.ppt
Software_Archi-1.ppt
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 
Software architecture categories and views
Software architecture categories and viewsSoftware architecture categories and views
Software architecture categories and views
 
Power point for project
Power point for projectPower point for project
Power point for project
 
Software architecture simplified
Software architecture simplifiedSoftware architecture simplified
Software architecture simplified
 
4plus1-View.ppt
4plus1-View.ppt4plus1-View.ppt
4plus1-View.ppt
 
Architectural design of software
Architectural  design of softwareArchitectural  design of software
Architectural design of software
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
OOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptxOOSD_UNIT1 (1).pptx
OOSD_UNIT1 (1).pptx
 

Recently uploaded

PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaPODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaYathish29
 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxmirandajeremy200221
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxjanettecruzeiro1
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...Suhani Kapoor
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpmainac1
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`dajasot375
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵anilsa9823
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdfSwaraliBorhade
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...babafaisel
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonDelhi Call girls
 
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Roomdivyansh0kumar0
 
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiVIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiSuhani Kapoor
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceanilsa9823
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...Suhani Kapoor
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfParomita Roy
 
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightCheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightDelhi Call girls
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricksabhishekparmar618
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiSuhani Kapoor
 

Recently uploaded (20)

PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore IndiaPODSCAPE - Brochure 2023_ prefab homes in Bangalore India
PODSCAPE - Brochure 2023_ prefab homes in Bangalore India
 
DragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptxDragonBall PowerPoint Template for demo.pptx
DragonBall PowerPoint Template for demo.pptx
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
VIP Russian Call Girls in Saharanpur Deepika 8250192130 Independent Escort Se...
 
Kindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUpKindergarten Assessment Questions Via LessonUp
Kindergarten Assessment Questions Via LessonUp
 
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
Abu Dhabi Call Girls O58993O4O2 Call Girls in Abu Dhabi`
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
 
3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf3D Printing And Designing Final Report.pdf
3D Printing And Designing Final Report.pdf
 
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
Kala jadu for love marriage | Real amil baba | Famous amil baba | kala jadu n...
 
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk GurgaonCheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
Cheap Rate ➥8448380779 ▻Call Girls In Iffco Chowk Gurgaon
 
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130  Available With RoomVIP Kolkata Call Girl Gariahat 👉 8250192130  Available With Room
VIP Kolkata Call Girl Gariahat 👉 8250192130 Available With Room
 
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service BhiwandiVIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
VIP Call Girls Bhiwandi Ananya 8250192130 Independent Escort Service Bhiwandi
 
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun serviceCALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
CALL ON ➥8923113531 🔝Call Girls Aminabad Lucknow best Night Fun service
 
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
VIP College Call Girls Gorakhpur Bhavna 8250192130 Independent Escort Service...
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
 
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 nightCheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
Cheap Rate Call girls Malviya Nagar 9205541914 shot 1500 night
 
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
young call girls in Pandav nagar 🔝 9953056974 🔝 Delhi escort Service
 
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
Cosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable BricksCosumer Willingness to Pay for Sustainable Bricks
Cosumer Willingness to Pay for Sustainable Bricks
 
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service AmravatiVIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
VIP Call Girl Amravati Aashi 8250192130 Independent Escort Service Amravati
 

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”.
  • 6.
  • 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
  • 9.
  • 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)
  • 19.
  • 20.
  • 21.
  • 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)
  • 40.
  • 41.
  • 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.
  • 50.
  • 51.