04/12/2025
QUALITY SOFTWARE (ISO-9126)
3
The International standard for Software Product Evaluation: ISO-9126 released in
1991 lists six key factors that are important in the production of quality software.
They are:
functionality
reliability
usability
efficiency
maintainability
portability
Selecting and PrioritizingQuality
Factors
04/12/2025
8
Select and prioritize quality factors based on the type of application using the ISO 9126 quality
model. Different applications have different critical quality requirements.
Relationships between quality
factors
04/12/2025
10
Examplesof the relationships between quality factors
Integrity vs. efficiency (inverse)
The control access to data or software requires additional code and processing leading to a longer
runtime and additional storage requirements.
Usability vs. efficiency (inverse)
Improvements in the human/computer interface may significantly increase the amount of code
required.
Maintainability vs. flexibility (direct)
Maintainable code arises from code that is well structured.This will also assist any modifications or
alterations that are required.Thus a direct relationship exists between these properties.
11.
04/12/2025
Takeaways
11
Trade-offs exist betweensoftware quality factors.
A balance is needed based on project
requirements.
Certain factors, like portability and efficiency, can
conflict, requiring careful design decisions.
#3 ISO----International Organization for Standardization
#6 Functionality
Suitability: Ensures the software has appropriate functions for specific tasks.
Accurateness: Ensures correct and agreed-upon results.
Interoperability: Ability to interact with other systems.(Applications)
Compliance: Adherence to standards, laws, and regulations.
Security: Protection against unauthorized access or attacks.
2. Reliability
Maturity: Measures how often the software fails.
Fault Tolerance: The ability to maintain performance despite faults.
Recoverability: Capability to recover from failures and restore data.
3. Usability
Understandability: Effort needed to comprehend the software.
Learnability: Effort needed to learn how to use it.
Operability: Ease of operation and control.
#7 Efficiency
Time Behavior: Measures response and processing time, as well as throughput performance.
Resource Behavior: Assesses the amount of resources (e.g., memory, CPU, bandwidth) used by the software.
5. Maintainability
Analyzability: Evaluates the effort required to diagnose failures or identify necessary modifications.
Changeability: Assesses the effort required to modify, remove faults, or adapt software to environmental changes.
Stability: Measures the risk of unexpected side effects due to modifications.
Testability: Determines the effort needed to validate modified software.
6. Portability
Adaptability: Evaluates how easily software can be adapted to different environments.
Installability: Measures the effort required to install the software in a given environment.
Conformance: Ensures compliance with portability-related standards and conventions.
Replaceability: Assesses how easily software can be substituted by another in its environment.
#8 Immature technology → Portability
If technology is still evolving, software should be portable across different platforms.
Real-time application → Efficiency, Reliability
Real-time systems (e.g., automotive control systems) must process information quickly and be highly reliable.
Embedded system → Efficiency, Reliability
Embedded software (e.g., IoT devices) should optimize resource usage while ensuring reliability.