150 likes | 337 Views
UML. Klassen und Klassenstruktur. Finden und Abbilden von Klassen Dipl.-Ing. Päd. Alexander Huwaldt. Möglichkeiten der UML zum Finden von Klassen und deren Modellierung. UML. Einleitung. Klassendiagramme sind der zentrale Bestandteil der UML.
E N D
UML Klassen und Klassenstruktur Finden und Abbilden von Klassen Dipl.-Ing. Päd. Alexander Huwaldt Möglichkeiten der UML zum Finden von Klassen und deren Modellierung.
UML Einleitung • Klassendiagramme sind der zentrale Bestandteil der UML. Objekte: Konzept, Abstraktion oder Gegenstand mit klarer Abgrenzung und präziser Bedeutung, Ausprägung/ Instanz einer Klasse, z. B. “Herr Meier“. Klassen: Gruppen von Objekten mit ähnliche Eigenschaften, z. B. “Personen". • Es gibt keine strenge visuelle Unterscheidung zwischen Objekten und Klassen in der UML. Objekte werden von den Klassen dadurch unterschieden, dass ihre Bezeichnungen unterstrichen sind, sonst sind die Symbole gleich. Klassen und Objekte können zusammen im Klassendiagramm auftreten. Das Auffinden von Klassen und Objekten ist in der UML nicht standardisiert.
UML Klassenkandidat Klassen finden • Erfasse alle Substantive! • Finde die Gegenstände! • Ermittle deren Eigenschaften! • Welche Personen sind beteiligt? • Wie sind sie organisiert? • Welche Rollen nehmen sie ein? • Wie sind die Arbeitsabläufe? • Ermittle die Bedingungen und Ereignisse vor, während und nach den Aktivitäten! Gehe, rede, notiere, streiche, gehe, rede, notiere...
UML Klassenkandidat Klassen aus dem Prozessmodell Diskursbereich, Klassenkandidat, CRC Karte Dokumente, Formulare, Entities, Datencluster, Personen, Stellen, Ressourcen, Orgeinheiten, Substantive aus den Beschreibungen...
UML Klassenkandidat System Klassen aus dem Anwendungsfall Actoren, Systeme, Substantive aus den Beschreibungen...
UML Klassenkandidat Basisklasse Klasse3 Klasse2 Attribute Attribute Attribute Operationen Operationen Operationen Vom Klassenkandidat zur Klasse Von CRC Karten über Businessklassen zum Klassendiagramm Filtern !
UML Klassenname Assoziation Kunde Verkäufer berät erhält erhält Rechnung Angebot Klassen in der Konzeptstufe In der ersten Phase des Entwurfes (Konzept) werden nur die Namen der Klassen und deren Beziehungen grob beschrieben.
UML Assoziation Klassenname Attribute Operationen 0,1 * Kardinalitäten Vererbung Aggregation Kunde kundennummer kaufen() Verkäufer mitarbeiterID verkaufen() Person name bearbeiten() berät * 0,1 1,1 1,1 erhält erhält * Angebot Rechnung * Klassen in der Spezifikation In der weiteren Verfeinerung des Entwurfes (Spezifikation) werden die Eigenschaften (Attribute) und das Verhalten (Operationen) der Klassen beschrieben. Die Beziehungen zwischen den Klassen werden verfeinert. Generalisierung und Spezialisierung werden modelliert.
UML class Klasse2 extends Basisklasse{ privat Attribute Operationen () { A=A+1; SetAt(0,A); } } Basisklasse Klasse2 Klasse3 Attribute Attribute Attribute Klasse4 Operationen Operationen Operationen Attribute Operationen Spezifikation, Realisierung Klassendiagramm und Quellcode * 1 A=A+1;SetAt(0,A); Das Klassendiagramm repräsentiert das zukünftige Anwendungssystem. Es ist ein Abbild des Quellcodes. Die anderen Diagrammformen der UML haben hingegen illustrierenden Charakter.
UML Objekt Klasse Assoziation Name Attribute Operationen Name Attribute Operationen 0,1 * Multiplizität(Kardinalität) Paket Vererbung Aggregation Komposition Abhängigkeit Schnittstelle Navigation Elemente (Auswahl) Sichtbarkeit: + public - privat # protected {...} Zusicherung, Merkmal Spezielle Assoziationen:
UML Name Attribute Operationen Schreibweise von Attributen: Attribute beginnen mit einem Kleinbuchstaben. Sichtbarkeit name : Typ = Initialwert {Merkmal}{Zusicherung} # radius : integer = 25 {nur lesen} {radius > 0} Schreibweise von Operationen: Operationen beginnen mit einem Kleinbuchstaben. Sichtbarkeit name (Parameter:Typ = Standardwert ...) : Rückgabetyp {Merkmal}{Zusicherung} + setRadius ( r : integer = 25 ) : BOOL = {abstrakt} {r > 0} Konventionen Schreibweise von Klasse und Objekten: Name oder Klassen und Objekte beginnen mit einem Großbuchstaben. Objekte (Instanzen von Klassen) werden unterstrichen. Sie werden in Rechtecken mit folgender Unterteilung dargestellt:
UML Kunde Auftrag erteilt Assoziationen, Navigation, Multiplizität AssoziationBeziehung Bekanntheit Name der Assoziation 0,* 1,1 Gerichtetheit Navigation Multiplizität Kardinalität Die Assoziation ist semantisch mit der Relationship des ERM vergleichbar. Sie definiert eine Beziehung zwischen zwei Klassen oder Objekten, die Kardinalität der Beziehung und die Richtung für die Navigation (Position des Schlüssels/Zeigers).
UML Person Firma Kunde Auftrag Vererbung Vererbung {oder} Abhängigkeit erteilt 0,* 1,1
UML Kunde Auftrag Auftragsposition Arbeitszeit Material Aggregation, Komposition erteilt 0,* 1,1 1,1 existentiell abhängig enthält 1,* besteht aus 1,1 0,* besteht aus 1,1 1,1
UML Anwendungsbaustein Vorgangs- steuerung Interaktions- steuerung Dialog- steuerung Business-klasse Daten-haltung Fundamental- klasse RDB-Mapping Wiederverwendung