Klassendiagramm
Klassendiagram UML
Klassendiagram UML
Kartei Details
Karten | 28 |
---|---|
Sprache | Deutsch |
Kategorie | Informatik |
Stufe | Universität |
Erstellt / Aktualisiert | 14.01.2017 / 19.01.2022 |
Weblink |
https://card2brain.ch/box/20170114_klassendiagramm
|
Einbinden |
<iframe src="https://card2brain.ch/box/20170114_klassendiagramm/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Lernkarteien erstellen oder kopieren
Mit einem Upgrade kannst du unlimitiert Lernkarteien erstellen oder kopieren und viele Zusatzfunktionen mehr nutzen.
Melde dich an, um alle Karten zu sehen.
Analysemuster
- unterstützt Identifikation von Klassen und Modellierung der Beziehungen zwischen Klassen
- abstrahieren Problemlösungsmodelle eines Einzelfalls
- Muster zur Abbildung häufig vorkommender Strukturen in einer Anwendungsdomäne
Was ist eine Klasse?
Bauplan (Schablone) für Objekte
definiert Attribute (Daten)
Zusammenfassung gleichartiger Objekte
Objekte stellen Ausprägung der Schablone dar ( Instanz der Klasse )
definiert Methoden (Verhalten)
Was ist eine Assoziationsklasse?
Definition von Attributen für Assoziationen möglich (Eigenschaften im Kontext der Beziehung zwischen zwei Klassen)
Modellierung der Eigenschaften als Assoziationsklasse
kein semantischer]Unterschied zwischen Assoziation und Assoziationsklasse
Welche Arten (Kategorien) von Klassen gibt es in der Anforderungsdefinition?
- Fachliche Klassen
- Basisklasse (Peimitivdatentyp, Komplexer Datentyp, Aufzählungstyp(Enumeration))
Was wird mit einem Klassendiagramm abgebildet?
- Strukturelle Aspekte des Geschäftssystems
- Klassen mit Attributen und Operatione
- Beziehungen zwischen Klassen
Welche Analysemuster kennen Sie?
- Liste
- Exemplartyp
- Baugruppe
- Stückliste
- Koordinator
- Rolle
- Wechselnde Rolle
- Historie
- Gruppe
- Gruppenhistorie
Attribut
- bilden gemeinsam den Zustand des Objekts
- in jedem Objekt der Klasse enthalten, jeweils durch individuellen Wert repräsentiert
- besteht mind. aus Name und Attributtyp (Datentyp)
- Einschränkung des zulässigen Wertebereichs mit Zusicherungen
- definieren Daten, die für ein Objekt gespeichert werden
Welche stärkere Form der Aggregation kennen Sie?
Komposition
Aggregation
- Beziehung zwischen Objekten, die durch Rangordnung gekennzeichnet ist
- keine exakte Definition in UML: eigener Modellierungsstandard zu erarbeiten
Komposition
- starke Form der Aggregation
- jedes Objekt der „Teil“-Klasse zu einem Zeitpunkt nur Komponente eines einzigen Objekts der Aggregatklasse
- Löschen des „Ganzen führt zu automatischer Löschung der Teile
Objekt
Bildet Gegenstand der realen Welt ab
besitzt eindeutige Identiät
klare Abgrenzung und präzise Bedeutung im Anwendungsbereich
nach außen beobachtbares Verhalten (leistungsangebot); interne Abläufe verborgen
hat einen Zustand
können untereinander kommunizieren
Instanzen
Objekte entstehen durch Instanziierung einer Klasse
mit Instamziierung beginnt Lebenszyklus des Objekts
Methoden
definieren Verhalten eines Objekts
Objekt zeigt Verhalten nur nach Aufforderung per Nachricht durch anderes Objekt
ausführbare Tätigkeit(Dienstleistung) für nutzende Objekte
Operationen für alle Objekte identisch
Beschreibung durch Methodensignatur(Name, Parameter, Rückgabetyp)
nähere Spezifikation mit Zusicherungen möglich
direkter Zurgiff auf Attribute in Methodenimplementierung möglich
Fachliche Klasse
definieren Geschäftsobjekte
haben Basisklassen als Datentyp von Attributen
weisen Beziehungen zu anderen fachlichen Klassen auf(Assoziation, Generalisierung)
Basisklassen
Primitivdatentyp: definieren einfache Datentypen mit Pendants in Programmiersprachen/Frameworks
Aufzählungstypen(Enumeration): defineren festen Vorrat an möglichen Wertebelegungen einer Variable/eines Attributs
Komplexe Datentypen: definieren verschiedene Attribute, die in Kombination häufig benötigt werden; fachlich neutral
Konzeptionelle Sicht(Definitionsphase)
Definition der relevanten Bestandteile (fachliche Klassen) aus Sicht des Anwenders (fachliche Sicht)
Verwendung von Analysemustern
Spezifizierende Sicht(Entwurfsphase):
Darstellung der internen Strukturen eines Systems
Modellierung der in der Implementierungsphase zur realisierenden Klassen
Erstellung auf Basis fachlichen Klassen, Anreichung um technische Klassen
Verwensung von Entwurfsmustern
Implementierende Sicht:
Umsetzung der Klassen aus Entwurfsphase in Code der Zielsprache
Generalisierung
zentrales Konzept der objektorientierten Modellierung
Klasse A (Basisklasse, Superklasse) ist Verallgemeinerung der Klasse B (Unterklasse, Subklasse)
Umkehrung: Spezialisierung
Definition von Vererbungshierachien möglich
Subklasse übernimmt Attribute und Operationen der Superklasse und erweitert diese
Verhalten kann durch Überschreibun der Operationen verändert werden
Assoziation
Beziehungstyp auf Instanzniveau
Menge aller Verknüpfungen mit gleicher Struktur und Semantik zwischen Objekten zweier Klassen
Bezeichnung beschreibt inhaltliche Bedeutung der Assoziation
Rollennamen geben Rolle einer Klasse aus der Sicht der anderen Klasse an (optional)
Multiplizitäten geben Anzahl der möglichn Referenzen an
Schnittstellen
Spezifikation des externen Verhaltens von Klassen oder anderen Elementen (Komponenten, Randsystemen)
Schnitstellen werden je nach Sicht bereitgestellt (realisiert; realise) oder angefordert (benötigt;use)
keine Instanziierung möglich
zwei alternative Darstellungsformen
Modellierung der Struktur
Domänen modell(Klassendiagramm) bildet das Wesentliche des Anwendungsbereiches ab: Geschäftsobjekte als Klassen aus fachlicher Sicht
Ableitung fachlicher Klassen anhand Anwendungsbereiche
Basis der Definition fachlicher Klassen ist Fachwissen über Anwendungsbereich
Reale-Welt-Suche: z.B Formulare, Belege,etc. Ermittlung Klassenkanidaten
Textanalyse aus Beschreibungen: Studien, Prozessanalysen
CRC-Karten-Technik (Class-Responsibility-Collaboration)
Konzeptionelle Sicht (Definitionsphase)
- Definition der relevanten Bestandteile (fachliche Klassen) aus Sicht des Anwenders (fachliche Sicht)
- Verwendung von Analysemustern
Spezifizierende Sicht (Entwurfsphase)
- Darstellung der internen Strukturen eines Systems
- Modellierung der in der Implementierungsphase zu realisierenden Klassen
- Erstellung auf Basis fachlicher Klassen, Anreichung um technische Klassen
- Verwendung von Entwurfsmustern
Architekturmuster
- Muster zur Gestaltung eines Anwendungssystems
- Abbildung der Beziehungen zwischen System-Komponenten
- Modellierung der Systemstruktur
Entwurfsmuster
- implementierungsorientiert
- Bestandteil der objektorientierten Softwareentwicklung
-
- 1 / 28
-