Wrap up. Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles.

Slides:



Advertisements
Similar presentations
Documenting Software Architectures
Advertisements

Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
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.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Conquering Complex and Changing Systems Object-Oriented Software Engineering TJSS System Design Lecture 12 Päivi Ovaska.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
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.
Essential Software Architecture Ian Gorton CS590 – Winter 2008.
Software Architecture in Practice
Software Architecture in Practice
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
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?
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
Chapter 10 Architectural Design
What is an Architecture?. An Example? Invoice OrderDelivery Customer.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Design and Architecture of Complex Software Systems Conf.dr.ing. Ioana Şora
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
An Introduction to Software Architecture
The Architecture Business Cycle. Software Architecture Definition The software architecture of a program or computing system is the structure or structures.
Architecting Web Services Unit – II – PART - III.
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
What is Software Architecture? | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS Chapter 2, Authors: Len Bass, Paul,
1 Introduction to Software Architectures Lecture - 3.
Architectural Blueprints The “4+1” View Model of Software Architecture
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
10 Software Architecture CSCU 411 Software Engineering.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Modelling Class T16: Conceptual Modelling – Architecture Image from
An Introduction to Software Architecture Software Engineering Lab.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Documenting Software Architectures 1.Uses and Audiences for Architecture Documentation Architecture documentation serves as a means of education Architecture.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
CPSC 372 John D. McGregor Module 3 Session 1 Architecture.
TAL7011 – Lecture 4 UML for Architecture Modeling.
John D. McGregor Class 4 – Initial decomposition
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
Chapter 1: What is Software Architecture? © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
4+1 View Model of Software Architecture
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 5/18/2007ã 2007, Spencer Rugaber Architectural Documentation Graphical (views) and textual Kruchten's 4+1 Views –Philippe B. Kruchten. "The 4+1 View.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Systems Architectures System Integration & Architecture.
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.
Unit-1 INTRODUCTION Presented by Sushma Narasimhan Asst. Professor,
Architecting Web Services
Architecting Web Services
OO Methodology OO Architecture.
What is an Architecture?
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Design Model Like a Pyramid Component Level Design i n t e r f a c d s
An Introduction to Software Architecture
4+1 View Model of Software Architecture
What is an Architecture?
4+1 View Model of Software Architecture
Presentation transcript:

Wrap up

Structures and views Quality attribute scenarios Achieving quality attributes via tactics Architectural pattern and styles

Structures and Views A view is a representation of a coherent set of architectural elements, consisting of: a set of elements the relationships among them A structure is the set of elements itself, as they exist in software or hardware. Often used interchangeably, text will distinguish.

Groups of Architectural Structures Module structures units of implementation with assigned areas of functionality - usually static Component-and-connector structures runtime components (principal units of computation) and connectors (communication vehicles) Allocation structures show relationships between software elements & external environments (creation or execution)

Three Types of Structures Correspond to the three broad types of decisions that architectural design involves: How is the system to be structured as a set of code units (modules?) How is the system to be structured as a set of elements that have runtime behavior (components) and interactions (connectors)? How is the system to relate to non-software structures in its environment (i.e., CPUs, file systems, networks, development teams, etc. - allocation)?

Figure 2-3

Non-functional Properties Each structure provides a method for reasoning about some of the relevant quality attributes, for example: the uses structure, must be engineered to build a system that can be easily extended or contracted the process structure is engineered to eliminate deadlock and reduce bottlenecks the module decomposition structure is engineered to produce modifiable systems, etc.

Value of Structures Each structure provides the architect with a different view into the system & a different leverage point for design. Table 2.1 on page should be useful in your class project...

Relating Structures to Each Other Although the structures give different system perspectives, they are not independent. Elements of one structure are related to elements in another, and we need to reason about these relationships. For example, a module in a decomposition structure may map to one, part of one, or several, components in a component-and-connector structure at runtime. In general, mappings are many-many.

Choosing Structures Kruchten’s Four + One Views: Logical - elements are “key abstractions” that are objects or classes in OO. This is a module view. Process - addresses concurrency & distribution of functionality. This is a C&C view. Development - shows organization of software modules, libraries, subsystems, and units of development. This is an allocation view. Physical - maps other elements onto processing & communication nodes, also an allocation view, but usually referred to specifically as the deployment view.

Architectural Pattern/ Styles

Architectural Styles

Software Architecture Styles

Characteristics Feature of Architectural styles

Behavioral Features Of Architectural Design

Initial Rules in Selecting an Architecture

Further Reading