19-Soft-B6 Software Project Management · May 2018
Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)
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.
| Activity | What it does |
|---|---|
| 1. Process implementation | Establishing 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 analysis | Analysing 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 implementation | Designing, 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/acceptance | Verifying 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 migration | The 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 retirement | Formally 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.