Informatik C: Objekt- und Komponentenbasierte Softwaretechnik
 
Art der Veranstaltung: Vorlesung
Stunden: 4+2
Dozent: Martin Gieseking
Übungsleiter: Die Übungen werden dieses Semester von den Tutoren durchgeführt.
Aufgabenblätter: Marcus Lunzenauer
Tutoren: Florian Bruns, Niklas Hoppe, Jochen Sprickerhof, Ewgeni Wolowik
Mailingliste: cinf@informatik.uni-osnabrueck.de
Ort und Zeit:
Dienstag16:15 – 17:45Raum 31/449a
Donnerstag16:15 – 17:45Raum 31/449a
Ort und Zeit Übung:
Montag10:15 – 11:45Raum 31/449a (Gruppe 1)
Freitag08:30 – 10:00Raum 31/449a (Gruppe 2)
Beginn: Dienstag, 12. Oktober 2004 (erste Übung am 18. Oktober)
Inhalt: Die Vorlesung vermittelt Grundkenntnisse objektorientierter Softwaretechnologie (UML, Modellierung, Entwurfsmuster, systematische Code-Restrukturierung). Darauf aufbauend werden die Konstruktion graphischer Benutzungsoberflächen (Java AWT und Swing) sowie Technologien für verteilte Anwendungen (RMI, CORBA, Servlets, JSP) behandelt. Ein weiterer Schwerpunkt liegt auf der XML-Datenmodellierung und deren Transformationen mittels XSLT.
Alle Übungen und Beispiele verwenden die Programmiersprache Java.

Die behandelten Konzepte werden durch wöchentliche Programmieraufgaben eingeübt und vertieft.

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 verwiesen.

Literatur: Besonders empfohlene Bücher in jedem Themenbereich sind 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)
  • A. Hunt, D. Thomas: The Pragmatic Programmer, Addison-Wesley, 1999.
    Tolles Buch zur Software-Entwicklung. In sehr kurzen Abschnitten werden auf unterhaltsame Weise handwerkliche und soziale Konzepte diskutiert, die jeder Programmierer und Projektmanager beherzigen sollte.

UML - Einstieg/Überblick

  • Martin Fowler: UML distilled. Addison-Wesley, third edition, 2003.
    Eine exzellente Zusamenfassung der wichtigsten Notationen der UML. Die dritte Auflage berücksichtigt UML 2.

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

  • Mario Jeckle et al.: UML 2 glasklar. Hanser Fachbuchverlag, 2003.
    Ausführliche Beschreibung der UML 2, gutes Nachschlagewerk.
  • Grady Booch, Ivar Jacobson, James Rumbaugh: The Unified Modeling Language User Guide. Addison-Wesley, 1999.
    Ausführliche Beschreibung der UML von den "Drei Amigos", den Vätern der Modellierungssprache.
  • 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
    Der Klassiker zum Thema Entwurfsmuster von der "Gang of Four". Soviel sollte man mindestens über Design Patterns wissen.
  • E. Gamma, R. Helm, R. Johnson, J. Vlissides: Entwurfsmuster. Addison-Wesley 1995
    Bedingt gelungene deutsche Übersetzung des obigen.
  • W. J. Brown et al.: Anti Patterns – Refactoring Software, Architectures, and Projects in Crisis, 1998, J. Wiley & Sons.

Refactoring

  • Martin Fowler, Kent Beck: Refactoring. Addison-Wesley 1999.
    Gute Einführung und Nachschlagewerk. Inzwischen Standard-Referenz zum Thema.
    Die ebenfalls bei Addison-Wesley erschienene deutsche Fassung des Buchs ist aufgrund der halbherzigen, schlecht lesbaren Übersetzung nicht zu empfehlen.

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.

XML, XSLT

  • Brett McLaughlin: Java & XML, 2002, O'Reilly.
  • Michael Kay: XSLT Programmer's Reference, 2nd Edition, 2001, Wrox.
  • Dough Tidwell: XSLT – Mastering XML Transformations, 2001, O'Reilly.
  • Eric M. Burke: Java & XSLT, 2001, O'Reilly.
  • Sal Mangano: XSLT Cookbook, 2002, O'Reilly.
Links: Eine kleine Sammlung interessanter Links zu den Themen der Vorlesung.
Termine:
WocheDienstagThemaDonnerstagThema
42. 12.10.2004Organisatorisches, Einführung, Eclipse 14.10.2004Wiederholung OOP
43. 19.10.2004Prozessmodelle 21.10.2004Modultests und JUnit
44. 26.10.2004UML (1) 28.10.2004UML (2)
45. 02.11.2004UML (3) 04.11.2004Objektorientierte Modellierung, DBC
46. 09.11.2004Entwurfsmuster (1) 11.11.2004Entwurfsmuster (2)
47. 16.11.2004Entwurfsmuster (3) 18.11.2004keine Vorlesung
48. 23.11.2004Refactoring (1) 25.11.2004Refactoring (2)
49. 30.11.2004Komponenten 02.12.2004JavaBeans
50. 07.12.2004GUIs (1) 09.12.2004GUIs (2)
51. 14.12.2004keine Vorlesung 16.12.2004GUIs (3)
52. 21.12.2004Weihnachtsferien 23.12.2004Weihnachtsferien
53. 28.12.2004Weihnachtsferien 30.12.2004Weihnachtsferien
1. 04.01.2005Weihnachtsferien 06.01.2005Weihnachtsferien
2. 11.01.2005Netzwerkkommunikation, RMI 13.01.2005CORBA/IDL
3. 18.01.2005Servlets, JSP (1) 20.01.2005Servlets, JSP (2)
4. 25.01.2005XML, DTD, SAX und JDOM 27.01.2005XPath und XSLT (1)
5. 01.02.2005keine Vorlesung 03.02.2005XPath und XSLT (2), Java Web Start
6. 08.02.2005Klausurvorbereitung 10.02.2005Klausur:16:00–18:00, Raum 32/102

An den grau hinterlegten Terminen findet keine Vorlesung statt.

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.