NivaarExam PrepOfficial exam papers ↗

19-Soft-B6 Software Project Management · May 2018

Question 5 of 8

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

Notes on this paper

04-Soft-B6, Advanced Software Project Management, Life Cycle Methodologies — National Exams, May 2018 (3 hours, open book, non-communicating calculator permitted, 8 questions of equal value; FIVE (5) 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: Sommerville, Software Engineering, 10th ed. (process models, requirements engineering, configuration management); Pressman, Software Engineering: A Practitioner's Approach, 9th ed. (process models, agile, metrics, project planning); Gamma, Helm, Johnson & Vlissides (GoF), Design Patterns: Elements of Reusable Object-Oriented Software; ISO/IEC/IEEE 12207:2017, Software life cycle processes; PMI, A Guide to the Project Management Body of Knowledge (PMBOK), 7th ed.; SWEBOK v4.

Question 5 (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.

ISO/IEC 12207's Maintenance process is itself one of the six primary life-cycle processes (Question 4c) that continues long after the Development process has delivered the software into Operation; it defines six activities of its own that govern how a live system is changed safely over the rest of its life.

1. ProcessImplementation2. Problem &ModificationAnalysis3. ModificationImplementation4. MaintenanceReview &Acceptance5. SoftwareMigration6. SoftwareRetirementrepeats for each new problem/modification reportISO/IEC 12207 Maintenance-process activities(process implementation and retirement each occur once; the middle four cycle per change request)
Fig. Q5 — the six ISO/IEC 12207 maintenance activities; implementation and retirement each occur once for the process's lifetime, while analysis→modification→review cycles once per problem/change report, and migration occurs whenever the operating environment changes.
ActivityWhat it does
1. Process implementationEstablishing the maintenance process itself — the plans, procedures, tools, and organizational responsibility (e.g., which department, Question 4c) that will handle change requests once the product enters operation. Performed once, at the start of maintenance, not per change.
2. Problem and modification analysisAnalysing each reported problem (defect) or requested modification (enhancement) to understand its impact, replicate it if it is a defect, and determine options and their cost/risk before committing to a change — the maintenance-process counterpart to requirements analysis in development.
3. Modification implementationDesigning, implementing, and unit-testing the approved change, following the same disciplined development activities (Question 1a) as new construction, but scoped tightly to the analysed change and constrained not to disturb unrelated working behaviour.
4. Maintenance review/acceptanceVerifying the implemented modification against the analysis from activity 2 (does it actually fix the problem / deliver the requested change) and obtaining formal acceptance before the change is released, including regression testing to confirm no other functionality broke.
5. Software migrationThe planned, controlled process of moving the operational software (and its data) from one operating environment to another (e.g., new OS version, new hardware platform, new database engine) without a change in the software's functionality — a distinct kind of change from a functional modification.
6. Software retirementFormally withdrawing the software from active support and operation at the end of its useful life, including notifying users, archiving or migrating any data that must be preserved, and terminating support — the maintenance process's counterpart to the Retirement/destruction primary process in the six-process overview quoted in the question.

Activities 2–4 form the repeatable core of day-to-day maintenance (every new problem report or change request cycles through analysis → implementation → review), while activity 1 (process implementation) happens once to set the process up and activity 6 (retirement) happens once to close it down; activity 5 (migration) is triggered whenever the environment, rather than the software's own requirements, changes.