SlideShare a Scribd company logo
1 of 17
Download to read offline
Architecture Evaluation Methods
Presenter: Alexandru Chica
Contents
Architecture
•What is an architecture?
•Quality attributes of an architecture
Evaluating an architecture
•Why evaluate an architecture?
•Benefits and costs
•Different approaches:
oSAAM (Software Architecture Analysis Method)
oATAM (Architecture Tradeoff Analysis Method) (tbd.)
oARID (Active reviews for intermediate designs) (tbd.)
Architecture
What is an architecture?
•The software architecture of a program or computing system is the
structure or structures of the system, which comprises of software
components, the externally visible properties of those components, and
the relationships among them. [Bass 98]
•Architecture is high-level design
•Architecture is the overall structure of a system
•Architecture is components and connectors
Architecture
What is an architecture?
Architecture
Quality attributes of an architecture (I)
• Usability - the measure of a user's ability to utilize a system effectively
• Functionality - the ability of the system to do the work for which it was
intended
• Modifiability - the ability to make changes to a system quickly and cost
effectively
• Subsetability
• Reliability - the ability of the system to keep operating over time
Architecture
Quality attributes of an architecture (II)
• Conceptual integrity – the architecture should do similar things in
similar ways
• Performance - the responsiveness of the system
• Availability – the proportion of time the system is up and running (the
delay between failures and time needed to resume normal operations)
• Testability
• Security
Evaluating an architecture
Why evaluate an architecture?
•The earlier you find a problem in a SW project, the better off you are (the
cost to fix an error in early design phase is much smaller than the cost to
fix the same error in implementation/testing)
•Architecture is the earliest point in the project where trade-offs are visible
•Architecture determines the structure of the project: schedules, budgets,
performance indicators, team structure, testing and maintenance
activities
•Risk management
Evaluating an architecture
Benefits and costs
•(+) Forces clear explanation of architecture
•(+) Puts stakeholders in the same room
•(+) Identifies and solves conflicting goals
•(+) Forces clarification of specific quality goals
•(+) Identifies risks early in the lifecycle
•(-) Costs time and money
Any kind of organized approach to evaluation is way better than none
Evaluating an architecture
SAAM (Software Architecture Analysis Method)
o Based on scenarios
 A scenario represents a description of a stakeholder’s interaction
with the system
o Scenarios are created depending on the point of view of each
stakeholder:
o Developer – interested in reusability, implementation,
maintenance
o Project Manager – interested in time, cost, quality, extensibility
o Tester – interested in usability, mapping to requirements
Evaluating an architecture
Steps of a SAAM evaluation
Identify and assemble stakeholders
↓
Develop and prioritize scenarios
↓
Describe architecture (actual review)
↓
Classify scenarios as direct or indirect
↓
Perform scenario evaluation
↓
Reveal scenario interactions
↓
Generate overall evaluation
Evaluating an architecture
SAAM scenarios
•Scenarios should refer to the evolution that the system must support
(based on requirements)
oFunctionality
oDevelopment activities
oChange activities
•Scenarios should represent tasks relevant to all stakeholders
•Suggestion: 10-15 prioritized scenarios
•Scenarios can be classified in two classes
oDirect scenarios do not require system modifications
oIndirect scenarios require system change
Evaluating an architecture
SAAM scenario evaluation
•For each direct scenario, see if scenario can be performed with current
system state
•For each indirect scenario
oIdentify the components which have to be modified, added or deleted
oEstimate the difficulty of the modification (based on the number of
components to be modified and the effect of the modification)
Evaluating an architecture
SAAM scenario interaction
•Multiple indirect scenarios affecting the same component could indicate
a problem
oCould be good: if scenarios are variants of each other
oCould be bad: indicates a poor separation of responsibilities
SAAM Evaluation Results
•Classification of scenarios based on importance
•Decision if architecture is accepted or has to be modified
Evaluating an architecture
Examples
• Indirect scenarios:
• Extension of capabilities – adding new functionality, enhancing
existing functionality
• Deletion of unwanted capabilities
• Adaption to new operating environments (hardware, OS, I/O devices)
• Restructuring – modularizing, optimizing, creating reusable
components
Evaluating an architecture
Examples
• Direct scenarios
• Confronting the architecture with regular use cases
• Use logic that is provided by the interfaces
• Stress testing – behavior of components in case of intensive usage
• Corruption of data/components after long-term usage
• Data integrity when sending it through communication channels
• Scenarios regarding functionality found in the requirements
• Ease of test – how easy is it to test a requirement
Evaluating an architecture
Conclusion
Any kind of organized approach to evaluation is way better than none.
SAAM
Evaluating an architecture
?

