Informatik C: Objekt- und Komponentenbasierte Softwaretechnik
 
Art der Veranstaltung: Vorlesung
Stunden: 4+2
Dozent: Günter Kniesel
Übungsleiter: Elmar Ludwig
Tutoren: Michael Elbers, Niklas Hoppe, Sven Kerkling, Stefan Scherbaum
Mailingliste: cinf@informatik.uni-osnabrueck.de
Ort und Zeit:
Montags16:15 - 17:45Raum 31/449a
Mittwochs12:30 - 14:00Raum 31/E06
Ort und Zeit Übung:
Montags12:30 - 14:00Raum 31/449a (Gruppe 1)
Montags18:00 - 19:30Raum 31/449a (Gruppe 2)
Beginn: Montag, 13. Oktober 2003 (erste Übung am 20. Oktober)
Inhalt: Die Vorlesung vermittelt Grundkenntnisse objekt-orientierter Softwaretechnologie (UML, Modellierung, Entwurfsmuster, systematische Code-Restrukturierung). Darauf aufbauend werden Komponententechnologien (Java Beans, Enterprise Java Beans, CORBA CCM), die Konstruktion graphischer Benutzungsoberflächen (Java AWT und Swing) und Technologien für verteilte Anwendungen (Servlets, JSP, Sockets, RMI, CORBA ORB) behandelt. Alle Übungen und Beispiele verwenden die Programmiersprache Java.
Unterlagen: Die Unterlagen werden im Laufe des Semesters zusammengestellt und wöchentlich überarbeitet/ergänzt.

Bis zur Fertigstellung wird auf die Unterlagen vom letzten Jahr sowie die Unterlagen zur Vorlesung Software-Engineering verwiesen.

Literatur: Besonders empfohlene Bücher in jedem Themenbereich sind rot hervorgehoben.

Software Engineering allgemein

  • B. Brügge, A.H. Dutoit: Object-oriented Software Engineering, Prentice Hall 2000.
  • B. Oestereich, Objektorientierte Softwareentwicklung, Oldenbourg, 1998 (Ergänzung)
  • H. Balzert: Lehrbuch der Software-Technik, 2. Auflage, Spektrum Akademischer Verlag, 2000 (Vertiefung. Sehr umfassend.)
  • F.P. Brooks: The Mythical Man-Month, Addison Wesley, 1975 (Hintergrundlektüre)
  • T. DeMarco: Der Termin, Hanser Verlag, 1998 (Hintergrundlektüre)

UML - Einstieg/Überblick

  • Martin Fowler, Kendall Scott: UML distilled. Addison-Wesley, second edition, 1999.
    Eine exzellente Zusamenfassung der wichtigsten Notationen der UML.

UML - Vertiefung (Nachschlagewerke, als alleinige Einführungen ins Thema nur bedingt geeignet, da zu langatmig)

  • Grady Booch, Ivar Jacobson, James Rumbaugh: The Unified Modeling Language User Guide. Addison-Wesley, 1999.
  • James Rumbaugh, Ivar Jacobson, Grady Booch: The Unified Modeling Language Reference Manual. Addison-Wesley, 1999.

Entwurfsmuster ("Design Patterns")

  • E. Gamma, R. Helm, R. Johnson, J. Vlissides: Design Patterns - Elements of Reusable Object-Oriented Software. Addison Wesley 1995, ISBN 0-201-63361-2
    Soviel sollte man mindestens über Entwurfsmuster wissen (da jeder andere am Thema Interessierte auch höchstwarscheinlich mit diesem Buch angefangen hat).
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides: Entwurfsmuster. Addison Wesley 1995
    (bedingt gelungene deutsche Übersetzung des obigen)

Refactoring

  • Martin Fowler, Kent Beck: Refactoring. Addison-Wesley 1999.
    Gute Einführung und Nachschlagewerk. Inzwischen Standard-Referenz zum Thema.

Java allgemein

  • D. Flanagan, Java in a Nutshell, 3rd Edition, 1999, O'Reilly.
  • D. Flanagan, Java Examples in a Nutshell, 2nd Edition, 2000, O'Reilly.
