623.824 (18W) Current Topics in Software Engineering: Software Evolution
Überblick
- Lehrende/r
- LV-Titel englisch Current Topics in Software Engineering: Software Evolution
- LV-Art Vorlesung-Kurs (prüfungsimmanente LV )
- Semesterstunde/n 2.0
- ECTS-Anrechnungspunkte 4.0
- Anmeldungen 6 (30 max.)
- Organisationseinheit
- Unterrichtssprache Englisch
- LV-Beginn 01.10.2018
- eLearning zum Moodle-Kurs
Zeit und Ort
LV-Beschreibung
Intendierte Lernergebnisse
After completing this course students will be able to:
- Explain state-of-the-art techniques and tools in software re-engineering;
- Explain and apply best practices to analyze and understand existing software systems;
- Use heuristics and tools to detect shortcomings in the design and implementation of software systems;
- Apply tests and re-factoring techniques to systematically remove these shortcomings;
Lehrmethodik inkl. Einsatz von eLearning-Tools
Classes and lab work (two practical assignments to be solved in teams of two students)
Inhalt/e
Software evolution refers to the process of developing software by repeatedly updating it. Software Reengineering is one of the key tasks to evolve software systems by restructuring a software system to fix real or perceived problems in preparation for further development and extension of the system. This course is on theories and best practices of re-engineering and the application of them in the re-engineering lab.
Topics
- Reverse Engineering
- Software visualization
- Code smells and evolution
- OO design principles and violations
- Code smell detection
- Refactoring
- Software testing for re-engineering
Literatur
Object-Oriented Reengineering Patterns, Serge Demeyer, Stephane Ducasse, and Oscar Nierstrasz, 2008
Object-Oriented Metrics in Practice, Michele Lanza and Radu Marinescu, Springer, 2006
Working Effectively with Legacy Code, Michael Feathers, Prentice Hall, 2004
Additional Literature:
Refactoring for Software Design Smells, Girish Suryanarayana, Ganesh Samarthyam, Tushar Shara, Morgan Kaufmann, 2015.
Code as a Crime Scene, Adam Tornhill, The Pragmatic Programmers, 2015.
Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts. Addison-Wesley Professional, 1999.
Refactoring to Patterns, Joshya Kerievsky, Addison-Wesley Professional, 2004.
Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin, Prentice Hall, 2002.
Prüfungsinformationen
Beurteilungsschema
Note BenotungsschemaPosition im Curriculum
- Masterstudium Angewandte Informatik
(SKZ: 911, Version: 13W.1)
-
Fach: Software Engineering
(Wahlfach)
-
Current Topics in Software Engineering: Software Evolution (
2.0h VK / 4.0 ECTS)
- 623.824 Current Topics in Software Engineering: Software Evolution (2.0h VC / 4.0 ECTS)
-
Current Topics in Software Engineering: Software Evolution (
2.0h VK / 4.0 ECTS)
-
Fach: Software Engineering
(Wahlfach)
- Masterstudium Informatik
(SKZ: 921, Version: 09W.1)
-
Fach: Software Engineering
(Pflichtfach)
-
Current Topics in Software Engineering (
2.0h VK / 4.0 ECTS)
- 623.824 Current Topics in Software Engineering: Software Evolution (2.0h VC / 4.0 ECTS)
-
Current Topics in Software Engineering (
2.0h VK / 4.0 ECTS)
-
Fach: Software Engineering
(Pflichtfach)
- Masterstudium Game Studies and Engineering
(SKZ: 992, Version: 17W.2)
-
Fach: Gebundenes Wahlfach
(Wahlfach)
-
Modul: Game Engineering
-
4.1 VC Current Topics in SE: Software Evolution (
0.0h VC / 4.0 ECTS)
- 623.824 Current Topics in Software Engineering: Software Evolution (2.0h VC / 4.0 ECTS) Absolvierung im 1., 2., 3. Semester empfohlen
-
4.1 VC Current Topics in SE: Software Evolution (
0.0h VC / 4.0 ECTS)
-
Modul: Game Engineering
-
Fach: Gebundenes Wahlfach
(Wahlfach)
Gleichwertige Lehrveranstaltungen im Sinne der Prüfungsantrittszählung
-
Wintersemester 2023/24
- 623.824 VC Current Topics in Software Engineering: Software Evolution/Reengineering (2.0h / 4.0ECTS)
-
Wintersemester 2022/23
- 623.824 VC Current Topics in Software Engineering: Software Evolution/Reengineering (2.0h / 4.0ECTS)
-
Wintersemester 2021/22
- 623.824 VC Current Topics in Software Engineering: Software Evolution/Reengineering (2.0h / 4.0ECTS)
-
Wintersemester 2020/21
- 623.824 VC Current Topics in Software Engineering: Software Evolution/Reengineering (2.0h / 4.0ECTS)
-
Wintersemester 2019/20
- 623.824 VC Current Topics in Software Engineering: Software Evolution/Reengineering (2.0h / 4.0ECTS)
-
Sommersemester 2017
- 623.824 VC Current Topics in Software Engineering: Software Evolution (2.0h / 4.0ECTS)