More Related Content

What's hot

Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleDhivyaa C.R
 
EC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniquesEC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniquesRajalakshmiSermadurai
 
Unit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureUnit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureDhivyaa C.R
 
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" LogeekNightUkraine
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
System engineering
System engineeringSystem engineering
System engineeringSlideshare
 
Formal approaches to software architecture design thesis presentation
Formal approaches to software architecture design   thesis presentationFormal approaches to software architecture design   thesis presentation
Formal approaches to software architecture design thesis presentationNacha Chondamrongkul
 
Evaluating Software Architectures
Evaluating Software ArchitecturesEvaluating Software Architectures
Evaluating Software Architecturesjew Kevin
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Education Front
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3koolkampus
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering ProcessJomel Penalba
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)IIUI
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture DIPEN SAINI
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modelingAbdul Basit
 

What's hot (20)

Sda 6
Sda   6Sda   6
Sda 6
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
 
Soa 1 7.ppsx
Soa 1 7.ppsxSoa 1 7.ppsx
Soa 1 7.ppsx
 
EC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniquesEC8791 Requirement-Specifications-Quality assurance techniques
EC8791 Requirement-Specifications-Quality assurance techniques
 
Saam
SaamSaam
Saam
 
Unit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software ArchitectureUnit iv -Documenting and Implementation of Software Architecture
Unit iv -Documenting and Implementation of Software Architecture
 
Sda 3
Sda   3Sda   3
Sda 3
 
Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design" Orkhan Gasimov "High Performance System Design"
Orkhan Gasimov "High Performance System Design"
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
System engineering
System engineeringSystem engineering
System engineering
 
Formal approaches to software architecture design thesis presentation
Formal approaches to software architecture design   thesis presentationFormal approaches to software architecture design   thesis presentation
Formal approaches to software architecture design thesis presentation
 
Evaluating Software Architectures
Evaluating Software ArchitecturesEvaluating Software Architectures
Evaluating Software Architectures
 
Lecture 2 (Software Processes)
Lecture 2 (Software Processes)Lecture 2 (Software Processes)
Lecture 2 (Software Processes)
 
Software Process in Software Engineering SE3
Software Process in Software Engineering SE3Software Process in Software Engineering SE3
Software Process in Software Engineering SE3
 
Requirements Engineering Process
Requirements Engineering ProcessRequirements Engineering Process
Requirements Engineering Process
 
Lecture 12 requirements modeling - (system analysis)
Lecture 12   requirements modeling - (system analysis)Lecture 12   requirements modeling - (system analysis)
Lecture 12 requirements modeling - (system analysis)
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Domain specific Software Architecture
Domain specific Software Architecture Domain specific Software Architecture
Domain specific Software Architecture
 
Requirement modeling
Requirement modelingRequirement modeling
Requirement modeling
 

Similar to Architecture evaluation

Software Architecture – Centric Methods and Agile Development
Software Architecture –   Centric Methods and   Agile DevelopmentSoftware Architecture –   Centric Methods and   Agile Development
Software Architecture – Centric Methods and Agile Developmentsathish sak
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsRebecca Wirfs-Brock
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for BegginersChinh Ngo Nguyen
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)영기 김
 
Software archiecture lecture08
Software archiecture   lecture08Software archiecture   lecture08
Software archiecture lecture08Luktalja
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slidesvenkatasubramanianSr5
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecturebashcode
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life CycleSlideshare
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineeringArun Nair
 
