0% found this document useful (0 votes)
11 views

Week 07 - Evaluating A Software Architecture

Uploaded by

yuxuan
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)
11 views

Week 07 - Evaluating A Software Architecture

Uploaded by

yuxuan
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/ 22

Software Architecture And

Testing
CT059-3-2

Evaluating a software
architecture
Topic & Structure of the lesson

• Why evaluate software architecture?


• When can software architecture be evaluated?
• Who is involved?
• What result does a software architecture evaluation
produce?

Module Code & Module Title Slide Title SLIDE 2


Slide 2Slide
(out of214)
Learning Outcomes

• By the end of this lecture, YOU should be able to :


– Explain the purpose of software architecture
evaluation
– Identify when a software architecture be evaluated
and by whom
– Report the result that a software architecture
evaluation produce

Module Code & Module Title Slide Title SLIDE 3


Slide 3Slide
(out of314)
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:
– Evaluation
– Quality goal
– Stakeholder
– Rational 4+1 model

Module Code & Module Title Slide Title SLIDE 4


Slide 4Slide
(out of414)
Recap From Last Lesson

• Identify THREE (3) principle of architecture?


• Identify THREE (3) good architectural design
principles?

Module Code & Module Title Slide Title SLIDE 5


Slide 5
Why we do evaluation?

Module Code & Module Title Slide Title SLIDE 6


Slide 6Slide
(out of614)
Worries

• Is this the right architecture?


• How can I be sure that the architecture will not lead to
calamity?
• Will the architecture will pave the way through a
smooth development and successful product?

Module Code & Module Title Slide Title SLIDE 7


Slide 7Slide
(out of714)
So!

• Know your architecture in advance


• Provide an assurance to it

HOW?
EVALUATE YOUR
ARCHITECTURE

Module Code & Module Title Slide Title SLIDE 8


Slide 8Slide
(out of814)
Evaluation

What are we going to


evaluate?

Module Code & Module Title Slide Title SLIDE 9


Slide 9Slide
(out of914)
Evaluation of software architecture

“The software architecture of a program or computing


system is the structure or structure of the system, which
comprise software components, the externally visible
properties of those components, and the relationships
among them”
(Bass 98)
• The goal of evaluating a software architecture is to
identify and acknowledge the possibility of failure and
its circumstance, and not to eliminate them. That decision
come later.

Module Code & Module Title Slide Title SLIDE 10


Slide 10Slide
(out of10
14)
Why Evaluate an Architecture?

Module Code & Module Title Slide Title SLIDE 11


Slide 11
Why Evaluate an Architecture?

Will it work? Will it fail? Can it fail? What would make it fail?
• Architecture last a long time so need to be robust in the
face of their challenges.
• Identify the problem in early stage.
• An unsuitable architecture will precipitate disaster on a
project.
• It determines the structure of a project.
• Is cheap to avoid disaster.

Module Code & Module Title Slide Title SLIDE 12


Slide 12Slide
(out of12
14)
Reasons to evaluate
• The earlier errors found the better, the cost of fixing
errors in requirements stage is far cheaper. The cost
increases exponentially in the subsequent stages.

• Check if performance goal will be met


– Therefore budget, schedules team structure,
documentation, organization, testing and
maintenance activities all organized around the
architecture
– If changes takes place due to deficiency discovered
late, the entire project can fail
– Evaluation is a far cheaper way to avoid disaster

Module Code & Module Title Slide Title SLIDE 13


Slide 13Slide
(out of13
14)
When to evaluate?

• Evaluation occurs when it is specified but before


implementation begins.
– can be done early:- not necessary to wait until the
architecture is fully complete
• Examine the architectural decision made and choose
among architectural options pending
– Can be done when architecture is complete
• For inherited legacy(mainframe,3rd gen)systems,
purchased for open market or exist within the
organization
– In gen, as soon as there is enough of an architecture to
justify evaluation

Module Code & Module Title Slide Title SLIDE 14


Slide 14Slide
(out of14
14)
Who is Involved?

Module Code & Module Title Slide Title SLIDE 15


Slide 15
Who is Involved?

• Two Groups Involved


– Evaluation Team
• The team members precise roles will be defined and
do the analysis
– Stakeholders
• People who have a vested interest in the
architecture and the system that will be built
from it.
• Project decision maker such as system architect,
the designer of the component and project
manager

Module Code & Module Title Slide Title SLIDE 16


Slide 16Slide
(out of16
14)
What Result Does an Architecture
Evaluation Produce?

• It produces a report, the form and content of which vary


according to the method used.
• It answers two questions
– Is this architecture suitable for the system for which it
was designed?
– Which of two or more competing architectures is the
most suitable one for the system at hand?

– An architecture is said to be suitable if


• It meets quality goals, performance, security…..
• The system can be built with the existing resources, ie
buildable, budget schedule

Module Code & Module Title Slide Title SLIDE 17


Slide 17Slide
(out of17
14)
Which Architecture is the most
suitable?

• The system that result


– Meet quality goal
• (performance, Reliability, usability, Availability,
Security, Modifiability, Portability, Functionality,
Variability, Subset ability, Conceptual integrity)
• Simply naming them is insufficient and requires
elaboration(refer to RE non-functional requirements
and goals and metrics) see slide
– Provide blueprint for building a system

Module Code & Module Title Slide Title SLIDE 18


Slide 18Slide
(out of18
14)
References
Bass, L.; Clements, P.; & Kazman, R. Software
architecture in Practice. Reading, MA: Addison-Wesley,
2008

Module Code & Module Title Slide Title SLIDE 19


Slide 19Slide
(out of19
14)
Summary of Main Teaching Points

• Why evaluate software architecture?


• When can software architecture be
evaluated?
• Who is involved?
• What result does a software
architecture evaluation produce?

Module Code & Module Title Slide Title SLIDE 20


Slide 20Slide
(out of20
14)
Question and Answer Session

Q&A

Module Code & Module Title Slide Title SLIDE 21


Slide 21
What To Expect Next Week

In Class Preparation for Class


• Why use Architecture Tradeoff • Download the slide and study
Analysis? for the next chapter.
• The phases of the ATAM
• Implications of the ATAM

Module Code & Module Title Slide Title SLIDE 22


Slide 22

You might also like