Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

CS 3212

Software Architecture & Design


(2011/2012)

Lecture 13

Architecture Analysis
Why Analyze Architectures?
 Because it will tell you important properties
of the system, even if the system does not
yet exist
 Economic benefit!
 An architecture evaluation should be a
standard part of every architecture-based
development methodology.

03/18/12 Shahani Markus Weerawarana, Ph.D. 2


When to Analyze Architectures?
 Most cost-effective when evaluations are done as
early as possible in the system's life cycle
 Architecture evaluation can/should be carried out

at many points during a system's life cycle


 Evaluation can also be used to choose between

two competing architectures, by evaluating both


and seeing which one fares better against the
criteria for “goodness”.

03/18/12 Shahani Markus Weerawarana, Ph.D. 3


Evaluation/Assessment/Validation
Techniques
 Presentations

 Formal Reviews and Structured Walkthroughs


 Evaluation using Scenarios

 Prototypes & Proof-of-Concept Systems

 Skeleton Systems

03/18/12 Shahani Markus Weerawarana, Ph.D. 4


Evaluation/Assessment/Validation
Techniques
 Presentations

 Formal Reviews and Structured Walkthroughs


 Evaluation using Scenarios

 Prototypes & Proof-of-Concept Systems

 Skeleton Systems

03/18/12 Shahani Markus Weerawarana, Ph.D. 5


Presentations
 An informal explanation of the proposed
architecture to stakeholders.
 The presentation should be carefully structured so

that the audience is forced to think deeply about


the implications of architectural decisions.
 Useful as a communication and selling tool for the

architecture.
 Forces stakeholders to think about important

issues.
 Only a shallow level of analysis is possible.

03/18/12 Shahani Markus Weerawarana, Ph.D. 6


Evaluation/Assessment/Validation
Techniques
 Presentations

 Formal Reviews and Structured Walkthroughs


 Evaluation using Scenarios

 Prototypes & Proof-of-Concept Systems

 Skeleton Systems

03/18/12 Shahani Markus Weerawarana, Ph.D. 7


Formal Reviews & Structured Walkthroughs

A formal review involves gathering a group of people to


go through a document page-by-page:
 To raise comments about it
 To discuss the concerns as a group
 To agree on what actions need to be taken, if any.
 Each attendee is assigned a “role” (moderator,
presenter, reviewers etc.) before the review meeting.
 Typically the items (specification, design, code etc.) to

be reviewed, are sent to the reviewers a few days


before the meeting.

03/18/12 Shahani Markus Weerawarana, Ph.D. 8


Evaluation/Assessment/Validation
Techniques
 Presentations

 Formal Reviews and Structured Walkthroughs


 Evaluation using Scenarios

 Prototypes & Proof-of-Concept Systems

 Skeleton Systems

03/18/12 Shahani Markus Weerawarana, Ph.D. 9


Scenario-Based Assessment Approaches

 ATAM (Architecture Trade-off Analysis Method)


 CBAM (Cost Benefits Analysis Method)

 SAAM (Software Architecture Analysis Method)

 SBAR (Scenario Based Architecture Re-

Engineering)

03/18/12 Shahani Markus Weerawarana, Ph.D. 10


ATAM Process

03/18/12 Shahani Markus Weerawarana, Ph.D. 11


Evaluation/Assessment/Validation
Techniques
 Presentations

 Formal Reviews and Structured Walkthroughs


 Evaluation using Scenarios

 Prototypes & Proof-of-Concept Systems

 Skeleton Systems

03/18/12 Shahani Markus Weerawarana, Ph.D. 12


Prototypes & Proofs-of-Concept
 Most often used to mitigate technical risks (when a
new or unfamiliar technology or technique is under
consideration) or to help design the user interface.
 Prototype: A functional subset of the system

 Proof-of-concept: Some code designed to prove that a

risky element of the proposed architecture is feasible


and to highlight any problems & pitfalls
 Sometimes prototypes need to be fairly sophisticated

in its ability to scale in order for its results to be


meaningful (therefore, expensive & time-consuming).

03/18/12 Shahani Markus Weerawarana, Ph.D. 13


Evaluation/Assessment/Validation
Techniques
 Presentations

 Formal Reviews and Structured Walkthroughs


 Evaluation using Scenarios

 Prototypes & Proof-of-Concept Systems

 Skeleton Systems

03/18/12 Shahani Markus Weerawarana, Ph.D. 14


Skeleton Systems
 The ultimate form of architectural validation is to
build the architectural form of the system, known
as a “skeleton”.
 It implements the system's structure, but contains

only a minimal subset of the system's functionality.


 The minimal subset chosen should allow a small
amount of end-to-end processing to occur, so it can
prove that the system's overall structure is sound.
 Most expensive form of architectural validation!

03/18/12 Shahani Markus Weerawarana, Ph.D. 15

You might also like