|
|
|
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
-
rechtzeitige Anmeldung zu Vorlesung und Übung und
(Die Abmeldung von der Veranstaltung ist bis zum 01.06.2008 möglich)
- aktive Teilnahme bei den Übungen (Anwesenheitspflicht bei allen Übungen, mit einer Ausnahme) und
- Erreichen von 60 % der erreichbaren Punkte der Übungsblätter und
- Bearbeiten von allen Übungsblättern, mit einer Ausnahme
(Hinweis: Die Übungsblätter bauen aufeinander auf) und
- 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
-
08.05.2008 Folien
-
- Klassendiagramme
- Modellierungskonzepte
- Verwendung von Klassendiagrammen
-
15.05.2008 Folien
- 4 Objektorientierte Implementierung
-
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.
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.
|
Homepage-Updates
|