Architecting Component-Based Systems
Architecting Component-Based SystemsArchitecting Component-Based Systems
Architecting Component-Based Systemsvadapav123
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering processRaheel Aslam
 
Optimizing Parameters
Optimizing ParametersOptimizing Parameters
Optimizing ParametersAlan Smith
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 

Similar to Architecture evaluation (20)

Software Architecture – Centric Methods and Agile Development
Software Architecture –   Centric Methods and   Agile DevelopmentSoftware Architecture –   Centric Methods and   Agile Development
Software Architecture – Centric Methods and Agile Development
 
module 1.pptx
module 1.pptxmodule 1.pptx
module 1.pptx
 
Discuss systems
 Discuss systems Discuss systems
Discuss systems
 
Architectural design
Architectural designArchitectural design
Architectural design
 
Why We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile ProjectsWhy We Need Architects (and Architecture) on Agile Projects
Why We Need Architects (and Architecture) on Agile Projects
 
ATAM
ATAMATAM
ATAM
 
Software Architecture Design for Begginers
Software Architecture Design for BegginersSoftware Architecture Design for Begginers
Software Architecture Design for Begginers
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Rup
RupRup
Rup
 
WDES 2014 paper: Towards the Dynamic Evolution of Context-based Systems-of-Sy...
WDES 2014 paper: Towards the Dynamic Evolution of Context-based Systems-of-Sy...WDES 2014 paper: Towards the Dynamic Evolution of Context-based Systems-of-Sy...
WDES 2014 paper: Towards the Dynamic Evolution of Context-based Systems-of-Sy...
 
소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)소프트웨어 아키텍처 평가(Atam)
소프트웨어 아키텍처 평가(Atam)
 
Software archiecture lecture08
Software archiecture   lecture08Software archiecture   lecture08
Software archiecture lecture08
 
Unified modeling language basics and slides
Unified modeling language basics and slidesUnified modeling language basics and slides
Unified modeling language basics and slides
 
4+1 View Model of Software Architecture
4+1 View Model of Software Architecture4+1 View Model of Software Architecture
4+1 View Model of Software Architecture
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
process models- software engineering
process models- software engineeringprocess models- software engineering
process models- software engineering
 
Architecting Component-Based Systems
Architecting Component-Based SystemsArchitecting Component-Based Systems
Architecting Component-Based Systems
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Optimizing Parameters
Optimizing ParametersOptimizing Parameters
Optimizing Parameters
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 

Recently uploaded

Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIkoyaldeepu123
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixingviprabot1
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage examplePragyanshuParadkar1
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfAsst.prof M.Gokilavani
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture designssuser87fa0c1
 

Recently uploaded (20)

Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
EduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AIEduAI - E learning Platform integrated with AI
EduAI - E learning Platform integrated with AI
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Effects of rheological properties on mixing
Effects of rheological properties on mixingEffects of rheological properties on mixing
Effects of rheological properties on mixing
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
DATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage exampleDATA ANALYTICS PPT definition usage example
DATA ANALYTICS PPT definition usage example
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
young call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Serviceyoung call girls in Green Park🔝 9953056974 🔝 escort Service
young call girls in Green Park🔝 9953056974 🔝 escort Service
 
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdfCCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
CCS355 Neural Networks & Deep Learning Unit 1 PDF notes with Question bank .pdf
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
pipeline in computer architecture design
pipeline in computer architecture  designpipeline in computer architecture  design
pipeline in computer architecture design
 

