Anwendungsfalldiagramm (use-case-diagram)

Mit diesem UML-Diagrammtyp kann einfach gezeigt werden, wer was mit dem Softwaresystem machen kann, welche Anwendungsfälle es also in der Anwendung gibt:

Anwendungsfalldiagramm: Bankomat-Manager

UML-Anwendungsfalldiagramm (use-case-diagram)


Zusammen mit dem Klassen- und Objektdiagramm

Klassen- u. Objektdiagramm: Bank-Bankomat

UML-Klassen- und Objektdiagramm


ergibt sich folgender Programmcode:

  1. class Program
  2. {
  3.     static void Main(string[] args)
  4.     {
  5.         Bankomat ba1 = new Bankomat(12000);     // Erzeugung der Bankomatobjekte
  6.         Bankomat ba2 = new Bankomat(8000);
  7.         Bankomat ba3 = new Bankomat(10000);
  8.         Bank bank1 = new Bank(new List<Bankomat> { ba1, ba2, ba3 });    // Erzeugung des Bankobjekts:
  9.                                                                         // (Liste mit Bankomaten wird übergeben)
  10.         
  11.         Console.WriteLine("Einlage ba1: " + ba1.getEinlage());
  12.  
  13.         bank1.sumEinlagen();
  14.         Console.WriteLine("Gesamteinlage bank1: " + bank1.getGesamteinlage());
  15.     }
  16. }
  17.  
  18. class Bankomat
  19. {
  20.     private double einlage;
  21.  
  22.     public Bankomat(double einlage)
  23.     {
  24.         this.einlage = einlage;         // Bei Namensgleichheit von Eigenschaft und Parameter
  25.     }                                   // muss der this-Zeiger die Eigenschaft kennzeichnen
  26.     public double getEinlage()
  27.     {
  28.         return einlage;
  29.     }
  30. }
  31.  
  32. class Bank
  33. {
  34.     private double gesamtEinlage;
  35.     List<Bankomat> bankomaten = new List<Bankomat>();   // Bank hat * Bankomaten
  36.  
  37.     public Bank(List<Bankomat> bankomaten)
  38.     {
  39.         this.bankomaten = bankomaten;
  40.     }
  41.  
  42.     public double getGesamteinlage()
  43.     {
  44.         return gesamtEinlage;
  45.     }
  46.  
  47.     public void sumEinlagen()
  48.     {
  49.         gesamtEinlage = 0;
  50.         foreach (Bankomat bankomat in bankomaten)       // Einlagen aufsummieren
  51.             gesamtEinlage += bankomat.getEinlage();
  52.     }
  53. }


UML-Sequenzdiagramm

Dieser Diagrammtyp stellt die Interaktionen der Objekte untereinander (also die Methodenaufrufe) dar:

Sequenzdiagramm: Bank - Bankomat

UML-Sequenzdiagramm


Aufgabe: Streichen Sie die Eigenschaft gesamtEinlage der Klasse Bank ersatzlos. Die Funktionalität soll erhalten bleiben, indem die Methode sumEinlage() die Gesamteinlage als Rückgabewert liefert. Dazu müssen die vier UML-Diagramme teilweise geändert werden.

Last modified: Friday, 1 December 2023, 9:02 AM