Unified Modeling Language. Lerneinheit 2. UML - Diagramme. Prof. Dr. D. Frosch-Wilke Prof. Dr. U. Samberg. überarbeitet UML 2.0



Ähnliche Dokumente
SEQUENZDIAGRAMM. Christoph Süsens

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Unified Modeling Language (UML)

RUP Analyse und Design: Überblick

Klassendiagramm. (class diagram)

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

Software Engineering Interaktionsdiagramme

Vgl. Oestereich Kap 2.7 Seiten

Software-Engineering SS03. Zustandsautomat

Softwaretechnik SS 2006

Geschäftsprozesse: Modellierung und Analyse

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Use Cases. Use Cases

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Produktskizze. 28. November 2005 Projektgruppe Syspect

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

Klausur Software-Engineering SS 2005 Iwanowski

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Übung 4. Musterlösungen

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

Software Engineering I

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

Software-Engineering

Programmieren in Java

Grundlagen der Softwaretechnik

Inventur. Bemerkung. / Inventur

Prozessorganisation Mitschriften aus den Vorlesung bzw. Auszüge aus Prozessorganisation von Prof. Dr. Rudolf Wilhelm Feininger

Unternehmensmodellierung

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

7. Umfangreiche Aufgabenkomlexe können in Teilprojekte zerlegt, und rechnerisch zu einem Gesamtplan zusammengefaßt werden.

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Kurzanleitung bezüglich erforderlicher Rechnungsdaten

Zufallsgrößen und Wahrscheinlichkeitsverteilungen

Kapitel 10 Aktive DBMS

OOA-Dynamische Konzepte

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

GSD-Radionik iradionics Android-App

Techniken der Projektentwicklungen

SWE5 Übungen zu Software-Engineering

Requirements Engineering I

Software Engineering in der Praxis

Zahlungsbedingungen. Auf dieser Seite erfahren Sie, wie wir Ihre Bestellung per Nachnahme bearbeiten und wie die Lieferung und Zahlung erfolgt.

Rhapsody in J Modellierung von Echtzeitsystemen

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

4. Übung zu Software Engineering

Anleitung zum neuen Überaumbuchungssystem der Hochschule für Musik und Tanz Köln

1. Einführung Erstellung einer Teillieferung Erstellung einer Teilrechnung 6

1 topologisches Sortieren

Methoden zur Visualisierung von ereignisdiskreten Analysedaten

Arbeiten mit UMLed und Delphi

4. AuD Tafelübung T-C3

3 gestapeltes säulendiagramm mit excel 2007 und 2010 realisieren

Energetische Klassen von Gebäuden

Anwendungshinweise zur Anwendung der Soziometrie

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

1 Mathematische Grundlagen

WINLINK 2000 SPAM-KONTROLLE UND NACHRICHTEN PRIORITÄTEN Aktualisiert 27. März 2012

Gliederung des Vortrages

