UML-Zustandsdiagramme von Java-Klassen auf der Basis des 2016-04-14¢  Diplomarbeit...

download UML-Zustandsdiagramme von Java-Klassen auf der Basis des 2016-04-14¢  Diplomarbeit UML-Zustandsdiagramme

of 117

  • date post

    21-Apr-2020
  • Category

    Documents

  • view

    0
  • download

    0

Embed Size (px)

Transcript of UML-Zustandsdiagramme von Java-Klassen auf der Basis des 2016-04-14¢  Diplomarbeit...

  • Diplomarbeit

    UML-Zustandsdiagramme von Java-Klassen auf der Basis des

    Vertragsmodells

    MATTHIAS WITT

    April 2003

    Betreuer:

    PROF. DR.-ING. HEINZ ZÜLLIGHOVEN*

    DR. DANIEL MOLDT**

    Universität Hamburg Fachbereich Informatik

    *Arbeitsbereich Softwaretechnik ** Arbeitsbereich Theoretische Grundlagen der Informatik

    Vogt-Kölln-Straße 30, 22527 Hamburg

  • Inhaltsverzeichnis

    1 Einleitung 1 1.1 Zielsetzung........................................................................................................................1 1.2 Aufbau der Arbeit.............................................................................................................2

    2 Zustandsdiagramme 5 2.1 Die Idee der Zustandsdiagramme.....................................................................................5 2.2 Die Syntax von Zustandsdiagrammen..............................................................................5

    2.2.1 Zustände................................................................................................................5 2.2.2 Transitionen...........................................................................................................6 2.2.3 Anfangs- und Endzustände....................................................................................8 2.2.4 Sequenzielle Unterzustände..................................................................................8 2.2.5 Parallele Unterzustände.........................................................................................9 2.2.6 Gedächtniszustände.............................................................................................10 2.2.7 Nebenläufige Transitionen..................................................................................11 2.2.8 Entscheidungsknoten...........................................................................................11 2.2.9 Synchronisationszustände...................................................................................12

    3 Zustandsdiagramme im Kontext der Objektorientierung 13 3.1 OMT-Zustandsdiagramme..............................................................................................13 3.2 Objectcharts....................................................................................................................14 3.3 OO-Zustandsdiagramme................................................................................................. 17 3.4 UML-Zustandsdiagramme..............................................................................................18

    4 Beschreibung von Objektzuständen mit dem Vertragsmodell 21 4.1 Einführung in das Vertragsmodell..................................................................................21

    4.1.1 Vorbedingungen.................................................................................................. 21 4.1.2 Nachbedingungen................................................................................................23 4.1.3 Invarianten...........................................................................................................24 4.1.4 Zusicherungen bei Vererbung.............................................................................25

    4.2 Zusicherungen und Objektzustände................................................................................26 4.2.1 Prädikate..............................................................................................................26 4.2.2 Vor- und Nach-Prädikate.....................................................................................26 4.2.3 Parameter-Prädikate............................................................................................28 4.2.4 Zustands-Prädikate..............................................................................................29 4.2.5 Objektzustände.................................................................................................... 30 4.2.6 Prädikate mit Seiteneffekten...............................................................................32 4.2.7 Änderungssemantiken.........................................................................................33 4.2.8 Einfluss von Invarianten......................................................................................35 4.2.9 Nicht verwendete Elemente von Zustandsdiagrammen......................................37

    5 Von den Zusicherungen zum Zustandsdiagramm 39 5.1 Die Beispielklasse...........................................................................................................39 5.2 Erzeugen des Zustandsdiagramms..................................................................................40

    5.2.1 Einteilung der Prädikate......................................................................................41 5.2.2 Die Zustände........................................................................................................41 5.2.3 Modellierung der Zusicherungen........................................................................42 5.2.4 Mathematische Grundlagen.................................................................................43 5.2.5 Die Transitionen.................................................................................................. 44

  • Inhaltsverzeichnisiv

    5.2.6 Unerreichbare Zustände.......................................................................................47 5.2.7 Das Zustandsdiagramm der Beispielklasse..........................................................47 5.2.8 Entscheidungsknoten...........................................................................................48 5.2.9 Sequenzielle Unterzustände.................................................................................49 5.2.10 Parallele Unterzustände.......................................................................................50

    5.3 Vererbung........................................................................................................................52 5.3.1 Vererbung von Verhalten.....................................................................................53 5.3.2 Zustandsdiagramme von Unterklassen................................................................56 5.3.3 Ergebnisse in Bezug auf Vererbung von Verhalten.............................................63 5.3.4 Auswirkungen auf Polymorphie..........................................................................66

    6 Vom Zustandsdiagramm zu den Zusicherungen 71 6.1 Das Beispieldiagramm....................................................................................................71 6.2 Erzeugen der Zusicherungen...........................................................................................72

    6.2.1 Umwandlung in ein flaches Zustandsdiagramm..................................................72 6.2.2 Einteilung der Prädikate.......................................................................................73 6.2.3 Finden einer Invariante........................................................................................73 6.2.4 Finden der Vorbedingungen................................................................................73 6.2.5 Finden der Nachbedingungen..............................................................................74 6.2.6 Die Zusicherungen zum Beispieldiagramm.........................................................76

    6.3 Round-Trip Engineering.................................................................................................77

    7 Der Statechartgenerator 81 7.1 Integration in JBuilder.....................................................................................................81 7.2 Die Optionen...................................................................................................................83 7.3 Die Generierungsprozesse...............................................................................................86

    7.3.1 Die Generierung des Zustandsdiagramms...........................................................86 7.3.2 Die Generierung der Zusicherungen....................................................................87

    7.4 Effizienzbetrachtungen...................................................................................................88

    8 Bezug zur Praxis 91 8.1 Ein Fallbeispiel................................................................................................................91 8.2 Untersuchung der JWAM-Klassen.................................................................................94

    8.2.1 Anzahl der Prädikate............................................................................................94 8.2.2 Qualitative Aspekte..............................................................................................95 8.2.3 Schreibfehler in den Zusicherungen....................................................................97

    8.3 Einordnung in andere Ansätze........................................................................................99

    9 Zusammenfassung 101 9.1 Zusammenfassung der Vorgehensweisen.....................................................................101 9.2 Ergebnisse für die Softwareentwicklungspraxis...........................................................102 9.3 Grenzen und Schwachstellen des Verfahrens...............................................................103

    Literaturverzeichnis 105

    URL-Verzeichnis 109

    Erklärung 111

  • Abbildungsverzeichnis

    Abbildung 1.1: Zur Terminologie......................................................................