1 5/18/2007ã 2007, Spencer Rugaber Architectural Styles and Non- Functional Requirements Jan Bosch. Design and Use of Software Architectures. Addison-Wesley,

Slides:



Advertisements
Similar presentations
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Advertisements

Database Administration and Security Transparencies 1.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Design Creative Process of transferring the problem into a solution
Designing the system Conceptual design and technical design
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Establishing the overall structure of a software system
DISTRIBUTED COMPUTING
Course Instructor: Aisha Azeem
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6: Architectural Design
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
CS451 Lecture 13: Architectural Design Chapter 10
Architectural Design. Recap Introduction to design Design models Characteristics of good design Design Concepts.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13Slide 1 Architectural Design u Establishing the overall structure of a software system.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
1 CMPT 275 High Level Design Phase Architecture. Janice Regan, Objectives of Design  The design phase takes the results of the requirements analysis.
An Introduction to Software Architecture
Architectural Design portions ©Ian Sommerville 1995 Establishing the overall structure of a software system.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
Architectural Design To explain the advantages and disadvantages of different distributed systems architectures To discuss client-server and distributed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 3 Slide 1 Critical Systems 1.
Architectural Design lecture 10. Topics covered Architectural design decisions System organisation Control styles Reference architectures.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design 10/24/2015ICS 413 – Software Engineering1.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Software Engineering CSC 342/Dr. Ghazy Assassa Chapter 10, Architectural Design “Sommerville +.. “ Slide 1 CSC 342 Semester II: H ( G)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 8 Architectural Design Slide 1 1 Chapter 8 Architectural Design.
Chapter 1 Introduction to Databases. 1-2 Chapter Outline   Common uses of database systems   Meaning of basic terms   Database Applications  
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
CS551 - Lecture 5 1 CS551 Lecture 5: Quality Attributes Yugi Lee FH #555 (816)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 6 – Architectural Design Lecture 1 1Chapter 6 Architectural design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
Chapter 7: Architectural Design Chapter 11 in textbook 1.
©Ian Sommerville, Robin Abraham 2004CS 361, Summer 2004 Slide 1 Architectural Design.
CS223: Software Engineering Lecture 14: Architectural Patterns.
Slide 1 Chapter 8 Architectural Design. Slide 2 Topics covered l System structuring l Control models l Modular decomposition l Domain-specific architectures.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
BZUPAGES.COMSoftware Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 11 Slide 1 Architectural Design.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 5:Architectural Design l Establishing the overall structure of a software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
IS301 – Software Engineering Dept of Computer Information Systems
SOFTWARE DESIGN AND ARCHITECTURE
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
Part 3 Design What does design mean in different fields?
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
Princess Nourah bint Abdulrahman University
Software Architecture
Architectural Design.
Chapter 6 – Architectural Design
Software models - Software Architecture Design Patterns
An Introduction to Software Architecture
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
Chapter 2 Operating System Overview
Design.
Presentation transcript:

1 5/18/2007ã 2007, Spencer Rugaber Architectural Styles and Non- Functional Requirements Jan Bosch. Design and Use of Software Architectures. Addison-Wesley, May 19, 2000.

2 5/18/2007ã 2007, Spencer Rugaber Performance That attribute of a computer system that characterizes the timeliness of the service delivered by the system - SEI Measures –Response time, throughput, capacity, utilization Devices –Caching –Concurrency –Memory management

3 5/18/2007ã 2007, Spencer Rugaber Maintainability Extent to which enhancements can be readily added to a system –Also called evolvability, flexibility, adaptability Measures –Coupling –Cohesion Devices –Encapsulation –Published interfaces –Subclassing –Indirection –Wrapping

4 5/18/2007ã 2007, Spencer Rugaber Reliability Likelihood of failure in a given time period; continuity of service Measures –Mean Time To Failure (MTTF) Devices –Redundancy, fault tolerance, recovery blocks

5 5/18/2007ã 2007, Spencer Rugaber Safety Extent to which system protects against injury, loss of life or property damage; absence of catastrophic consequences Measures –Interaction complexity, time coupling, fault-tree analysis Devices –Hardware interlocks –Fault containment

6 5/18/2007ã 2007, Spencer Rugaber Security Extent to which system protects against unauthorized intrusion; confidentiality Measures –Levels (confidential, top secret); formal proof Devices –Authentification/authorization –Security kernels –Encryption –Auditing and logging –Access control

7 5/18/2007ã 2007, Spencer Rugaber Pipe and Filter Performance: concurrency and buffering enhances throughput, but context switches can slow things down Maintainability: independent components improves reuse, but requirements changes can effect multiple components Reliability: reduced reliability due to "weakest link" (serial dependencies); that is, redundancy is antithetical Safety: reduced by multiple dependencies but verification may be enhanced because all output comes from a single source Security: simplicity increases opportunities for authentification, encryption and implementation of security levels

8 5/18/2007ã 2007, Spencer Rugaber Layering Performance: response to external events must be passed up and down the layers; increased context swapping Maintainability: stable protocols lead to well-defined and reusable components; it may be possible to replace an entire layer Reliability: because an event may be "handled" in multiple layers, reliability is reduced; however, higher layers may have the oversight to provide redundancy Safety: easy to insert safety-monitoring layers Security: security layers can be added to intercept and evaluate external events before they can compromise a system

9 5/18/2007ã 2007, Spencer Rugaber Blackboard Performance: lack of well-defined control flows may lead to redundant, administrative behavior (polling of repository) Maintainability: independent components enhance flexibility but changes to a common control paradigm or data format may be pervasive Reliability: independence of components can increase resilience; no overall definition of system behavior makes identification of problem situations difficult Safety: blackboard can promote spreading of bad data Security: access control enhanced because of common data storage; but dynamic addition of new components may reduce confidence

10 5/18/2007ã 2007, Spencer Rugaber Object Orientation Performance: small objects lead to multiple context switches Maintainability: independent components can localize changes; but objects store references to each other increasing dependencies Reliability: decentralized control reduces opportunity for oversight; but encapsulation can reduce vulnerability to unintended interactions Safety: correspondence between real-world entities and objects improves intentionality and accountability Security: fragmentation (negative) and encapsulation (positive); explicit user interface objects can reduce vulnerability

11 5/18/2007ã 2007, Spencer Rugaber Implicit Invocation Performance: bookkeeping and indirection; extra communications Maintainability: increased reuse due to independence Reliability: broadcast enables system-wide handling; increased interaction complexity Safety: interaction complexity Security: fragmentation (negative) and encapsulation (positive)

12 5/18/2007ã 2007, Spencer Rugaber Summary Performance: concurrency from independent components can improve throughput; but distributed responsibility can lead to multiple context swaps Maintainability: flexibility in the face of requirements change; that is, what kinds of changes can affect multiple components; how easy is it to plug and play components Reliability: isolation of problems in single components; opportunities for redundancy and for oversight Safety: complexity, isolation Security: limited interfaces