7DVWH.HOOQHU. Kassensystem SANYO (X&D6RIWKapitel 42

Waimea Phone Monitor. Handbuch. Anzeige von eingehenden Anrufen auf Telefonanlagen mit TAPI-Interface

WinVetpro im Betriebsmodus Laptop

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Festigkeit von FDM-3D-Druckteilen

How-to: Webserver NAT. Securepoint Security System Version 2007nx

6 Zusammenarbeits-Funktionen (Collaboration)

Bedienung des Web-Portales der Sportbergbetriebe

Konzepte der Informatik

Grundlagen der Theoretischen Informatik, SoSe 2008

Software Engineering in der Praxis

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

Erstellen von x-y-diagrammen in OpenOffice.calc

1 Abs. 1 a Satz 2 Nr. 1 a KWG definiert die Anlageberatung als die

Professionelle Seminare im Bereich MS-Office

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Themenblock 2: Datenmodellierung mit ERM

Statuten in leichter Sprache

(C)opyright 2009 by Jochen Vajda

Online Editor Nachfolgend eine kurze Erklärung unseres Online Editors

R. Brinkmann Seite Schriftliche Übung Mathematik Stochastik II (Nachschreiber) Jan. 2007

Hilfedatei der Oden$-Börse Stand Juni 2014

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Übung bezeichnung titel thema Übungsgruppe gruppennr wochentag uhrzeit namementor vornamementor Student name vorname matrikelnr

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Grundlagen Software Engineering

dikasse Rechnungskunden

Nutzung des Retain-Archivs

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Darstellungsformen einer Funktion

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Transkript:

Lerneinheit 2 UML - Diagramme

Diagramme in der UML Wesentlicher Bestandteil der Modellbildung Graphen, wobei fundamentale Modellelemente (z.b. Klassen, Objekte, Zustände) die Knoten und Beziehungen zwischen den Modellelementen die Kanten bilden Identifikation der Modellelemente und semantische Informationen durch Stringeintragungen und Labeling Ziel: Schnell wesentliche Zusammenhänge sichtbar machen Auslagerung von Detailinformationen in formalisierte Tabellen (nicht durch UML definiert)

Diagrammtypen Use-Case-Diagramm statische Strukturdiagramme: Klassendiagramm, Objektdiagramm, Paketdiagramm Interaktionsdiagramme zur Beschreibung des Informationsaustausches: Sequenzdiagramm, Kommunikationsdiagramm, Zeitdiagramm Zustandsdiagramme zur Beschreibung des Verhaltens: Zustandsdiagramm, Aktivitätendiagramm Architekturdiagramme zur Beschreibung der Implementierung: Komponentendiagramm, Einsatzdiagramm

Interaktionsdiagramme Interaktion = Reaktion von Objekten auf Ereignisse (Botschaften) und dadurch ausgelöste Aktionen, wodurch wiederum Ereignisse für andere Objekte ausgelöst werden können Interaktionsdiagramme stellen die Interaktionen zwischen den beteiligten Objekten dar drei Darstellungsformen: Sequenzdiagramm Kommunikationsdiagramm Zeitdiagramm

Zustandsdiagramme Darstellung des inneren dynamischen Verhaltens eines Objektes, das mit anderen Objekten interagiert zwei Darstellungsformen: Zustandsübergangsdiagramm (state chart diagram) Aktivitätendiagramm (activity diagram)

Architekturdiagramme Darstellung des physikalischen Entwurfs (Modularisierung, Konfigurierung) eines Systems zwei Darstellungformen: Komponentendiagramm (component diagram) Einsatzdiagramm (deployment diagram)

Interaktionsdiagramme Bestandteile Objekte, die an der Interaktion beteiligt sind Angaben zum Lebenszyklus der beteiligten Objekte Kommunikationspfade und Botschaften zwischen den beteiligten Objekten Reaktionen der Empfängerobjekte auf eingehende Botschaften Reihenfolge der Botschaften

Lerneinheit 2 Sequenzdiagramm

Sequenzdiagramm Definition Interaktionsdiagramm, das die zeitliche Sequenz (Reihenfolge) der Interaktionen von Objekten betont Die Botschaften werden in zeitlicher Ordnung als gerichtete Verbindungen zwischen den Lebenslinien der Objekte dargestellt

Sequenzdiagramm Auftragserteilung durch Neukunden :Kunde :Verkäufer :Controller Scripts: Ereignis: Kunde erteilt Auftrag Auftrag Anfrage Bonität (Kunde) Bonität Erzeugung des Objekts Auftrag Bestätigung Ablehnung [Bonität ok] [Bonität nicht ok] [Bonität ok] [auslieferungsfähig] :Auftrag {b. SendTime - a. SendTime = 2 Werktage} a: Lieferung b: Rechnung Zahlung Zahlungseingang

Sequenzdiagramm Einsatzfelder Präzisierung von Anwendungsfall-Szenarien Darstellung des Entwurfs von Interaktionen im DV-System Spezifikation von Echtzeit-Systemen

Sequenzdiagramm Modellelemente (1) Objekte: Horizontale Anordnung am oberen Rand des Diagramms oder Darstellung zum Zeitpunkt der Erzeugung Objekt-Lebenslinien: Vertikale Ausrichtung; kennzeichnen die Existenz und Lebensdauer eines Objektes (Symbol: gestrichelte Linie); Aufspaltung der Lebenslinie bei Aktivitäten des Objekts, die aus alternativen oder sich zeitlich überdeckenden Botschaften resultieren

Sequenzdiagramm Modellelemente (2) Botschaften (als Pfeile zwischen den Lebenslinien dargestellt): Synchroner Operationsaufruf ( ) Asynchroner Operationsaufruf ( ) (UML 1.0 ) Rückgabewert ( ) Syntax: ["[" Wächter-Bedingung "]"] NameBotschaft [([Parameter])] Iterative Übermittlung von Botschaften: Syntax *["[ Iterationsbereich "]"]

Sequenzdiagramm Detailinformationen (1) Dauer der Objektaktivierung: Zeigt die Zeitdauer an, die ein Objekt zur Ausführung einer Aktivität benötigt (Transformation der Lebenslinie zu einem Balken); Symbolisierung von Rekursionen durch überlagerte Balken Script: Nähere Angaben zu einer Botschaft (z.b. auslösendes Ereignis) als freier Textstring (Darstellung am linken Diagrammrand auf Höhe der Botschaft) Zeitliche Ordnung der Botschaften: Botschaften sind zeitlich geordnet; bei Bedarf kann skalierbare Zeitachse verwendet werden

Sequenzdiagramm Detailinformationen (2) Spezifikation von Zeitbedingungen: Verwendung von beliebigen Zeitfunktionen (z.b. sendtime, receivetime) möglich Übermittlungsdauer: Falls diese nicht vernachlässigt werden kann, Verdeutlichung durch schräg verlaufenden Botschaftspfeil Erzeugung und Löschung eines Objektes Alternative und parallele Botschaften: Bedingungsabhängige oder zeitgleiche Botschaften an andere Objekte

Sequenzdiagramm Nebenläufige Lebenslinie (Beispiel) :Kunde :Verkäufer :Controller Auftrag [Neukunde] Bonitätsprüfung [Bestandskundekunde] Auftragsübersicht Bonität Auftragsliste

Lerneinheit 2 Kommunikationsdiagramme

Kommunikationsdiagramm Definitionen Statische Elemente der Kommunikation: Klassen, Assoziationen und ihre Rollen (Spezifikationsebene) bzw. Objekte, Links und Ereignisse (Instanzenebene) Dynamisches Konstrukt der Kommunikation: Interaktionen Ein Kommunikationsdiagramm repräsentiert die Zusammenarbeit in Form eines Graphen. Knoten sind die Klassen (Objekte), Assoziationen (Links) die Kanten. Botschaften werden entlang der Kanten dargestellt.

Kommunikationsdiagramm Auftragserteilung durch Neukunden 1: Auftrag :Kunde [Bonität ok] 3A: Bestätigung [Bonität nicht ok] 3: Ablehnung :Verkäufer [Bonität ok] 3B: Auftrag 2: Bonität := Anfrage Bonität (Kunde) 4: Lieferung 5: Rechnung {new} :Auftrag {destroy} 7: Zahlungseingang :Controller 6: Zahlung

Syntax: Kommunikationsdiagramm Zeitliche Reihenfolge von Botschaften [Sequenznummern/] ["[" Wächter-Bedingung "]"] [Sequenzausdruck] NameBotschaft Sequenznummer: Liste mit Sequenznamen anderer Botschaften Wächter-Bedingung: Botschaft wird nur weitergeleitet, wenn Bedingung erfüllt ist Sequenzausdruck: Syntax: [Name Zahl][.Zahl...][SequenzName] Die Zahlenfolge kennzeichnet die relative Reihenfolge der Botschaften SequenzNamen kennzeichnen zeitliches Nebeneinander von Botschaften

Kommunikationsdiagramm Weitere Detailinformationen Iterative Botschaftsübermittlung: *["[" Iterationsbereich "]"] Rückgabewerte: [NameVariable:=]NameBotschaft([Parameterliste]) Link-Attribute: Stellen den Bezug zum statischen Modell her. U.a. folgende Kennungen möglich: Name der Rolle eines anonymen Objektes Deskriptoren für Beschränkungen bei einem Objekt bzw. Link: z.b. {new}, {destroy},{transient}, {persistent}

Kommunikationsdiagramm Einsatzfelder Darstellung der Realisierung einer Operation Darstellung zeitgleicher Interaktionen von Objekten Darstellung der Dynamik von Entwurfsmustern

Kollaborationsdiagramm Darstellung des Operationsablaufes studentteachers() tutor / Teacher : Person lecturer / Teacher : Person 1: namesofteachers() 1.2.i: name() 1.1*[i:=1..n]: lecturer() / Student : Person :Course

Kommunikationsdiagramm auf Spezifikationsebene (Beispiel) Benutzer benachrichtigen Vormerker 1 veranlaßt * Vormerkung benachrichtigen * betrifft 1 Buch Vormerkung prüfen Entleiher 1 0,1 1 gehört zu gibt zurück * * Ausleihe Exemplar 0,1 betrifft 1 zurücknehmen entlasten reservieren reserviert 0,1 * gehört zu

Übung Kommunikationsdiagramm - Lösung /Entleiher : Benutzer /Vormerker : Benutzer 4B: benachrichtigen () :Vormerkung 1: zurücknehmen () 4A: reservieren () 3: benachrichtigen () :Ausleihe 2A: entlasten () {destroy} :Exemplar 2B: Vormerkung prüfen () :Buch

Lerneinheit 2 Zustandsübergangsdiagramme

Objektzustand Definition Der Zustand eines Objektes ist eine Sammlung/Ausprägung von Attributen des Objektes und Beziehungen des Objektes zu anderen Objekten.

Warte- und Aktionszustände Wartezustand: Ein Zustand in dem das Objekt auf das Eintreten eines Ereignisses und/oder die Erfüllung einer Bedingung wartet. Aktionszustand: Ein Zustand in dem das Objekt definierte Aktionen ausführt.

Zustand - Notation Symbol: Symbolinhalte: Bezeichner(:String) Aktionen: Syntax: Aktionsbezeichner/Aktionsausdruck entry-aktion Syntax: entry/aktionsausdruck exit-aktion Syntax: exit/aktionsausdruck do-aktion Syntax: do/aktionsausdruck ereignisbedingte Aktion Syntax: Ereignis["[" Wächterbedingung ] ]/Aktionsausdruck

