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

Week 07 - Evaluating A Software Architecture

Uploaded by

yuxuan
Copyright
© © All Rights Reserved
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
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