L ECTURE 18 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor.

Slides:



Advertisements
Similar presentations
ATAM Architecture Tradeoff Analysis Method
Advertisements

Test process essentials Riitta Viitamäki,
CIS 376 Bruce R. Maxim UM-Dearborn
HP Quality Center Overview.
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
Evaluating a Software Architecture By Desalegn Bekele.
Software Architecture – Centric Methods and Agile Development by Craig Castaneda.
1 Software Requirement Analysis Deployment Package for the Basic Profile Version 0.1, January 11th 2008.
ATAM Architecture Trade-off Analysis Method with case study Bart Venckeleer, inno.com.
Architecture is More Than Just Meeting Requirements Ron Olaski SE510 Fall 2003.
Page 1 Building Reliable Component-based Systems Chapter 3 - Architecting Component-Based Systems Chapter 3 Architecting Component-Based Systems.
8/28/2005ECEN5543 Req Elicitation1 Targets of Requirements Engineering ECEN 5543 SW Engineering of Standalone Programs University of Colorado, Boulder.
The Architecture Design Process
Active Review for Intermediate Designs [Clements, 2000]
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Lecture 17 Architecture Tradeoff Analysis Method ATAM
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Course Instructor: Aisha Azeem
Software architecture evaluation
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Architecture and Requirements
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
What is Software Architecture?
Software Architecture in Practice (3rd Ed) Introduction
What is Business Analysis Planning & Monitoring?
Evaluating Architectures: ATAM
CPSC 871 John D. McGregor Module 4 Session 3 Architecture Evaluation.
Copyright 2002 Prentice-Hall, Inc. Chapter 1 The Systems Development Environment 1.1 Modern Systems Analysis and Design.
ATAM –Cont’d SEG 3202 N. Elkadri.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
Architecture Evaluation Evaluation Factors Evaluation by the designer Every time the designer makes a key design decision or completes a design milestone,
An Introduction to Software Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
111 Notion of a Project Notes from OOSE Slides – a different textbook used in the past Read/review carefully and understand.
Role-Based Guide to the RUP Architect. 2 Mission of an Architect A software architect leads and coordinates technical activities and artifacts throughout.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Software Architecture and Design Dr. Aldo Dagnino ABB, Inc. US Corporate Research Center October 23 rd, 2003.
Approaching a Problem Where do we start? How do we proceed?
1 Computer Systems & Architecture Lesson 5 9. The ATAM.
Lecture 7: Requirements Engineering
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.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Overall Evaluation of Software Architecture By Ashwin Somaiah.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Overview of SAIP and LSSA. Software Architecture in Practice Provides a set of techniques, not a prescriptive method for architectural design. Based on.
John D. McGregor Architecture Evaluation
Architecture Tradeoff Analysis Method Software Engineering Institute Carnegie Mellon University Presented by: Senthil ayyasamy CS 590l- winter 2003.
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.
Requirements Analysis Scenes
Analyzing an Architecture
An Introduction to Software Architecture
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
Software Architecture
Chapter 5 Architectural Design.
John D. McGregor C 12 – Security/ATAM
Presentation transcript:

L ECTURE 18 Enterprise Systems Development ( CSC447 ) COMSATS Islamabad Muhammad Usman, Assistant Professor

A RCHITECTURE T RADE - OFF A NALYSIS M ETHOD An architecture evaluation doesn’t tell you “yes” or “no” or “6,75 out of 10”. It tells you where the risks are.

A RCHITECTURE T RADE - OFF A NALYSIS M ETHOD The ATAM is based upon a set of attribute-specific measures of the system Analytic (performance & availability) Qualitative (modifiability, safety, security) The ATAM workshops typically takes three days and the involvement of people Evaluators Architects and other system stakeholders Benefits: clarified quality attribute requirements improved architecture documentation documented basis for architectural decisions identified risks early in the life-cycle increased communication among stakeholders