Architecture evaluation

  • 2. Contents Architecture •What is an architecture? •Quality attributes of an architecture Evaluating an architecture •Why evaluate an architecture? •Benefits and costs •Different approaches: oSAAM (Software Architecture Analysis Method) oATAM (Architecture Tradeoff Analysis Method) (tbd.) oARID (Active reviews for intermediate designs) (tbd.)
  • 3. Architecture What is an architecture? •The software architecture of a program or computing system is the structure or structures of the system, which comprises of software components, the externally visible properties of those components, and the relationships among them. [Bass 98] •Architecture is high-level design •Architecture is the overall structure of a system •Architecture is components and connectors
  • 4. Architecture What is an architecture?
  • 5. Architecture Quality attributes of an architecture (I) • Usability - the measure of a user's ability to utilize a system effectively • Functionality - the ability of the system to do the work for which it was intended • Modifiability - the ability to make changes to a system quickly and cost effectively • Subsetability • Reliability - the ability of the system to keep operating over time
  • 6. Architecture Quality attributes of an architecture (II) • Conceptual integrity – the architecture should do similar things in similar ways • Performance - the responsiveness of the system • Availability – the proportion of time the system is up and running (the delay between failures and time needed to resume normal operations) • Testability • Security
  • 7. Evaluating an architecture Why evaluate an architecture? •The earlier you find a problem in a SW project, the better off you are (the cost to fix an error in early design phase is much smaller than the cost to fix the same error in implementation/testing) •Architecture is the earliest point in the project where trade-offs are visible •Architecture determines the structure of the project: schedules, budgets, performance indicators, team structure, testing and maintenance activities •Risk management
  • 8. Evaluating an architecture Benefits and costs •(+) Forces clear explanation of architecture •(+) Puts stakeholders in the same room •(+) Identifies and solves conflicting goals •(+) Forces clarification of specific quality goals •(+) Identifies risks early in the lifecycle •(-) Costs time and money Any kind of organized approach to evaluation is way better than none
  • 9. Evaluating an architecture SAAM (Software Architecture Analysis Method) o Based on scenarios  A scenario represents a description of a stakeholder’s interaction with the system o Scenarios are created depending on the point of view of each stakeholder: o Developer – interested in reusability, implementation, maintenance o Project Manager – interested in time, cost, quality, extensibility o Tester – interested in usability, mapping to requirements
  • 10. Evaluating an architecture Steps of a SAAM evaluation Identify and assemble stakeholders ↓ Develop and prioritize scenarios ↓ Describe architecture (actual review) ↓ Classify scenarios as direct or indirect ↓ Perform scenario evaluation ↓ Reveal scenario interactions ↓ Generate overall evaluation
  • 11. Evaluating an architecture SAAM scenarios •Scenarios should refer to the evolution that the system must support (based on requirements) oFunctionality oDevelopment activities oChange activities •Scenarios should represent tasks relevant to all stakeholders •Suggestion: 10-15 prioritized scenarios •Scenarios can be classified in two classes oDirect scenarios do not require system modifications oIndirect scenarios require system change
  • 12. Evaluating an architecture SAAM scenario evaluation •For each direct scenario, see if scenario can be performed with current system state •For each indirect scenario oIdentify the components which have to be modified, added or deleted oEstimate the difficulty of the modification (based on the number of components to be modified and the effect of the modification)
  • 13. Evaluating an architecture SAAM scenario interaction •Multiple indirect scenarios affecting the same component could indicate a problem oCould be good: if scenarios are variants of each other oCould be bad: indicates a poor separation of responsibilities SAAM Evaluation Results •Classification of scenarios based on importance •Decision if architecture is accepted or has to be modified
  • 14. Evaluating an architecture Examples • Indirect scenarios: • Extension of capabilities – adding new functionality, enhancing existing functionality • Deletion of unwanted capabilities • Adaption to new operating environments (hardware, OS, I/O devices) • Restructuring – modularizing, optimizing, creating reusable components
  • 15. Evaluating an architecture Examples • Direct scenarios • Confronting the architecture with regular use cases • Use logic that is provided by the interfaces • Stress testing – behavior of components in case of intensive usage • Corruption of data/components after long-term usage • Data integrity when sending it through communication channels • Scenarios regarding functionality found in the requirements • Ease of test – how easy is it to test a requirement
  • 16. Evaluating an architecture Conclusion Any kind of organized approach to evaluation is way better than none. SAAM