NivaarExam PrepOfficial exam papers ↗

19-Soft-A6 Software Quality Assurance · May 2015

Question 6 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 2015 (3 hours, open book, 8 questions of equal value; 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, cyclomatic complexity, basis path testing); Sommerville, Software Engineering, 10th ed. (software process, configuration management); ISO/IEC 25010 SQuaRE (software quality characteristics); ISO/IEC 12207 (life-cycle/configuration-management processes).

Question 6 (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) — five software quality metrics.

Part (b) — quality and maintainability. Maintainability — ease of correcting, adapting, and enhancing software after delivery — is itself one of the core software quality characteristics (alongside functionality, reliability, usability, efficiency and portability, per ISO/IEC 25010's product quality model). Higher overall quality (clear structure, low complexity, good documentation, adherence to coding standards) directly produces higher maintainability, because a maintainer must first understand code before safely changing it; conversely, poor quality (high complexity, poor cohesion, undocumented interfaces) makes every later change slower and riskier, and each rushed maintenance change tends to further erode structure — so quality and maintainability reinforce each other over the software's life cycle, not just at initial release.

Part (c) — software configuration management (SCM) and quality. SCM is the set of activities (identification, version control, change control, status accounting, audits) that manage change throughout the software life cycle by establishing controlled baselines. It affects quality in several concrete ways: