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

Week 06 - Understanding Quality Attribute

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)
9 views

Week 06 - Understanding Quality Attribute

Uploaded by

yuxuan
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

Software Architecture And

Testing
CT059-3-2

Understanding Quality
Attributes
Topic & Structure of the lesson

• Quality attributes characterizations


• Using Quality attributes
• Attributes-based architectural design

Module Code & Module Title Slide Title SLIDE 2


Slide 2Slide
(out of222)
Learning Outcomes

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


– Explain the characterizations of quality attributes of an
architecture
– Understand how quality attributes characterizations
– Explain the attributes-based architectural styles

Module Code & Module Title Slide Title SLIDE 3


Slide 3Slide
(out of322)
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:
– Characterisation
– Quality attributes
– Performance
– Availability
– Modifiability

Module Code & Module Title Slide Title SLIDE 4


Slide 4Slide
(out of422)
What's next in Architecture Design?

• At this stage we assume, the System Architect and Analyst have


completed the below stages;
– Stakeholders are identified
– requirements are collected and functional requirements are
formulated
– Technology have been identified (Hardware, software, network
communication, etc).

• Next Step;
– Identify Primary Quality Attributes.

Module Code & Module Title Slide Title SLIDE 5


Slide 5Slide
(out of522)
Next Step

• Identify the high-end Quality Attributes for your Architecture


• Different architecture have different quality attribute needs.

• Example;
• University System Architecture
– USABILITY – the system should be easy to use
– AVAILABILITY – portals such as online exam should have high
stability.
– SECURITY – Student’s information should be well stored.

Module Code & Module Title Slide Title SLIDE 6


Slide 6Slide
(out of622)
USABILITY –
the system
should be
easy to use

Universi
ty
AVAILABILI
TY – portals
SECURITY –
such as
Student’s
online
information
exam
should be
should
well stored.
have high
stability.

Module Code & Module Title Slide Title SLIDE 7


Slide 7Slide
(out of722)
Quality Attributes
• A quality attribute (QA) is a measurable or testable property
of a system that is used to indicate how well the system
satisfies the needs of the business and its stakeholders.
• Quality Attributes are properties of Non-Functional
Requirements
• The architectural decision has a major impact on the
achievement of the quality attributes.
• Quality attribute requirements are motivated by business
goals.

Module Code & Module Title Slide Title SLIDE 8


Slide 8Slide
(out of822)
Software Quality Attribute
declaration

Module Code & Module Title Slide Title SLIDE 9


Slide 9Slide
(out of922)
Quick Quiz

• What is the most significant Quality Attribute for the following


system?
– Google Search portal
– Train Management System
– Hospital – Patient Management System

Module Code & Module Title Slide Title SLIDE 10


Slide 10Slide
(out of10
22)
Example Quality Attribute-
Performance

• Definition
– Performance shows the response of the system to performing
certain actions for a certain period.
• Ways to measure:
– Latency: Time spent on responding to an event. Target – LOW
– Channel capacity. The number of events that occur at a certain
point in time. Target – STABILITY
• In practice, the possible performance indicators include, for
example:
– Average/maximum number of system users per time unit.
– Average page load time.
– Average method execution time.

https://medium.com/@nvashanin/quality-attributes-in-software-architecture-3844ea482732

Module Code & Module Title Slide Title SLIDE 11


Slide 11Slide
(out of11
22)
Example Quality Attribute-
Interoperability

• Definition
– an attribute of the system or part of the system that is
responsible for its operation and the transmission of data and its
exchange with other external systems. A well-designed system
facilitates integration with third-party systems.
• Ways to measure:
– Integration: system able to integrate and communicate well with
other part of the system. Target – HIGH
– Stability / Adoptability – System able to adopt to changes in the
architecture and other external systems. Target – HIGH
• In practice, the possible interoperability indicators include, for
example:
– How your system handling outdated external systems?
– How your system integrating with different formats of data in similar
external systems
https://medium.com/@nvashanin/quality-attributes-in-software-architecture-3844ea482732
– Different versions of the API in external systems, etc.
Module Code & Module Title Slide Title SLIDE 12
Slide 12Slide
(out of12
22)
More Software Quality Attribute
declaration

