Back to the 2026 paper

Module 5: Software Maintenance

20267m

A development team maintains five released versions of the same product. Design a configuration-management structure showing configuration items, version identification, change control and release management.

Worked SolutionAI Assisted

Configuration-Management Structure for a Product with Five Released Versions

Software Configuration Management (SCM) keeps every released version identifiable, reproducible and controlled while several versions are maintained at the same time.

1. Configuration items (CIs)

Category Items
Requirements/design SRS, design documents, architecture diagrams
Source Source code, libraries, configuration files
Build/deploy Build scripts, installers, environment settings
Test Test plans, test cases, test data, results
Data Database schema and migration scripts
User User manual, release notes

2. Version identification

Use semantic versioning: MAJOR.MINOR.PATCH (e.g. 3.2.1)

  • MAJOR: incompatible or large changes
  • MINOR: new backward-compatible features
  • PATCH: bug fixes only

Baselines are frozen, approved sets of CIs (e.g. v1.0, v2.0). Each CI and each build is tagged with its version.

main (latest development)
 |--- release/1.x  --> 1.0, 1.0.1, 1.1 ... (maintenance branch)
 |--- release/2.x  --> 2.0, 2.0.1 ...
 |--- release/3.x  --> 3.0, 3.1 ...
 |--- release/4.x  --> 4.0, 4.2 ...
 |--- release/5.x  --> 5.0, 5.1 ...   (current)

Each released version has its own maintenance branch; a fix is applied to the affected branches and merged back to main.

3. Change control process

  1. Change request raised (bug, enhancement, environment change)
  2. Impact analysis: which CIs and versions are affected
  3. Change Control Board (CCB) reviews and approves or rejects
  4. Implementation on a branch
  5. Verification: review and regression testing
  6. Merge and baseline update, change log recorded
  7. Status reporting and audit

4. Release management

Activity Purpose
Release planning Decide which fixes/features go into which version
Build and package Reproducible build from tagged CIs
Release notes List changes, known issues, upgrade steps
Deployment and rollback plan Safe installation with a way back
Support policy Define how long each version is maintained
Audit Check that the released build matches the approved baseline

Tools

Git/SVN for version control, Jenkins/CI for builds, Jira for change requests.

Benefit

Any of the five versions can be rebuilt exactly, bugs can be traced to the version they affect, and changes are controlled and recorded.

Similar questions

Free AppAndroid App

Coursify Android App

Generate AI courses, take quick quizzes between classes, and master complex engineering concepts on the go.