Johannes Gutenberg Universität Mainz Bild Seitenkopf
Johannes Gutenberg Universität Mainz
Homepage dieser Website Google-Suche Alle Seiten von A bis Z Kontakt
 

 

Einführung in die Softwareentwicklung (Sommersemester 2008)

Softwaresysteme werden i. Allg. heute nach objektorientierten Ansätzen entwickelt. Diese Vorlesung führt in die Grundlagen der Entwicklung objektorientierter Systeme ein und erprobt diese am praktischen Beispiel.

Ausgehend vom Einsatz objektorientierter Modellierungsmethoden zur Beschreibung von Softwaresystemen (hier UML) wird die Realisierung, die Dokumentation und der Test des Systems vermittelt. Die Realisierung erfolgt in einer objektorientierten Programmiersprache (hier Java) unter Verwendung relevanter Bibliotheken für Standardtypen (Collections) und graphische Benutzungsschnittstellen (Swing).

Der praktische Anteil der Veranstaltung wird durch Software- Entwicklungswerkzeuge (hier Eclipse, SVN, JavaDoc, JUnit) unterstützt.

Eintrag im kommentierten Vorlesungsverzeichnis

  • (AD 2008-08-25) Die Einsicht der Klausur ist Donnerstag, 28.08. um 13.00 im Raum 05-522!
  • (AD 2008-06-17) Aufgrund der hohen Studierendenzahl verteilen wir die Klausurteilnehmer auf zwei Termine (gleicher Tag, unterschiedliche Zeiten).
    Zur Klausur zugelassene Studierende in den Montags-Übungsguppen (Übung 1, Übung 2, Übung 3, Übung 4) schreiben am 10.07.2008 im N1 (Muschel) von 12.00 s.t. bis 14.00 und zugelassene Studierende der Dienstags-Übungsgruppen (Übung 5, Übung 6, Übung 7) schreiben am 10.07.2008 im N2 (Muschel) von 14.00 s.t. bis 16.00.
    Eine Zulassungsbenachrichtigung erfolgt bis zum 2. Juli per Email oder durch den Übungsgruppenleiter.
  • (AW 2008-04-30) Hinweise zum Programmierpraktikum am 5. Mai 2008:
    Das Programmierpraktikum findet im Rechnerpool in Raum 04-220 statt. Inhalt des freiwilligen Praktikums wird es in erster Line sein, den Umgang mit Objekten in Java-Programmen zu diskutieren. Das Praktikum ist explizit für diejenigen sinnvoll, die in der letzten Übung mit der Definition der Klassen Probleme hatten. Wir werden daher an einem kleinen Beispiel noch mal ein Objektgeflecht genauer untersuchen, Entwurfsunterschiede diskutieren, und Teilaspekte implementieren. Die Teilnehmer der Montags-Übungsgruppen gehen bitte zu Ihrem jeweiligen Übungstermin in Raum 04-220, die Teilnehmer der Dienstags-Übungsgruppen teilen sich bitte auf diese Übungsgruppen auf. Dienstags gibt es aufgrund einer Konferenzexkursion, an der auch die Tutoren teilnehmen, keinen Übungsbetrieb.
  • (AW 2008-04-24) Übungstermine in den nächsten 2 Wochen:
    • 28./29 April 2008: Programmierkonventionen, Umgang mit Eclipse/SVN
    • 5. Mai 2008: freiwilliges Programmierpraktikum
    • 6. Mai 2008: keine Übungen
  • (AW 2008-04-14) Die Vorlesung beginnt am Donnerstag, 17. April 2008, 14:15 in N2. Der Übungsbetrieb beginnt am Montag/Dienstag, 21/22. April 2008 mit der Einteilung der Kleingruppen.

