0% found this document useful (0 votes)
32 views21 pages

Week 13 - Compare Software Architecture Evaluation Methods

This document discusses different techniques for evaluating software architectures, including questioning techniques like questionnaires and checklists, measuring techniques using metrics and simulations, and hybrid techniques that combine multiple methods. Questioning techniques investigate areas like design decisions through open-ended questions, while measuring techniques provide quantitative data on attributes. Example hybrid techniques are the Architecture Tradeoff Analysis Method (ATAM) and Software Performance Engineering (SPE).

Uploaded by

hdsasdad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views21 pages

Week 13 - Compare Software Architecture Evaluation Methods

This document discusses different techniques for evaluating software architectures, including questioning techniques like questionnaires and checklists, measuring techniques using metrics and simulations, and hybrid techniques that combine multiple methods. Questioning techniques investigate areas like design decisions through open-ended questions, while measuring techniques provide quantitative data on attributes. Example hybrid techniques are the Architecture Tradeoff Analysis Method (ATAM) and Software Performance Engineering (SPE).

Uploaded by

hdsasdad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Software Architecture And Testing

CT059-3-2

Compare software architecture


evaluation methods
Topic & Structure of the lesson

• Questioning techniques
• Measuring techniques
• Hybrid techniques

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 2 Out of 21
Learning Outcomes

• By the end of this lecture, YOU should be


able to :
– Explain the software architecture evaluation
questioning techniques
– Provide measuring techniques for evaluating
a software architecture
– Use hybrid techniques for software evaluation

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 3 Out of 21
Key Terms you must be able to use

• If you have mastered this topic, you should


be able to use the following terms correctly
in your assignments and exams:
– Questioning technique
– Measuring technique
– Hybrid technique
– Scenario-based Methods
– Survivable Network Analysis Method
– Software Performance Engineering
CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 4 Out of 21
Evaluation Technique
• All evaluation methods use one or both of the
following techniques
– Questioning techniques
• Techiques
– Questionnaires
– Checklists
– Scenarios
• To check the systems behavior before it developed

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 5 Out of 21
Evaluation Technique
• Measuring techniques
– Techniques
• Simulation
• Metrics
– Complexity – Coupling & cohesion metrics
» modifiabilty
» Module independencies & functionality
– Data flow metrics
» Size and frequency of data passed along the
communication channel

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 6 Out of 21
The ATAM, SAAM & ARID
Comparison

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 7 Out of 21
Questioning Techniques

• Most popular technique


• Can investigate any area of a project
– Design decisions
– project management
– Process issues

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 8 Out of 21
Questionnaires

• Can be applied relatively to all architectures


• To identify
– Way the architecture was generated and
documented
– Detail of the architecture description
• The utility of the questionnaire is related to
the ease with which the domain interest can
charactrised and circumscribed

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 9 Out of 21
Checklists

• A set of questions developed after much


experience evaluating a common set of
system
• Focus on particular functions or quality
attributes

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 10 Out of 21
Scenario-Based Methods

• Is a sort description of an interaction


• Normally it is specific to the architecture
being evaluated
• Example Scenario-Based Methods
– ATAM, SAAM and ARID
– Survivable Network Analysis Method (SNA)

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 11 Out of 21
Survivable Network Analysis
Method
• Developed by SEI CERT Coordination
Centre
• To permit systematic assessment of the
survivability properties of the
– Existing system
– Proposed system
– Modification of existing system
• SNA has four steps

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 12 Out of 21
SNA Steps

• System definition
– Understanding objectives, requirements, structure
and properties of the system architecture and risk in
the operating environment
• Essential capability definition
– Services that maintain during attack
– Essential assets that should maintain during
the assets
– Mission objective
– Failure consequences
CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 13 Out of 21
SNA Steps
• Compromisable capability definition
– Scenarios are selected based on the assessment of
environment risks and intruder capabilities
– Mapped on to the architecture as execution traces to identify
corresponding compromisable components
• Survivability Analysis
– Analyse in the context of
• Resistance
– Is the capability of a system to repel attacks
• Recognition
– Capability to detect attack
• Recovery
– Capability to maintain the essential services and assets during
attacks
CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 14 Out of 21
Measuring Techniques

• Used to answer specific question about


specific quality attributes
• Requires design or implementation
artifacts
• Assumption needed which the
measurement was deemed useful

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 15 Out of 21
Metrics

• Quantitative interpretation placed on


measurements
• The following is a set of metrics to measure the
complexity
– Number of events
– Number of synchronous calls
– Number of component clusters
– Depth of structure
– Depth of finite state machine
– Number of data classes
– Number of extended state variables
– Depth of inheritance tree
CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 16 Out of 21
Hybrid Technique

• Combined methods of the techniques


• Example
– Software Performance Engineering (SPE)
• Is analysis technique to examine the architecture
for performance
– ATAM
• It uses questioning techniques.
• It include other methods such as
performance model, uncertainties,
performance-oriented design
CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 17 Out of 21
Reference
Clements, Kazman & Klein – Evaluating Software Architectures –– Addison-Wesley.

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 18 Out of 21
Summary of Main Teaching Points

• Questioning techniques
• Measuring techniques
• Hybrid techniques

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 19 Out of 21
Question and Answer Session

Q&A

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 20 Out of 21
Next Session

• Building organizational buy-in


• Building a pool of evaluators
• Establishing a corporate memory

CT059-3-2 Software Architecture And Testing Compare software architecture evaluation methods Slide 21 Out of 21

You might also like