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.
Documenting a Software Architecture By Eng. Mohanned M. Dawoud.
Outline About author. The problem that discussed in the article.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
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.
Using Architecture Frameworks
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
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?
Object Oriented Analysis and Design Using the UML
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Elements of Software Architecture
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Class, Sequence and UML Model.  Has actors and use cases.
Rational Unified Process Fundamentals Module 4: Disciplines II.
An Introduction to Software Architecture
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
RUP Design RUP Artifacts and Deliverables
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.
Lecture 7: Requirements Engineering
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
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.
PRJ566 Project Planning & Management Software Architecture.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
Software Architectural Views By the end of this lecture, you will be able to: list and describe the views in the 4+1 view model of software architecture.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Computer Science 340 Software Design & Testing Software Architecture.
1 Lecture 3 Major Architectural Models View (Cont’d) Architectural Models/Patterns Architecture Case Study Software Architecture & Design Pattern.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational.
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
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.
Unit 3 – Architectural Views
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
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.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.
Architecting Web Services
Architecting Web Services
OO Methodology OO Architecture.
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)
Object oriented analysis and design
An Introduction to Software Architecture
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
From Use Cases to Implementation
Presentation transcript:

4+1 View Model of Software Architecture Lecture 2

Outline Problem Solution 4+1 view model The Iterative process Remarks Logical view Process view Development view Physical view Scenarios The Iterative process Remarks

Problem Arch. documents over-emphasize an aspect of development and 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(Data/details/information) 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 Viewer: End-user considers: Functional requirements- What the system should provide in terms of services to its users. The logical view is concerned with the functionality that the system provides to end-users. UML Diagrams used to represent the logical view include Class diagram, Communication diagram, Sequence diagram.

Process View (The process decomposition) viewer: Integrators considers: Non - functional requirements (concurrency, performance, scalability)

Process View con’t The process view deals with the active aspects of the system, explains the system processes and how they communicate, and focuses on the runtime behavior of the system. The process view addresses concurrency, distribution, integrators, performance, and scalability, etc. UML Diagrams to represent process view include the Activity diagram

Development View Viewer: Programmers and Software Managers (Subsystem decomposition) Viewer: Programmers and Software Managers considers: software module organization (Hierarchy of Components, software management, reuse, constraints of tools)

Development View Con’t The development view demonstrate a system from a programmer's perspective and is concerned with software management. This view is also known as the implementation view. It uses the UML Component diagram to describe system components. UML Diagrams used to represent the development view include the Package diagram.

Physical View (Mapping the software to the Hardware) Viewer: System Engineers Considers: Non-functional req. regarding to underlying hardware (Topology, Communication) May Tightly connected to the process view

Physical View Con’t The physical view depicts the system from a system engineer's point-of-view. It is concerned with the topology of software components, as well as the physical connections between these components. This view is also known as the deployment view. UML Diagrams used to represent physical view include the Deployment diagram.

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 demonstrate and validate the document (Putting it all together) Viewer: All users of other views and Evaluators. Considers: System consistency, validity Help demonstrate and validate the document Help Architect during the architecture design

Scenarios Con’t The description of an architecture is demonstrated using a small set of use cases, or scenarios which become a fifth view. The scenarios describe sequences of interactions between processes. They are used to identify architectural elements And to illustrate and validate the architecture design. They also serve as a starting point for tests of an architecture model.

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. Two strategy to analyse level of harmony: Inside-out: starting from Logical structure Outside-in: starting from physical structure

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

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