Einfache Zustände Objekte :KontoAuszugsDrucker :WindowObjekt Zustände Aktionszustand prüfe Karte Wartezustand Paßworteingabe bzw. alternativ Kartenprüfung do / pruefekarte( ) entry / ausschaltenecho() onzeichentaste(z:char) / transformiere(z) onf1 / anzeigenhilfe() exit / einschaltenecho()

Einfacher Zustandsübergang Ein einfacher Zustandsübergang (Transition) ist der Übergang eines Objektes von einem Start- in einen Zielzustand Start- und Zielzustand können identisch sein Auslöser: Ereignis und (optional) Wächterbedingung erfüllt (Wartezustand) Abschluß einer Aktivität (Aktionszustand) Zustandsübergang kann Aktionen auslösen

Notation eines Zustandsübergangs Syntax [Ereignis]["["Wächter-Bedingung ]"] / [Aktions-Ausdruck] [^Sendeklausel] Ereignis: Ereignisname[(Parameterliste)] Aktions-Ausdruck: Liste von Aktionen, die durch den Zustandsübergang ausgelöst werden Sendeklausel: Zielobjekt.Ereignisname[(Paramterliste)]

Zustandsübergang Beispiel WindowObjekte dargestellt ClickMausTaste (Pos : Point) [Pos-in-einemObjekt] / Objekt := pickobjekt(pos) Objekt.blinken WindowObjekt selektiert

