Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman http://salmosa.kaist.ac.kr/~cbse/pptfiles/survey_on_SAAM.ppt http://www.iese.fhg.de/lectures/knauber/WS2000/Slides2411_ATAM.PDF.

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Evaluating a Software Architecture By Desalegn Bekele.
Software Architecture – Centric Methods and Agile Development by Craig Castaneda.
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
CPSC 872 John D. McGregor Session 22 Architecture Design, cont’d.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
The Role of Software Engineering Brief overview of relationship of SE to managing DSD risks 1.
1 Security Architecture Analysis Lecture 3 Architecture Analysis –Analysis of architectural properties –Architecture tradeoffs Presentation: “Architectural.
The Architecture Design Process
Active Review for Intermediate Designs [Clements, 2000]
Evaluating Software Architectures for Real- Time Systems R. Kazman, M. Klein, P. Clements Software Engineering Institute Carnegie Mellon University.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
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.
Methods and Models for Evaluating Software Product Line Architecture Hyotaeg Jung Computer Science Department Univ. of Texas at Dallas Software Architecture.
RUP Requirements RUP Artifacts and Deliverables
UML - Development Process 1 Software Development Process Using UML (2)
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Evaluating Architectures: ATAM
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
Software Project Management Introduction to Project Management.
ATAM –Cont’d SEG 3202 N. Elkadri.
Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,
Quality Models and Quality Attributes. Outline  Process and product quality Improving the quality of the process can improve the quality of the product.
An Introduction to Software Architecture
Business Analysis and Essential Competencies
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
RUP Design RUP Artifacts and Deliverables
Creating a Shared Vision Model. What is a Shared Vision Model? A “Shared Vision” model is a collective view of a water resources system developed by managers.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
SOFTWARE SYSTEMS DEVELOPMENT 4: System Design. Simplified view on software product development process 2 Product Planning System Design Project Planning.
Approaching a Problem Where do we start? How do we proceed?
1 Computer Systems & Architecture Lesson 5 9. The ATAM.
Lecture 7: Requirements Engineering
Integrated Risk Management Charles Yoe, PhD Institute for Water Resources 2009.
Assessing the influence on processes when evolving the software architecture By Larsson S, Wall A, Wallin P Parul Patel.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Fifth Lecture Hour 9:30 – 10:20 am, September 9, 2001 Framework for a Software Management Process – Life Cycle Phases (Part II, Chapter 5 of Royce’ book)
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Architecture Analysis Techniques
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
CSE 303 – Software Design and Architecture
L ECTURE 18 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.
John D. McGregor Architecture Evaluation
Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003.
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Unit – I Presentation. Unit – 1 (Introduction to Software Project management) Definition:-  Software project management is the art and science of planning.
UML - Development Process 1 Software Development Process Using UML.
Chapter : 9 Architectural Design
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
The ATAM method. The ATAM method (1/2) Architecture Tradeoff Analysis Method Requirements for complex software systems Modifiability Performance Security.
Analyzing an Architecture. Why analyze an architecture? Decide whether it solves the problem Compare to other architectures Assess what needs to change,
CpSc 875 John D. McGregor C 12 – Security/ATAM. Attack surface of a product face_Analysis_Cheat_Sheet
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Quality Attribute Workshop. Goal: To identify requirements Held early in development Includes stakeholders Outputs: Business Goals Quality Attribute Scenarios.
A Survey on Software Architecture Analysis Methods
Analyzing an Architecture
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Vanilson Burégio The Battlefield Control System – The First Case Study in Applying the ATAM Chapter 4 of: Clements, Paul et al., Evaluating.
Analyzing an Architecture
The ATAM – A Method for Architecture Evaluation
Experience with Performing architecture Trade-off Analysis
Presentation transcript:

Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman http://salmosa.kaist.ac.kr/~cbse/pptfiles/survey_on_SAAM.ppt http://www.iese.fhg.de/lectures/knauber/WS2000/Slides2411_ATAM.PDF

Introduction S/W Quality: 1972, Parnas: modularization, information hiding as a means of high-level system decomposition to improve flexibility and comprehensibility 1974, Stevens et al.: notion of coupling & cohesion to evaluate alternatives for program decomposition Recent years: specification, architecture, and design with respect to S/W qualities Why Early Phases? Identify potential risks, Verify the quality before building All design involves tradeoffs A software architecture is the earliest life-cycle artifact that embodies significant design decisions: choices and tradeoffs.

