623.824 (18W) Current Topics in Software Engineering: Software Evolution

Wintersemester 2018/19

Anmeldefrist abgelaufen.

Erster Termin der LV
01.10.2018 10:00 - 12:00 S.2.69 - Bitmovin On Campus
... keine weiteren Termine bekannt

Ü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

Liste der Termine wird geladen...

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

Im Fall von online durchgeführten Prüfungen sind die Standards zu beachten, die die technischen Geräte der Studierenden erfüllen müssen, um an diesen Prüfungen teilnehmen zu können.

Beurteilungsschema

Note Benotungsschema

Position 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)
  • 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)
  • 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

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)