0% found this document useful (0 votes)
26 views18 pages

ISO-9126 Quality Framework Explained

The ISO-9126 quality framework is an international standard that evaluates software quality through a structured model based on measurable attributes, focusing on characteristics like functionality, reliability, usability, efficiency, maintainability, and portability. It provides a standardized framework for assessing software quality, supporting requirement definitions, improving product quality, and enhancing customer satisfaction. The document also proposes the Integrated Technical-User Quality Model (ITUQM), which combines technical metrics with user-perceived quality to create a holistic evaluation of software quality.

Uploaded by

24wh1d5807
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views18 pages

ISO-9126 Quality Framework Explained

The ISO-9126 quality framework is an international standard that evaluates software quality through a structured model based on measurable attributes, focusing on characteristics like functionality, reliability, usability, efficiency, maintainability, and portability. It provides a standardized framework for assessing software quality, supporting requirement definitions, improving product quality, and enhancing customer satisfaction. The document also proposes the Integrated Technical-User Quality Model (ITUQM), which combines technical metrics with user-perceived quality to create a holistic evaluation of software quality.

Uploaded by

24wh1d5807
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Explain the ISO-9126 Quality Framework and interpret its contribution to evaluating software

products

The ISO-9126 quality framework is an international standard defined by the International


Organization for Standardization (ISO) to evaluate the quality of software products. It provides a
structured and systematic model for assessing software quality based on measurable attributes.
The primary objective of ISO-9126 is to ensure that software meets customer expectations,
performs effectively, and remains maintainable and reliable throughout its lifecycle.

ISO-9126 divides software quality into two main dimensions:

1. Quality Model (Quality Characteristics & Sub-characteristics)

2. Quality Metrics

---

ISO-9126 Quality Model

The model defines six major quality characteristics, each further subdivided into
sub-characteristics:

Main Quality Characteristic​ Description​ Sub-Characteristics

1. Functionality​ Ability to provide required functions accurately​ Suitability, Accuracy,


Interoperability, Security, Functionality compliance
2. Reliability​ Ability to maintain performance under specified conditions​ Maturity, Fault
tolerance, Recoverability, Reliability compliance
3. Usability​ Ease of use and user learning​ Understandability, Learnability, Operability,
Attractiveness, Usability compliance
4. Efficiency​ Performance relative to resources used​ Time behavior, Resource utilization,
Efficiency compliance
5. Maintainability​ Ease of modifying the software​ Analyzability, Changeability, Stability,
Testability, Maintainability compliance
6. Portability​ Ability to operate across different environments​ Adaptability, Installability,
Co-existence, Replaceability, Portability compliance

---
ISO-9126 Quality Metrics

ISO-9126 also specifies metrics to measure each characteristic and sub-characteristic.


These metrics assist in both internal quality evaluation (design and code), external quality
evaluation (system behavior), and quality in-use (user experience after deployment).

Examples:

Mean Time Between Failures (MTBF) → Reliability

Response time and throughput → Efficiency

Number of defects per KLOC → Maintainability

---

Contribution of ISO-9126 to Software Product Evaluation

1. Standardized Framework:
Provides a common language and structured framework for developers, testers, and
stakeholders to evaluate software objectively.

2. Supports Requirement Definition:


Helps define quality requirements early in the SDLC, ensuring alignment between customer
expectations and system functionality.

3. Improves Product Quality:


Encourages systematic quality planning, evaluation, and improvement, thereby minimizing
defects and enhancing performance.

4. Facilitates Comparative Analysis:


Allows comparison between similar software products based on quantified quality attributes.

5. Guides Testing and Validation:


Helps in developing quality-driven test cases and metrics for usability, reliability, and
maintainability.
6. Enhances Customer Satisfaction:
Ensures the final software meets operational needs and provides a positive user experience.

---

Conclusion

The ISO-9126 quality framework plays a vital role in defining, measuring, and validating the
quality of software products. By breaking down software quality into well-defined characteristics
and metrics, it provides a comprehensive and standardized method for assessing software. It
supports software engineers in planning quality attributes during development, helps testers
evaluate systems objectively, and enables organizations to deliver reliable, efficient,
maintainable, and user-friendly software products.

Propose a new software quality evaluation model that combines technical metrics with
user-perceived quality

