In this course, students will learn three areas of maintenance: corrective and enhancement maintenance, reuse, and configuration management as well as reverse engineering.
- CS core
- SE Process
- SE bootcamp
This course covers the reengineering and maintenance aspect of software engineering. Particularly, enhancement maintenance, reverse engineering, reuse and configuration management are considered. This course also covers small-scale practice. For this purpose, there are several homeworks in which the students use CASE tools or other software tools.
- Takang, A. A., and Grubb, P. A. (1996). Software Maintenance: Concepts and Practice. Boston: International Thomson Computer Press.
- Leach, R. J. (1997). Software Reuse: Methods, Models, and Costs. NewYork: McGraw-Hill.
The final grade is based on the following: 2 exams, 3 homeworks, and 1 group project (4 person per group)
- Week 1: Introduction
- Week 2: Corrective maintenance
- Week 3: Enhancement maintenance
- Week 4: Reverse Engineering I
Homework 1: Design recovery
- Week 5: Reverse Engineering II
- Week 6: Project report
- Week 7: Review & Mid-term exam
- Week 8: Reuse I
Homework 2: Reuse
- Week 9: Reuse II
- Week 10: Configuration management I
Homework 3: Version control
Week 11: Configuration management II
Week 12: Reengineering and Maintenance in software cycle
Week 13: Current trend and practice
Week 14: Project final report
Week 15: Review & Final exam