Software Architecture Assessment RAVI CHUNDURU CS6362 UTD Summer 2005.

Slides:



Advertisements
Similar presentations
Dr. Rogelio Dávila Pérez
Advertisements

System Integration Verification and Validation
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
CS3773 Software Engineering Lecture 01 Introduction.
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
Evaluating a Software Architecture By Desalegn Bekele.
Software Quality Engineering Roadmap
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory,Requirements Engineering Course, Dr. Abdollahzadeh 1 Requirements.
Software Architecture Assessment of Usability Eelke Folmer, Jan Bosch IPA lentedagen, Made.
Software Architecture in Practice
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Software architecture evaluation
Architecture Tradeoff Analysis Method Based on presentations by Kim and Kazman
The Many Contexts of Software Architecture
Oracle High Availability Doug Smith CIS 764 Fall Semester 2007.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Software Engineering EE323 Y.F. Fung Office: CF605 Consultation hours: Wednesday 6pm-7:30pm.
What is Business Analysis Planning & Monitoring?
© 2005 Prentice Hall14-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps.
Software Project Management Fifth Edition
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
1 740f02presentations23 A Survey on Software Architecture Analysis Methods Liliana Bobrica and Eila Niemela IEEE TOSE July 02.
Architecture Business Cycle
1 Process Engineering A Systems Approach to Process Improvement Jeffrey L. Dutton Jacobs Sverdrup Advanced Systems Group Engineering Performance Improvement.
Instructor: Peter Clarke
INTRODUCTION What is software? What is software engineering?
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
A GENERIC PROCESS FOR REQUIREMENTS ENGINEERING Chapter 2 1 These slides are prepared by Enas Naffar to be used in Software requirements course - Philadelphia.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Chapter – 9 Checkpoints of the process
CHECKPOINTS OF THE PROCESS Three sequences of project checkpoints are used to synchronize stakeholder expectations throughout the lifecycle: 1)Major milestones,
Lecture 7: Requirements Engineering
Why is Software Architecture Important? © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
1 Introduction to Software Engineering Lecture 1.
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.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 What is Solution Assessment & Validation?
LESSON 3. Properties of Well-Engineered Software The attributes or properties of a software product are characteristics displayed by the product once.
Software Architecture Assessment Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Software Design Process
CS532 TERM PAPER MEASUREMENT IN SOFTWARE ENGINEERING NAVEEN KUMAR SOMA.
© 2001 Six Sigma Academy© 2003 Six Sigma Academy1 Bank Exercise Champion Workshop.
Software Architecture Evaluation Methodologies Presented By: Anthony Register.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
Scenario-Based Analysis of Software Architecture Rick Kazman, Gregory Abowd, Len Bass, and Paul Clements Presented by Cuauhtémoc Muñoz.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Software Project Management (SEWPZG622) BITS-WIPRO Collaborative Programme: MS in Software Engineering SECOND SEMESTER /1/ "The content of this.
Designing a Product Line Architecture Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
CSPC 464 Fall 2014 Son Nguyen. 1. The Process of Software Architecting, Peter Eeles, Peter Cripss 2. Software Architecture for Developers, Simon Brown.
Spiral Model For Software Development By : Sumeet Singh Roll No. : 23 Reg No. :
Software Architecture Design Processes
Prof. Hany H. Ammar, CSEE, WVU, and
 CMMI  REQUIREMENT DEVELOPMENT  SPECIFIC AND GENERIC GOALS  SG1: Develop CUSTOMER Requirement  SG2: Develop Product Requirement  SG3: Analyze.