Software quality is not only determined by technical correctness but also by how users perceive
its performance, usability, and satisfaction. Traditional models such as ISO-9126 and ISO-25010
emphasize technical quality attributes; however, modern software systems must balance
engineering-driven metrics with user-centered experience.
To address this need, a hybrid model called Integrated Technical-User Quality Model (ITUQM) is
proposed.

---

Integrated Technical-User Quality Model (ITUQM)

The ITUQM model combines technical quality factors and user-perceived quality factors,
creating a holistic evaluation framework. It aims to ensure that software is not only functionally
correct but also efficient, usable, secure, and satisfying to end users.

---

Components of ITUQM

1. Technical Quality Metrics


These measure internal software quality using engineering-based parameters.

Category​ Sub-Factors

Functionality​ Accuracy, Completeness, Security


Reliability​ Fault tolerance, MTBF, Recovery time
Performance & Efficiency​ Response time, Throughput, Resource usage
Maintainability​Code complexity, Testability, Modifiability
Portability​ Platform adaptability, Installability

Examples

Defect density

Response time < 2 seconds

Code coverage %

MTTR / MTBF values

---

2. User-Perceived Quality Metrics

These factors assess how users experience the software in real-world scenarios.

Category​ Sub-Factors

Usability​ Ease of learning, Navigation, Interface clarity


User Satisfaction​ Comfort, Trust, Engagement level
Perceived Performance​ Perceived speed, Responsiveness
Perceived Reliability​ Stability during use, Crash experience
Experience Quality​ Aesthetics, Emotional appeal, Accessibility

Examples

System Usability Score (SUS)

Net Promoter Score (NPS)


User error rate

Customer feedback ratings

---

Evaluation Process

Step​ Description

1. Define Quality Objectives​ Define technical and user-centric goals


2. Collect Technical Metrics​ Automated tools, testing logs, metrics suites
3. Conduct User Evaluation​ Surveys, usability testing, feedback forms
4. Assign Weights​ Example: Technical (60%), User (40%)
5. Compute Combined Quality Score​Weighted sum of normalized scores
6. Continuous Monitoring​ Re-evaluate during updates & releases

Formula

Quality\ Score = (0.6 \times Technical\ Metrics) + (0.4 \times User\ Metrics)

(Weights can be adjusted depending on domain, e.g., medical software = more technical
weight)

---

Advantages of ITUQM

1. Balanced evaluation of internal performance and user experience

2. Improves user satisfaction and adoption

3. Supports continuous improvement using measurable parameters

4. Encourages UX-driven engineering practices


5. Applicable across domains, including mobile apps, web systems, enterprise software

---

Conclusion

The proposed Integrated Technical-User Quality Model (ITUQM) bridges the gap between
engineering metrics and real-world user perception. By combining objective technical
parameters with subjective user-experience measures, it provides a complete and realistic
assessment of software quality. This model ensures that modern software systems are
technically sound, user-friendly, efficient, reliable, and satisfying to end users.

Define Software Quality. Explain different perspectives of software quality. Apply fault tolerance
techniques to a flight control software.

---

✅ Definition of Software Quality


Software quality refers to the degree to which a software system meets specified requirements,
satisfies customer expectations, and performs reliably and efficiently in its operating
environment.
It ensures that the software is functionally correct, dependable, user-friendly, maintainable, and
secure.

In simpler terms:

> Software quality = Conformance to requirements + Fitness for use

---

✅ Different Perspectives of Software Quality


Software quality can be viewed from multiple stakeholders’ perspectives:

---
1. User Perspective

Quality means the software is easy to use, reliable, responsive, and meets user expectations.

Focus: Usability, satisfaction, performance, reliability.

Example: Banking app should be simple, fast, and error-free.

---

2. Developer / Internal Perspective

Concerned with code quality, design quality, maintainability.

Focus: Modularity, readability, complexity, reusability, testability.

Internal metrics: cyclomatic complexity, code coverage, defect density.

---

3. Business / Management Perspective

Quality means low cost, on-time delivery, risk reduction, and customer satisfaction.

Focus: ROI, cost-benefit, maintainability costs, productivity.

---

4. Product Perspective

Quality determined based on product characteristics such as:

Functionality

Reliability

Efficiency
Security

Portability

Maintainability

(Related to ISO-9126 / ISO-25010 quality characteristics)

---

5. Process Perspective

“Good process = Good quality product”

