Software Maintenance and Legacy Systems
Lecture 38 of CS605 Software Engineering - II examines the realities of software maintenance and legacy system evolution. In industry, between 60 to 80 percent of total software lifecycle expenditure occurs after initial deployment in maintenance activities. Students study the four standardized categories of software maintenance: Corrective Maintenance (diagnosing and fixing residual defects), Adaptive Maintenance (modifying software to accommodate changing hardware, operating systems, or regulatory environments), Perfective Maintenance (enhancing existing functionality to meet evolving user requests), and Preventive Maintenance (re-engineering code to reduce future maintenance complexity). The lecture examines Lehman's Laws of Software Evolution, emphasizing that software systems must continually adapt or become progressively less useful, and that as systems evolve, their complexity increases unless work is done to maintain it. Strategic decisions regarding legacy systems—retire, maintain, re-engineer, or wrap—are evaluated. Software configuration auditing guarantees that delivered releases conform precisely to authorized engineering specifications and baselines. The strategic role of business process reengineering is evaluated as an instrument for achieving breakthrough improvements in cost and performance. In this lecture, students examine essential software engineering governance principles and lifecycle frameworks to ensure disciplined project delivery. Through detailed analytical walkthroughs, the lesson explores quantitative metrics, defect removal efficiency, and architectural trade-offs. Special emphasis is placed on quality assurance protocols, formal technical reviews, and proactive software risk management strategies. Mastering these foundational software engineering paradigms empowers prospective system architects to deliver resilient, high-quality software systems. Analytical exercises and real-world case evaluations help students prepare thoroughly for Virtual University midterm and final term examinations. The curriculum systematically aligns practical industry development workflows with formal IEEE standards and CMMI process maturity levels. Reviewing the accompanying lecture handouts and conceptual diagrams reinforces understanding of project monitoring, statistical process control, and configuration baselines. Consistent evaluation of planning templates, estimation equations, and decomposition hierarchies ensures robust preparation for academic assessments. Students investigate the role of software process engineering in synchronizing development activities across multidisciplinary engineering teams. The discussion highlights how requirements traceability matrices prevent scope creep and ensure strict adherence to customer specifications.
No questions available yet.
There are currently no examination questions published for Software Maintenance and Legacy Systems. Explore other curriculum units or build a custom quiz with the practice builder.