Zustandsübergangsdiagramm Definition Ein Zustandsübergangsdiagramm zeigt die Zustände eines repräsentativen Objektes einer Klasse und die Zustandsübergänge in Form eines Graphens (Zustände=Knoten, Übergänge = Kanten). Es hat einen Startzustand (Symbol: ausgefüllter Kreis) und einen oder mehrere Endzustände (Symbol:Kreisring)

Zustandsübergangsdiagramm Auftrag [Neukunde] Aufgenommen do / Bonität prüfen [Bonität ok] [Bonität nicht ok] / Ablehnen [Bestandskunde] Angenommen do / Lieferdatum ermitteln Bestätigt / Bestätigen Auslieferungsfähig / Rechnung, ausliefern Ausgeliefert Zahlungsziel verstrichen / Mahnung Zahlungseingang [Zahlung vollständig] Zahlungseingang [Zahlung unvollständig] / Anforderung Restbetrag

Zustandsübergangsdiagramm Einsatzfelder Modellierung von Zuständen eines Anwendungsfalls/Szenarios (in der Analysephase) oder eines Controller-Objektes (in der Designphase) Spezifikation von Objekten deren Verhalten stark ereignisgesteuert ist

Zusammengesetzter Zustand Definition Ein zusammengesetzter Zustand besteht aus mehreren nebenläufigen Subzuständen (Regionen) oder sich gegenseitig ausschließende Subzuständen. Die Übergänge zwischen den Subzuständen eines zusammengesetzten Zustands werden i.a. mit Zustandsübergangsdiagrammen dargestellt. Die Details eines zusammengesetzten Zustands können verborgen werden.