Definitions Quality Nonfunctional characteristics Desired combination of attributes Maintainability: corrections, improvements, adaptation Modifiability: change quickly and cost effectively (Extensibility, portability, restructuring) Flexibility: ease of modification for case NOT designed … paper by [Keller 1990] is a very good starting place for quality attributes

Overview of Architecture Trade-off Analysis Method (ATAM) Proposed by Kazman as a technique for understanding the tradeoffs points or dependencies among the attributes, inherent to architecture evaluation. The purpose of the ATAM is: to assess the consequences of architectural decision alternatives in light of quality attribute requirements [Kazman]. Provides a way to evaluate software architecture’s fitness with respect to multiple competing quality attributes. Since these attributes interact, the method helps to reason about architectural decisions that affect quality attribute interactions. Follows a spiral model of design, postulating candidate architectures followed by analysis and risk mitigation, leading to refined architectures.

Overview of Architecture Trade-off Analysis Method (ATAM) We need a method in which the right questions are asked early to: Discover risks -- alternatives that might create future problems in some quality attribute Discover sensitivity points -- alternatives for which a slight change makes a significant difference in some quality attribute Discover tradeoffs -- decisions affecting more than one quality attribute

Overview of Architecture Trade-off Analysis Method (ATAM) The purpose of an ATAM is NOT to provide precise analyses . . . the purpose IS to discover risks created by architectural decisions. We want to find trends: correlation between architectural decisions and predictions of system properties. Discovered risks can then be made the focus of mitigation activities: e.g. further design, further analysis, prototyping.

Overview of Architecture Trade-off Analysis Method (ATAM) Benefits from performing ATAM analyses Clarified quality attribute requirements Improved architecture documentation Documented basis for architectural decisions Identified risks early in the life-cycle Increased communication among stakeholders The most important benefit is improved architectures.

Overview of ATAM Identify, prioritize and refine the most important quality attribute goals by building a utility tree a utility tree is a model of the “driving” attribute-specific requirements typically performance, modifiability, security, and availability are the high-level nodes intermediate nodes have specific quality goals scenarios are the leaves of the utility tree Output: a prioritization of specific quality attribute requirements

Overview of ATAM ATAM Phases

Overview of ATAM Evaluate trade-off among multiple S/W quality attributes Scenario based

Overview of ATAM

Overview of ATAM

ATAM Motivated by the high priority leaves of the utility tree, the Evaluation Team probes the architecture approaches Identify the approaches which pertain to the highest priority quality attribute requirements Generate quality-attribute specific questions for highest priority quality attribute requirement Ask quality-attribute specific questions Identify and record risks and non-risks

ATAM Quality attribute questions probe approaches/styles to elicit architectural decisions which bear on quality attribute requirements. Performance How are priorities assigned to processes? What are the message arrival rates? Modifiability Are there any places where layers/facades are circumvented? What components rely on detailed knowledge of message formats?

ATAM Example A distributed battlefield management system (BMS) One mobile central commander node A set of mobile fighter nodes under commander Information from many sources/sensors Messages of different types (maps, orders) Stakeholders wanted to understand how the system would perform and adapt to changes.

ATAM Example

ATAM Example Scenarios identify need for Backup nodes

ATAM Example For availability, a backup commander scheme was described Need a backup for the backup (otherwise two hits or failures would disable the system) For performance, an client-server style was described Through analysis: Increasing the number of backups increases availability, but also increases average latency (because these backups must be kept up-to-date by the commander). Hence, the number of active and passive backups is a tradeoff point in the BMS architecture. The designers had not been aware of the tradeoff inherent in their design.

ATAM Summary The ATAM is a method for evaluating an architecture with respect to multiple quality attributes. effective strategy for discovering the consequences of architectural decisions. The ATAM: can be done early; can be done on legacy systems is inexpensive builds stakeholder confidence and buy-in The key to the method is looking for trends, not in making precise analyses.

ATAM Summary The ATAM relies critically on Appropriate preparation by the customer Clearly-articulated quality attribute requirements Active stakeholder participation Active participation by the architect Familiarity with architectural approaches, styles and analytic models

References Kazman R., Klein M., Barbacci M., Longstaff T., Lipson H.,Carriere J.,The Architecture Tradeoff Analysis Method,CMU/SEI-98-TR-008, ESC-TR-98-008, July 1998. Keller, S. E., Kahn, L. G. and Panara, R. B. (1990). "Specifying Software Quality Requirements with Metrics", in Thayer, R. H. and Dorfman, M. (eds.), System and Software Requirements Engineering, IEEE Computer Society Press Tutorial, pp. 145-163.