Upload
beety
View
224
Download
0
Embed Size (px)
Citation preview
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
1/22
222 Applikationen objektorientiert konzipieren 2010
222
Applikationenobjektorientiert
konzipierenZusammenfassung
1 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
2/22
222 Applikationen objektorientiert konzipieren 2010
OO-Grundlagen
Model Driven Architecture
Die MDA (Model Driven Architecture) vonOMG (Object Management Group) sieht folgendezusammenhngende Modellierungsebenen vor,welche zur Implementierung fhren:
CIM: ComputerunabhngigeProzessmodellierung: Businessmodell inz.B. BPMN
PIM: PlattformunabhngigeModellierung eines Informationssystems:
Analysemodell PSM: Plattformspezifische Modellierung:
Designmodell PSI: Plattformspezifische
Implementation: konkrete Umsetzung ineiner Programmiersprache
Die Verstndigung zwischen Anwender,Manager und Systementwickler wird durch die,von dr realen Welt abgeleiteten Objekt-Begrifflichkeiten vereinfacht. DieGeneralisierung in Klassenhirachien ermglichtdie Wiederverwendbarkeit von einmal
erstelltem Programmcode.
OO ProjektvorgehenIm OO-Projektvorgehen hat sich noch kein
Standard etabliert. Es gint aber drei allgemeinanerkannte Prinzipien fr die Vorgehensweise:
Iterativ, in berschabaren Inkrementenentwickeln (eine oder mehrer Iterationenpro Modul).
Benutzeranforderungsgetriebenentwickeln.
Architekturzentriert und Modulbasiertentwickeln.
Unified Modelling Language
Mit UML (Unified Modelling Language) ist einedurch OMG normierte Modellierungssprache imOO-Umfeld entstanden. Mit ihr knnen sowohldie statischen wie auch die dynamischen Aspekteeines IT-Systems in unterschiedlichenDiagrammtypen vollumfnglich modelliertwerden.
Objektorientierte Analyse (OOA)
Artefakte im Analyseprozess
Die Artefakte (Arbeitsresultate,Lieferobjekte) des Analyseprozesses sollen allenBeteiligten Klarheit geben, was bzw. WelchesSystem entwickelt werden soll.
bersicht der Artefakte des
Analyseprozesses
2 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
3/22
222 Applikationen objektorientiert konzipieren 2010
Systembeschreibung: Sie gibt einenberblick ber das System und eingemeinsames Projektverstndnis.
Modelle: Sie helfen, die Sachverhalte imDetail zu beschreiben, zu visualisieren und zu
prfen. Anwendungsfallmodell: Es stellt die
Anforderungen in einer fr die Anwenderverstndlichen Form dar.
Statisches Analysemodell: Es gibt dieStruktur, den inneren Aufbau des Systemswider.
Dynamisches Modell: Es zeigt die Interaktionzwischen den Elementen des Systems auf.
Analyseprototyp: Er liefert dem Anwendereine erste Vorstellung der neuen Applikation.
UML (Unified Modeling Language)
Grundlagen
Die vorwiegend grafischen, in der UML
verwendeten Sprachen dienen der Erstellungvon Anforderungs- und Entwurfsmodellen ausunterschiedlichen Perspektiven.
Die UML-Spezifikationen bestehen ausergnzenden und zum Teil berlappendenModellen.
Das Klassenmodell steht im ZentrumderSystemstruktur.
Das Anwendungsfalldiagramm (Use CaseDiagramm) dient der Modellierung derAnforderugen an ein System
Je nach Bedarf werden weitere Modelle
verwendet, um zustzliche Ansichten auf dasSystem zu beschreiben.
Die 7 UML-Sichten
Sicht InhaltStatisch Klassen, Objekte, strukturelle
BeziehungenBenutzersic
htAnwendungsflle
Verhalten ZustandsautomatenAktivitten Ablauf von Aktivitten
Interaktionen Interaktionen vonausgewhlten ObjektenPhysische
SichtPhysische Systemstruktur
Gliederung Aufteilen der Modelle inPakete und Subsysteme
Statisches Analysemodell
CRC-Karten
Class Responsibility Collaborator(Klasse Verantwortlichkeit Zusammenarbeit)
Hilfsmittel um im Team Klassen zu definieren
Fragen
Mit welchen Personen arbeitet das zuuntersuchende System zusammen?
Welche Dinge sind im Geschftsprozessinvolviert oder beschrieben?
Welche Artikel bzw. Leistung werden demKunden geliefert?
Welche Papiere werden erstellt? Welche Informationen fliessen bei einem
Anwendungsfall in das System?
3 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
4/22
222 Applikationen objektorientiert konzipieren 2010
Klassen
Die Beziehung der Klasse soll eine natrlichsprachliche Identifikation ermglichen.
Notation von Klassen
Beispiel als Text mit Details:
MitarbeiterStammNr: Integer {readonly}Name: StringVornamen [1..5]: StringGeburtsdatum: DateEingetretenAm: DateBefoerdern (nach: Stufe, ab: Date)
Beispiel als Grafik mit Attributen undOperationen:
Namensregelung fr Paket-, Attributs- undOperationsbezeichnungen
Sie muss im ganzen Modell eindeutig sein. Es drfen keine Sonderzeichen ausser dem
Unterstrich _ verwendet werden. Zusammengesetzte Namen sollen mit
Gross/Kleinschreibung abgegenzt werden(z.B.: SeminarBuchung)
Klassen kommentieren
Jede Klasse kann informal mit Notizenkommentiert werden.
Eigenschaften zu Attributen undOperationen
Eigenschaften: Notation:Kardinalitt
Eigenschaftswert
Zusicherung
diverse weiter
Attribute
Ein Attribut (Property) ist eine Eigenschafteiner Klasse. In der Syntax sind verschiedeneAussagen zu finden:
Syntax der Attributsdefinition
[sichtbarkeit] [/] name [:typ] [multiplizitt][=initialwert] [{eigenschaftswert}]([] bedeutet, dass dieses Element optinal ist.)
Abgeleitetes Attribut
Ein von einem anderen Attributswertabgeleitetes Attribut beginnt mit einem Slash/. Fr das Design werden diese Attributemeistens gestrichen, da diese sich errechnenlassen.
Typ des Attributs
Einfacher Datentyp: String, Boolean, Integer,UnlimitedNatural
Aufzhlungsdatentyp (Enumeration) Komplexer Datentyp, d.h. ein Objekt:
enthlt ein anderes Objekt, welches keineeigene Objektidentitt aufweist
Initialwert eines Attributs
Attribute knnen einen Initalwert enthalten.
Attribute nur lesen
Attributen, die nur gelesen werden drfen,kann das Merkmal {readonly} mitgegebenwerden.
4 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
5/22
222 Applikationen objektorientiert konzipieren 2010
Sichtbarkeit
Art W BeschreibungPublic + Fr alle anderen sichtbarPrivat
e- Nur fr die eigene Klasse
sichtbar
Protected
# Nur fr die eigene Klasse bzw.Deren Unterklassen sichtbar
Package
~ Nur innerhalb des gleichenPakets sichtbar
Multiplizitt
Weist ein Attribut mehrer Werte in einerkonkrten Instanz auf, so definiert man dieerlaubte Anzahl von Werten mit einer konkreten
Angabe der Multiplizitt in eckigen Klammern:[0..3], [*] etc.. Diese Listen von Attributswertenknnen mit den Merkmalsangaben noch genauereingeschrnkt werden.
{bag} Belibige Listen von Werten.{uniqu
e}Jeder Attributswert darf nureinmal vorkommen.
{ordered}
Die Liste von Attributswerten istsortiert.
Operationen (Methoden)
Die Menge aller Operationen bildet dasVerhalten der Klasse.
Syntax der Operationen
[sichtbarkeit] name (parameterliste) [:typ]{constraints}
Beispiel:Immatrikulieren (
Nachname :String,Vorname :String,inout Strasse :String,inout Platziert :String,out StudentenNr :Integer)
Parameterrichtung
Folgende Angaben definieren die Richtungder Parameter:
in: Eingabeparameter (ist Defaultwert) out: Ausgabeparameter inout: Ein- und Ausgabeparameter
Parametertyp
Sofern eine Operation einen Typ besitzt,entspricht dies dem Typ desRckgabeparameters. Den Parametern ist derTyp (mit Doppelpunkt) beizufgen. FolgendeArten werden unterschieden:
Typ ArtKonstruktor Objekt erzeugenDestruktor Objekt lschenSetter Kontrolliert Attributswerte
setzenGetter Kontrolliert Attributswerte
lesen
Link Objektbeziehung aufbauenUnlink Objektbeziehung lschenGetlink Objektbeziehung lesenQuery Dateninhalte abfragen
(mit/ohne Berechnung)Update Dateninhalte persistieren
hat persistiert; mit Prp.obj.; veraltet] auf etwas p. auf etwasbeharren [lat. persistere stehen bleiben, verharren]
Zusicherungen
Zusicherungen, welche bei Aufruf, derAusfhrung bzw. beim Abschluss der Operation
einzuhalten sind, werden als Constraints (d.h. ingeschweifter Klammer) angegeben
Zusicherung SyntaxbeispielVorbedingu
ng:{pre: KundenNr ist gltig}
Invariante(Zusicherungwhrend derAusfhrung)
{inv: Objekt ist fr Drittegesperrt}
Nachbedingung
{post: nderung istpersistiert}
5 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
6/22
222 Applikationen objektorientiert konzipieren 2010
Beziehungen (Assoziationen)
Beziehungen klren folgende Fragen: Welche fachlichen Beziehungen bestehen
zwischen den Objekten? Wie viele Objekte einer Klasse sind an einer
Beziehung beteiligt?
Sie weisen folgene optionalen Modellelementeauf:
Bezeichnung der Beziehung mit evtl.Leserichtung Rollenbezeichnungen am Ende der
Assoziation Multiplizitt (z.B.: 1, *, 1..*) Navigationsrichtung
UML sieht fr die Beziehungen zwischen einemGanzen und dessen Teile zwei Arten vonBeziehungen vor:
Aggregation (Klasse B ist Teil von Klasse A) Komposition (Klasse B ist Teil von Klasse A
und kann nicht Existenz ohne Klasse A)
Klassen und Objekte
Bezeichnung
Beschreibung Beispiel Grafik
Objekt(object)
Ein individuell erkennbares, vonanderen Objekteneindeutigunterscheidbares Element der Realitt.
Die konkrete Person Eva Mller,36 Jahre alt, Leiterin Fertigung,Firma AGP, verheiratet, 1 Kind
Klassen(class)
Eine eindeutig benannte Einheit,welche eine Menge gleichartigerObjekte beschreibt.
Mitarbeiter, Abteilung
Gleichartige Objekte werden in Klassen modelliert (zusammengefasst). Sie dienen vorallem derModellierung besonderer Aspekte, wie z.B. dem Ablauf einer Operation.
Eigenschaften von Objekten
Jedes Objekt hat Eigenschaften:Eigenschaft Beschreibung BeispielAttribute
(attributes)Attribute haben fr jedes Objekt einen Wert,welche keine eigenen Identitt besitz.
Operationen(operations,services)
Sie modellieren die Mglichkeit zur Bearbeitungvon Objekten und werden auch Methoden(methodes) genannt.
6 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
7/22
222 Applikationen objektorientiert konzipieren 2010
Wertebereiche (domains)
Sie beschreiben die Menge alle mglichenWerte fr ein Attribut
Diagramme
bersicht der UML-Diagramme
Diagram
Structur
DiagramAufbaudiagramm
(statisch)
Behavior
DiagramVerhaltensdiagramm
(dynamisch)
Class
Diagram
Klassendiagramm
Component
Diagram
Komponentendiag.
Object
Diagram
Objektdiagramm
Composit
Structure Diag.
Kompositstrukturdiag.
Deployment
Diagram
Entwicklungsdiag.
Package
Diagram
Paketdiagramm
Use Case
Diagram
Anwendungsdiag.
Activity
Diagram
Aktivittsdiagramm
State Machine
Diagram
Zustandsbergangsd.
Interaction
Diagram
Interaktionsdiagramm
Sequence
Diagram
Sequenzdiagramm
Interaction
Overview Diag.
Interaktionsberblicksd.
Communication
Diagram
Kommunikationsdiag.
Timing
Diagram
ZeitdiagrammQuelle: www.omg.org
Use Case Diagramm (Anwendungsfalldiagramm)
7 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
8/22
222 Applikationen objektorientiert konzipieren 2010
Fragestellungen
Wann beginnt der Use Case? Welches Ereignis lst den Arbeitsablauf aus? Welche Eingabedaten werden bentigt?
Welche Vorbedingung muss erfllt sein? Welche Schritte sind auszufhren? Ist eine zwingende Reihenfolge festgelegt? Gibt es akternative, optionale Zweige? Welche Endergebnisse werden erstellt? Welche Nachbedingungen werden
sichergestellt? ( sind wieder Vorbedingungenfr abhngige Use Cases!)
Wann endet der Use Case? Welche Ausnahmesituation gibt es? Welche Endresultate ergibt es bei
Ausnahmesituationen?
8 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
9/22
222 Applikationen objektorientiert konzipieren 2010
Qualitative Aspekte (Prfung)
Interagiert jeder Use Case unmittelbat miteinem Akteur?
Enthlt kein Diagramm mehr als 10 UseCases?
Sind die Name intuitiv verstndlich? Ist die Beschreibung fr die Anwender
verstndlich? Sind die Begrifflichkeiten kosistent? Sind die Use Cases werder zu mchtig, noch
zu klein? Ist die Beschreibung des Ablaufes nicht zu
detailliert? Ist die Anwendung und nicht ein Dialogablauf
beschrieben? Sind alle Aspekte abgedeckt?
Gibt es keine Widersprche?Vorgehen
1. Informationen komplettieren2. Akteure finden3. Anwendungsflle identifizieren4. Diagrammentwurf zeichnen5. Beschreibung erstellen6. Beziehungen modellieren7. Sicht berprfen
Notationen
ElementeAkteur / Actor
Anwendungsfall / Use Case
Systemkontext mit Systemgrenze
Beziehungen (Assoziation)Assoziation / Kommunikation
Multiplizitt
Voreinstellung auf der Akteurseite ist 1
Anwendungsfallgeneralisierung
Akteurgeneralisierung
Entittsbeziehung / Include-Beziehung
Anwendungsfall A beinhaltet Anwendungsfall B
Erweiterungsbeziehung / Extend-Beziehung
Anwendungsfall A erweitert Anwendungsfall B
Erweiterungsbeziehung mit Bedingung
Anwendungsfall A erweitert unter der Bedingung {form. Bedingung}an der/den Stelle/n extention points Anwendungsfall B
Erweiterungsstelle
9 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
10/22
222 Applikationen objektorientiert konzipieren 2010
Anwendungsflle beschreiben
Jeden Anwendungsfall beschreibt man mitverschiedenen definierten Informationen. DieAnwendungsflle werden in der Regel mitfolgender Liste beschrieben:
Teil BeschreibungName Substantiv + Verb mglichst
aussagekrftigSpezialisierung von Verweis auf eine Generalisierung, sofern
eine vorliegt
Kurzbeschreibung 2 bis 5 Zeilen TextAkteure Liste der beteiligten AkteureAuslser Stichwortartiger Hinweis, wass den
Anwendungsfall ausgelst hat (z.B.: eineAnfrage, eine Kundenbestellung)
Vorbedingung Was muss fr die Auslsung erfllt sein?Eingehende
Informationen
Welche konkreten Daten werden vom
Akteur geliefert.(zu hohenDetaillierunggrad vermeiden)Ergebnisse Welchen Nutzen und konkreten Ergebnisse
erhalten die Akteure.Nachbedingungen Wie ist der Zustand nach dem Ablauf aller
Aktivitten (z.B.: Offerte erstellt beimAnwendungsfall Offertanfragebearbeiten)
Ablauf Einzelne Ttigkeiten in kurzen WortenKategorie Primr: notwendiges, hufiges Verhalten
Sekundr: notwendiges, seltenes VerhaltenOptional: nicht notwendiges Verhalten
Klassendiagramm
Das Klassendiagramm stellt ein statischeSicht auf die Klassen und deren Beziehungen dar.Elemente in einem Klassendiagramm knnenPakete, Akteure Komponenten, strukturierteKlassen und Kollaborationen sein.
Notationen
Elemente
10 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
11/22
222 Applikationen objektorientiert konzipieren 2010
Klasse
Klasse mit Rubriken (Compartments) frAttribute und Operationen
Sichtbarkeitfr Attribute undOperationen
+ entspricht public# entspricht protected- entspricht private
Multiplizittvon Attributen
Attribut:Typ[*]
Alternative Darstellung der KlasseJede der Rubriken (Compartments) kann weggelassen bzw. neueRubriken knnen hinzugefgt werden.
ParametrisierteKlasse mit aktuellemParameter P
ParametrisierbareKlassen mit F alsformalem Parameter
Klasse vomStereotypstereotypName
Schnittstellen
Aktive Klasse
Abstrakte Klasse
Beziehungen
Beispiel fr Beziehungen
NotationBeziehungen (Assoziation)Assoziation
Qualifizierte Assoziation
11 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
12/22
222 Applikationen objektorientiert konzipieren 2010
Aggregation
Klasse B ist Teil von Klasse A
Komposition
Klasse B ist Teil von Klasse A und kann ohne Klasse A nichtexistieren
Beispiel:
Klasse A enthlt Klasse B. Klasse B kann ohne Klasse A nichtexistieren
Navigierbarkeit bei binren Assoziationen
In beiden Richtungen unspezifiziert impliziert: in beideRichtungen navigierbar
In beide Richttungen navigierbar
Nach rechts navigierbar, nach link unspezifiziert impliziert: nurnach rechts navigierbar
Nur nach rechts navigierbar
Nach links nicht navigierbar, nach rechts unspezifiziertimpliziert: nur nach rechts navigierbar
In keine Richtung navigierbar
Multiplizitt
Genau ein Objekt von B steht in Beziehung mit einem Objekt von A
Viele Objekte von B stehen in Beziehung mit Objekten in A
Mindestenst n Objekte von B stehen in Beziehung mit Objektenvon A
Optional stehen 0 oder 1 Objekt von B in Beziehung zu einemObjekt von A
Bereich von Objekten von B angeben, die in Beziehung stehen mitObjekten von A
Spezifizierte Einschrnkung der Multiplizitt
geordnet
Generalisierung / Vererbung
Attributierte Assoziation (Assoziationsklasse)
Die Assoziationsklasse ist eine Bedingung fr die Beziehungzwischen Klasse A und Klasse B
Abhngigkeit
n-re Assiozation mit Rolle und Multiplizitt
Schnittstellen
SonstigesNotiz
Zusicherung (Constrains)
Abhngigkeiten zwischen Beziehungen werden als Zusicherungenmodelliert. Folgende Zusicherungen sind mglich: {or}: keine, nur eine oder beide Beziehungen drfen
vorhanden sein {xor}: es darf nur eine Beziehung vorhanden sein
{and}: es drfen beide Beziehungen vorhanden seinDetaillierte Angaben sind mglich mit incomplete, complete,overlapping und disjoint: {incomplete, overlapping} nicht komplett und berlappend
{complete, disjoint} komplett und nicht berlappend
Visuelle Stereotypen
12 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
13/22
222 Applikationen objektorientiert konzipieren 2010
Analysemuster zur Lsungsfindung
Beziehungen (Assoziation)Rechnung
Rechnungspositionen
enthlt
1
1..*
Analysemuster Liste
Die einzelnen Positionen bilden existenzabhngige Teiledes Ganzen, womit eine Komposition angezeigt ist.
(Der Wert bei Rechnung kann nur 0..1 oder 1 sein)
Buch
Buchexemplar
1
*
Analysemuster Exemplar
Das Buch ist ein informationelles Objekt, whrend daseffektive Buchexemplar ein physisches Objekt darstellt.Die Klasse Buch enthlt Informationen, welche fr jedeszugehrige Exemplar gilt.
AbteilungMitarbeiter
1*
Analysemuster Zugehrigkeit
Dieses Muster ist wie das Muster Exemplar, nur dass derFokus in der Zugehrigkeit eines Objektes zu einembergeordneten Ganzen liegt, ohne dabei Teil desAnderen zu sein.
Automat
Eingabetasten
1
1..*
Kartenlesegert Anzeige Drucker
1
11
1
1
1
Analysemuster Baugruppe
Ein Ganzes besteht aus einzelnen unterschiedlichenTeilen. Dies wird durch mehrere Kompositionen gelst.
Baustein
0..1
* Analysemuster Stckliste
Es existiert ein kaskadierenses Ganzes, welches ausEinzelteilen besteht. Ein Einzelteil davon bildet wiederumein Ganzes, welches seinerseits aus Einzelteilen besteht.
13 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
14/22
222 Applikationen objektorientiert konzipieren 2010
Datei Verzeichnis
Objekt
0..1
*
Analysemuster Verzeichnis
Ein Verzeichnis kann Dateien und Verzeichnisse enthalten.Jedes Unterverzeichnis enthlt wiederum weitere Dateienund Verzeichnisse.
Mitarbeiter Funktion
{t=1}
Ttigkeit
** Analysemuster Histroie
t bildet die zeitliche Einschrnkung, dass whrend einerbestimmten Zeitperiode nur eine Beziehung aktiv seindarf.Mit einer Assoziationsklasse kann eine Bedingungeingefgt werden.
Paketdiagramm
Das Paketdiagramm zeigt einzelne Paketeund deren Beziehung zueinander.
Notation
ElementePaket (Namensraum)
Beziehungen (Assoziation)Abhngigkeiten
Import
Import ffentlicher Elemente aus PaketB in den Namensraum vonPaketA ()
Privater Import
Privater Import ffentlicher Elemente aus PaketB in den privatenNamensraum von PaketA
Objektdiagramm
Das Objektdiagramm stellt eine statischeSicht auf einzelne Objekte aus einzelnen Klassenund deren Beziehungen zueinander dar.
14 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
15/22
222 Applikationen objektorientiert konzipieren 2010
Notation
ElementeObjekt
Anonymes ObjektObjekt mit
Attributswert
Aktives Objekt
Beziehungen (Assoziation)Link als Instanz einer Assoziation mit
Linkname und Rolle
Link als Instanz einer Aggregation
Link als Instanz einer navigierbarenAssoziation
Aktivittsdiagramm
15 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
16/22
222 Applikationen objektorientiert konzipieren 2010
Notation
ElementeAktion
Aktion alsDekompositionAktion ruft eine eigenstndigeAktivitt auf
Objekt
Objekt mit Zustand
E
reignisse
Signal empfangen
Senden einesSignalsZeitsignal(at 8pm / after 20min)
Kontrollfluss (Kante)
Daten- bzw. Objektfluss oder Kante
Alternative Darstellung mit Pins
Aktion mit Parametermengen
Kontrollfluss ber Konnektoren
KontrollknotenStartknoten
EndknotenFlussabschluss
Teilung (Splitting)UND-Verbindung
SynchronisationUND-Verbindung
16 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
17/22
222 Applikationen objektorientiert konzipieren 2010
SpezifizierteSynchronisation
EntscheidungODER-Verbindung
ZusammenfhrungODER-Verbindung
Entscheidung undZusammenfhrungODER-Verbindung
Abfolgen von AktionenAufspaltung des Flusses ber Kontrollknoten
Synchronisation von Flssen ber Kontrollknoten
Entscheidungsknoten fr die Verzweigung vonFlssen
Entscheidungsknoten fr die Zusammenfhrungvon Flssen
Ausnahmebehandlung(exeption handler)
Unterbrechungsbereich(Hier kann die Ausnahmesituation auftreten)
Weitere ElementeAktivitt
Partition
Ausdehnungsbereich mit Ausdehnungsknoten frMengenverarbeitung(parallel,iterativ oder stream)
17 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
18/22
222 Applikationen objektorientiert konzipieren 2010
Beispiel:
18 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
19/22
222 Applikationen objektorientiert konzipieren 2010
Zustandsdiagramm
Notation
ElementeZustand
Zustand mitzugeordnetenVerhaltensspez.
Zusammengesetzter Zustand
Zustandsbergang: Beim Eintreten von Ereignisunter der bedingung wird die aktion(operation) durchgefhrt.
StartzustandVerweist auf den erstenZustand (Einer pro Region)
EndzustandAustrittspunkt
Zum Verlassen einesUnterzustandsautomaten
EintrittspunktZum Betreten einesUnterzustandsautomaten
Flache HistorieSpeichert den zuletztaktiven Unterzustand eineskomplexen Zustands.
Tiefe HistorieSpeichert den zuletztaktiven Unterzustand einesin einem komplexenZustand enthaltenenZustands.
EntscheidungDie ausgehende Transitionwird whrend derAusfhrung der Transitionbestimmt.
KreuzungDie ausgehende Transitionist schon vor derAusfhrung der Transition
bekannt.
GabelungTeilt eine Transition aufmehrere paralelleZustnde auf.
VereinigungFgt mehrere Transitionenzu einer zusammen.
TerminatorBei Erreichen endet dieLebensdauer der Instanzdes beschriebenenClassifiers.
19 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
20/22
222 Applikationen objektorientiert konzipieren 2010
Sequenzdiagramm
Notation
ElementeKommunikation
spartner mitLebenslinie
Aktionssequenz
AsynchroneMeldung
SynchroneMeldung
Antwortmeldun
gSelbstaufruf
Objektdestruktion
Zustand
Interaktionsverweis
Kombiniertes Fragment
Objektkonstruktion
20 Bernhard Tinner
8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
21/22
222 Applikationen objektorientiert konzipieren 2010
Komponentendiagramm
Quellennachweis:
Applikationen objektorientiert konzipieren (222) (Hansruedi Tremp)2. berarbeitete Auflage 2007, Compendio Bildungsmedian AG, ZrichUML 2.0 - Die neue Version der Standardmodellierungssprache
Vorlesung Software-Engineering 2004, Fachhochschule Furtwangen, (Prof. Mario Jeckle)Ein berblick ber UML (Martin Glinz)Verffentlichung 2001, Tutorial unterwww.admin-wissen.de
21 Bernhard Tinner
http://www.admin-wissen.de/http://www.admin-wissen.de/8/14/2019 Zusammenfassung - 222 - Applikationen objektorientiert konzipieren
22/22
222 Applikationen objektorientiert konzipieren 2010
Referenz UML 2 (Cortex Brainware GmbH)2010, Cortex Brainware Consulting & Training GmbH (www.cortex-brainware.de)Anwendungsfall Wikipedia2010, Wikipedia http://de.wikipedia.org
22 B h d Ti
http://www.cortex-brainware.de/http://de.wikipedia.org/http://www.cortex-brainware.de/http://de.wikipedia.org/