|
|
| Zeile 12: |
Zeile 12: |
|
| |
|
| == Gesamtbeispiel (Systemkontext) == | | == Gesamtbeispiel (Systemkontext) == |
| Ein vollständiges Anwendungsfalldiagramm führt alle Elemente innerhalb eines umschließenden '''Systemrahmens (System Boundary)''' zusammen. Die Akteure befinden sich außerhalb des Systems, während die Anwendungsfälle innerhalb des Systems liegen und über Beziehungen miteinander verknüpft sind. | | Ein vollständiges Anwendungsfalldiagramm führt alle Elemente innerhalb eines umschließenden '''Systemrahmens (Systemgrenze)''' zusammen. Die Akteure befinden sich außerhalb des Systems, während die Anwendungsfälle innerhalb des Systems liegen und über Beziehungen miteinander verknüpft sind. |
|
| |
|
| <html>
| | [[Datei:AnwendungsfallSys.png|mini|Gesamtbeispiel mit Systemgrenze und Akteuren]] |
| <svg width="680" height="340" viewBox="0 0 680 340" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <rect x="160" y="20" width="360" height="300" rx="8" fill="#ffffff" stroke="#222222" stroke-width="2" />
| |
| <text x="175" y="45" font-family="Arial, sans-serif" font-size="14" font-weight="bold" fill="#222222">System: Onlineshop</text>
| |
|
| |
| <g transform="translate(30, 90)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Kunde</text>
| |
| </g>
| |
|
| |
| <line x1="90" y1="145" x2="185" y2="105" stroke="#222222" stroke-width="2" />
| |
| <line x1="90" y1="155" x2="185" y2="235" stroke="#222222" stroke-width="2" />
| |
| | |
| <g transform="translate(185, 70)">
| |
| <ellipse cx="85" cy="30" rx="75" ry="25" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="85" y="34" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Artikel bestellen</text>
| |
| </g>
| |
|
| |
| <g>
| |
| <line x1="270" y1="95" x2="375" y2="135" stroke="#222222" stroke-width="1.5" stroke-dasharray="4,4" />
| |
| <polygon points="383,138 373,130 369,139" fill="#222222" />
| |
| <text x="335" y="112" font-family="Arial, sans-serif" font-size="10" font-weight="bold" fill="#222222">«include»</text>
| |
| </g>
| |
| | |
| <g transform="translate(370, 125)">
| |
| <ellipse cx="85" cy="30" rx="75" ry="25" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="85" y="34" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Login durchführen</text>
| |
| </g>
| |
| | |
| <g>
| |
| <line x1="260" y1="210" x2="260" y2="132" stroke="#222222" stroke-width="1.5" stroke-dasharray="4,4" />
| |
| <polygon points="260,124 256,134 264,134" fill="#222222" />
| |
| <text x="268" y="175" font-family="Arial, sans-serif" font-size="10" font-weight="bold" fill="#222222">«extend»</text>
| |
| </g>
| |
| | |
| <g transform="translate(185, 210)">
| |
| <ellipse cx="85" cy="30" rx="75" ry="25" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="85" y="34" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Reklamation einreichen</text>
| |
| </g>
| |
|
| |
| <g transform="translate(590, 90)">
| |
| <rect x="0" y="35" width="70" height="40" fill="#ffffff" stroke="#222222" stroke-width="2" rx="3" />
| |
| <text x="35" y="25" font-family="Arial, sans-serif" font-size="11" font-style="italic" text-anchor="middle" fill="#555555">«system»</text>
| |
| <text x="35" y="58" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Support</text>
| |
| </g>
| |
| <line x1="535" y1="155" x2="590" y2="120" stroke="#222222" stroke-width="2" />
| |
| </svg>
| |
| </html>
| |
|
| |
|
| == Notation == | | == Notation == |
| Zeile 82: |
Zeile 31: |
| Ungerichtete Assoziationen werden als eine durchgehende Linie dargestellt. Es ist die offenste Form der Darstellung und lässt Spielraum für Interpretation bezüglich des genauen Datenflusses. | | Ungerichtete Assoziationen werden als eine durchgehende Linie dargestellt. Es ist die offenste Form der Darstellung und lässt Spielraum für Interpretation bezüglich des genauen Datenflusses. |
|
| |
|
| <html>
| | [[Datei:AnwendungsfallEinweihungsfeier.png|mini|Beispiel einer ungerichteten Assoziation]] |
| <svg width="450" height="140" viewBox="0 0 450 140" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(30, 10)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Akteur</text>
| |
| </g>
| |
| <line x1="90" y1="65" x2="230" y2="65" stroke="#222222" stroke-width="2" />
| |
| <g transform="translate(230, 30)">
| |
| <ellipse cx="90" cy="35" rx="85" ry="30" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="90" y="39" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Anwendungsfall</text>
| |
| </g>
| |
| </svg>
| |
| </html>
| |
|
| |
|
| ==== Gerichtete Assoziation ==== | | ==== Gerichtete Assoziation ==== |
| Pfeile an der Assoziation geben an, wer die Aktion initiieren kann. Hier spricht man von einer gerichteten Assoziation. Ein Pfeil, der auf den Use Case gerichtet ist, besagt, dass nur der Akteur die Aktion initiieren kann, während ein Pfeil, der auf den Akteur zeigt, besagt, dass nur der Use Case die Aktion initiieren kann. Können beide Seiten die Aktion initiieren, werden die Pfeile weggelassen, anstatt zwei Pfeile zu setzen. | | Pfeile an der Assoziation geben an, wer die Aktion initiieren kann. Hier spricht man von einer gerichteten Assoziation. Ein Pfeil, der auf den Use Case gerichtet ist, besagt, dass nur der Akteur die Aktion initiieren kann, während ein Pfeil, der auf den Akteur zeigt, besagt, dass nur der Use Case die Aktion initiieren kann. Können beide Seiten die Aktion initiieren, werden die Pfeile weggelassen, anstatt zwei Pfeile zu setzen. |
|
| |
|
| <html>
| | [[Datei:AnwendungsfallHotelreservierung.png|mini|Beispiel einer gerichteten Assoziation]] |
| <svg width="500" height="140" viewBox="0 0 500 140" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(30, 10)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Akteur</text>
| |
| </g>
| |
| <g>
| |
| <line x1="90" y1="65" x2="250" y2="65" stroke="#222222" stroke-width="2" />
| |
| <polygon points="260,65 246,59 246,71" fill="#222222" />
| |
| </g>
| |
| <g transform="translate(260, 30)">
| |
| <ellipse cx="90" cy="35" rx="85" ry="30" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="90" y="39" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Anwendungsfall</text>
| |
| </g>
| |
| </svg>
| |
| </html>
| |
|
| |
|
| === Multiplizitäten === | | === Multiplizitäten === |
| Multiplizitäten geben an, wie viele Akteure mit wie vielen Anwendungsfällen in Beziehung stehen. Sie werden an gerichtete oder ungerichtete Assoziationen modelliert. | | Multiplizitäten geben an, wie viele Akteure mit wie vielen Anwendungsfällen in Beziehung stehen. Sie werden an gerichtete oder ungerichtete Assoziationen modelliert. |
|
| |
|
| <html>
| | [[Datei:AnwendungsfallTischtennis.png|mini|Darstellung von Multiplizitäten beim Tischtennis-Rundlauf]] |
| <svg width="720" height="160" viewBox="0 0 720 160" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(20, 10)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Spielerin</text>
| |
| </g>
| |
|
| |
| <line x1="80" y1="65" x2="240" y2="65" stroke="#222222" stroke-width="2" />
| |
| <text x="95" y="55" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="#c00">1</text>
| |
| <text x="215" y="55" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="#c00">3..*</text>
| |
| | |
| <g transform="translate(240, 30)">
| |
| <ellipse cx="110" cy="35" rx="105" ry="30" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="110" y="39" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Tischtennis-Rundlauf</text>
| |
| </g>
| |
|
| |
| <line x1="460" y1="65" x2="620" y2="65" stroke="#222222" stroke-width="2" />
| |
| <text x="475" y="55" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="#c00">0..*</text>
| |
| <text x="595" y="55" font-family="Arial, sans-serif" font-size="13" font-weight="bold" fill="#c00">0..1</text>
| |
| | |
| <g transform="translate(620, 10)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Schiedsrichterin</text>
| |
| </g>
| |
| </svg>
| |
| </html>
| |
|
| |
|
| Die Multiplizitäten sind im obigen Beispiel wie folgt zu lesen: | | Die Multiplizitäten sind im obigen Beispiel wie folgt zu lesen: |
| Zeile 173: |
Zeile 54: |
| Die Include-Anweisung gibt an, dass ein Use Case alle inkludierten Use Cases zwingend mitbenutzt. Die Include-Beziehung wird durch eine gestrichelte Linie dargestellt, die durch das Schlüsselwort <code><<include>></code> gekennzeichnet ist und vom Basis Use Case einen Pfeil in Richtung des zu inkludierenden Use Cases hat. | | Die Include-Anweisung gibt an, dass ein Use Case alle inkludierten Use Cases zwingend mitbenutzt. Die Include-Beziehung wird durch eine gestrichelte Linie dargestellt, die durch das Schlüsselwort <code><<include>></code> gekennzeichnet ist und vom Basis Use Case einen Pfeil in Richtung des zu inkludierenden Use Cases hat. |
|
| |
|
| <html>
| | [[Datei:AnwendungsfallHotelreservierungKomplex.png|mini|Include-Beziehung zwischen Anwendungsfällen]] |
| <svg width="580" height="110" viewBox="0 0 580 110" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(10, 20)">
| |
| <ellipse cx="95" cy="35" rx="90" ry="30" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="95" y="39" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Basis Use-Case</text>
| |
| </g>
| |
|
| |
| <g>
| |
| <line x1="200" y1="55" x2="370" y2="55" stroke="#222222" stroke-width="2" stroke-dasharray="6,6" />
| |
| <polygon points="380,55 366,49 366,61" fill="#222222" />
| |
| <text x="290" y="42" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222"><<include>></text>
| |
| </g>
| |
| | |
| <g transform="translate(380, 20)">
| |
| <ellipse cx="95" cy="35" rx="90" ry="30" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="95" y="39" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Inkludierter Use-Case</text>
| |
| </g>
| |
| </svg>
| |
| </html>
| |
|
| |
|
| === Extend === | | === Extend === |
| Zeile 200: |
Zeile 63: |
| Optional kann an eine Extend-Anweisung eine Bedingung (''Condition'') hinzugefügt werden, die beschreibt, unter welchen Voraussetzungen bezogen auf den Erweiterungspunkt der Extend Use Case ausgeführt wird. Die Bedingung wird in der UML als Notizzettel dargestellt, der das Schlüsselwort <code>Condition</code> enthält, gefolgt von der Bedingung in geschweiften Klammern und darunter der Erweiterungspunkt, auf den sich die Bedingung bezieht. Die Bedingung ist mit einer gestrichelten Linie mit der Linie der Extend-Anweisung verbunden. | | Optional kann an eine Extend-Anweisung eine Bedingung (''Condition'') hinzugefügt werden, die beschreibt, unter welchen Voraussetzungen bezogen auf den Erweiterungspunkt der Extend Use Case ausgeführt wird. Die Bedingung wird in der UML als Notizzettel dargestellt, der das Schlüsselwort <code>Condition</code> enthält, gefolgt von der Bedingung in geschweiften Klammern und darunter der Erweiterungspunkt, auf den sich die Bedingung bezieht. Die Bedingung ist mit einer gestrichelten Linie mit der Linie der Extend-Anweisung verbunden. |
|
| |
|
| <html>
| | [[Datei:AnwendungsfalldiagrammHotelreservierungKomplexErkl.png|mini|Extend-Beziehung inklusive Erweiterungspunkten und Bedingungen (Condition)]] |
| <svg width="620" height="230" viewBox="0 0 620 230" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(10, 70)">
| |
| <ellipse cx="100" cy="40" rx="95" ry="38" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="100" y="32" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Basis Use-Case</text>
| |
| <line x1="15" y1="42" x2="185" y2="42" stroke="#555555" stroke-width="1" />
| |
| <text x="100" y="55" font-family="Arial, sans-serif" font-size="10" font-style="italic" text-anchor="middle" fill="#555555">extension points:</text>
| |
| <text x="100" y="68" font-family="Arial, sans-serif" font-size="10" text-anchor="middle" fill="#222222">Erweiterungspunkt</text>
| |
| </g>
| |
|
| |
| <g>
| |
| <line x1="410" y1="110" x2="220" y2="110" stroke="#222222" stroke-width="2" stroke-dasharray="6,6" />
| |
| <polygon points="210,110 224,104 224,116" fill="#222222" />
| |
| <text x="315" y="95" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222"><<extend>></text>
| |
| </g>
| |
| | |
| <g transform="translate(410, 70)">
| |
| <ellipse cx="100" cy="40" rx="95" ry="38" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="100" y="44" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Extension Use-Case</text>
| |
| </g>
| |
| | |
| <g transform="translate(220, 10)">
| |
| <polygon points="0,0 160,0 180,20 180,50 0,50" fill="#ffffff" stroke="#222222" stroke-width="1" />
| |
| <polygon points="160,0 160,20 180,20" fill="#ffffff" stroke="#222222" stroke-width="1" />
| |
| <text x="10" y="18" font-family="Arial, sans-serif" font-size="10" font-weight="bold" fill="#222222">Condition: {Bedingung}</text>
| |
| <text x="10" y="34" font-family="Arial, sans-serif" font-size="10" fill="#555555">Erweiterungspunkt</text>
| |
| </g>
| |
|
| |
| <line x1="310" y1="60" x2="310" y2="110" stroke="#555555" stroke-width="1" stroke-dasharray="3,3" />
| |
| </svg>
| |
| </html>
| |
|
| |
|
| === Generalisierung === | | === Generalisierung === |
| Zwischen zwei Anwendungsfällen und Akteuren kann eine Generalisierungsbeziehung existieren (Vererbungspfeil). Ausgedrückt wird damit, dass der spezialisierte Anwendungsfall oder Akteur alle Bestandteile des allgemeinen Anwendungsfalls oder Akteurs beinhaltet. Der spezialisierte Anwendungsfall oder Akteur konkretisiert oder erweitert den allgemeinen Anwendungsfall. | | Zwischen zwei Anwendungsfällen oder Akteuren kann eine Generalisierungsbeziehung existieren (Vererbungspfeil mit hohler, geschlossener Pfeilspitze). Ausgedrückt wird damit, dass der spezialisierte Anwendungsfall oder Akteur alle Bestandteile des allgemeinen Anwendungsfalls oder Akteurs beinhaltet. Das spezialisierte Element konkretisiert oder erweitert das allgemeine Element. |
| | |
| ==== Generalisierung von Akteuren ====
| |
| | |
| <html>
| |
| <svg width="360" height="260" viewBox="0 0 360 260" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(30, 10)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Anwender</text>
| |
| </g>
| |
| | |
| <g>
| |
| <line x1="60" y1="165" x2="60" y2="150" stroke="#222222" stroke-width="2" />
| |
| <polygon points="60,135 50,150 70,150" fill="#ffffff" stroke="#222222" stroke-width="2" />
| |
| </g>
| |
| | |
| <g transform="translate(30, 145)">
| |
| <circle cx="30" cy="20" r="15" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="35" x2="30" y2="75" stroke="#222222" stroke-width="2"/>
| |
| <line x1="10" y1="50" x2="50" y2="50" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="10" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <line x1="30" y1="75" x2="50" y2="105" stroke="#222222" stroke-width="2"/>
| |
| <text x="30" y="125" font-family="Arial, sans-serif" font-size="12" font-weight="bold" text-anchor="middle" fill="#222222">Fahrer</text>
| |
| </g>
| |
| </svg>
| |
| </html>
| |
| | |
| Im obigen Beispiel ist der Akteur '''Fahrer''' eine Spezialisierung von '''Anwender'''. Ein Fahrer besitzt alle Fähigkeiten, Use Cases und Eigenschaften eines allgemeinen Anwenders, wie z.B. Vorname, Nachname, Benutzername und dass er sich mit dem Benutzernamen und Passwort anmelden kann (login), fügt jedoch spezifische Eigenschaften oder Rollen hinzu.
| |
| | |
| ==== Generalisierung von Anwendungsfällen ====
| |
| | |
| <html>
| |
| <svg width="540" height="200" viewBox="0 0 540 200" xmlns="http://www.w3.org/2000/svg" style="background-color: transparent;">
| |
| <g transform="translate(175, 10)">
| |
| <ellipse cx="95" cy="30" rx="90" ry="25" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="95" y="34" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Zahlung durchführen</text>
| |
| </g>
| |
| | |
| <g>
| |
| <line x1="130" y1="115" x2="200" y2="70" stroke="#222222" stroke-width="2" />
| |
| <polygon points="212,62 195,64 203,77" fill="#ffffff" stroke="#222222" stroke-width="2" />
| |
| </g>
| |
| | |
| <g>
| |
| <line x1="410" y1="115" x2="340" y2="70" stroke="#222222" stroke-width="2" />
| |
| <polygon points="328,62 337,77 345,64" fill="#ffffff" stroke="#222222" stroke-width="2" />
| |
| </g>
| |
| | |
| <g transform="translate(15, 115)">
| |
| <ellipse cx="95" cy="30" rx="90" ry="25" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="95" y="34" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Mit Kreditkarte bezahlen</text>
| |
| </g>
| |
|
| |
|
| <g transform="translate(335, 115)">
| | [[Datei:AnwendungsfallCD.png|mini|Generalisierungsbeziehung (Vererbung)]] |
| <ellipse cx="95" cy="30" rx="90" ry="25" fill="#ffffff" stroke="#222222" stroke-width="2"/>
| |
| <text x="95" y="34" font-family="Arial, sans-serif" font-size="11" font-weight="bold" text-anchor="middle" fill="#222222">Per PayPal bezahlen</text>
| |
| </g>
| |
| </svg>
| |
| </html>
| |
|
| |
|
| Ebenso können Anwendungsfälle untereinander generalisiert werden. Der allgemeine Use Case ''„Zahlung durchführen“'' wird hierbei durch die konkreten, spezialisierten Ausprägungen ''„Mit Kreditkarte bezahlen“'' und ''„Per PayPal bezahlen“'' geerbt und ausdifferenziert.
| | Ein typisches Beispiel bei Akteuren: Der Akteur '''Fahrer''' ist eine Spezialisierung von '''Anwender'''. Ein Fahrer besitzt alle Fähigkeiten, Use Cases und Eigenschaften eines allgemeinen Anwenders, wie z.B. Vorname, Nachname, Benutzername und dass er sich mit dem Benutzernamen und Passwort anmelden kann (login), fügt jedoch spezifische Eigenschaften oder Rollen hinzu. Ebenso lassen sich allgemeine Anwendungsfälle (z. B. "Medium brennen") durch speziellere Anwendungsfälle (z. B. "CD brennen", "DVD brennen") generalisieren. |
|
| |
|
| [[Kategorie:Modellierung]] | | [[Kategorie:Modellierung]] |
| [[Kategorie:FI_I_SDM]] | | [[Kategorie:FI_I_SDM]] |
| [[Kategorie:AHR_I_Informatik LK]] | | [[Kategorie:AHR_I_Informatik LK]] |