Zusammengesetzter Zustand Transitionen Übergang in einen zusammengesetzten Zustand (Z): Eine Transition, die gezeichnet am Rand des Symbols für Z endet, ist äquivalent mit einer Transition in alle Pseudoanfangszustände von Z. Eine Transition in einen Subzustand von Z ist möglich. Übergang von einem zusammengesetzten Zustand (Z): Ein Transition von Z führt zum unmittelbaren Verlassen aller Subzustände von Z. Eine (direkte) Transition von einem Subzustand in einen Zustand außerhalb von Z ist möglich.

Zusammengesetzter Zustand Interne und externe Zustandsübergange Zusammengesetzter Zustand Zustand 1 E1 E1.1 SubZust 1.1 SubZust 1.2 E1.2 Zustand 5 H SubZust 2.1 SubZust 2.2 SubZust 2.3 E2.1 E2.2 E2.3 E2 Zustand 2 E4 E3 Zustand 3 E6 E5 Zustand 4

Zusammengesetzter Zustand History Indicator Eine Transition in den History Indicator eines zusammengesetzten Zustands (Z) (oder einer Region von Z) bedeutet, daß der Übergang in den Subzustand von Z erfolgt, den Z vor dem letztmaligen Verlassen eingenommen hatte. Symbol des History Indicators: H

Zusammengesetzter Zustand Zustandsübergangsrumpf Um bei einem zusammengesetzten Zustand, dessen Details innerhalb eines Zustandsübergangsdiagramms verborgen sind, zu symbolisieren, daß eine Transition in einen Subzustand erfolgt oder von einem Subzustand erfolgt, kann ein Zustandsübergangsrumpf verwendet werden. Symbol:

