Text in english

Clean Code in Java-Projekten

Kurs nur in Deutsch

Semesterwochenstunden:

4

Leistungspunkte:

5

Vorkenntnisse:

Java-Kenntnisse sind von Vorteil.

Arbeitsaufwand:

150 Stunden, davon: 
65 Stunden Präsenz, 
85 Stunden Vor- und Nachbearbeitung, Übungsaufgaben und Prüfungsvorbereitung.

Beitrag zu den Zielen des Studiengangs:

Vertiefung von Kenntnissen und praktischen Fertigkeiten im Bereich Softwarequalität. Kennenlernen von Tools und Vorgehensweisen aus der Praxis.

Lernziel:

Die Studierenden erwerben vertiefte Kenntnisse und Fähigkeiten zur Analyse, Beurteilung und Verbesserung von Software-Qualität. Sie sind in der Lage Prinzipien, Patterns, Techniken und Tools, die zum Schreiben von sauberem Code benötigt werden, anzuwenden.

Schlüsselqualifikationen:

Fähigkeit zu komplexem Denken, Fähigkeit zu selbständigem Arbeiten, Analyse und Lösung von Problemen.

Lehrinhalte:

Die Prüfung von Software ist nicht auf eine bestimmte Phase im Projekt beschränkt. Schon während der Coding-Phase bzw. des System-Build-Prozesses können kritische und schwierig zu findende Softwaredefekte im Quellcode aufgedeckt werden. In der Vorlesung werden die dafür nötigen Verfahren und Tools vorgestellt.  


Unter anderem werden die folgenden Themen behandelt: 
  • Übersicht über die Grundlagen der Software-Qualität 
  • Softwaremetriken, Metrikanwendung in der Praxis 
  • Überblick über Prinzipien, Best Practices und Code Smells 
  • Einhaltung und Überprüfung Java Code Conventions
  • Statische Softwareprüfung, insbesondere Review-Techniken und statische Programmanalyse 
  • Sicherung der Softwarequalität mit Werkzeugen wie SonarQube, PMD, SpotBugs und Checkstyle 
  • Softwaretests mit JUnit 
  • Überprüfen der Testabdeckung (Code Coverage) 
  • Continuous Integration
  • Design Prinzipien
  • Design Patterns (GoF)

Literatur:

  • Schneider, Kurt: Abenteuer Software Qualität – Grundlagen und Verfahren für Qualitätssicherung und Qualitätsmanagement, dpunkt.verlag, 2007 
  • Robert, Martin: Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code, mitp-Verlag, 2009
  • Lilienthal, Carola: Langlebige Software-Architekturen, Dpunkt Verlag, 2015
  • Bloch, Joshua: Effective Java – Second Edition, Addision Wesley, 2008
  • Roock, Stefan: Refactorings in grossen Softwareprojekten, Dpunkt Verlag, 2004
  • Gamma, Erich: Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional, 1994
  • Robert C. Martin: Agile Software Development: Principles, Patterns and Practices, Prentice Hall, 2003

Bemerkungen:

 
Block vom 17.2.2020.-21.2.2020, 24.2.2020-25.2.2020

Leistungsnachweis:

 Schriftliche Prüfung (90 min)

Zulassungsvoraussetzungen:

 

Hilfsmittel:

 

Modulverantwortliche/r:

Hock





TH Nürnberg
Fakultät Informatik
Webmaster-IN



Root- Zertifikat

© 2019 Fakultät Informatik