R ISKS, N ON - RISKS, S ENSITIVITY P OINTS AND T RADE - OFF P OINTS The latency for processing an important message might be sensitive to the priority of the lowest priority process involved in handling the message. The average number of person-days of effort it takes to maintain a system might be sensitive to the degree of encapsulation of its communication protocols and file formats. If the processing of a confidential message has a hard real-time latency requirement then the level of encryption could be a trade-off point. The rules for writing business logic modules in the second tier of your three-tier client-server style are not clearly articulated. This could result in replication of functionality, thereby compromising modifiability of the third tier (a quality attribute response and its consequences) Assuming message arrival rates of once per second, a processing time of less than 30 milliseconds, and the existence of one higher priority process, then a one-second soft deadline seems reasonable. Risks are potentially problematic architectural decisions. Nonrisks are good decisions that rely on assumptions that are frequently implicit in the architecture. A sensitivity point is a property of one or more components (and/or component relationships) that is critical for achieving a particular quality attribute response. A trade-off point is a property that affects more than one attribute and is a sensitivity point for more than one attribute.

A RCHITECTURE T RADE - OFF A NALYSIS M ETHOD Preparation Business track Interview project leader Interview business representatives Prepare quality attribute tree Prepare scenario brainstorm Architecture track Interview architect Interview lead developers Prepare example architecture documentation Identify approaches Analysis

W HAT R ESULT D OES AN E VALUATION P RODUCE ? Answers to two kind of questions: Is the architecture suitable for the system for which is was designed? Which of two or more competing architectures is the most suitable one for the system at hand? suitable It meets its quality goals Predictable behaviour Performance Modifiable Security The system can be built Staff Budget Legacy Time If the sponsor of a system cannot tell you what any of the quality goals are for the system, then the architecture will do.

S UMMARY OF THE ATAM S TEPS Presentation 1. Present the method Evaluation leader 2. Present business drivers 12 slides; 45 min; guidelines for content; project manager 3. Present architecture 20 slides; 60 min; guidelines for content + checklist with questions; architect Investigation and Analysis 4.Identify the architectural approaches architect 5.Generate the quality attribute utility tree Workshop, templates for utility tree and scenarios 6.Analyse the architectural approaches workshop, templates for risks, nonrisks, sensitivity points and trade-off points Testing 7.Brainstorm and prioritise scenarios Voting workshop 8.Analyse the architectural scenario’s See step 6 Reporting 9.Present the results Document template; evaluation team

S TEP 1: P RESENT ATAM Evaluation Team presents an overview of the ATAM ATAM steps in brief Techniques - utility tree generation - architecture elicitation and analysis - scenario brainstorming/mapping Outputs - architectural approaches - utility tree - scenarios - risks and “non-risks” - sensitivity points and tradeoffs

S TEP 2: P RESENT B USINESS D RIVERS ATAM customer representative describes the system’s business drivers including: Business context for the system High-level functional requirements High-level quality attribute requirements Architectural drivers: quality attributes that “shape” the architecture Critical requirements: quality attributes most central to the system’s success

S TEP 3: P RESENT THE A RCHITECTURE Architect presents an overview of the architecture including (for example): Technical constraints such as an OS, hardware, or middle-ware prescribed for use Other systems with which the system must interact Architectural approaches/styles used to address quality attribute requirements Evaluation team begins probing for and capturing risks.

S TEP 4: I DENTIFY A RCHITECTURAL A PPROACHES Start to identify places in the architecture that are key for realizing quality attribute goals. Identify any predominant architectural approaches – for example: client-server 3-tier proxy publish-subscribe redundant hardware

S TEP 5: G ENERATE U TILITY T REE Identify, prioritize, and refine the most important quality attribute goals by building a utility tree. A utility tree is a top-down vehicle for characterizing the “driving” attribute- specific requirements Select the most important quality goals to be the high-level nodes (typically performance, modifiability, security, and availability) Scenarios are the leaves of the utility tree Output: a characterization and a prioritization of specific quality attribute requirements.

S TEP 5: U TILITY T REE / CONT.

