11 mins read ·
11 questions
Classify maintenance as corrective, adaptive, perfective or preventive, and explain why maintenance dominates lifetime cost.
12 mins read ·
16 questions
Describe the characteristics and risks of legacy systems and the strategies for dealing with them: scrap, continue maintaining, re-engineer, wrap or encapsulate, migrate, or replace.
11 mins read ·
11 questions
Describe the activities of software re engineering: reverse engineering, source code translation, program structure improvement and data re-engineering.
13 mins read ·
11 questions
Analyse the air-traffic control legacy modernisation case to evaluate modernisation strategies and their risks.
10 mins read ·
11 questions
Define technical debt, classify it as deliberate or inadvertent and prudent or reckless, and explain how it accrues “interest”
12 mins read ·
10 questions
Plan refactoring strategies at system scale (continuous versus planned refactoring, the strangler fig pattern, branch by abstraction) and explain how automated tests make refactoring safe.
11 mins read ·
8 questions
Explain Lehman’s laws of software evolution (for example continuing change and increasing complexity) and their implications for maintenance planning.
12 mins read ·
11 questions
Describe evolutionary process models (prototyping, incremental, spiral) and the staged model of a software system’s lifetime (initial development, evolution, servicing, phase-out).
11 mins read ·
14 questions
Describe the eight principles of the ACM/IEEE-CS Software Engineering Code of Ethics and Professional Practice: Public, Client and Employer, Product, Judgment, Management, Profession, Colleagues and Self.
12 mins read ·
14 questions
Apply the code to analyse ethical dilemmas in software development, such as pressure to release known defects, whistle-blowing, conflicts of interest and intellectual property.
12 mins read ·
16 questions
Explain privacy principles (data minimisation, consent, purpose limitation, privacy by design) and their engineering implications.
13 mins read ·
9 questions
Describe the obligations that Ghana’s Data Protection Act, 2012 (Act 843) places on systems that process personal data.