EL-Logo

Software Engineering

SWE

Prof. Dr. Karlheinz Hug

Ziele: Diese Einführung in das weite Gebiet der Softwaretechnologie soll Studierenden Zugänge zur Erstellung komplexer Softwaresysteme eröffnen; ihnen Eindrücke dabei auftretender mentaler, kommunikativer, psychologischer und organisatorischer Probleme vermitteln; begriffliche Grundlagen der Softwaretechnik klären; zu weiterführendem Selbststudium anregen. Die Studierenden sollen dabei softwaretechnische Prinzipien, Konzepte und Methoden kennenlernen; diese anhand konkreter Beispiele praktisch üben; Denkschwierigkeiten bei Analyse, Entwurf und Spezifikation überwinden; in Gruppen kommunizieren und kooperieren; Fähigkeiten zu selbständiger Anforderungsanalyse technisch-wissenschaftlicher Softwaresysteme und ihrer Realisierung in modularer/objektorientierter Form erwerben.
Inhalte: Zunächst werden Fragen der Softwarequalität, Qualitätsmerkmale und Qualitätsmanagement diskutiert. Ablaufmodelle des Softwareentwicklungswegs werden gezeigt. Allgemeine Prinzipien und Konzepte der Softwarekonstruktion wie Abstraktion, Arbeitsteilung, Wiederverwendung, Trennung von Funktion und Struktur, Modularisierung, Lokalisierung, Standardisierung, hierarchische Schichtung, prozedurale Abstraktion und Datenabstraktion bilden die Grundlage für anschließend behandelte Entwicklungsmethoden. Ausgewählte Notationen und Techniken der Modellierung werden in Beispielen verwendet. Der Schwerpunkt liegt bei objektorientierten Konzepten und Techniken, insbes. für Analyse, Spezifikation und Entwurf. Zu behandelten Aspekten gehören Klassen und Objekte, einfache und mehrfache Vererbung, Kompositions-, Aggregations- und Assoziationsbeziehungen und ihre Abbildung auf programmiersprachliche Konstrukte, wo die "ist-ein/verhält-sich-wie-ein"- und wo die "hat-ein"-Beziehung angebracht ist, Polymorphie, generische und abstrakte Klassen, Spezifikation von Klassen mit Zusicherungen auf Basis des Kunden-Lieferanten-Modells.
Voraussetzungen: Informatik 1, Informatik 2, Informatik 3.
Lehrmethoden: Vorlesung mit integrierten Übungen. Das Lehrmaterial besteht aus einem Skript, Folien, Beispielprogrammfragmenten und Übungsblättern. Es wird in gedruckter Form verteilt. Die Studierenden bearbeiten die Übungsaufgaben. Die Vorlesung schließt praktische Teile ein, bei denen Studierende in kleinen Gruppen gemeinsam an Anforderungsanalyse, Systemmodellierung und Entwurf von Beispielprojekten arbeiten und dazu Dokumente erstellen.
Literatur: B.-U. Pagel, H.-W. Six: Software Engineering. Band 1: Die Phasen der Softwareentwicklung Addison-Wesley, Bonn (1994)

G. Pomberger, G. Blaschek: Grundlagen des Software Engineering. Prototyping und objektorientierte Software-Entwicklung Hanser, München (1993)

I. Sommerville: Software Engineering Addison-Wesley, Bonn (1992) 4th ed.

G. Booch: Object-Oriented Analysis and Design with Applications Benjamin/Cummings Publishing, Redwood City (1994) 2nd ed.

P. Coad, E. Yourdon: Object-Oriented Analysis Yourdon Press, Prentice Hall (1990)

P. Coad, E. Yourdon: Object-Oriented Design Yourdon Press, Prentice Hall (1991)

I. Graham: Object-Oriented Methods Addison-Wesley, Bonn (1994) 2nd ed.

B. Henderson-Sellers, J. Edwards: Book Two of Object-Oriented Knowledge: The Working Object. Object-Oriented Software Engineering: Methods and Management Prentice Hall, Englewood Cliffs (1994)

B. Henderson-Sellers: A Book of Object-Oriented Knowledge. Object-Oriented Analysis, Design and Implementation: A new approach to software engineering Prentice Hall, Englewood Cliffs (1992)

I. Jacobson: Object-Oriented Software Engineering. A Use Case Driven Approach Addison-Wesley, Bonn (1993) revised 4th printing

K. Kilberth, G. Gryczan, H. Züllighoven: Objektorientierte Anwendungsentwicklung. Konzepte, Strategien, Erfahrungen Vieweg, Braunschweig (1994) 2. verbess. Aufl.

B. Meyer: Object Success. A Manager's Guide to Object Orientation, its Impact on the Corporation, and its Use for Reengineering the Software Process Prentice Hall, Englewood Cliffs (1995)

B. Meyer: Object-oriented Software Construction Prentice Hall, Englewood Cliffs (1997) 2nd ed.

H. A. Neumann: Objektorientierte Entwicklung von Software-Systemen. Konzepte, Notationen, Einführung in die praktische Anwendung Addison-Wesley, Bonn (1995)

J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen: Objektorientiertes Modellieren und Entwerfen Hanser, München (1993)

K. Walden, J.-M. Nerson: Seamless Object-Oriented Software Architecture. Analysis and Design of Reliable Systems Prentice Hall, Englewood Cliffs (1995)

Status: Pflichtfach, 7. Semester.
Dauer: 4 SWS
Prüfung: Schriftliche Klausur von 2 Stunden Dauer am Ende des 7. Semesters.