Hardware Reference
In-Depth Information
indicators define how to aggregate and evaluate the measurement values resulting from
applying metrics to a product or community in order to obtain a consolidated value that
can be readily used by decision makers when performing an evaluation.
The quality characteristics in the model are organized in a hierarchy of two levels
that we call characteristics and subcharacteristics for reasons of simplicity. The sub-
characteristics are considered to contribute in one way or another to the main charac-
teristic they belong to. For defining our hierarchy of quality characteristics, we relied
mainly on three sources: (1) related work on OSS quality models, (2) general stan-
dards for software quality, such as ISO 9126 [6], and (3) expert opinion. For the third
source, we conducted interviews among industry stakeholders to derive relevant crite-
ria for the QualOSS model.
Given our emphasis on covering not only OSS products but also the communities
behind them, we have grouped the quality characteristics into two groups: those that
relate to the product, and those that relate to the community. On the product side, the
QualOSS model covers the following top-level quality characteristics:
−
Maintainability:
The degree to which the software product can be modified. Modi-
fications may include corrections, improvements, or adaptation of the software to
changes in the environment, and in requirements and functional specifications.
−
Reliability:
The degree to which the software product can maintain a specified
level of performance when used under specified conditions.
−
Transferability (Portability):
The degree to which the software product can be
transferred from one environment to another.
−
Operability:
The degree to which the software product can be understood, learned,
used and is attractive to the user, when used under specified conditions.
−
Performance:
The degree to which the software product provides appropriate per-
formance, relative to the amount of resources used, under stated conditions.
−
Functional Suitability:
The degree to which the software product provides func-
tions that meet stated and implied needs when the software is used under specified
conditions.
−
Security:
The ability of system items to protect themselves from accidental or ma-
licious access, use, modification, destruction, or disclosure.
Compatibility:
The ability of two or more systems or components to exchange in-
formation and/or to perform their required functions while sharing the same hard-
ware or software environment.
The community side of the model, in turn, covers the following characteristics:
−
−
Maintenance capacity:
The ability of a community to provide the resources neces-
sary for maintaining its product(s) (e.g., implement changes, remove defects, pro-
vide support) over a certain period of time.
Sustainability:
The likelihood that an OSS community remains capable of main-
taining the product or products it develops over an extended period of time.
−
−
Process Maturity:
The ability of a developer community to consistently achieve
development-related goals (e.g., quality goals) by following established processes.
Additionally, the level to which the processes followed by a development commu-
nity are able to guarantee that certain desired product characteristics will be present
in the product.