Quality Factors

This document gives you an overview about the relevant software quality factors. It describes

When starting a software project, the value and importance of different quality factors have to be determined according to the project's requirements. In the following phases (e.g. design and implementation) these quality criteria can be verified and measured, but also still be influenced. When starting the integration phase, it can only be evaluated, if quality criteria have been met. The following table shows in which phase the different quality factors can be determined, measured, influenced or evaluated.

Determination, Measuring, Influencing and Evaluation of Quality Factors in different Project Phases
Quality Factors
A
D
A
P
T
A
B
I
L
I
T
Y
U
S
A
B
I
L
I
T
Y
E
F
F
I
C
I
E
N
C
Y
C
O
M
P
L
E
T
E
N
E
S
S
C
O
R
R
E
C
T
N
E
S
S
M
A
I
N
T
A
I
N
A
B
I
L
I
T
Y
P
O
R
T
A
B
I
L
I
T
Y
R
O
B
U
S
T
N
E
S
S
S
E
C
U
R
E
N
E
S
S
R
E
U
S
A
B
I
L
I
T
Y
R
E
L
I
A
B
I
L
I
T
Y
Phase
Requirements
Phase
DMI D D D DMI DMI D D D D DMI
Design
Phase
MI MI MI MI MI MI MI MI MI MI MI
Implementation
Phase
MI - MI - MI MI MI - - - MI
Integration
Phase
E E - E E - - E - - E
Use E E E E E E E E E E E

Legend:
D: Quality factors can be determined
MI: Quality factors can be measured and influenced
E: Quality criteria can be evaluated


Demands on the values of different quality factors are inderdependent. Thus, the different criteria have to be determined in dependence of each other. For example it is not possible to require very high efficiency and best adaptability. The following table shows the interaction of quality factors.

Interaction of Quality Factors
Quality Factors
A
D
A
P
T
A
B
I
L
I
T
Y
U
S
A
B
I
L
I
T
Y
E
F
F
I
C
I
E
N
C
Y
C
O
M
P
L
E
T
E
N
E
S
S
C
O
R
R
E
C
T
N
E
S
S
M
A
I
N
T
A
I
N
A
B
I
L
I
T
Y
P
O
R
T
A
B
I
L
I
T
Y
R
O
B
U
S
T
N
E
S
S
S
E
C
U
R
E
N
E
S
S
R
E
U
S
A
B
I
L
I
T
Y
R
E
L
I
A
B
I
L
I
T
Y
Quality Factors
Adaptability - - - - - - - - - - -
Usability pos - - - - - - - - - -
Efficiency neg neg - - - - - - - - -
Completeness - pos pos - - - - - - - -
Correctness pos pos - - - - - - - - -
Maintainability pos pos neg - pos - - - - - -
Portability - - neg - - pos - - - - -
Robustness pos pos neg - pos - - - - - -
Secureness neg pos neg - - - - pos - - -
Reusability pos - neg - - pos pos - neg - -
Reliability pos pos - - pos pos - pos - - -

Legend:
pos: positive influence
neg: negative influence
- : no influence


The importance of a quality factor varies between different application domains and the requirements on the software product. The following table shows the correlation between the quality factors and different application domains/requirements. It can be used as a form when determining the quality factors of a new software product.

Correlation between Quality Factors and the Application Domain/Requirement
Quality Factors
A
D
A
P
T
A
B
I
L
I
T
Y
U
S
A
B
I
L
I
T
Y
E
F
F
I
C
I
E
N
C
Y
C
O
M
P
L
E
T
E
N
E
S
S
C
O
R
R
E
C
T
N
E
S
S
M
A
I
N
T
A
I
N
A
B
I
L
I
T
Y
P
O
R
T
A
B
I
L
I
T
Y
R
O
B
U
S
T
N
E
S
S
S
E
C
U
R
E
N
E
S
S
R
E
U
S
A
B
I
L
I
T
Y
R
E
L
I
A
B
I
L
I
T
Y
Application Domain/Requirement
Non-interactive systems
(operating systems, etc.)
R R - - R R - R - - R
Program development
(compiler, etc.)
- R - - R R R R - - R
Safety-critical systems - D - R R - - - R - R
Process control - R - R R - - R R - R
Interactive systems R R - R - - - R - - -
Data protection - D - R - - - - R - -
Real-time systems - D R - - - - - - - -
CAD, CAE, CAQ R R - R R - - R - - -
Distributed systems - - R R R - - - R - R

Legend:
R: Quality factor is required
D: Quality factor is desirable, but not required
-: Quality factor is not relevant


To verify whether the quality criteria have been met different verification methods can be applied. The following table shows which methods are suitable for each quality factor.

Correlation between Quality Factors and Verification Methods
Quality Factors
A
D
A
P
T
A
B
I
L
I
T
Y
U
S
A
B
I
L
I
T
Y
E
F
F
I
C
I
E
N
C
Y
C
O
M
P
L
E
T
E
N
E
S
S
C
O
R
R
E
C
T
N
E
S
S
M
A
I
N
T
A
I
N
A
B
I
L
I
T
Y
P
O
R
T
A
B
I
L
I
T
Y
R
O
B
U
S
T
N
E
S
S
S
E
C
U
R
E
N
E
S
S
R
E
U
S
A
B
I
L
I
T
Y
R
E
L
I
A
B
I
L
I
T
Y
Verification Methods
Reviews
using Checklists
S S - - - S S S S S -
Benchmarks - - S - - - - - - - -
Analytical models - - S - - - - S - - S
Simulation - - S S - - - S - - -
Malfunction analysis - S - - S - - S S - S
Dynamic analysis/
Assertions
- - - - S - - - - - S
Static analysis S - - - S S S - - - S
Testing strategies
malicious input
Review, Inspection
-
S
- S

S
S

S
-

S

S


S
-

S
Correctness Prooves - - - - S - - - - - -
Evaluation of Error Data - S - - - - - - - - S

Legend:
S: Method suitable for verifying the quality factor
-: Method not suitable