Empfohlene Software, Literatur und Links für das Softwarepraktikum

Literatur

Einige der folgenden Bücher sind sowohl in Englisch als auch in 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 Edition, 2013.
  • [Brügge/Dutoit, 2004]
    Bernd Brügge und Allen H. Dutoit. Objektorientierte Softwaretechnik mit UML, Entwurfsmustern und Java.
    Prentice Hall (Pearson Studium), 2004

Weitere Bücher, die sich mit der Verwendung von UML in der Softwareentwicklung beschäftigen:

  • [Oesterreich, 2012]
    Bernd Oesterreich, Analyse und Design mit UML 2.5: Objektorientierte Softwareentwicklung. Oldenbourg Wissenschaftsverlag, München, 11. Auflage, 2013.
  • [Kecher, 2015]
    Christoph Kecher, UML 2.5: Das umfassende Handbuch. Galileo Press, 4. 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, 2015]
    Ian Sommerville, Software Engineering. Addison Wesley, 10th edition, 2015.
  • [Ludewig, 2010]
    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, Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software. Addison-Wesley, 2010.
  • [Freeman, 2004]
    Eric Freeman, Elisabeth Freeman und Kathy Sierra. Head First Design Patterns.
    O'Reilly, 2004.

Bücher über Java:

  • [Krüger/Stark]
    Guido Krüger, Thomas Stark. Handbuch der 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

Groupware (Learnweb)

Projektmanagement

  • GitLab
  • Wir stellen für jede Gruppe ein Projekt mit integriertem git-Repository im GitLab der WWU zur Verfügung

UML

IDEs (Umgebungen zur Programmentwicklung)

  • Eclipse (empfohlen und supported)
  • IntelliJ (Alternative, aber nicht von Tutoren supported)
  • NetBeans (Alternative, aber nicht von Tutoren supported)

Versionskontrolle

  • git Homepage (Wir stellen ein Repository zur Verfügung.)
  • Sehr einsteigerfreundlicher Vortrag zu git Grundkonzepten.
  • Interaktive Website zum Lernen von branching-Konzepten.

Javadoc

  • Javadoc Homepage 19
    Homepage des Javadoc Werkzeugs. Enthält Referenzen auf Dokumentation, etc.
  • Howto: @pre, @post und @inv tags in Javadoc
    Kurze Anleitung, wie man in javadoc die Tags @pre, @post und @inv definieren und das Ganze aus Netbeans, Eclipse, Maven und Ant heraus benutzen kann. Das Repository, das den Gruppen initial zur Verfügung steht, enthält bereits die erforderlichen Anpassungen für gradle (in der build.gradle Datei).

Java

Testen

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

Build-Tools

  • Gradle 
    Ein Java-basiertes, vielseitiges Build-Tool mit guten Voreinstellungen für Java-Projekte.

Persistenz

  • Java Serialisierung
    Von Java bereitgestelltes Interface zum Serialisieren von Java-Objekten.
  • Java XStream
    Eine externe Bibliothek zur Serialisierung von Java-Objekten in und aus XML-Dateien.
  • ORMLite
    Leicht zu bedienende Datenbank-API. (Ein Beispiel zur Verwendung ist im Learnweb zu finden.)
  • SQLite, MySQL oder PostgreSQL
    Freie DBMS. (Von der Verwendung wird abgeraten.)

Dokumentation und Tutorials

UML

Java und JavaFX

Persistenz

Testen