Quality depends on SDLC process maturity, standards, and methodologies (CMMI, Agile, ISO
9001).

Focus: Documentation, testing process, reviews, configuration management.

---

6. Customer Perspective

Software must solve the real problem, add value and be worth the price.

Measures: User feedback, NPS score, market acceptance.

---

✅ Fault Tolerance Techniques for Flight Control Software


Flight control software is mission-critical and safety-critical. It must continue functioning correctly
even if faults occur. Hence fault tolerance techniques are essential.

---
1. Redundancy & Replication

Triple Modular Redundancy (TMR)

Three independent processors compute the same outputs; majority voting selects correct output

Prevents failure if one module fails

Example: Airbus and Boeing flight computers use TMR.

---

2. Watchdog Timers

A timer resets the software if it hangs or becomes unresponsive.

Ensures system recovery in case of deadlocks or crashes.

---

3. Fail-Safe Mechanisms

System switches to a safe mode under faults.

Example: Auto-pilot disengages and informs pilot to take control.

---

4. Exception Handling & Recovery Blocks

Detect failure → execute alternative control algorithm

Ensures continuation even if primary module fails

Format:
Primary module → acceptance test
If fails → secondary module → acceptance test

---

5. Sensor Fusion & Cross-Checking

Data from multiple sensors (gyroscope, accelerometer, GPS, altimeter) cross-validated

Eliminates faulty sensor inputs

---

6. Logging & Self-Diagnostics

Continuous health monitoring, real-time error logging, predictive maintenance

Early fault detection to avoid crashes

---

✅ Conclusion
Software quality is multi-dimensional and viewed differently by users, developers, and
management.
In mission-critical systems like flight control software, fault tolerance is crucial to ensure safety,
performance, and continuous operation. Techniques such as redundancy, watchdog timers,
fail-safe modes, recovery blocks, and sensor cross-checking ensure reliable and safe flight
operation even in the presence of failures.

Below is a 10-marks, exam-standard answer 👇


---

Evaluate the effectiveness of inspection and testing methods in reducing software defects
Software quality depends heavily on proactive defect identification and removal. Two primary
approaches are used to reduce defects: inspections (static verification techniques) and testing
(dynamic execution-based verification). Both methods complement each other and play a
crucial role in minimizing failures, improving reliability, and reducing development cost and time.

---

✅ 1. Inspections (Static Defect Detection)


Definition:
Inspection is a systematic review of software artifacts (requirements, design documents, code,
test cases) without executing the system. It aims at identifying defects early in the development
life cycle.

Examples:

Requirements Reviews

Design Reviews

Code Inspections

Walkthroughs

Peer Reviews

---

Effectiveness of Inspection Methods

Benefit​Explanation

Early defect detection​Defects found in requirements & design stage → cheaper to fix
Prevents defect propagation​ Catching errors early avoids bigger failures later
Improves code quality​Encourages coding standards & clean structure
Reduces testing effort​Fewer defects enter testing phase
Knowledge sharing​ Team members learn and improve skills

Key Result:
Studies show inspections can remove 60–90% of defects before testing begins, reducing cost &
rework.

---

✅ 2. Testing (Dynamic Defect Detection)


Definition:
Testing is the execution of software with the goal of identifying defects. It validates the actual
behavior against expected results.

Types:

Unit Testing

Integration Testing

System & Acceptance Testing

Regression Testing

Performance & Security Testing

---

Effectiveness of Testing Methods

Benefit​Explanation

Detects runtime failures​ Finds defects only visible when code executes
Ensures functionality & performance​Verifies output accuracy, speed, scalability
Validates real behavior​ Ensures system works under real-world usage
Builds user confidence​ Demonstrates reliability & feature correctness

Result:
Testing detects defects that static inspection cannot detect, such as runtime logic errors,
memory leaks, and performance failures.

---
✅ Comparison of Inspection vs Testing
Point​ Inspection​ Testing

Stage​ Early phases (Req/Design/Code)​ After code execution


Nature​Static (no execution)​ Dynamic (executes code)
Defects found​ Logic, design, documentation, standards issues​ Runtime errors, performance
bugs
Effectiveness​ Up to 90% early defects removed​ Essential for behavior validation
Cost​ Cheaper (early fix)​ Higher if errors found late

---

✅ Combined Benefit
Outcome​ Reason

