Zusammenfassung - 222 - Applikationen objektorientiert konzipieren

download Zusammenfassung - 222 - Applikationen objektorientiert konzipieren

of 22

Transcript of Zusammenfassung - 222 - Applikationen objektorientiert konzipieren

  • 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/