SlideShare a Scribd company logo
Evaluating Software Architectures
            Stakeholders, Metrics, Results, Migration Strategies


                               Ingolf H. Krueger
                                  ikrueger@ucsd.edu



Department of Computer Science & Engineering     California Institute for Telecommunications
      University of California, San Diego               and Information Technologies
       La Jolla, CA 92093-0114, USA                     La Jolla, CA 92093-0405, USA
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  2
The Role of SW-Architecture

   • Bounds leeway for implementation


   • Fosters (or impedes!) system quality


   • Supports the critical system services


   • Defines starting point for
        –    Change management
        –    Product families
        –    Division of work


                                                      CSE/CAL·(IT)2
                                © Ingolf H. Krueger
March 06, 2003                                                        3
Why Evaluate an Architecture?

   • Stakeholders have different views/opinions on
        –   what the system does
        –   how the system should be structured
        –   what documentation should look like
        –   how the company/suppliers should conduct their business
        –   …


   • Architecture Evaluation
        – brings different stakeholders together
        – forum for voicing concerns (can, but need not, be related to
          the software architecture under consideration)
        – forum for establishing common understanding of important
          system aspects across development/business teams
        – means for risk identification and analysis


                                                          CSE/CAL·(IT)2
                               © Ingolf H. Krueger
March 06, 2003                                                            4
Why Evaluate an Architecture?

   • Find errors early: 55% of all errors are made, but less than 10%
     are detected during requirements capture and analysis
   • Find out if architecture is adequate wrt.
        – desirable/mandatory requirements
        – critical use cases
        – anticipated changes/extensions
        – budget constraints
   • Find out if state of the art development and documentation
     approaches were used
   • Find interfaces for coupling existing architecture with legacy or
     new neighboring systems
   • Decide among several competing architectural alternatives
   • Determine migration path towards target architecture


                                                          CSE/CAL·(IT)2
                               © Ingolf H. Krueger
March 06, 2003                                                            5
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  6
Goal-Orientation

• First Step of Architecture Evaluation:
    determine the specific goals for the system under
    consideration
• Prioritize goals!
• What are the critical properties/requirements the
    architecture must support?
• Is the architecture suitable wrt. these
    goals/properties/requirements?
• Determine the points in the architecture that influence
    the critical goals

                                                 CSE/CAL·(IT)2
                           © Ingolf H. Krueger
March 06, 2003                                                   7
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  8
Who is involved?


                              Customer             End User
             Manager

                                                          Administrator
      Marketing

                                                              Maintainer
        Tester

                                                              Operator


       Implementer
                                                    Evaluation Team
                                  Architect
                       …
                                                          CSE/CAL·(IT)2
                             © Ingolf H. Krueger
March 06, 2003                                                             9
Architectural Aspects: What to Look at?
                                                            see also: [RUP98]
Functional requirements
Models of structure
                                    Source code organization
and behavior
                                    File structure
                                    Configuration information
                 logical
                  view              ...                     Aspects of distribution and
                                                            concurrency
                                                  service
                           implementation          view   Response times
                                view
                                                            Throughput
                                            process         ...
                                             view
 Mapping of executables to
 processors
                                                         deployment
 System platform                                            view
 Installation
 ...
                                                                   CSE/CAL·(IT)2
                                   © Ingolf H. Krueger
March 06, 2003                                                                     10
Key Elements of Architecture Evaluation

• Determine goals for the evaluation
    – why does it happen?
    – who has an interest in it?
• Build understanding of the application domain
    – where are the difficulties in building this and similar applications?
    – are standard solutions available/used?
• Build domain model if it doesn’t exist already
• Determine and prioritize goals for the system/organization
• Identify and prioritize scenarios (“critical”, “medium”, “low”)
• Play through scenarios, record adequacy of the architectural decisions
• Discuss alternative architectures and migration strategies



                                                                  CSE/CAL·(IT)2
                                   © Ingolf H. Krueger
March 06, 2003                                                                    11
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  12
Example: Architecture Evaluation
                     Build Understanding of the Existing Architecture




                                                                   GUI

                                                              GUI-Coupling

                                                                         Application




                                                                                       Legacy
                                                                           Server
                                                       Middle-
                                                        ware

                                                           Hardware Abstraction
                 *




                                                                 Hardware




                                                                            CSE/CAL·(IT)2
                                     © Ingolf H. Krueger
March 06, 2003                                                                                  13
Example: Architecture Evaluation