Vorlesung Dr. Andreas Winter Donnerstags, 14:15-15:45 N2
Übung 1 Andreas Fuhr Montags, 8:15-9:45 05-522
Übung 2 Andreas von Dziegielewski Montags, 10:15-11:45 05-522
Übung 3 Mahdi D-Manesh Montags, 12:15-13:45 04-224
Übung 4 Philipp Kepplinger Montags, 12:15-13:45 05-522
Übung 5 Sascha Metz Dienstags, 14:15-15:45 04-224
Übung 6 Jens Dittrich Dienstags, 14:15-15:45 04-230
Übung 7 Michael Weimann Dienstags, 16:15-17:45 04-224
Klausur Donnerstag, 10.07.2008, 14:00-16:00 N2
Hinweis: Die o.g. Übungsgruppen haben ihre maximale Teilnehmerzahl erreicht. Alle Studierene, die bislang keiner Gruppe zugeordnet sind wenden sich bitte persönlich an Dr. Andreas Winter.  
Die Teilnahme an der Klausur wird erreicht durch
  1. rechtzeitige Anmeldung zu Vorlesung und Übung  und

    Anmeldung zur Veranstaltung bis zum 18. April 2008
    Anmeldung zu Übungsgruppen bis zum 18. April 2008, nach Anmeldung zur Veranstaltung
    Anmeldung zu Kleingruppen zur Bearbeitung der Übungsaufgaben 21./22. April 2008 in den Übungen

    (Die Abmeldung von der Veranstaltung ist bis zum 01.06.2008 möglich)

  2. aktive Teilnahme bei den Übungen (Anwesenheitspflicht bei allen Übungen, mit einer Ausnahme) und 
  3. Erreichen von 60 % der erreichbaren Punkte der Übungsblätter und 
  4. Bearbeiten von allen Übungsblättern, mit einer Ausnahme (Hinweis: Die Übungsblätter bauen aufeinander auf) und
  5. Vorführen der Lösung in der Übungsstunde: Jeder Teilnehmer muß mindestens einmal in der Übungsgruppe auf Aufforderung durch den Tutor die eigene Lösung vorstellen. Nichterfüllen dieser Regelung hat Punktabzug für den Teilnehmer bei den Übungsaufgaben zur Folge.

Hinweis: Am 03. Juni 2008 angemeldete Teilnehmer, die mindestens eines der Kriterien 2-5 nicht erfüllen gelten als bei der Klausur durchgefallen.

Folien zur Vorlesung werden in der Regel im Anschluss an die Vorlesung bereitgestellt.
  • 17.04.2008 Folien
    • Organisatiorisches
      • Termine
      • Zielsetzung
      • Literatur
    • 1 Einführung
      • Prozessmodelle der Softwareentwicklung
      • Beispielszenario für die Vorlesung
      • Java Grundlagen (Wiederholung)
  • 24.04.2008 Folien
    • 2 Objektorientierung
      • Grundlagen der Objektorientierung
      • Vorgehen zur objektorientierten Softwareentwicklung
    • 3 Modellierungsmittel
      • Objektdiagramme
  • 08.05.2008 Folien
      • Klassendiagramme
        • Modellierungskonzepte
        • Verwendung von Klassendiagrammen
  • 15.05.2008 Folien
    • 4 Objektorientierte Implementierung
      • Klassen
      • Assoziationen
  • 29.05.2008 Folien
      • Generalisierung
        • Klassen-Vererbung
        • Interface-Vererbung
        • Anwendungsbeispiel
  • 05.06.2008 Folien
    • 5 Testen
      • Testgrundlagen
      • Testfälle und Teststrategien
      • Testen mit JUnit
  • 12.06.2008 Folien
    • Exkurs: Dynamisches und Statisches Binden
    • 6 Entwurfsmuster
      • Strukturmuster
      • Erzeugungsmuster
      • Verhaltensmuster
  • 19.06.2008 Folien
    • 7 Ausnahmebehandlung
      • Ausnahmen behandeln
      • Fehlerklassen verwenden und definieren
      • Ausnahmen signalisieren
    • 8 Serialisierung
  • 26.06.2008 Folien
    • 9 Collections
      • traditionelle Collections
      • Collection Framework
      • generische Collections (Collection-Framework Java 5)
  • 03.07.2008 Folien
    • 10 GUI Entwicklung
      • Interaktionen
      • GUI-Dialoge
