Whereas many software engineering courses focus on building new systems from scratch, in industrial practice software developers are often confronted with already existing software systems that need to be maintained, reused, or evolved. This requires specific skills to understand the design and implementation of an existing system and which parts need to be modified, to build software systems that are easier to maintain, and to design systems with reuse and evolution in mind from the very start. This course will thus study a variety of techniques, tools and methodologies to help building software systems that are easier to understand, maintain, reuse and evolve.
Software Engineering 144 CRs
Priyadarshi Tripathy and Kshirasagar Naik. Software Evolution and Maintenance: A Practitioner's Approach. Wiley.
content serial | Description |
---|
1 | Software comprehension and concern location |
2 | Change impact analysis |
3 | Reverse engineering |
4 | Best programming practices |
5 | Coding standards |
6 | Design principles and heuristics |
7 | 7th week examination |
8 | Design patterns |
9 | Refactoring |
10 | Reengineering |
11 | The laws of software evolution |
12 | 12th week examination |
13 | Reuse techniques and design for reuse |
14 | Libraries vs. application frameworks |
15 | Software product lines |
16 | Final Examination |
Start your application