System Integration and Architecture
By:
Mujtaba Hassan
Lecture 8
25/10/19
QUALITY ATTRIBUTES : SOFTWARE ARCHITECTURE
Introduction
2
Overall factors that affect run-time behavior, system
design, and user experience
Software quality is the degree to which software
possesses a desired combination of attributes(e.g.,
reliability, interoperability) [IEEE 1061].
Architecture and Quality Attributes
3
Architecture, by itself, is unable to achieve qualities
Architecture should include the factors of interest for
each attribute
Quality Attributes
4 Scenario
⮚ Is a quality-attribute-specific requirement
⮚ It consists of six parts:
◻ Source of
stimulus
◻ Stimulus
◻ Environment
◻ Artifact
◻ Response
◻ ResponseFigure
measure
1: Quality attributes Parts
Common Quality Attributes
5
It categorizes the attributes in various specific areas
Design qualities
Runtime qualities
System qualities
User qualities
Non-runtime qualities
Architecture qualities
Business qualities
Design Quality Attributes
6
Conceptual Integrity:
Defines the consistency and reason of the overall
design
Includes the way that components or modules are
designed
Maintainability:
Ability of the system to go through changes with a degree
of ease
Reusability:
Defines the capability for components and subsystems to
be suitable for use in other applications
Runtime Quality Attributes
7
Interoperability:
Ability of a system or different systems to operate
successfully by communicating and exchanging
information with other external systems written and
run by external parties
Manageability:
Defines how easy it is for system administrators to
manage the application
Reliability:
Ability of a system to remain functioning over time
8
Scalability:
Ability of a system to either handle increases in load
without impact on the performance of the system.
Performance:
Indication of the responsiveness of a system to
execute any action
Security:
Capability of a system to prevent malicious or
accidental actions outside of the designed usage
9
Availability:
Amount of time that the system is functional and
working
Measured as a percentage of the total system
lost time over a predefined period
11
Figure 2: Sample performance scenario
Figure 3: Sample security scenario
System Quality Attributes
12
Supportability:
Ability of the system to provide information helpful for
identifying and resolving issues when it fails to work
correctly
Testability:
Measure of how easy it is to create test criteria for the
system and its components
Figure 4: Sample testability scenario
User Quality Attributes
13
Usability:
Defines how well the application meets the
requirements of the user and consumer by being
natural
Figure 5: Sample usability scenario
Non-runtime Quality Attributes
14
Portability:
Ability of a system to run under different computing
environments
Reusability:
Degree to which existing applications can be reused
in new applications
Integrability:
Ability to make the separately developed components
of the system work correctly together
Modifiability:
15
Ease with which a software system can accommodate
changes to its software
Figure 6: Sample modifiability scenario
Architecture Quality Attributes
16
Correctness:
Accountability for satisfying all requirements of the
system
Conceptual Integrity:
Integrity of the overall structure that is collected
from a number of small architectural structures
Business Quality Attributes
17
Cost and schedule:
Cost of the system with respect to time to market and
expected project lifetime
Marketability:
Use of the system with respect to market competition