• Evaluation goals:
     – Determine if prototypic architecture can be transferred to production
     – Determine adequate means for architecture documentation
• Prioritized system goals:
     – extensibility (applications/internal services)
     – understandability
     – short time-to-market
     – support for emerging standards
• Domain model
• Alternative architectures
     – use of off-the-shelf middleware vs. proprietary one
     – distribution of application “knowledge” between client and host of
       service


                                                               CSE/CAL·(IT)2
                                  © Ingolf H. Krueger
March 06, 2003                                                                 14
Example: Results of Architecture Evaluation

• Overview documentation of the Software Architecture
     – Short description of the system
     – Domain model
     – Essential use cases (including exceptions)
     – Component structure
       (possibly taken from the domain model)
     – Interaction patterns
     – Other relevant views
       (process view, distribution view, ... – see above)
• Prioritized list of quality attributes / goals and rationale
• Rationale for the architecture’s adequacy
• Discussion of alternative architectures
• Risk/Cost/Tradeoff Analysis


                                                            CSE/CAL·(IT)2
                                 © Ingolf H. Krueger
March 06, 2003                                                              15
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  16
Evaluation Methods: Example
                     ATAM: Architecture Tradeoff Analysis Method*

•    Presentation
       1. Present ATAM
       2. Present business drivers
       3. Present architecture
•    Investigation and Analysis
       4. Identify architectural approaches
       5. Generate quality-attribute utility tree
       6. Analyze architectural approaches
•    Testing
       7. Brainstorm and prioritize scenarios
       8. Analyze architectural approaches
•    Reporting
       9. Present the results

*P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002

                                                                                           CSE/CAL·(IT)2
                                               © Ingolf H. Krueger
March 06, 2003                                                                                                   17
Evaluation Methods: Example
                     ATAM: Architecture Tradeoff Analysis Method*

                                                 Utility Tree


                              Extensibility                     offline-time/year < 5 sec.




     Utility                  Availability                      handle DOS attacks




                              Usability                         …
                                                           …
                                                           …
*P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002

                                                                                           CSE/CAL·(IT)2
                                               © Ingolf H. Krueger
March 06, 2003                                                                                                   18
Evaluation Methods: Example
                     ATAM: Architecture Tradeoff Analysis Method*

• Phase 0:
       – Create evaluation team
       – Form partnership between evaluation organization and customer
• Phase 1:
       – Steps 1-6 (architecture-centric)
• Phase 2:
       – Steps 7-9 (stakeholder-centric)
• Phase 3:
       – Produce final report
       – Plan follow-on actions

*P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002

                                                                                           CSE/CAL·(IT)2
                                               © Ingolf H. Krueger
March 06, 2003                                                                                                   19
Watchlist*
                                              Be wary, if…

• Architecture follows customer’s organization
• Complex: too many components on every hierarchical
     level (rule of thumb: ≤7±2)
• Unbalanced set of requirements
• Architecture depends on specifics of an operating system
• Standards and standard components neglected
• Architecture follows hardware design
• Inappropriate redundancy to cover indecision

*P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002

                                                                                           CSE/CAL·(IT)2
                                               © Ingolf H. Krueger
March 06, 2003                                                                                                   20
Watchlist*
                                              Be wary, if…

• Exceptions drive architecture

• No architect exists

• Stakeholders difficult to identify

• Architecture = class diagrams

• Outdated documentation

• Disparity in perception of the architecture between
     developers and architects

*P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002

                                                                                           CSE/CAL·(IT)2
                                               © Ingolf H. Krueger
March 06, 2003                                                                                                   21
Metrics: Measure and Control Progress and Quality

• “You can’t control what you can’t measure”
     – is this true for software development?
• Metrics define how characteristics of a software system are
  measured
