Analyse und Design objektorientierter Softwaresysteme mit UML

Lecturers:Kips, D.
Coverage:2 SWS (4 ECTS)
Dates & location:
  • Tuesday, 08:00 - 10:00, H10
Audience:WPF CE-BA (at 4. Semester)
WPF CE-MA (at 6. Semester)
WPF INF-DH-SWE (6.-8. Semester)
WF INF-DH-PS (6.-8. Semester)
Literature:
  • Fowler, M.: UML Distilled - a Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 2003
  • Rumbaugh, J.; Booch, G.; Jacobson, I.: The Unified Modeling Language Reference Manual, Addison-Wesley, 2004
  • Born, M.; Holz, E.; Kath, O.: Softwareentwicklung mit UML 2, Addison-Wesley, 2004
  • Rupp, C.; Hahn, J.; Queins, S.; Jeckle, M.; Zengler, B.: UML 2 glasklar, Carl Hanser Verlag, 2004
  • Hitz, M.; Kappel, G.; Kapsammer, E.; Retschitzegger, W.: UML @ work , 3., aktualisierte und überarbeitete Auflage, dpunkt-Verlag, 2005
  • Winter, M.: Methodische objektorientierte Softwareentwicklung, dpunkt-Verlag, 2005
  • Störrle, H.: UML 2 erfolgreich einsetzen, Addison-Wesley, 2007

Die einschlägige Originalliteratur zur UML findet man auf der Website der Object Management Group ( http://www.omg.org ), hier insbesondere:

Topics:

In den letzten Jahren hat die OMG ("Object Management Group") mit der sogenannten "Unified Modeling Language" (UML) den weltweit akzeptierten Defacto-Standard einer Modellierungsnotation für Analyse und Entwurf objektorientierter Softwaresysteme geschaffen. Mit einem reichhaltigen Repertoire an graphischen und textuellen Ausdrucksmöglichkeiten bietet die UML ihrem Anwender die Möglichkeit, die Anforderungen an das zu entwickelnde Zielsystem zu definieren und in einem Prozess der schrittweisen Verfeinerung die statischen und dynamischen Systemeigenschaften sowie die Systemarchitektur halbformal zu spezifizieren.

Ziel dieser Vorlesung ist es, die Studierenden mit Syntax und Semantik der UML vertraut zu machen und zu demonstrieren, wie die UML im Rahmen eines "typischen" Softwareentwicklungsprozesses angewendet werden kann. Zu diesem Zweck werden die verschiedenen Diagrammtypen und Notationselemente der UML schrittweise eingeführt und anhand eines durchgängigen Anwendungsbeispiels im Rahmen eines konkreten Vorgehensmodells über alle Entwicklungsphasen hinweg eingesetzt.

Im einzelnen werden im Rahmen dieser Vorlesung die folgenden Themenkreise behandelt sowie in den Übungen anhand eines durchgängigen Praxisbeispiels erarbeitet:

OOAD mit UML: Einführung und Überblick

  • Phasen der Software-Entwicklung, Lebenszyklusmodelle
  • UML: Historie und Zielsetzungen
  • UML: Syntaktische Grobstruktur
  • Einführung eines durchgängigen Anwendungsbeispiels

Anforderungsdefinitionsphase

  • Verhaltensdiagramme im Überblick
  • Anwendungsfalldiagramme
  • Anforderungsdefinition mit Anwendungsfällen
  • Aktivitätsdiagramme (Grundlagen)
  • Spezifikation von externen Szenarien und Workflows

Analysephase

  • Objekte und Klassen, Attribute und Operationen
  • Identifikation von Klassenkandidaten
  • Analyse des Problembereichs mit CRC-Cards
  • Verknüpfungen, Assoziationen, Aggregationen
  • Erstellung eines initialen Klassendiagramms
  • Interaktionsdiagramme (Grundlagen)
  • Interaktionen und Kollaborationen
  • Spezifikation von internen Szenarien
  • Generalisierung/Spezialisierung, Klassifikation und Vererbung
  • Ergänzung und Verfeinerung des Klassendiagramms

Designphase

  • Abgeleitete Elemente, Constraints, OCL
  • Stereotypen, Abhängigkeitsbeziehungen
  • Pakete und Paketdiagramme
  • Realisierungsbeziehungen und Schnittstellen
  • Exkurs: Das UML2 Metamodell
  • Kompositionsstrukturdiagramme
  • logische und physische Systemarchitektur
  • Komponentendiagramme
  • Einsatzdiagramme
  • Interaktionsübersichtsdiagramme
  • Sequenzdiagramme
  • Zeitdiagramme
  • Kommunikationsdiagramme
  • Kommunikation und Synchronisation aktiver Objekte
  • Zustandsdiagramme, Spezifikation von Objektlebenszyklen
  • Aktivitätsdiagramme zur Spezifikation von Operationen
watermark seal