Higher defect removal efficiency​ Both approaches together catch more defects
Reduced development & maintenance cost​ Prevention cheaper than correction
Improved reliability & product quality​Fewer failures in production
Improved customer satisfaction​ Stable, robust, error-free software

---

✅ Conclusion
Inspections and testing are complementary, not competing methods.

Inspections prevent defects early, reduce testing burden, and improve documentation &
maintainability.

Testing ensures execution correctness, performance, and user satisfaction.

A combination of both provides maximum defect removal efficiency, lower project risk, and
high-quality software.

> Thus, effective software quality assurance requires a balanced mix of inspections and
systematic testing strategies.
---

Would you like the following too?

📌 5-marks short version


📌 Diagram for Inspection + Testing model
📌 Flowchart for Inspection Process
📌 PPT slides for unit topic
Tell me and I’ll prepare 👍

Below is a 10-marks, exam-ready answer for the question 👇


---

Analyze various QA techniques to identify risks during the development phase

Quality Assurance (QA) plays a critical role in identifying risks early in the software development
life cycle (SDLC). Risk-based QA focuses on detecting potential failures, schedule delays, cost
overruns, and performance issues before they impact the final product. Effective QA techniques
provide preventive control that ensures software meets expected quality, reliability, and
performance standards.

---

✅ QA Techniques for Risk Identification in Development Phase


---

1. Requirements Review & Feasibility Analysis

Conduct structured reviews of requirements with stakeholders.

Detect risks such as ambiguous requirements, missing features, conflicting user needs.

Helps avoid scope creep and costly rework later.


Risk Identified: Requirement gaps, unrealistic expectations, unclear acceptance criteria.

---

2. Design Review & Architectural Analysis

System diagrams, architecture decisions, and data flow are examined.

Ensures scalability, security, maintainability.

Risk Identified: Design flaws, performance bottlenecks, security loopholes, architectural


instability.

---

3. Peer Reviews & Code Inspections

Developers review each other’s code.

Detect coding errors before execution.

Risk Identified: Logic defects, non-compliance to coding standards, maintainability issues,


potential bugs.

---

4. Static Analysis Tools

Automated tools check source code and documentation without execution.


Examples: SonarQube, Checkstyle, PMD

Risk Identified: Potential memory leaks, buffer overflow, security issues, complexity risk.

---
5. Unit Testing & Test-Driven Development (TDD)

Testing individual units early improves reliability.

TDD ensures code meets functionality from the start.

Risk Identified: Incorrect logic, functional defects, integration issues later.

---

6. Risk-Based Testing

Test cases are prioritized based on risk severity & probability.

Prevents critical failures in key modules.

Risk Identified: Critical module failures, high-impact bugs.

---

7. Prototyping & Proof-of-Concepts (POC)

Early model helps validate UI/UX, performance, and feasibility.

Risk Identified: UI usability risk, technology compatibility issues, performance concerns.

---

8. Configuration Management & Version Control

Tools like Git ensure stable builds and version tracking.

Risk Identified: Integration conflicts, loss of code, inconsistent builds.

---
9. Continuous Integration & Continuous Testing (CI/CT)

Automated execution of builds and tests ensures immediate feedback.


Tools: Jenkins, GitLab CI

Risk Identified: Integration risks, build failure risks, regression defects.

---

10. Failure Mode and Effects Analysis (FMEA)

Systematically identifies failure points and their impact.

Assigns risk priority number (RPN).

Risk Identified: High-severity failure points in critical systems.

---

✅ Benefits of Early Risk Identification


Benefit​Impact

Reduced Development Cost​ Early correction cheaper than late fixes


Improved Quality & Reliability​Stable product with fewer defects
Better Planning​ Accurate schedules & resource use
Prevents Rework​ Less disruption in later stages
Customer Confidence​Predictable delivery & performance

---

✅ Conclusion
Various QA techniques such as reviews, inspections, unit testing, CI/CD, static analysis, and
risk-based testing help identify risks throughout the development phase. These practices detect
technical, operational, performance, and security-related risks early, ensuring high-quality,
reliable, and cost-effective software delivery.
> Thus, effective QA risk-identification techniques enhance product quality and minimize project
failures.

---

Would you like:

📌 5-mark short answer


📌 Diagram showing QA techniques vs risk types
📌 One-page notes PDF
📌 Expected exam viva questions for this topic
Tell me and I’ll provide 👍

You might also like