Zustandsübergangsrumpf Struktur (a) Zustandsübergangsdiagramm ohne Zustandsübergangsrumpf Zustand 3 E5 Zustand 1 E1 SubZust 3.1 E5 Zustand 4 E3 Zustand 2 E2 SubZust 3.2 E4 Zustand 5 (a) Zustandsübergangsdiagramm mit Zustandsübergangsrumpf Zustand 1 E5 E1 Zustand 3 Zustand 4 Zustand 2 E2 Zustand 5

Komplexer Zustandsübergang Unter einem komplexen Zustandsübergang versteht man eine Transition mit mehreren Startzuständen (Synchronisation) oder mehreren Zielzuständen (Verzweigung) Symbol:

Komplexer Zustandsübergang Warenanlieferung erfolgt Lieferschein prüfen [ok] Ware prüfen [ok] Warenerhalt bestätigen

Übung Zustandsübergangsdiagramm - Lösung (a) Start /Initialisierung Normalzeit Uhrzeit H Knopf1Press Knopf1Press Datum (b) Uhrzeit Start Normalzeit Knopf2Press Knopf2Press Einstellmodus Stunden entry / BlinkenStdAnzeige () onk3press / StundenErhöhen () exit / FestStdAnzeige () Einstellmodus Minuten entry / BlinkenMinAnzeige () onk3press / MinutenErhöhen () exit / FestMinAnzeige () Knopf2Press H

Lerneinheit 2 Aktivitätendiagramm

Aktivitätendiagramm Definition und Einsatzfelder Spezialfall eines Zustandsübergangsdiagramms: (fast) alle Zustände sind Aktionszustände (fast) alle Zustandsübergänge werden durch den Abschluß einer Aktivität ausgelöst Einsatzfelder: Beschreibung von Arbeitsabläufen Spezifikation einer komplexen Operation mit parallelen Ablauf- und Kontrollpfaden

Entscheidungsknoten Ermöglicht die bedingungsabhängige Transition in einen oder mehrere Zustände Führt verschiedene Entscheidungszweige wieder zusammen Symbol:

Aktivitätendiagramm mit Entscheidungsknoten Lager: Stichtagsinventur durchführen prüfe Warenbewegung abgeschlossen [Warenbewegung nicht abgeschlossen] [Warenbewegung abgeschlossen] offene Warenbewegung abschließen sperre betroffene Lagerbereiche drucke Inventurliste erfasse Bestand

Aktivitätendiagramm Zustände unterschiedlicher Klassen In einem Aktivitätendiagramm können Zustände unterschiedlicher Klassen dargestellt werden Die einzelnen Klassen werden graphisch durch Verwendung von Bahnen (swimlanes) organisiert

Aktivitätendiagramm Einfluß der Aktivitäten auf Objektzustände Verändern die in einem Aktivitätendiagramm beschriebenen Aktivitäten den Zustand eines Objektes, so kann dies explizit dargestellt werden: Objekt wird zusammen mit seinem Zustand (in eckigen Klammern) in einem Objektsymbol dargestellt Verbindung mit den Aktivitäten, die eine Zustandsänderung bewirken

Aktivitätendiagramm mit Objektzuständen Use Case: Verkauf Möbelmitnahmemarkt Kunde Verkauf Lager erteile Kaufauftrag Auftrag [erteilt] erfasse Auftragsdaten in Rechnung Auftrag [aufgenommen] bereitstellen Ware bezahlen Rechnung quittieren Auftrag [abholbereit] entgegennehmen Ware Auftrag [erledigt] übergeben Ware

Übung Aktivitätendiagramm - Lösung [Kreditantrag liegt vor] einholen Lohnbestätigung [Kreditart = Konsumentenkredit] prüfe Kreditart [Kreditart = Hypothekenkreditkredit] einholen Schufaauskunft ermittle pfändbares Gehalt einholen Grundbuchauszug schätze Liegenschaft ermittle Beleihungsgrenze prüfe Kreditantrag [zu gewähren] [weiterleiten an Vorstand] [abzulehnen] [zu gewähren] prüfe Kreditantrag durch Vorstand [abzulehnen] gewähre Kredit ablehnen Kredit