Outline About author. The problem that discussed in the article.

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.
Mastering Object-Oriented Analysis and Design with UML Module 4: Analysis and Design Overview.
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
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.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Unified Modeling (Part I) Overview of UML & Modeling
Using Architecture Frameworks
Software Architecture in Practice
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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?
A Survey of Software Architecture Viewpoint Models Nicholas May
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
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Software Engineering CS B Prof. George Heineman.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
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)
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
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 SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Systems Analysis and Design in a Changing World, 3rd Edition
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
Introduction to OOAD & Rational Rose cyt. 2 Outline RUP OOAD Rational Rose.
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.
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.
SOFTWARE ENGINEERING. Objectives Have a basic understanding of the origins of Software development, in particular the problems faced in the Software Crisis.
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 (
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
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.
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.
Software Engineering 2007/2008 Chapter 5 Designing the System.
Introduction to UML.
Documenting SW Architecture
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
SOFTWARE ARCHITECTURE AND DESIGN
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
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 Presented By: Reham Alhejaili May, 1st

Outline About author. The problem that discussed in the article. What is the architecture view? What is the relevance to Comp 684course? About author. The problem that discussed in the article. Suggested Solution 4+1 view model Logical view Process view Development view Physical view Scenarios The Iterative process Annotation

What is the architecture view? The author's of our book had mentioned the view in chapter 9. The author’s defined the view as a representation of a coherent set of architectural elements , as written by and read by system stakeholders.

What is the relevance to Comp 684course? The basic principle of documenting software architecture: “Documenting an architecture is a matter of documenting the relevant views and then adding a documentation that applies to more than one view.”( Bass, Clements and Kazman)

Overview about the article's author: Philippe Kruchten has more than 16 years of experience as a leader of the development team in Rational corporation. He had a good experiences in industry (Telecom, Air traffic control system) which he used to justify his model.

Problems: Architecture documents do not address the concerns of all stakeholders . Deferent Stakeholders : end-user, system engineers, developers and project managers. Architecture documents contained complex diagrams some times they are hard to be represented on the documentation.

Solution Using different notations for several Views each one addressing one specific set for concerns. Use“4+1” view model.

4+1 View Model of Architecture Philippe Kruchten Rational Software Corp.

Logical View • The logical view, which is the object model of the design (when an object-oriented design method is used) Viewer: End-user considers: Functional requirements- What are the services must be provided by the system to the users. Notation: The Booch notation . Tool: Rational Rose

By Philippe Kruchten Rational Software Corp.

Logical view Example Philippe Kruchten Rational Software Corp.

Process View The process view, which captures the concurrency and synchronization aspects of the design(The process decomposition). viewer: Integrators considers: Non - functional requirements (scalability, concurrency, and performance) style: Garlan and Shaw ‘s Architecture styles.

Process view (cont.) Uses multiple levels of abstractions. A process is a grouping of tasks that form an executable unit: Major Tasks: Architecture relevant tasks. Minor or helper Tasks: (Buffering)

Notation By Philippe Kruchten Rational Software Corp.

Process View example Philippe Kruchten Rational Software Corp.

Development View The development view, which describes the static organization of the software in its development environment. Viewer: Programmers and Software Managers considers: software module organization. (Hierarchy of layers, software management, reuse, constraints of tools). Notation: the Booch notation. Style: layered style

Notation By Philippe Kruchten Rational Software Corp.

Physical View the physical view, which describes the mapping(s) of the software onto the hardware and reflects its distributed aspect. Viewer: System Engineers Considers: Non-functional requirement (reliability, availability and performance). regarding to underlying hardware. There may be two architecture: Test and development deployment

Physical view example By Philippe Kruchten Rational Software Corp.

Scenarios (Putting all “4 views” together) Viewer: All users and Evaluators. Considers: System consistency and validity Notation: Similar to logical view

Scenario example By Philippe Kruchten Rational Software Corp.

Correspondence between the views The views are interconnected. Start with Logical view and Move to Development / Process view and then finally go to Physical view.

From logical to Process view Two strategies : 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 between these views. Grouping to subsystems depending on: The team organization. The class categories which includes the packages. The Line of codes.

Iterative process Not all architectures need all views. A scenario-driven approach to develop the system is used to handle the iterative. Documenting the architecture: Software architecture document: follows closely “4+1” views. Software design guidelines: it captured the most important design decisions that must be respected to maintain the architectural integrity.

Annotation: “4+1 views” methodology successfully used in the industry Air Traffic Control Telecom This paper missing the tools to integrate these views which lead to an inconsistency problem. The inconsistency problem is more tangible in the maintenance of the architecture.

Thank you for your lasting

Is there any question?