Empfohlene Software, Literatur und Links für das Softwarepraktikum

Hauptseite der Veranstaltung


Empfohlene Software

Zur Materialverteilung und für Abgaben von Dokumenten verwenden wir einen Learnweb-Kurs.
Alle Abgaben von Programmcode reichen Sie bitte über den GitLab-Server ein.


Literatur

Einige der folgenden Bücher sind sowohl auf Englisch als auch auf Deutsch erhältlich. Leider muss man den deutschen Versionen zum Teil mit einer gewissen Vorsicht begegnen, da einige sehr schlecht übersetzt sind. Uns sind schon Buchstellen begegnet, an denen sich der Sinn nur durch Vergleich mit dem englischsprachigen Original (oder viel Fantasie) erschließen lässt...

Die Vorlesung und das Vorgehensmodell basieren hauptsächlich auf:

  • [Brügge, 2013]
    Bernd Brügge and Allen H. Dutoit.
    Object-Oriented Software Engineering.
    Pearson, 3rd revised edition, 2013.

Einige Bücher über UML und seine Verwendung in der Softwareentwicklung:

  • [Oesterreich, 2012]
    Bernd Oesterreich, Axel Scheithauer.
    Analyse und Design mit der UML 2.5: Objektorientierte Softwareentwicklung.
    Oldenbourg Wissenschaftsverlag, München, 11. Auflage, 2013.
  • [Kecher, 2015]
    Christoph Kecher.
    UML 2.5: Das umfassende Handbuch.
    Rheinwerk Computing, 5. Auflage, 2015.

Einige Bücher über Softwareengineering im Allgemeinen:

  • [Balzert, 2011]
    Helmut Balzert, Lehrbuch der Software-Technik. Spektrum Akademischer Verlag, Heidelberg-Berlin, 3 Bände, 2008 - 2011.
  • [Sommerville, 2010]
    Ian Sommerville, Software Engineering. Addison Wesley, 10th edition, 2015.
  • [Ludewig, 2013] Jochen Ludewig, Horst Lichter, Software Engineering. dpunkt-Verlag, 3. Auflage, 2013.

Einige Bücher zu Entwurfsmustern:

  • [Gamma, 2010]
    Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides.
    Design Patterns: Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software.
    Addison-Wesley, 2010.
  • [Freeman, 2004]
    Eric Freeman, Elisabeth Freeman, Bert Bates und Kathy Sierra.
    Head First Design Patterns.
    O'Reilly, 2004.

Bücher über Java:

  • [Krüger/Stark]
    Guido Krüger, Thomas Stark. Java-Programmierung. Verschiedene Auflagen. O'Reilly.
  • [Ullenboom]
    Christian Ullenboom. Java ist auch eine Insel. Verschiedene Auflagen. Rheinwerk Computing.
  • [Günster, 2015]
    Kai Günster. Einführung in Java. 1. Auflage 2015. Rheinwerk Computing.

Links

Tools und Bibliotheken

UML

IDEs (Umgebungen zur Programmentwicklung)

Wir geben eine starke Empfehlung zur Nutzung von Eclipse als IDE.

Abhängig von Ihrer Präferenz stehen Ihnen auch andere IDEs, wie beispielsweise NetBeans oder IntelliJ zur Verfügung. Falls Sie sich zur Nutzung einer dieser IDEs entscheiden, können wir Sie jedoch nur sehr eingeschränkt bei Problemen mit der Einrichtung und dem Betrieb der IDE unterstützen. In diesem Fall sollten Sie sich also selbstständig in die Feinheiten Ihrer IDE und ihrem Zusammenspiel mit den von uns genutzten Tools Git und Gradle einarbeiten.

Versionskontrolle

Javadoc

  • Javadoc homepage Homepage des javadoc Werkzeugs. Enthält Referenzen auf Dokumentation, etc.
  • Anzeige von @pre und @post tags in Javadoc: Ist durch eine Einstellung in der build.gradle aktiviert und sollte ohne weitere Einstellungen funktionieren, sofern das Javadoc mit gradle erzeugt wird.

Java

  • Java-Homepage
  • Download OpenJDK (Dies ist die JDK Version, die wir in der Continuous Integration in Verbindung mit Gradle nutzen.)
  • Download OpenJFX (Frei verfügbare Version von JavaFX; im Gegensatz zu älteren Versionen des Oracle JDK ist JavaFX nicht standardmäßig im OpenJDK enthalten)

Testen

  • JUnit 5 (Wir empfehlen JUnit 5 als Test-Framework.)

Build-Tool

  • Gradle: Umfangreiches Build-Tool mit Abhängigkeitsverwaltung und vielem mehr
  • Maven Repository: Sammlung von verfügbaren Software-Bibliotheken mit Abhängigkeiten für verschiedene Build-Tools

Persistenz

  • XStream Bibliothek zum Serialisieren von Java-Objekten nach XML. Empfehlenswerte Alternative zu Serialize oder XMLEncoder.
  • ORMLite Bibliothek zur Einrichtung einer einfachen SQL Datenbank mittels Objektrelationalem Mapping.
  • Hibernate Bibliothek zur Einrichtung von Datenbanken über ORM oder andere Techniken.

Dokumentation und Tutorials

UML

Java

Persistenz

Testen

JUnit5

Git