# Von Use-Case nach Klassen Diagramm



## El Jay (6. Apr 2009)

Hi,

Ich versuche zurzeit mehr UML in meinen Projekten einzusetzen. Aber ich hab immer ein Problem bei Use-Case Diagrammen und beim Übergang von Use-Case nach Klassen Diagramm.

Kann mir jemand den Weg erklären. Wie sehe ich in einem Use-Case Diagramm die Klassen die ich später benötige oder sieht man das in einem Use-Case Diagramm nicht.

Kann da jemand mal konkret werden. Wenn ich danach google kommen immer tolle Beispiele, z.B. einer Einweihungsfeier in einem UML Use-Case Diagramm modelliert. Aber was dann das in Bezug auf die Entwicklung eines Programms/Software entsprechen aussagt, steht nicht daran.

Also mal zum Modellieren eines Use-Case Diagramms bzw. Klassen Diagramms:
Kann ein Akteur später eine Klasse darstellen, kann ein System später eine Klasse darstellen.

danke, Gruß
El Jay


----------



## Capasso (6. Apr 2009)

Ich hab mal gelernt das man dazu folgende drei Methoden verwenden kann.
Verwendung einer Begriffsliste
Hauptwortmethode
Schwimmbahn“-Methode
Eine Begriffsliste funktioniert folgendermaßen:
Man schreibt sich alle Begriffe die die Anwendung betreffen nach Kategorien sortiert auf
Hier ein Beispiel einer Hotelverwaltung

*physikalische, d.h. konkrete Dinge:* Rechnung

*Orte:* Zimmer, Hotel
*Transaktionen:* Reservierung, Buchung
*Einzelposten einer Transaktion:* Rechnungsposten, Extras, Rabatte
*von Personen eingenommene Rollen:* Hotelmitarbeiter, Hoteldirektor, Kunde, Stammkunde
*Behälter (Container) für bestimmte Dinge:* Zimmerliste, Extraliste,Kundenliste
*Teile in einem Behälter:* Standardzimmer, Exklusivzimmer, Einzelzimmer, Zweibettzimmer
*Organisationen:* Kundenverwaltung, Zimmerverwaltung, Hotelverwaltung
*Ereignisse:* Buchung, Reservierung
*Prozesse:* Buchungsvorgang, Reservierungsvorgang, Rechnungserstellung, Extrabuchungsvorgang
*Kataloge:* Extraliste​
*Dokumente in rechtlicher oder *

*finazieller Hinsicht:* Rechnung


Bei der Hauptwortmethode bildet man Sätze aus dem Aktivitätsdiagramm, und markiert die Hauptwörter:




Der *Hotelmitarbeiter* prüft ob das gewünschte *Zimmer* zum gewünschten *Termin* frei ist.​
Der *Hotelmitarbeiter* prüft ob *Adresse* und *Kreditkarteninformationen* vorhanden sind.​
Anschließend vermerkt der *Hotelmitarbeiter* das *Zimmer* als gebucht.​
...​
Nach diesem zwei Methoden hast du ne Menge Klassen (jeden Hauptwort, bzw Wort aus der Begriffsliste wird erstmal ne Klasse). Anschließend sucht man Beziehung zwischen den Klassen und kürzt das Klassen diagramm zusammen.
Man erkennt dann zum Beispiel das Zimmer eine Klasse ist aber Zimmerliste nur ein Container in einer anderen Klassen
Ich hoffe das hat ein wenig geholfen.


Das war mal Teil einer Vorlesung , hab es bis jetzt auch nur da angewendet.​


----------



## hdi (6. Apr 2009)

Aus meiner Zusammenfassung von einer Software-Technik Vorlesung (UML+Java):

*Statisches Modell:*
Ziel: Erstellung eines Klassen-Diagramms aus einem Use-Case Modell (ohne Attribute/Operationen!)
1.Klassen identifizieren:
Use Cases nach Substantiven durchsuchen
Redundante Klassen streichen
Fehlende Klassen einführen (Hinweis sind zB weitere Attribute im Use Case Modell)

2. Assoziationen bestimmen
	..arbeitet für, ist Kunde von, hat..
  	Zusammenarbeit von Objekten zur Lösung einer Aufgabe
Redundanz streichen, sowas wie „Kunde hat Kreditkarte“ kommt nicht als Assoziation rein
	Multiplizitäten und Rollennamen vergeben

3. Attribute identifizieren

4. Vererbung einführen
	Klassen zusammenfassen! (Neue Oberklasse wenn Klassen teils gleich sind)
	Überlegen, welche Klassen evtl abstrakt sind

5. Modell überarbeiten
zB: Eine Kreditkarte ist ein Stück Plastik und speichert keine BLZ oder Geheimzahl als Attribut

...das ist nur ein Auszug, danach kommt das dynamische Modell usw. Das hängt aber alles zusammen, es gibt schlichtweg nicht "den" Weg...das ist nun mal das schwerste am Programmieren, dieses Designen. Wenn du willst kann ich dir die komplette Zusammenfassung schicken von mir (17 Seiten). Gib mir einfach deine mail via PN.


----------



## El Jay (6. Apr 2009)

Danke für eure Antworten,

danke Capasso für dein Beispiel und Einsatz der verschiedenen textbasierenden Analysen, ist eine gute Idee werde ich mir merken, aber ich wollte mehr mit UML arbeiten...

...und da hab ich schon auf den Beitrag von HDI gewartet, da ich mir schon dachte des er in diesem Gebiet über gut Kompetenzen verfügt.

Ich werde dein Angebot annehmen und dir eine PN schicken.

vielen Danke, Gruß

El Jay


----------