• Examples:
     – interface complexity
       (# ports/component, # messages/protocol, …)
     – structural complexity
       (# components/modules, # components/hierarchical level, # levels, #
       data classes, height of inheritance tree…)
     – behavioral complexity
       (# calls to other components, # states, # transitions, # synchronization
       points, # choice-points, # loops, …)
     – test complexity
       (# branches covered, # boundary conditions covered, # data values
       covered, # loop iterations covered, …)
                                                              CSE/CAL·(IT)2
                                © Ingolf H. Krueger
March 06, 2003                                                                22
Metrics: Measure and Control Progress and Quality

• Tool for complexity estimation


• Different techniques for complexity estimation can differ widely in
  their predictions for the same system


• Initial estimates are almost always wrong
     – iterative updating required


• Use of prototypes to determine adequacy may be preferable




                                                         CSE/CAL·(IT)2
                                © Ingolf H. Krueger
March 06, 2003                                                           23
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  24
Migration Strategies
             GUI                                                  • What is the improvement?
                                                                  • What will it cost?
       GUI-Coupling
                                                                  • What qualifications are
                   Application




                                  Legacy
                                                     …              needed?
                     Server
 Middle-
                                                                  • How long will it take?
  ware

                                                                  • What are the intermediate
  Hardware Abstraction
                                                                    stages?
           Hardware
                                                                  •…
                                               GUI

                                           GUI-Coupling           Application         Legacy
                                             Services              Services          Systems

                                                                 Middleware

                                                          Hardware Abstraction

                                                                 Hardware

                                                                                CSE/CAL·(IT)2
                                           © Ingolf H. Krueger
March 06, 2003                                                                                  25
Migration Strategies

• Consider sequence of manageable, smaller migration
  steps as opposed to one “big bang”
     – depends on application context
     – influential factors:
       time-to-market, competitive advantage, maintenance pressures
• Sketch out architectures of intermediate steps
• Discuss “top” scenarios for each intermediate
  architecture
• Balance
     –   cost and benefit
     –   available technologies/standards and product delivery schedules
     –   capabilities of development team and ambition
     –   clarity and performance


                                                          CSE/CAL·(IT)2
                              © Ingolf H. Krueger
March 06, 2003                                                            26
Overview


   • Background: Why Evaluate Software Architectures?

   • Goal-Orientation

   • Stakeholders and Architectural Views

   • Evaluation Results

   • Evaluation Methods and Metrics

   • Migration Strategies

   • Summary and Outlook


                                                CSE/CAL·(IT)2
                          © Ingolf H. Krueger
March 06, 2003                                                  27
Summary and Outlook
• Architecture Evaluation
     – brings different stakeholders together
     – increases understanding of goals and their architectural
       (mis)representation across team boundaries
     – exposes risks
• Result should provide
     –   Overview documentation of the Software Architecture
     –   Prioritized list of quality attributes / goals and rationale
     –   Rationale for the architecture’s adequacy
     –   Discussion of alternative architectures
     –   Risk/Cost/Tradeoff Analysis
• Metrics provide aid in measuring and controlling process only if
  estimates are regularly updated and compared with reality
• Migration strategies enable transition between current architecture
  and target
     – orient along goals
     – “big bang” vs. sequence of small steps

                                                                        CSE/CAL·(IT)2
                                    © Ingolf H. Krueger
March 06, 2003                                                                          28

More Related Content

What's hot

SQL - DML and DDL Commands
SQL - DML and DDL CommandsSQL - DML and DDL Commands
SQL - DML and DDL Commands
Shrija Madhu
 
Java constructors
Java constructorsJava constructors
Java constructors
QUONTRASOLUTIONS
 
SQL JOIN
SQL JOINSQL JOIN
SQL JOIN
Ritwik Das
 
Database Normalization by Dr. Kamal Gulati
Database Normalization by Dr. Kamal GulatiDatabase Normalization by Dr. Kamal Gulati
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
Sudarsun Santhiappan
 
Open Close Principle
Open Close PrincipleOpen Close Principle
Open Close Principle
Thaichor Seng
 
Adbms 17 object query language
Adbms 17 object query languageAdbms 17 object query language
Adbms 17 object query language
Vaibhav Khanna
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Dharmalingam Ganesan
 
08 Dynamic SQL and Metadata
08 Dynamic SQL and Metadata08 Dynamic SQL and Metadata
08 Dynamic SQL and Metadata
rehaniltifat
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
Alexandru Chica
 
Sql queries presentation
Sql queries presentationSql queries presentation
Sql queries presentation
NITISH KUMAR
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
Rishabh Soni
 
Chapter 3 stored procedures
Chapter 3 stored proceduresChapter 3 stored procedures
Data independence
Data independenceData independence
Data independence
Aashima Wadhwa
 
SQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and ProfitSQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and Profit
Karwin Software Solutions LLC
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
Asma CHERIF
 
Sql triggers
Sql triggersSql triggers
Sql triggers
Chandan Banerjee
 
MySql Triggers Tutorial - The Webs Academy
MySql Triggers Tutorial - The Webs AcademyMySql Triggers Tutorial - The Webs Academy
MySql Triggers Tutorial - The Webs Academy
thewebsacademy
 
Object-Oriented Programming Concepts
Object-Oriented Programming ConceptsObject-Oriented Programming Concepts
Object-Oriented Programming Concepts
Kwangshin Oh
 

What's hot (20)

SQL - DML and DDL Commands
SQL - DML and DDL CommandsSQL - DML and DDL Commands
SQL - DML and DDL Commands
 
Java constructors
Java constructorsJava constructors
Java constructors
 
SQL JOIN
SQL JOINSQL JOIN
SQL JOIN
 
Database Normalization by Dr. Kamal Gulati
Database Normalization by Dr. Kamal GulatiDatabase Normalization by Dr. Kamal Gulati
Database Normalization by Dr. Kamal Gulati
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
Open Close Principle
Open Close PrincipleOpen Close Principle
Open Close Principle
 
Adbms 17 object query language
Adbms 17 object query languageAdbms 17 object query language
Adbms 17 object query language
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
08 Dynamic SQL and Metadata
08 Dynamic SQL and Metadata08 Dynamic SQL and Metadata
08 Dynamic SQL and Metadata
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Sql queries presentation
Sql queries presentationSql queries presentation
Sql queries presentation
 
Object Oriented Approach for Software Development
Object Oriented Approach for Software DevelopmentObject Oriented Approach for Software Development
Object Oriented Approach for Software Development
 
Chapter 3 stored procedures
Chapter 3 stored proceduresChapter 3 stored procedures
Chapter 3 stored procedures
 
Data independence
Data independenceData independence
Data independence
 
SQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and ProfitSQL Outer Joins for Fun and Profit
SQL Outer Joins for Fun and Profit
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Sql triggers
Sql triggersSql triggers
Sql triggers
 
MySql Triggers Tutorial - The Webs Academy
MySql Triggers Tutorial - The Webs AcademyMySql Triggers Tutorial - The Webs Academy
MySql Triggers Tutorial - The Webs Academy
 
Sq lite presentation
Sq lite presentationSq lite presentation
Sq lite presentation
 
Object-Oriented Programming Concepts
Object-Oriented Programming ConceptsObject-Oriented Programming Concepts
Object-Oriented Programming Concepts
 

Viewers also liked

Talend AS A Product
Talend AS A ProductTalend AS A Product
Talend AS A ProductAbdul Manaf
 
Sybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAsSybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAs
Clearwater Technical Group Inc
 
Application retirement road_map_for_legacy_applications
Application retirement road_map_for_legacy_applicationsApplication retirement road_map_for_legacy_applications
Application retirement road_map_for_legacy_applications
Frank Morris
 
Big data ecosystem
Big data ecosystemBig data ecosystem
Big data ecosystem
SlideCentral
 
Simplifying Big Data ETL with Talend
Simplifying Big Data ETL with TalendSimplifying Big Data ETL with Talend
Simplifying Big Data ETL with Talend
Edureka!
 
How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...
How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...
How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...
Kai Wähner
 
Talend Introduction by TSI
Talend Introduction by TSITalend Introduction by TSI
Talend Introduction by TSI
Remain Software
 
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & TalendIntroducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
Caserta
 
Talend Big Data Capabilities Overview
Talend Big Data Capabilities OverviewTalend Big Data Capabilities Overview
Talend Big Data Capabilities Overview
Rajan Kanitkar
 
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
Kai Wähner
 
A Roadmap to Data Migration Success
A Roadmap to Data Migration SuccessA Roadmap to Data Migration Success
A Roadmap to Data Migration Success
FindWhitePapers
 
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
Amazon Web Services
 
ETL using Big Data Talend
ETL using Big Data Talend  ETL using Big Data Talend
ETL using Big Data Talend
Edureka!
 
AWS Migration Planning Roadmap
AWS Migration Planning RoadmapAWS Migration Planning Roadmap
AWS Migration Planning Roadmap
Amazon Web Services
 
Best Presentation About Infosys
Best Presentation About InfosysBest Presentation About Infosys
Best Presentation About Infosys
Durgadatta Dash
 

Viewers also liked (16)

Talend AS A Product
Talend AS A ProductTalend AS A Product
Talend AS A Product
 
Sybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAsSybase To Oracle Migration for DBAs
Sybase To Oracle Migration for DBAs
 
Application retirement road_map_for_legacy_applications
Application retirement road_map_for_legacy_applicationsApplication retirement road_map_for_legacy_applications
Application retirement road_map_for_legacy_applications
 
Big data ecosystem
Big data ecosystemBig data ecosystem
Big data ecosystem
 
Simplifying Big Data ETL with Talend
Simplifying Big Data ETL with TalendSimplifying Big Data ETL with Talend
Simplifying Big Data ETL with Talend
 
How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...
How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...
How to create intelligent Business Processes thanks to Big Data (BPM, Apache ...
 
Talend Introduction by TSI
Talend Introduction by TSITalend Introduction by TSI
Talend Introduction by TSI
 
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & TalendIntroducing the Big Data Ecosystem with Caserta Concepts & Talend
Introducing the Big Data Ecosystem with Caserta Concepts & Talend
 
Talend Big Data Capabilities Overview
Talend Big Data Capabilities OverviewTalend Big Data Capabilities Overview
Talend Big Data Capabilities Overview
 
Data migration
Data migrationData migration
Data migration
 
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
How to choose the right Integration Framework - Apache Camel (JBoss, Talend),...
 
A Roadmap to Data Migration Success
A Roadmap to Data Migration SuccessA Roadmap to Data Migration Success
A Roadmap to Data Migration Success
 
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
AWS re:Invent 2016: Preparing for a Large-Scale Migration to AWS (ENT212)
 
ETL using Big Data Talend
ETL using Big Data Talend  ETL using Big Data Talend
ETL using Big Data Talend
 
AWS Migration Planning Roadmap
AWS Migration Planning RoadmapAWS Migration Planning Roadmap
AWS Migration Planning Roadmap
 
Best Presentation About Infosys
Best Presentation About InfosysBest Presentation About Infosys
Best Presentation About Infosys
 

Similar to Evaluating Software Architectures

Hazen michael
Hazen michaelHazen michael
Hazen michaelNASAPMC
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
Henry Muccini
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014
Dani Mannes
 
Writing Effective Use Cases
 Writing Effective Use Cases Writing Effective Use Cases
Writing Effective Use Cases
Harsh Jegadeesan
 
Unit 2
Unit 2Unit 2
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2bmercer
 
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)Steve Lange
 
3.8 development methods
3.8 development methods3.8 development methods
3.8 development methodsmrmwood
 
To TOGAFor not to TOGAF
To TOGAFor not to TOGAFTo TOGAFor not to TOGAF
To TOGAFor not to TOGAF
Ivo Andreev
 
ATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course Sampler
Jim Jenkins
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notesSudarshan Dhondaley
 
Application Crisis avoidance six things you can do
Application Crisis avoidance  six things you can doApplication Crisis avoidance  six things you can do
Application Crisis avoidance six things you can do
Apalytics
 
Feasible
FeasibleFeasible
Feasible
anasamirah
 
Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...
Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...
Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...
Society of Women Engineers
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Vikas Dhyani
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architecturesMr. Chanuwan
 
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02NNfamily
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
MohsinAli773
 
Project management through the eye of the systems engineer
Project management through the eye of the systems engineerProject management through the eye of the systems engineer
Project management through the eye of the systems engineer
evolve2013
 

Similar to Evaluating Software Architectures (20)

Hazen michael
Hazen michaelHazen michael
Hazen michael
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014
 
Writing Effective Use Cases
 Writing Effective Use Cases Writing Effective Use Cases
Writing Effective Use Cases
 
Unit 2
Unit 2Unit 2
Unit 2
 
Thoughts On Architecting V4 2
Thoughts On Architecting V4 2Thoughts On Architecting V4 2
Thoughts On Architecting V4 2
 
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
PHX Session #5 : Architecture Without Big Design Up Front (Garibay)
 
3.8 development methods
3.8 development methods3.8 development methods
3.8 development methods
 
To TOGAFor not to TOGAF
To TOGAFor not to TOGAFTo TOGAFor not to TOGAF
To TOGAFor not to TOGAF
 
ATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course SamplerATI Technical CONOPS and Concepts Technical Training Course Sampler
ATI Technical CONOPS and Concepts Technical Training Course Sampler
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
 
Application Crisis avoidance six things you can do
Application Crisis avoidance  six things you can doApplication Crisis avoidance  six things you can do
Application Crisis avoidance six things you can do
 
Feasible
FeasibleFeasible
Feasible
 
Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...
Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...
Technology Insertion: A Well-Grounded Approach to Implementing Out of this Wo...
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Performance prediction for software architectures
Performance prediction for software architecturesPerformance prediction for software architectures
Performance prediction for software architectures
 
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
Performancepredictionforsoftwarearchitectures 100810045752-phpapp02
 
Sternberger CTO eArchitect CV
Sternberger CTO eArchitect CVSternberger CTO eArchitect CV
Sternberger CTO eArchitect CV
 
Software Process Models
 Software Process Models  Software Process Models
Software Process Models
 
Project management through the eye of the systems engineer
Project management through the eye of the systems engineerProject management through the eye of the systems engineer
Project management through the eye of the systems engineer
 

Recently uploaded

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

Evaluating Software Architectures

  • 1. Evaluating Software Architectures Stakeholders, Metrics, Results, Migration Strategies Ingolf H. Krueger ikrueger@ucsd.edu Department of Computer Science & Engineering California Institute for Telecommunications University of California, San Diego and Information Technologies La Jolla, CA 92093-0114, USA La Jolla, CA 92093-0405, USA
  • 2. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 2
  • 3. The Role of SW-Architecture • Bounds leeway for implementation • Fosters (or impedes!) system quality • Supports the critical system services • Defines starting point for – Change management – Product families – Division of work CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 3
  • 4. Why Evaluate an Architecture? • Stakeholders have different views/opinions on – what the system does – how the system should be structured – what documentation should look like – how the company/suppliers should conduct their business – … • Architecture Evaluation – brings different stakeholders together – forum for voicing concerns (can, but need not, be related to the software architecture under consideration) – forum for establishing common understanding of important system aspects across development/business teams – means for risk identification and analysis CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 4
  • 5. Why Evaluate an Architecture? • Find errors early: 55% of all errors are made, but less than 10% are detected during requirements capture and analysis • Find out if architecture is adequate wrt. – desirable/mandatory requirements – critical use cases – anticipated changes/extensions – budget constraints • Find out if state of the art development and documentation approaches were used • Find interfaces for coupling existing architecture with legacy or new neighboring systems • Decide among several competing architectural alternatives • Determine migration path towards target architecture CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 5
  • 6. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 6
  • 7. Goal-Orientation • First Step of Architecture Evaluation: determine the specific goals for the system under consideration • Prioritize goals! • What are the critical properties/requirements the architecture must support? • Is the architecture suitable wrt. these goals/properties/requirements? • Determine the points in the architecture that influence the critical goals CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 7
  • 8. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 8
  • 9. Who is involved? Customer End User Manager Administrator Marketing Maintainer Tester Operator Implementer Evaluation Team Architect … CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 9
  • 10. Architectural Aspects: What to Look at? see also: [RUP98] Functional requirements Models of structure Source code organization and behavior File structure Configuration information logical view ... Aspects of distribution and concurrency service implementation view Response times view Throughput process ... view Mapping of executables to processors deployment System platform view Installation ... CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 10
  • 11. Key Elements of Architecture Evaluation • Determine goals for the evaluation – why does it happen? – who has an interest in it? • Build understanding of the application domain – where are the difficulties in building this and similar applications? – are standard solutions available/used? • Build domain model if it doesn’t exist already • Determine and prioritize goals for the system/organization • Identify and prioritize scenarios (“critical”, “medium”, “low”) • Play through scenarios, record adequacy of the architectural decisions • Discuss alternative architectures and migration strategies CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 11
  • 12. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 12
  • 13. Example: Architecture Evaluation Build Understanding of the Existing Architecture GUI GUI-Coupling Application Legacy Server Middle- ware Hardware Abstraction * Hardware CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 13
  • 14. Example: Architecture Evaluation • Evaluation goals: – Determine if prototypic architecture can be transferred to production – Determine adequate means for architecture documentation • Prioritized system goals: – extensibility (applications/internal services) – understandability – short time-to-market – support for emerging standards • Domain model • Alternative architectures – use of off-the-shelf middleware vs. proprietary one – distribution of application “knowledge” between client and host of service CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 14
  • 15. Example: Results of Architecture Evaluation • Overview documentation of the Software Architecture – Short description of the system – Domain model – Essential use cases (including exceptions) – Component structure (possibly taken from the domain model) – Interaction patterns – Other relevant views (process view, distribution view, ... – see above) • Prioritized list of quality attributes / goals and rationale • Rationale for the architecture’s adequacy • Discussion of alternative architectures • Risk/Cost/Tradeoff Analysis CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 15
  • 16. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 16
  • 17. Evaluation Methods: Example ATAM: Architecture Tradeoff Analysis Method* • Presentation 1. Present ATAM 2. Present business drivers 3. Present architecture • Investigation and Analysis 4. Identify architectural approaches 5. Generate quality-attribute utility tree 6. Analyze architectural approaches • Testing 7. Brainstorm and prioritize scenarios 8. Analyze architectural approaches • Reporting 9. Present the results *P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002 CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 17
  • 18. Evaluation Methods: Example ATAM: Architecture Tradeoff Analysis Method* Utility Tree Extensibility offline-time/year < 5 sec. Utility Availability handle DOS attacks Usability … … … *P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002 CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 18
  • 19. Evaluation Methods: Example ATAM: Architecture Tradeoff Analysis Method* • Phase 0: – Create evaluation team – Form partnership between evaluation organization and customer • Phase 1: – Steps 1-6 (architecture-centric) • Phase 2: – Steps 7-9 (stakeholder-centric) • Phase 3: – Produce final report – Plan follow-on actions *P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002 CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 19
  • 20. Watchlist* Be wary, if… • Architecture follows customer’s organization • Complex: too many components on every hierarchical level (rule of thumb: ≤7±2) • Unbalanced set of requirements • Architecture depends on specifics of an operating system • Standards and standard components neglected • Architecture follows hardware design • Inappropriate redundancy to cover indecision *P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002 CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 20
  • 21. Watchlist* Be wary, if… • Exceptions drive architecture • No architect exists • Stakeholders difficult to identify • Architecture = class diagrams • Outdated documentation • Disparity in perception of the architecture between developers and architects *P. Clements, R. Kazman, M. Klein: Evaluating Software Architectures. Methods and Case Studies, Addison Wesley, 2002 CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 21
  • 22. Metrics: Measure and Control Progress and Quality • “You can’t control what you can’t measure” – is this true for software development? • Metrics define how characteristics of a software system are measured • Examples: – interface complexity (# ports/component, # messages/protocol, …) – structural complexity (# components/modules, # components/hierarchical level, # levels, # data classes, height of inheritance tree…) – behavioral complexity (# calls to other components, # states, # transitions, # synchronization points, # choice-points, # loops, …) – test complexity (# branches covered, # boundary conditions covered, # data values covered, # loop iterations covered, …) CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 22
  • 23. Metrics: Measure and Control Progress and Quality • Tool for complexity estimation • Different techniques for complexity estimation can differ widely in their predictions for the same system • Initial estimates are almost always wrong – iterative updating required • Use of prototypes to determine adequacy may be preferable CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 23
  • 24. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 24
  • 25. Migration Strategies GUI • What is the improvement? • What will it cost? GUI-Coupling • What qualifications are Application Legacy … needed? Server Middle- • How long will it take? ware • What are the intermediate Hardware Abstraction stages? Hardware •… GUI GUI-Coupling Application Legacy Services Services Systems Middleware Hardware Abstraction Hardware CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 25
  • 26. Migration Strategies • Consider sequence of manageable, smaller migration steps as opposed to one “big bang” – depends on application context – influential factors: time-to-market, competitive advantage, maintenance pressures • Sketch out architectures of intermediate steps • Discuss “top” scenarios for each intermediate architecture • Balance – cost and benefit – available technologies/standards and product delivery schedules – capabilities of development team and ambition – clarity and performance CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 26
  • 27. Overview • Background: Why Evaluate Software Architectures? • Goal-Orientation • Stakeholders and Architectural Views • Evaluation Results • Evaluation Methods and Metrics • Migration Strategies • Summary and Outlook CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 27
  • 28. Summary and Outlook • Architecture Evaluation – brings different stakeholders together – increases understanding of goals and their architectural (mis)representation across team boundaries – exposes risks • Result should provide – Overview documentation of the Software Architecture – Prioritized list of quality attributes / goals and rationale – Rationale for the architecture’s adequacy – Discussion of alternative architectures – Risk/Cost/Tradeoff Analysis • Metrics provide aid in measuring and controlling process only if estimates are regularly updated and compared with reality • Migration strategies enable transition between current architecture and target – orient along goals – “big bang” vs. sequence of small steps CSE/CAL·(IT)2 © Ingolf H. Krueger March 06, 2003 28