Using Bayesian Belief Networks in Assessing Software Architectures Jilles van Gurp & Jan Bosch.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY © Varvana Myllärniemi, T Sotfware Engineering Seminar.
Fall CS-EE 480 Lillevik 480f06-l6 University of Portland School of Engineering Senior Design Lecture 6 Other development processes Technical documents.
© Chinese University, CSE Dept. Software Engineering / Topic 3: Software Engineering Principles Your Name: _____________________ Computer Science.
Managing Qualitative Knowledge in Software Architecture Assesment Jilles van Gurp & Jan Bosch Högskolan Karlskrona/Ronneby in Sweden Department of Software.
Chapter 24: Architecture Competence
Lecture 17 ATAM Team Expertise
Chapter 11: Usability © Len Bass, Paul Clements, Rick Kazman, distributed under Creative Commons Attribution License.
SOFTWARE ARCHITECTURE AND DESIGN
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Fundamental Test Process
DOD’S PHASED SYSTEM DEVELOPMENT PROCESS
Software Architecture
Software Architecture & Design
Presentation transcript:

Software Architecture Assessment RAVI CHUNDURU CS6362 UTD Summer 2005

Architecture Assessment two approaches: after each design iteration as a ‘toll-gate’ before starting next phase goals for assessment: quality attribute satisfaction stakeholder satisfaction support for software product line software system acquisition

Architecture Assessment architecture assessment architecture oriented quality attribute oriented Stakeholder- based Architect- based qualitativequantitative

Assessing Quality Attributes Assessment goals: – relative assessment – absolute assessment – assessment of theoretical maximum Scenario profiles Assessment techniques – Scenario-based evaluation – Simulation – Mathematical Modeling – Experience-based reasoning

Scenario Profiles absolute versus selected profiles GUI App... HWOS... maintenance scenarios selected profile

Scenario Profiles top-down or bottom-up top-down profile development – pre-define scenario categories – selection and definition of scenarios for each category – each scenario is assigned a weight (either based on historical data or estimated)

Scenario Profile Development bottom-up profile development – interview stakeholders – categorize scenarios – assign weights to scenarios – iterate until sufficient coverage stopping criterion – coverage

Scenario Profiles – QAs performance: usage profile maintainability: maintenance profile reliability: usage profile safety: hazard profile security: authorization profile

Assessing Quality Attributes estimation techniques – scenario-based evaluation – simulation – mathematical modeling/metrics – experience-based reasoning

Scenarios - Process develop a profile ‘script’ the scenarios for the architecture impact analysis: collect and interpret the results quality attribute prediction: state a conclusion state a list of architecture problems (possibilities for improvement)

Simulation - Process Prototype architecture implementation and abstract components implement the profile(s) simulate system and initiate scenarios collect results and predict quality attributes – example: correctness, performance, reliability identify functionality mismatches

Mathematical Modeling - Process select and abstract appropriate mathematical model – Example: performance modeling represent the architecture in terms of the model estimate the required input data calculate the model output and interpret the results quality attribute prediction: state conclusion make list of architectural problems

Experience-based Reasoning reasoning based on logical arguments especially for experienced s/w engineers basis for other techniques architecture assessment teams

Stakeholder Satisfaction ‘toll-gate’ approach, i.e. after architectural design assemble all stakeholders for a meeting (end users, customers, operators, implementers, etc.) each stakeholder category defines their primary scenarios scenarios are merged (and reduced) in scenario set scenarios (max. 20) are discussed and conflicts are resolved if conflicts remain, architecture design is rejected, otherwise development proceeds

Software Product Lines goal: determine ability of architecture to support all products in family assessment approaches: – assess for reference context – assess for each family member – assess most important systems – assess low- and high-end systems assess for future family members as well

Software System Acquisition context: organisation selecting a software system among alternatives software architecture indicates several properties about the system that can be evaluated supports selection process against relatively low cost

Conclusion Software architecture assessment – quality attributes – stakeholders – software product line Assessment techniques – scenarios – simulations – metrics/mathematical modeling – experience-based assessment

References J. Bosch, Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach, Pearson Education (Addison-Wesley & ACM Press), ISBN , May Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Second Edition, (Addison- Wesley), April Jan Bosch, PO Bengtsson, Assessing Optimal Software Architecture Maintainability, Proceedings of the Fifth European Conference on Software Maintenance and Reengineering (CSMR 2001), April Mary Shah, David Garlan, Software Architecture: Perspectives on an Emerging Discipline