NivaarExam PrepOfficial exam papers ↗

19-Soft-A6 Software Quality Assurance · Undated paper

Question 8 of 8

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

04-Soft-A6, Software Quality Assurance — National Exams, May 2019 (3 hours, open book, 8 questions of equal value; FIVE constitute a complete exam paper, and the first five as they appear in the answer book are marked — all eight are solved here as a study resource).

Reference texts: Pressman, Software Engineering: A Practitioner's Approach, 9th ed. (SQA planning, review, testing strategies/techniques, software metrics, reliability & safety); Sommerville, Software Engineering, 10th ed. (software process, configuration management, project monitoring); ISO/IEC 25010 SQuaRE and its predecessor ISO/IEC 9126 (software quality characteristics); ISO/IEC 12207 (life-cycle/configuration-management processes).

Question 8 (10 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Part (a) — software maintainability. Software maintainability is the ease with which a software system or component can be modified — to correct defects (corrective maintenance), improve performance or other attributes (perfective maintenance), adapt to a changed environment (adaptive maintenance), or prevent future problems (preventive maintenance) — without introducing new defects. It is one of the six ISO 9126 characteristics from Question 1(a), and is usually assessed through its sub-characteristics: analysability (how easily the cause of a deficiency can be diagnosed), changeability (how easily a specified modification can be implemented), stability (how much a change risks unexpected side effects elsewhere), and testability (how easily the modified software can be verified).

Part (b) — techniques to increase maintainability.

Part (c) — safety-critical vs. safety-related systems. A safety-critical system is one whose own failure can directly and immediately cause loss of life, serious injury, or major environmental/financial harm — e.g., aircraft flight-control software or a medical infusion-pump controller, where the software failure is itself the proximate cause of the hazard. A safety-related system contributes to overall safety but is not, by itself, the direct or sole cause of a catastrophic outcome if it fails — e.g., a monitoring/alarm subsystem that alerts a human operator: its failure removes a safety margin (the operator loses their warning) rather than directly causing the hazardous event. The main difference is therefore the directness and immediacy of the causal link between the software's own failure and a catastrophic outcome, and this distinction drives how much assurance effort (formal hazard analysis, independent verification, architectural redundancy) each class of system warrants: safety-critical systems require the highest achievable assurance level, while safety-related systems require above-average, but correspondingly lower, rigor.

Back to the paper →