0% found this document useful (0 votes)
44 views20 pages

Architectural Quality Attributes: Dr. Amr Abohany 13 March 2022

The document discusses various architectural quality attributes including reliability, integrity, efficiency, usability, maintainability, flexibility, testability, portability, and integration. Each attribute is defined and examples are provided to illustrate how they impact system requirements.

Uploaded by

Doaa Elsayed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views20 pages

Architectural Quality Attributes: Dr. Amr Abohany 13 March 2022

The document discusses various architectural quality attributes including reliability, integrity, efficiency, usability, maintainability, flexibility, testability, portability, and integration. Each attribute is defined and examples are provided to illustrate how they impact system requirements.

Uploaded by

Doaa Elsayed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

Architectural Quality Attributes

Dr. Amr Abohany


13 March 2022
Quality Attributes
• The architecture not only dictates what the
system does, but how it does it.
o How quickly it runs.
o How secure it is.
o How available its services are.
o How easy it is to modify.
• Quality attributes describe desired non-
functional properties of systems.
Reliability
• Reliability requirements deal with failures to provide service.
They determine the maximum allowed software system
failure rate, and can refer to the entire system or to one or
more of its separate functions.

• Sub-Factors:
o Application reliability.
o Hardware failure recovery.
Examples on Reliability
• The failure frequency of a heart-monitoring unit that will
operate in a hospital’s intensive care ward is required to be
less than one in 20 years. Its heart attack detection function
is required to have a failure rate of less than one per million
cases.

• One requirement of the new software system to be


installed in the main branch of Independence Bank, which
operates 120 branches, is that it will not fail, on average,
more than 10 minutes per month during the bank’s office
hours. In addition, the probability that the off-time (the
time needed for repair and recovery of all the bank’s
services) be more than 30 minutes is required to be less
than 0.5%.
Integrity
• Integrity requirements deal with the software system
security, that is, requirements to prevent access to
unauthorized persons, to distinguish between the
majority of personnel allowed to see the information
(“read permit”) and a limited group who will be
allowed to add and change data (“write permit”),
and so forth.

• Sub-Factors:
o Access control.
o Access audit.
Examples on Integrity
The Engineering Department of a local municipality
operates a GIS (Geographic Information System).
The Department is planning to allow citizens access
to its GIS files through the Internet. The software
requirements include the possibility of viewing and
copying but not inserting changes in the maps of
their assets as well as any other asset in the
municipality’s area (“read only” permit). Access
will be denied to plans in progress and to those
maps defined by the Department’s head as limited
access documents.
Efficiency
• Efficiency requirements deal with the hardware resources needed
to perform all the functions of the software system in
conformance to all other requirements. The main hardware
resources to be considered are the computer’s processing
capabilities (measured in MIPS – million instructions per second
,etc.)

• Sub-Factors:
o Efficiency of processing.
o Efficiency of storage.
o Efficiency of communication.
o Efficiency of power usage (for portable units).
Examples on Efficiency
A chain of stores is considering two alternative bids for a
software system. Both bids consist of placing the same
computers in the chain’s headquarters and its branches. The
bids differ solely in the storage volume: 20 GB per branch
computer and 100 GB in the head office computer (Bid A);
10 GB per branch computer and 30 GB in the head office
computer (Bid B). There is also a difference in the number of
communication lines required: Bid A consists of three
communication lines of 28.8 KBPS between each branch and
the head office, whereas Bid B is based on two
communication lines of the same capacity between each
branch and the head office. In this case, it is clear that Bid B
is more efficient than Bid A because fewer hardware
resources are required.
Usability
• Usability requirements deal with the scope of staff
resources needed to train a new employee and to
operate the software system.

• Sub-Factors:
o Operation Resources.
o Training.
Examples on Usability
The software usability requirements document
for the new help desk system initiated by a
home appliance service company lists the
following specifications:
• Training a new employee will take no more
than two days (16 training hours),
immediately at the end of which the trainee
will be able to handle 45 service calls a day.
Maintainability
• Maintainability requirements determine the efforts that will be
needed by users and maintenance personnel to identify the reasons
for software failures, to correct the failures, and to verify the
success of the corrections.

• Sub-Factors:
o Simplicity.
o Product revision Modularity.
o category Self-descriptiveness.
o Coding and documentation guidelines.
o compliance (consistency).
o Document accessibility.

.
Examples on Maintainability
• The size of a software module will not exceed
3000 statements.

• The programming will adhere to the company


coding standards and guidelines.
Flexibility
• The capabilities and efforts required to support adaptive
maintenance activities are covered by the flexibility
requirements. These include the resources(i.e. in man-days)
required to adapt a software package to a variety of
customers of the same trade, of various extents of activities,
of different ranges of products and so on.

• Sub-Factors:
o Modularity.
o Generality.
o Simplicity.
o Self-descriptiveness.
Examples on Flexibility
TSS (teacher support software) deals with the
documentation of pupil achievements, the calculation of
final grades, the printing of term grade documents, and
the automatic printing of warning letters to parents of
failing pupils. The software specifications included the
following flexibility requirements:

o The software should be suitable for teachers of all subjects


and all school levels (elementary, junior and high schools).

o Non-professionals should be able to create new types of


reports according to the schoolteacher’s requirements
and/or the city’s education department demands.
Testability
• Testability requirements deal with the testing of an
information system as well as with its operation.
Testability requirements for the ease of testing are
related to special features in the programs that help
the tester, for instance by providing predefined
intermediate results and log files.
• Sub-Factors:
o User testability.
o Failure maintenance testability.
o Traceability.
Examples on Testability
An industrial computerized control unit is
programmed to calculate various measures of
production status, report the performance level of
the machinery, and operate a warning signal in
predefined situations. One testability requirement
demanded was to develop a set of standard test
data with known system expected correct
reactions in each stage. This standard test data is
to be run every morning, before production begins,
to check whether the computerized unit reacts
properly.
Portability
▪ Portability requirements tend to the adaptation of a
software system to other environments consisting of
different operating systems.
▪ Sub-Factors:
o Software system independence.
o Modularity.
o Self descriptive.
Examples on Portability
A software package designed and programmed
to operate in a Windows 2000 environment is
required to allow low-cost transfer to Linux and
Windows NT environments.
Integration
• Integration requirements focus on creating interfaces with
other software systems or with other equipment firmware.

• For example, the firmware of the production machinery and


testing equipment interfaces with the production control
software).

• Interoperability requirements can specify the name(s) of the


software or firmware for which interface is required. They can
also specify the output structure accepted as standard in a
specific industry or applications area.
Examples on Interoperability
• The firmware of a medical laboratory’s
equipment is required to process its results
(output) according to a standard data
structure that can then serve as input for a
number of standard laboratory information
systems.

You might also like