Links: Eine kleine Sammlung interessanter Links zu den Themen der Vorlesung.
Folien: In der PDF-Version sind immer 2 Folien auf einer A4-Seite zusammengefaßt. Alternativ gibt es auch ein "kleines Format" mit 4 Folien pro A4-Seite.
Termine:
WocheMontagThemaMittwochThema
42. 13.10.2003Einführung, Eclipse 15.10.2003OOP (1)
43. 20.10.2003OOP (2) 22.10.2003Unit-Tests (JUnit)
44. 27.10.2003Tests: Coverage, Integration 29.10.2003Make und Ant
45. 03.11.2003UML (1), Together 05.11.2003UML (2)
46. 10.11.2003UML (3) 12.11.2003Aktionstag in Hannover
47. 17.11.2003Modellierung, CRC, DBC 19.11.2003Design Patterns (1)
48. 24.11.2003Design Patterns (2) 26.11.2003Refactoring (1)
49. 01.12.2003Refactoring (2) 03.12.2003KIEL Evaluation, Refactoring (3), Eclipse
50. 08.12.2003Refactoring (4) 10.12.2003keine Vorlesung
51. 15.12.2003Events & Komponenten 17.12.2003Java Beans, Werkzeuge
52. 22.12.2003Weihnachtsferien 24.12.2003Weihnachtsferien
01. 29.12.2003Weihnachtsferien 31.12.2003Weihnachtsferien
02. 05.01.2004Events & GUIs (1) 07.01.2004Events & GUIs (2)
03. 12.01.2004Events & GUIs (3), Together 14.01.2004Netzkommunikation, CORBA
04. 19.01.2004RMI, Verteilte Architekturen 21.01.2004Servlets, JSP
05. 26.01.2004JavaServer Faces (1) 28.01.2004JavaServer Faces (2)
06. 02.02.2004Klausurvorbereitung 05.02.2004 (Do)Klausur (14:00 - 16:00 Uhr)

An den grau hinterlegten Terminen findet keine Vorlesung statt.

Klausur und Nachprüfungen:

Die Klausur zur Vorlesung findet am Donnerstag, den 5.2.2004, um 14:00 Uhr (st) im Raum 32/102 statt.

Die Nachprüfungen finden am Dienstag, den 6.4.2004, und am Mittwoch, den 7.4.2004, im Raum 31/362 statt.

Interessenten für mündliche Nachprüfungen sollten sich bei Astrid Heinze einen Termin geben lassen und sich beim zuständigen Prüfungsamt spätestens bis zum 26.3.2004 anmelden.

Leistungsnachweis:

Als Leistungsnachweis wird generell ein numerisch und ECTS-benoteter Übungsschein vergeben bzw. eine entsprechende Modulprüfungsleistung bescheinigt. Voraussetzung für den Erwerb des Übungsscheins sowie Grundlage für die Note ist die erfolgreiche Teilnahme an der Abschlußklausur (oder einer eventuellen Nachschreibklausur oder Nachprüfung). Zum Bestehen der Klausur müssen mindestens 50% der möglichen Punkte erreicht werden.

Um die Zulassung zu dieser Klausur zu erhalten, ist die erfolgreiche Teilnahme am Übungsbetrieb zur Vorlesung in diesem oder einem der vorhergehenden Semester erforderlich. Als Erfolg gelten hierbei jeweils (einzeln pro Aufgabenblatt) 50% der möglichen Punkte bei n-1 der n Übungsblätter. Auf jedem Übungsblatt sind maximal 20 Punkte zu erreichen. In berechtigten Ausnahmefällen (wie z.B. Krankheit) gibt es Sonderregelungen.

ECTS-Leistungen müssen nach deutschen Kriterien numerisch benotet werden; die Nummern werden dann nach dem vorgegebenen Schlüssel auf die ECTS-Buchstaben abgebildet. Da die Anzahl der ECTS-Credit Points leider vom jeweiligen Studiengang abhängt, wird auf den Leistungsnachweisen nur die Anzahl der Semesterwochenstunden aufgeführt.