The need for a comprehensive software quality requirements

Software Quality
Factors

The need for a comprehensive
software quality requirements


There are some characteristic common :






All the software projects satisfactory fulfilled the basic
requirements for correct calculations

All the software projects suffered from poor performance
in important areas such as maintenance, reliability,
software reuse, or training.
The cause for the poor performance of the developed

software projects in these areas was the lack of predefined
requirements to cover these important aspects of the
software’s functionally.

The need for a comprehensive
definition of requirements (2)






There is a need for a comprehensive definition of
requirements that will cover all attributes of software and
aspects of the usability aspects, reusability aspects,
maintainability aspects, and so forth in order to assure
the full satisfaction of the users.

Software industry groups the long list of related attributes
into what we call quality factors. (non-functional

requirements)
Requirement documentation (specification) is one of the
most important elements for achieving good software
quality

The Facts…




Seems like in Software Engineering we
concentrate on capturing, designing,
implementing, and deploying with emphasis
on functional requirements.
Little (not none!) emphasis on the nonfunctional requirements (quality factors).
•More and more emphasis now placed on
quality factors
•Can be a critical factor in satisfying overall
requirements.


The Facts… (2)


In the RUP, non-functional requirements are
captured in the Software Requirements
Specification (SRS); functional requirement
usually captured in Use Case stories.

Classification of software requirements
into software quality factors
■ The

classic model of software quality
factors suggest by :
□ McCall

(consist of 11 factors, 1977)
□ Deutsch and Willis (consist of 12 to 15 factors,
1988)
□ Evans and Marciniak (1987)


McCall’s Factor Model


Classifies all software requirement into 11
software quality factors, grouped into three
categories :
1.
2.
3.

Product operation factors : Correctness,
Reliability, Efficiency, Integrity, Usability.
Product revision factors : Maintainability,
Flexibility, Testability.
Product transition factors : Portability,
Reusability, Interoperability.

McCall’s Factor Model


Product Operation
Factors
How well does it run and ease of use ?

Product Operation - Correctness



Correctness requirements are defined in a list of the
software system’s required outputs.
Output specifications are usually multidimensional;
some common dimensions include :
o
o
o

o
o
o


The output mission
The required accuracy of output
The completeness of the output information
The up-to-dateness of the information
The availability of the information
The standards for coding and documenting the software
system.

Product Operation - Reliability






Reliability requirements deal with failures to provide service.
Determine the maximum allowed software system failures
rate, and can refer to the entire system or to one or more of
its separate functions.
Use MTTF, MTBF and MTTR calculation


Examples :
1.

2.

The failures 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.

Product Operation - Efficiency







Efficiency requirements deal with the hardware
resources needed to perform all the functions of the
software system in conformance to all other
requirements.
Here we consider MIPS, MHz (cycles per second);
data storage capabilities measured in MB or TB or
communication lines (usually measured in KBPS,
MBPS, or GBPS).
Examples :
1.
2.

A chain stores is considering two alternative bids for a
software system.
Very slow communications

Product Operation - Integrity
■ Integrity


requirements deal with the software
system security, that is requirements to present
access to an authorize person,

[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.]


Example :
GIS SW allowed citizens access to its GIS through Internet only for viewing
and copying data but not to insert changes.

Product Operation - Usability






Usability deals with learnability, utility, usability, and more
Usability requirements deal with the scope of staff resources
needed to train a new employee and to operate the software
system.

Example :
The software usability requirements document for the new
help desk system initiated by a home appliance service
company lists the following specifications :
a.
b.

A staff member should be able to handle at least 60 service
calls a day
Training a new employee will take no more than two days,
immediately at the end of which the trainee will be able to
handle 45 service calls a day.

Product Revision
Factors

Can I fix it easily, retest, version it, and deploy it easily ?

Product Revision software Quality
Factors


According to the McCall model of software quality
factors, three quality factors comprise the product
revision category. These factors deal with those
requirements that affect the complete range of
software maintenance activities :
o

o
o

Corrective maintenance
Adaptive maintenance
Perfective maintenance

Product Revision – 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.
This factor’s requirements determine refer to the modular
structure of software, the internal program documentation,
and the programmer’s manual, architectural and detail
design and corresponding documentation.
Example typical maintainability requirements :
a. The size of a software module will not exceed 30 statements.
b. The programming will adhere to the company coding standards
and guidelines.

Product Revision - Flexibility