• Go to;
• https://iso25000.com/index.php/en/iso-25000-standards/iso-2501
0

Module Code & Module Title Slide Title SLIDE 13


Slide 13Slide
(out of13
22)
The choice of Software high-level
Architecture design depends on

Business Goals
Quality Attributes
• What does the
• What quality
business what
attributes best
to achieve with
supports the
this
business goals?
architecture?

Module Code & Module Title Slide Title SLIDE 14


Slide 14Slide
(out of14
22)
What does the quality attributes
mean for Architecture Design?
Quality Architecture
Business Goals Attributes needs?
• Ecommerce – to • Availability – of • System should be built to be
provide a one stop product and available 24/7
center for online information • Information about the product
shopping should be easy & fast to find

• Finance – to • Security – • Additional security hardware


provide high confidentiality of and softwares need to be
security financial data and installed.
repository prevention of theft • High security protocol need to
be implemented into the
• Expandability – Architecture.
• Education Centre (Flexibility and
– to provide high Scalability) • Architecture should be flexible
quality education providing limitless and scalable to adopt to many
with affordable opportunity to types of platform, hardware
price learn in the most and software (integration)
effective and
economic way
Module Code & Module Title Slide Title SLIDE 15
‹#›
Slide 15
Concerns of Quality Attribute

• Trade-off Attributes
• Risk
• Sensitivity Point

Module Code & Module Title Slide Title SLIDE 16


Slide 16Slide
(out of16
22)
Quality Attribute Trade-off

• A situational decision that involves diminishing or losing one


quality, quantity, or property of a set or design in return for
gains in other aspects.
• In simple terms, a tradeoff is where one thing
increases, and another must decrease.
• Tradeoff attributes are often sacrificed to uphold the
implementation of the primary quality attributes.
• Designers need to analyze trade-offs between multiple
conflicting attributes to satisfy requirements.
• The ultimate goal is the ability to quantitatively evaluate
and trade off multiple quality attributes to arrive at a better
overall system.

Module Code & Module Title Slide Title SLIDE 17


Slide 17Slide
(out of17
22)
USABILITY –
the system
should be
easy to use

University
AVAILABILI
TY – portals
SECURITY –
such as
Student’s
online
information
exam
should be
should
well stored.
have high
stability.

Module Code & Module Title Slide Title SLIDE 18


‹#›
Slide 18
Example of Quality Associates and
Attribute Trade-off

https://medium.com/analysts-corner/those-other-requirements-quality-attributes-and-their-inescapable-tradeoffs-31dc0691974d

Module Code & Module Title Slide Title SLIDE 19


Slide 19Slide
(out of19
22)
Risks

• Risk to the architecture may jeopardies effective implementation


of quality attributes.
• Risk Management is needed to determine any future risk
(and countermeasures) to ensure the identified quality attributes
are suitable

Module Code & Module Title Slide Title SLIDE 20


Slide 20Slide
(out of20
22)
Sensitivity point

• A sensitivity point is a property of one or more


components (and/or component relationships) that is
critical for achieving a particular quality attribute response.
• The latency for processing an important message might be
sensitive to the priority of the lowest priority process
involved in handling the message. The average number of
person-days of effort it takes to maintain a system might be
sensitive to the degree of encapsulation of its
communication protocols and file formats

Module Code & Module Title Slide Title SLIDE 21


Slide 21Slide
(out of21
22)
Summary of Main Teaching Points

• Quality attributes characterizations


• Quality Attribute selection
• Attribute Concerns

Module Code & Module Title Slide Title SLIDE 22


Slide 22Slide
(out of22
22)
Question and Answer Session

Q&A

Module Code & Module Title Slide Title SLIDE 23


Slide 23Slide
(out of23
25)
What To Expect Next Week

In Class Preparation for Class


• Architecture Tradeoff Analysis • Download the slide and study
Method (ATAM) for the next chapter.

Module Code & Module Title Slide Title SLIDE 24


Slide 24

You might also like