4+1 View Model of Software Architecture

Slides:



Advertisements
Similar presentations
Documenting Software Architectures
Advertisements

Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
By Philippe Kruchten Rational Software
4+1 View Model of Software Architecture “Software architecture” course Presented By: Mazeiar Salehie October 2004.
Outline About author. The problem that discussed in the article.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
PRJ270: Essentials of Rational Unified Process
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Unified Modeling (Part I) Overview of UML & Modeling
Using Architecture Frameworks
© Copyright Eliyahu Brutman Programming Techniques Course.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
What is Software Architecture?
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Elements of Software Architecture
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
Architecting Web Services Unit – II – PART - III.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
Architectural Blueprints The “4+1” View Model of Software Architecture
OOAD Using UML, v. 3.0 Architectural Design, p. 1 Copyright © 1997 by Rational Software Corporation R Architectural Design.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Accelerating Java Development with the UML Greg Schottland General Manager, Application Development Tools Embarcadero Technologies,Inc.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
An Architecture-Centric Process
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
4+1 View Model of Software Architecture
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 4: Analysis and Design Overview.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Gerhard Dueck -- CS3013Architecture 1 Architecture-Centric Process  There is more to software development then going blindly through the workflows driven.
Software Design and Architecture Muhammad Nasir Software Architecture Documentation
Unit 3 – Architectural Views
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Documenting SW Architecture
Object-Oriented Analysis and Design
Architecting Web Services
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Architecting Web Services
OO Methodology OO Architecture.
1.Introduction to Rational Unified Process (RUP)
University of Central Florida COP 3330 Object Oriented Programming
The Rational Unified Process (RUP) An Architecture-Centric Process
4+1 View Model of Software Architecture
Recall The Team Skills Analyzing the Problem (with 5 steps)
Rational Unified Process
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Object oriented analysis and design
Software engineering -1
Architecture Description Languages
An Introduction to Software Architecture
4+1 View Model of Software Architecture
Chapter 22 Object-Oriented Systems Analysis and Design and UML
From Use Cases to Implementation
Presentation transcript:

4+1 View Model of Software Architecture “Software architecture” course Presented By: Mazeiar Salehie October 2004

Outline About Kruchten and this paper Problem Solution 4+1 view model Logical view Process view Development view Physical view Scenarios The Iterative process Remarks

About Kruchten and this paper Philippe Kruchten Over 16 years of experience as the leader of RUP development team in Rational corp. (now owned by IBM) Valuable experiences in industry (Telecom, Air traffic control system) which he used them for confirmation of his model The “4+1 view model” paper: 60 citations according to ACM portal site

Problem Arch. documents over-emphasize an aspect of development (i.e. team organization) or do not address the concerns of all stakeholders Various stakeholders of software system: end-user, developers, system engineers, project managers Software engineers struggled to represent more on one blueprint, and so arch. documents contain complex diagrams

Solution Using several concurrent views or perspectives, with different notations each one addressing one specific set for concerns “4+1” view model presented to address large and challenging architectures

4+1 View Model of Architecture End user Logical view Development view Programmers & software managers Scenarios Process View Physical View The architecture in fact partially evolved from these scenarios as well as The model is rather generic, and other notations and tools can be used, other design methods can be used especially for the logical and process decompositions For each view, the architects can pick a certain architectural style Similar views in UML Use case view> - Encompass the use cases that describe the behavior of the system as seen by its end users, analysts, and testers Design view - Encompass the classes, interfaces, and collaborations that form the vocabulary of the problem and its solution Process view - Encompass the threads and processes that form the system's concurrency and synchronization mechanisms Implementation view - Encompass the components and files that are used to assemble and release the physical system Deployment view - Encompass the nodes that form the system's hardware topology on which the system executes System Engineer Integrator

Logical View (Object-oriented Decomposition) Viewer: End-user considers: Functional requirements- What the system should provide in terms of services to its users. Notation: The Booch notation (OMT) (object and dynamic models) Tool: Rational Rose

Logical view Example

Process View (The process decomposition) viewer: Integrators considers: Non - functional requirements (concurrency, performance, scalability) style: Several styles would fit in this view (Garlan and Shaw ‘s Architecture styles)

Process view (cont.) Uses multiple levels of abstractions, a logical network of processes at the highest level A process is a grouping of tasks that form an executable unit: Major Tasks: Arch. relevant tasks Minor Tasks: Helper tasks. (Buffering)

Process View example

Development View (Subsystem decomposition) Basis of a line of product Viewer: Programmers and Software Managers considers: software module organization (Hierarchy of layers, software management, reuse, constraints of tools) Style: layered style Notation: the Booch notation (module, subsystem, layer)

Physical View (Mapping the software to the Hardware) Viewer: System Engineers Considers: Non-functional req. regarding to underlying hardware (Topology, Communication) Notation: May have several forms and may Tightly connected to the process view There may be two architecture: Test and development deployment

Physical view example

Physical view example (cont.)

4+1 View Model of Architecture End user Logical view Development view Programmers & software managers Scenarios Process View Physical View The architecture in fact partially evolved from these scenarios as well as The model is rather generic, and other notations and tools can be used, other design methods can be used especially for the logical and process decompositions For each view, the architects can pick a certain architectural style Similar views in UML Use case view> - Encompass the use cases that describe the behavior of the system as seen by its end users, analysts, and testers Design view - Encompass the classes, interfaces, and collaborations that form the vocabulary of the problem and its solution Process view - Encompass the threads and processes that form the system's concurrency and synchronization mechanisms Implementation view - Encompass the components and files that are used to assemble and release the physical system Deployment view - Encompass the nodes that form the system's hardware topology on which the system executes System Engineer Integrator

Scenarios Help illustrate and validate the document (Putting it all together) Viewer: All users of other views and Evaluators. Considers: System consistency, validity Notation: almost similar to logical view Tool: Rational Rose Help illustrate and validate the document Help Architect during the architecture design

Scenario example

Correspondence between views Views are interconnected. Start with Logical view (Req. Doc) and Move to Development or Process view and then finally go to Physical view.

4+1 View Model of Architecture End user Logical view Development view Programmers & software managers Scenarios Process View Physical View The architecture in fact partially evolved from these scenarios as well as The model is rather generic, and other notations and tools can be used, other design methods can be used especially for the logical and process decompositions For each view, the architects can pick a certain architectural style Similar views in UML Use case view> - Encompass the use cases that describe the behavior of the system as seen by its end users, analysts, and testers Design view - Encompass the classes, interfaces, and collaborations that form the vocabulary of the problem and its solution Process view - Encompass the threads and processes that form the system's concurrency and synchronization mechanisms Implementation view - Encompass the components and files that are used to assemble and release the physical system Deployment view - Encompass the nodes that form the system's hardware topology on which the system executes System Engineer Integrator

From logical to Process view Two strategy to analyse level of concurrency: Inside-out: starting from Logical structure Outside-in: starting from physical structure

From Logical to development They are very close, but the larger the project, the greater the distance Grouping to subsystems based on: Classes Class packages Line of codes Team organization

The Iterative process Not all software arch. Need all views. A scenario-driven approach to develop the system Documentation: Software architecture document Software design guidelines

Remarks Methodology successfully used in the industry Air Traffic Control Telecom Comprehensive: All other views are reducible to one of the 4 views In this paper there is no tools to integrate views. So there is an inconsistency problem in this model which is more tangible in the maintenance of the architecture.

4+1 View Model of Software Architecture “Software architecture” course Presented By: Mazeiar Salehie October 2004