The capabilities and efforts required to support adaptive
maintenance activities are covered by the flexibility
requirements.
These include the resources (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.
This factor’s requirements also support perfective
maintenance activities.
– May also involve a little perfective maintenance to perhaps do a little
better due to the customer’s perhaps slightly more robust
environment.
– Different clients exercise software differently and this is big !

Product Revision - 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.
– Are intermediate results of computations predefined to
assist testing?
– Are log files created? Backup?
– Does the software diagnose itself prior to and perhaps
during operations?

Product Transition
Factors
Can I ….
a. move the app to different hardware ?
b. interface easily with different hardware /
software systems ?
c. reuse major portions of the code
with little modification to develop new apps ?

Product Transition - Portability


Portability requirements tend to the adaptation of
software system to other environments consisting
of different hardware, different operating systems,
and so forth.

Product Transition - Reusability


Reusability requirements deal with the use
of software modules originally designed for
one project currently being developed.
– Can save immense development costs due to errors
found / tested.
– Certainly higher quality software and development
more quickly results.
– Very big deal nowadays.

Product Transition Interoperability




Interoperability requirements focus on creating interfaces
with other software systems or with other equipment
firmware.
Interoperability requirements can specify the name of the
software or firmware for which interface is required.
–Frequently these will be known ahead of time and plans can be made
to provide for this requirement during design time.
• Sometimes these systems can be quite different; different
platforms, different databases, and more
–Also, industry or standard application structures in areas can be
specified as requirements.

Alternative Models of Software
Quality Factors
■ Formal

comparison of the alternative
models (Evans M 1987, Deutsch & Willis
1988)
□ Comparison

of the factors models-content
analysis (verifiability, expandability, safety,
manageability, survivability)
□ Structure of the alternative factor models

Models Comparison of
Software Quality Factors

Alternative Factors

Alternative - Verifiability


Verifiability requirements addresses design and
programming features that allow for efficient
verification of design and programming
■ This does not refer to outputs; rather, structure of
code, such as design elements and their
dependencies, coupling, cohesion; patterns…
■ apply to modularity, simplicity, adherence to
documentation and programming guidelines, etc.
■ Look at the UML for dependencies, cohesion,
coupling…

Alternative - Expandability


Expandability requirements really refers to scalability
and extensibility to provide more usability.


Essentially this is McCall’s flexibility

Alternative - Safety




Safety requirements address conditions that could
bring the equipment or application down especially
for controlling software, as in setting alarms or
sounding warnings.
Safety is clearly important as computers control
more and more of what we do especially in both
hardware and in software.




Especially important to process control / real time
software such as that running conveyor belts or
instrumentation for ordinance
New cars will now sound an alarm as we back up;
software will sound when power is interrupted.

Alternative - Survivability


Survivability requirements refer to MTBF, or
continuity of service, as well as MTTR (mean time to
recover).


Appears to be quite similar to Reliability in McCall’s model

Alternative - Manageability


Manageability requirements refer to tools primarily
administrative to control versions, configurations
and change management / tracking.


We must have tools to manage versions and various
configurations that may vary from customer to customer

Who is interested in the definition
of quality requirements?




Some quality factors not included in the typical
client’s requirements document may, in many cases,
interest the developer.
The following lists of quality factors usually interest
the developer whereas they may raise very little
interest on the part of the client :
o

o
o

Portability
Reusability
Verifiability

Requirements Documents
A project will be carried out to according to
two requirements documents :
➢ The

client’s requirements document
➢ The developer’s additional requirements
document

Software Compliance with
Quality Factors




The software’s product compliance to the
requirements belonging to the various quality
factors is measured by software quality metrics,
measures that quantify the degree of
compliance.
In order to allow for valid measurements of
compliance, sub-factors have been defined for
those quality factors that represent a wide range
of attributes and aspects of software use.

Factors and sub-factors

Factors and sub-factors (cont.)

Factors and sub-factors (cont.)

Summary
1.

2.

3.

4.

The need for a comprehensive requirements
documents and their contents.
The structure (categories and factors) of
McCall’s classic factor model.
The additional factors suggested by
alternatives factor models.
Those interested in defining software quality
requirements.

Questions ?
Thank you

Dokumen yang terkait

Analisis Komparasi Internet Financial Local Government Reporting Pada Website Resmi Kabupaten dan Kota di Jawa Timur The Comparison Analysis of Internet Financial Local Government Reporting on Official Website of Regency and City in East Java

19 819 7

The Correlation between students vocabulary master and reading comprehension

16 145 49

Enriching students vocabulary by using word cards ( a classroom action research at second grade of marketing program class XI.2 SMK Nusantara, Ciputat South Tangerang

12 142 101

The Effectiveness of Computer-Assisted Language Learning in Teaching Past Tense to the Tenth Grade Students of SMAN 5 Tangerang Selatan

4 116 138

The correlation between listening skill and pronunciation accuracy : a case study in the firt year of smk vocation higt school pupita bangsa ciputat school year 2005-2006

9 128 37

Services for adults with an autism spect

0 3 13

PENGARUH KOSENTRASI SARI KUNYIT PUTIH (Curcuma zediaria) TERHADAP KUALITAS TELUR ASIN DITINJAU DARI AKTIVITAS ANTIOKSIDAN, TOTAL FENOL, KADAR PROTEIN DAN KADAR GARAM The Addition of White Turmeric (Curcuma zedoaria) Concentrated Base on Quality Antioxidan

1 1 8

The effect of personal vocabulary notes on vocabulary knowledge at the seventh grade students of SMP Muhammadiyah Palangka Raya - Digital Library IAIN Palangka Raya

0 0 20

The correlation between synonym context clue and reading comprehension of English study program students of IAIN Palangka Raya - Digital Library IAIN Palangka Raya

0 2 27

CHAPTER I INTRODUCTION - The effectiveness of anagram on students’ vocabulary size at the eight grade of MTs islamiyah Palangka Raya - Digital Library IAIN Palangka Raya

0 0 10