In order to define the SQAP for EMI, a set of standards have been used. In the following sections, we present how SQA Standards have been applied in the EMI project.
The Standard ISO/IEC 12207 is about software lifecycle processes. It defines all the tasks required for developing and maintaining software.
In the following Matrix, the processes and activities defined in the standard are presented and mapped to what it is currently defined for EMI.
Type |
Process |
Activity |
Applicable in EMI? |
EMI Mapping in the SQA context |
Primary |
Acquisition |
Initiation |
NA |
- |
Request-for-Proposal |
Contract Preparation and update |
Supplier monitoring |
Acceptance and completion |
Supply |
Initiation |
EU project proposal? |
NA |
Preparation of response |
EU project proposal? |
Contract |
Dow? |
Planning |
Technical Area work plans? |
Execution and control |
Project Deliverables? |
Review and evaluation |
EU Project review? |
Delivery and completion |
? |
Development |
Process implementation |
Y |
- |
System requirements analysis |
Y |
Change Management Policy |
System architectural design |
N |
- |
Software requirements analysis |
Y |
Change Management Policy |
Software architectural design |
N |
- |
Software detailed design |
N |
- |
Software coding and testing |
Y |
Configuration and Integration Policy, Packaging Policy, Testing Policy |
Software integration |
Y |
Configuration and Integration Policy |
Software qualification testing |
Y |
Certification Policy |
System integration |
Y |
Configuration and Integration Policy |
System qualification testing |
Y |
NA |
Software installation |
NA |
Documentation Policy |
Software acceptance support |
Y |
EMI Testbed |
Operation |
Process implementation |
NA (done by EGI) |
- |
Operational testing |
NA |
- |
System operation |
NA |
- |
User support |
Y (3rd level support) |
EMI User Support Howto |
Maintenance |
Process implementation |
Y |
Change Management Policy |
Problem and modification analysis |
Y |
Modification implementation |
Y |
Maintenance review/acceptance |
Y |
EMI Testbed |
Migration |
N |
- |
Software Retirement |
Y |
NA |
Supporting |
Documentation |
Process implementation |
Y |
Documentation Policy |
Design and Development |
Y |
Production |
Y |
Maintenance |
Y |
Configuration Management |
Process implementation |
Y |
Change Management Policy |
Configuration identification |
Y |
Configuration control |
Y |
Configuration status accounting |
Y |
Configuration evaluation |
Y |
Release management and delivery |
Y |
Release Management Policy |
Quality Assurance |
Process implementation |
Y |
SQAP |
Product assurance |
Y |
Process assurance |
Y |
Assurance of quality systems |
? |
Verification |
Process implementation |
Y |
Testing Policy |
Verification |
Y |
Validation |
Process implementation |
Y |
Validation |
Y |
Joint Review |
Process implementation |
Y |
NA |
Project Management reviews |
Y |
Technical reviews |
N |
Audit |
Process implementation |
Y |
SQAP |
Audit |
Y |
Problem resolution |
Process implementation |
Y |
Problem resolution |
Y |
Organisational |
Management |
Initiation and scope definition |
Y |
NA |
Planning |
Y |
Execution and control |
Y |
Review and evaluation |
Y |
Closure |
Y |
Infrastructure |
Process implementation |
Y |
NA |
Establishment of the infrastructure |
Y |
Maintenance of the infrastructure |
Y |
Improvement |
Process establishment |
N |
Process assessment |
Y |
Quality Model |
Process improvement |
Y |
NA |
Training |
Process implementation |
Y |
NA |
Training material development |
Y |
Training plan implementation |
Y |
The quality assurance process is a process for providing adequate assurance that the software products and processes in the project life cycle conform to their specified requirements and adhere to their established plans. The process consists of the following activities:
The standard ISO/IEC 9126 is for the evaluation of software quality. The standard is divided into four parts:
The quality model for external and internal quality categorises the software quality attributes into six characteristics, which are further subdivided into subcharacteristics:
The capabily of the software product...
Characteristic |
Subcharacteristic |
Definition |
Functionality |
|
to provide functions which meet stated and implied needs when the software is used under specific conditions |
Suitability |
to provide an appropriate set of functions for specified tasks and user objectives |
Accuracy |
to provide the right or agreed results or effects with the needed degree of precission |
Interoperability |
to interact with one or more specified systems |
Security |
to protect information and data so that unauthorised persons or systems cannot read or modify them and authorised persons or systems are not denied access to them |
Functionality compliance |
to adhere to standards, conventions or regulations in laws and similar prescriptions relating to functionality |
Reliability |
|
to maintain a specified level of performance when used under specified conditions |
Maturity |
to avoid failure as a result of faults in the software |
Fault Tolerance |
to maintain a specified level of performance in cases of software faults or of infringement of its specified interface |
Recoverability |
to re-establish a specified level of performance and recover the data directly affected in the case of a failure |
Reliability compliance |
to adhere to standards, conventions or regulations in laws and similar prescriptions relating to reliability |
Usability |
|
to be understood, learned, used and attractive to the user, when used under specified conditions |
Understandability |
to enable the user to understand whether the software is suitable, and how it can be used for particular tasks and conditions of use |
Learnability |
to enable the user to learn its application |
Operability |
to enable the user to operate and control it |
Attractiveness |
to be attractive to the user |
Usability compliance |
to adhere to standards, conventions or regulations in laws and similar prescriptions relating to usability |
Efficiency |
to provide appropriate performance, relative to the amount of resources used, under stated conditions |
Time behaviour |
to provide appropriate response and processing times and throughput rates when performing its function, under stated conditions |
Resource utilisation |
to use appropriate amounts and types of resources when the software performs its function under stated conditions |
Efficiency compliance |
to adhere to standards, conventions or regulations in laws and similar prescriptions relating to efficiency |
Maintainability |
|
to be modifed. Modifications may include corrections, improvements or adaptacion of the software to changes in environment, and in requirements and functional specifications |
Analysability |
to be diagnosed for deficiencies or causes of failures in the software, or for the parts to be modified to be identified |
Changeability |
to enable a specific modification to be implemented |
Stability |
to avoid unexpected effects from modifications of the software |
Testability |
to enable modified software to be validated |
Maintainability compliance |
to adhere to standards, conventions or regulations in laws and similar prescriptions relating to maintainability |
Portability |
|
to be transferred from one environment to another |
Adaptability |
to be adapted for different specified environments without applying actions or means other than those provided for this purpose for the software considered |
Installability |
to be installed in a specified environment |
co-existence |
to co-exist with other independent software in a common environment sharing common resources |
Replaceability |
to be used in place of another specified software product for the same purpose in the same environment |
Portability compliance |
to adhere to standards, conventions or regulations in laws and similar prescriptions relating to portability |