S TEP 5- S CENARIOS Scenarios are used to Represent stakeholders’ interests Understand quality attribute requirements Scenarios should cover a range of Anticipated uses of (use case scenarios), Anticipated changes to (growth scenarios), or Unanticipated stresses (exploratory scenarios) to the system. A good scenario makes clear what the stimulus is that causes it and what responses are of interest.

S TEP 5 – S CENARIO EXAMPLES Use case scenario Remote user requests a database report via the Web during peak period and receives it within 5 seconds. Growth scenario Add a new data server to reduce latency in scenario 1 to 2.5 seconds within 1 person-week. Exploratory scenario Half of the servers go down during normal operation without affecting overall system availability. Scenarios should be as specific as possible.

S TEP 6: A NALYZE A RCHITECTURAL A PPROACHES Scenarios Vs. Architecture

S TEP 6: A NALYSIS / CONT. Evaluation Team probes architectural approaches from the point of view of specific quality attributes to identify risks. Identify the approaches that 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, sensitivity points and tradeoffs

S TEP 6: A NALYSIS / CONT. Quality attribute questions probe styles to elicit architectural decisions which bear on quality attribute requirements. Examples Performance How are priorities assigned to processes? What are the message arrival rates? What are transaction processing times? Modifiability Are there any places where layers/facades are circumvented ? What components rely on detailed knowledge of message formats? What components are connected asynchronously?

S TEP 6: S ENSITIVITY & T RADEOFFS Sensitivity – A property of a component that is critical to success of system. The number of simultaneous database clients will affect the number of transaction a database can process per second. This assignment is a sensitivity point for the performance Keeping a backup database affects reliability Power of encryption (Security) sensitive to number of bits of the key Tradeoff point- A property that affects more than one attribute or sensitivity point. In order to achieve the required level of performance in the discrete event generation component, assembly language had to be used thereby reducing the portability of this component. Keeping the backup database affects performance also so it’s a trade-off between reliability and performance

S TEPS 6: R ISKS & N ON -R ISKS Risk The decision to keep backup is a risk if the performance cost is excessive Rules for writing business logic modules in the second tier of your 3-tier style are not clearly articulated. This could result in replication of functionality thereby compromising modifiability of the third tier. Non Risk The decision to keep backup is a non-risk if the performance cost is not excessive Assuming message arrival rates of once per second, a processing time of less than 30 ms, and the existence of one higher priority process, a 1 second soft deadline seems reasonable Performance.

S TEP 7: B RAINSTORM & P RIORITIZE S CENARIOS Stakeholders generate scenarios using a facilitated brainstorming process. Scenarios at the leaves of the utility tree serve as examples to facilitate the step. The new scenarios are added to the utility tree Each stakeholder is allocated a number of votes roughly equal to 0.3 x #scenarios.

S TEP 8: A NALYZE A RCHITECTURAL A PPROACHES Identify the architectural approaches impacted by the scenarios generated in the previous step. This step continues the analysis started in step 6 using the new scenarios. Continue identifying risks and non-risks. Continue annotating architectural information.

S TEP 9: P RESENT ATAM RESULTS Architectural approaches Utility tree Scenarios Risks and “non-risks” Sensitivity points and tradeoffs

S OFTWARE Q UALITY

Why Are Software Difficult? According to Fred Brooks* software projects are difficult because of accidental - methods, tools & techniques essential - inherent, inborn nature of software: complexity, conformity, changeability, invisibility Additional reasons software projects are difficult are: intellect-intensive - team-oriented nature of the work externally imposed constraints - engineering, platform, domain, process, scientific, technology, domain knowledge..

Software Errors, Faults, & Software Failures Software errors are introduced when there is a failure to completely and accurately translate one representation to another, or to fully match the solution to the problem. Bug / defect / fault consequence of a human error results in non-conformance to requirements obvious as failure in running software

27 A PPROACHES TO QUALITY Quality of the product versus quality of the process Check whether (product or process) conforms to certain norms Improve quality by improving the product or process