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.

Slides:



Advertisements
Similar presentations
Documenting Software Architectures
Advertisements

Executional Architecture
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.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Outline About author. The problem that discussed in the article.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Moving from Analysis to Design. Overview ● What is the difference between analysis and design? ● Logical v. physical design ● System v. detailed design.
The Architecture Design Process
Unified Modeling (Part I) Overview of UML & Modeling
Using Architecture Frameworks
Essential Software Architecture Ian Gorton CS590 – Winter 2008.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
© Copyright Eliyahu Brutman Programming Techniques Course.
Logical Architecture and UML Package Diagrams
Course Instructor: Aisha Azeem
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.
Software Architecture in Practice (3rd Ed) Introduction
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Changing Perspective From Structured to Object-oriented.
An Introduction to Software Architecture
Software Requirements Engineering CSE 305 Lecture-2.
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.
Session 26 Modeling the Static View: The Deployment Diagram Written by Thomas A. Pender Published by Wiley Publishing, Inc. October 27, 2011 Presented.
1 Introduction to Software Architectures Lecture - 3.
Software Architecture in Practice Architectural description (The reduced version)
10 Software Architecture CSCU 411 Software Engineering.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
1 Introduction to Software Engineering Lecture 1.
Requirements Capture. Four Steps of requirements capture List candidate requirements Understand system context Capture functional requirements Capture.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
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.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
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 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Seminar on Service Oriented Architecture Distributed Systems Architectural Models From Coulouris, 5 th Ed. SOA Seminar Coulouris 5Ed.1.
Basic Concepts and Definitions
4+1 View Model of Software Architecture
Object Oriented Analysis and Design Introduction to Rational Rose.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
OOAD Using the UML - Describe Concurrency, v 4.0 Copyright  Rational Software, all rights reserved 1 R Thread Process X Thread Process ZProcess.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
UML Diagrams By Daniel Damaris Novarianto S..
Object-Oriented Analysis and Design
Architecting Web Services
Architecting Web Services
OO Methodology OO Architecture.
UML Diagrams Jung Woo.
UML dynamic Modeling (Behavior Diagram)
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Unified Modeling Language
Design and Implementation
Analysis models and design models
An Introduction to Software Architecture
Requirements Document
UML Design for an Automated Registration System
Presentation transcript:

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 describe how and why the views are needed to document architecture discuss the relationship of architectural design to related stages of the software life-cycle You will get your midterms back on Tuesday

2 Where are we? Set-up for architecture discussion: Design principles & “low-level” design What software architecture is and different styles that can be used to help create an architecture for a system with particular properties Today How do you write an architecture down?

3 Capturing an architecture Lots of different suggestions 4+1 views 5 in Hofmeister IEEE recommended practice for architectural description Commonality is that each approach involves multiple views that together describe the architecture Each view is a project of a model (Terminology of view and model can be confusing)

4 Why multiple views? Recall that there are many stakeholders interested in a system’s architecture Can you name some kinds of stakeholders? Different stakeholders have different concerns We can’t capture the information for all stakeholders in one view

5 4+1 view model of architecture Diagram from paper The 4 views (logical, process, implementation and deployment) describe the solution space The +1 view describes the problem space

6 Use case view (+1 view) Interested stakeholders tend to be developers and eventual users Questions of interest include: What is the business environment in which the system will operate? What are the business objects and events of interest? (Domain model)

7 Representing the use case view Use case diagrams (structural) Use case textual descriptions (behavioural) Use case activity diagrams (behavioural) Use case interaction diagrams (behavioural) We’ll look at examples of each kind of view on the overhead (reference the reading for today after class)

8 Purpose of use case view (You’ll see it helps) Bind the other views together Helps explain what the system is to do and the rationale behind the architecture (implicitly) Helps drive the design of the architecture i.e., helps in the selection of the architectural elements

9 Since the reading was published As part of the use case view, a developer would typically also consider a domain model and the non-functional requirements What are some examples of non-functional requirements?

10 Logical view (1 of 4 views) Interested stakeholders include customer, developers, and development managers Questions of interest include: What are the logical elements of the system and how do they interact? What is the function of each element? Does the logical architecture support good design principles?

11 Representing the logical view Package diagrams (to show structural partitions) Class diagrams (to show elements of architectural interest) Interaction diagrams (for behaviour) Statechart diagrams (for behaviour)

12 Process view (2 of 4 views) Interested stakeholders include developers, customer, and eventual system operators Questions of interest include: What are the runnable elements (e.g., processes, active objects, etc.) of the system? What is the composition of the runnable elements? How do the runnable elements communicate? What runs concurrently?

13 Representing the process view Class diagrams showing which classes are processes and which are threaded, and which communicate over IPC (inter-process communication) Object diagrams showing what happens (structurally) at run-time Interaction diagrams and activity diagrams to show behaviour

14 Implementation view (3 of 4 views) Interested stakeholders include developers, development managers, customers, field support that must configure the system, eventual system operators Questions of interest include: What are the actual run-time elements of the system? What implementation technology was used for each element? How do the elements depend upon each other at run-time and system construction time?

15 Representing the implementation view Component diagrams Showing deployment elements (parts needed to deliver a running system), work products (parts used to create the deployment elements), and execution components (parts created and destroyed as system runs) Showing dependencies between all of these different entities

16 Deployment view (4 of 4 views) Interested stakeholders include customers, users, designers, and system operations personnel Questions of interest: What hardware is needed to run the system? How will the hardware be interconnected? What will the hardware cost? What will be the performance, availability, reliability, etc. of the system?

17 Representing the deployment view Deployment diagram (structure)

18 Mapping between views Need to understand the correspondence (mapping) between views Diagram below is a subset of all the mappings Use case view Logical view Process view Implementation view Deployment view Every line is a different mapping

19 An example of view correspondence Logical to Process Objects to Tasks/Processes Krutchen suggests two strategies: Inside-Out: Starting from the logical determine which objects can share a thread of control within an agent Outside-In: Starting from the physical architecture, define client processes to handle external stimuli and servers to provide services

20 Architecture: What is it really? True or false? Architecture is the same as design Architecture considers more than just the structural aspects of the system Architecture is flakey and can’t be validated There is a defined process for selecting and enacting an architecture for a system based on the requirements of the system