Die Übungsaufgaben werden in elektronischer Form (pdf) donnerstags ab 16 Uhr hier bereitgestellt. Die Löungen zu den Aufgaben sind in entsprechenden Projekten des SVN-Repositories abzulegen und werden am Abgabetermin (jeweils Donnerstags) um 14:00 vor der Vorlesung zur Korrektur aus dem Repository entnommen.
  • Präsenzübungsblatt 1 (Subversion, File-IO):
    • Aufgaben
    • Ausgabe: 18.04.2008
    • Abgabe: keine, da das Blatt in der Übung erarbeitet wird
    • Zusatzmaterial: Filmtitel.csv
  • Übungsblatt 1 (Subversion, File-IO):
    • Aufgaben
    • Ausgabe: 24.04.2008
    • Abgabe: 08.05.2007, (Teilaufgabe 1.2. vor Übung 28./29.4. im SVN)
    • Zusatzmaterial: MovieList.csv (0. Update 24.04.2008)
    • Update: -
  • Präsenzübungsblatt 2 (Objektdiagramme):
    • Aufgaben
    • Ausgabe: 02.05.2008
    • Abgabe: keine, da das Blatt in der Übung erarbeitet wird
    • Musterlösung im EISpublic-Repository!
  • Übungsblatt 2 (Klassendiagramme):
  • Übungsblatt 3 (Klassendiagramme - Entwurfssicht):
  • Präsenzübungsblatt 3 (Umsetzung von Klassendiagrammen):
    • Aufgaben
    • Ausgabe: 26.05.2008
    • Abgabe: keine, da das Blatt in der Übung erarbeitet wird
  • Übungsblatt 4 (Generalisierung):
  • Übungsblatt 5 (Testen mit JUnit):
    • Aufgaben
    • Ausgabe: 5.06.2008
    • Abgabe: 12.06.2008, 14 Uhr
  • Übungsblatt 6 (Factory Pattern):
    • Aufgaben
    • Ausgabe: 13.06.2008
    • Abgabe: 20.06.2008, 12 Uhr
  • Übungsblatt 7 (Exceptions, Serialisierung):
    • Aufgaben
    • Ausgabe: 19.06.2008
    • Abgabe: 26.06.2008, 14 Uhr
  • Übungsblatt 8 (Collections):
    • Aufgaben
    • Ausgabe: 26.06.2008
    • Abgabe: 3.07.2008, 14 Uhr
  • Public-Repository

    Manche Materialien, wie Testdaten für die Übungsaufgaben, Beispielprogramme oder Musterlösungen werden wir in einem Subversion-Projekt zur Verfügung stellen.

    Downloads

    • Java: Java JDK
    • Eclipse: Eclipse 3.3.2
    • Subversion: Installationspakete
    • Modellierungswerkzeuge für UML-Diagramme:

      Für die Erstellung der UML-Diagramme für die Übungsabgaben treffen wir keine Vorgaben, welches Programm dafür zu verwenden ist. Eine kleine Auswahl der verfügbaren Programme haben wir hier zusammengestellt, wobei wir sie nach Erfahrungsberichten von Teilnehmern als gut geeignet oder nicht geeignet für den Einsatz in dieser Veranstaltung sortiert haben.

      • Gut geeignet: Dia (Linux, Windows), BoUML (Linux, Windows, MacOS X), TGif (Linux), objectiF (Windows) eUML2 (Eclipse-Plugin)

      Hinweise zu den UML-Tools:

      Die angegebenen UML-Tools unterstützen teilweise nicht alle Teile des UML-Standards, die wir verwenden. Sollten in den Übungen nicht unterstützte Darstellungen benötigt werden, so ist eine sinnvolle Ersatzdarstellung zu wählen und diese durch einen entsprechenden Kommentar zu dokumentieren. In der Klausur sind natürlich keine Ersatzdarstellungen erlaubt, da dort die Diagramme von Hand erstellt werden.

    Bücher, Artikel, Manuals

    • Guido Krüger: Java-Buch (als online-Version)
    • Reinhard Schiedermeier: Programmieren mit Java (Pearson Studium)
    • Heide Balzert: Lehrbuch der Objektmodellierung, Analyse und Entwurf. 2. Auflage, Elsevier, München, 2005.
    • Götz Schwandtner, Max Trense: svn-howto.pdf (Kurze Einführung in Subversion im Rahmen dieser Veranstaltung, Version 2: Mit Subclipse)
    • Ben Collins-Sussman, Brian W. Fitzpatrick, C. Michael Pilato: Version Control with Subversion (online)
    • Programmierrichtlinien: Folien als PDF-Präsentation.
      Die Richtlinien werden in den Übungen vorgestellt und danach gilt:
      Nach diesen Richtlinien sind die Programme in dieser Veranstaltung zu gestalten. Eine ausführliche Variante (evt. mit Abweichungen von unseren Richtlinien) findet sich bei SUN.

    Support

    Auf den Rechnern in der Windows-Domäne des ZDV befinden sich die Tools auf dem Netzwerklaufwerk \\uni-mainz.de\dfs\groups\08\MI\Technik. Zur leichteren Verwendung der Tools stellen wir hier Batchdateien zur Verwendung unter Windows innerhalb der ZDV-Domäne zur Verfügung:
    • eclipse.bat: Starten von Eclipse - Stellt außerdem wenn nötig Verbindung des Netzwerklaufwerks mit dem Laufwerksbuchstaben Y: her und setzt Pfade für das Java JDK.
    • SVN-Shell.bat: öffnet ein Windows-Kommandozeilen-Fenster, in dem der SVN-Kommandozeilenclient svn ohne weitere Installation verwendet werden kann.
News Homepage-Updates

Institut für Informatik, 14.04.2008   ImpressumImpressum   Zum SeitenanfangZum Seitenanfang