This commit is contained in:
David Schirrmeister 2024-05-07 09:16:07 +02:00
parent 3d31be6ffd
commit 465f6f5668
14 changed files with 53 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@ -29,5 +29,4 @@
</toc-element> </toc-element>
</toc-element> </toc-element>
</toc-element> </toc-element>
</instance-profile> </instance-profile>

View File

@ -72,6 +72,19 @@ Es gibt zwei Arten die Attribute darzustellen
![image_87.png](image_87.png) ![image_87.png](image_87.png)
### Erstellung eines Klassen-Diagramms
1. Identifizierung der Klassen
- ![image_107.png](image_107.png)
2. Identifizierung der Attribute
- ![image_108.png](image_108.png)
3. Identifizierung von Generalisierungen
- ![image_109.png](image_109.png)
4. Identifizierung von Assoziationen und Aggregationen
- ![image_110.png](image_110.png)
_Entstandenes UML-Diagramm ist nicht einzig korrektes!_
## Objekt Diagramme ## Objekt Diagramme
### Beispiel Objekt Diagramme: ### Beispiel Objekt Diagramme:
- 4 Instanzen / Objekte vom Typ Student (Helen, Mike, Paul) - 4 Instanzen / Objekte vom Typ Student (Helen, Mike, Paul)
@ -97,6 +110,7 @@ Klassen arbeiten zusammen über verschiedene Arten von Relationships
### Association ### Association
Wenn ein Objekt einer Klasse mit Objekten einer anderen Klasse arbeitet Wenn ein Objekt einer Klasse mit Objekten einer anderen Klasse arbeitet
![image_89.png](image_89.png) ![image_89.png](image_89.png)
- schwächstes Relationship - schwächstes Relationship
- Kommunikationspartner können auf Attribute und Methoden des Anderen zugreifen - Kommunikationspartner können auf Attribute und Methoden des Anderen zugreifen
@ -109,19 +123,28 @@ Wenn ein Objekt einer Klasse mit Objekten einer anderen Klasse arbeitet
- nix: undefined - nix: undefined
### Aggregation ### Aggregation
Wenn eine Klasse eine Referenz zu Objekten einer anderen Klasse besitzt und teilt Wenn eine Klasse eine Referenz zu Objekten einer anderen Klasse besitzt und teilt
![image_90.png](image_90.png) ![image_90.png](image_90.png)
- Objekte existieren auch unabhängig
- Es können auch [mehrere Objekte](UML.md#relationship-overview) in einer Aggregation verbunden werden
### Composition ### Composition
Wenn eine Klasse Objekte einer anderen Klasse enthält Wenn eine Klasse Objekte einer anderen Klasse enthält
![image_91.png](image_91.png) ![image_91.png](image_91.png)
### Generalization - Nur maximal eine Instanz
- Objekt kann nicht allein existieren
### Generalization (Inheritance)
Wenn eine Klasse ein Typ einer anderen Klasse ist Wenn eine Klasse ein Typ einer anderen Klasse ist
![image_92.png](image_92.png) ![image_92.png](image_92.png)
## Erstellung von Klassen ## Erstellung von Klassen
### Appropriate Level of detail ### Appropriate Level of detail
Detail der Zeichnung sollte abhängig vom [SDLC](IntroductionOOAD.md#software-development-lifecycle-sdlc) sein. Detail der Zeichnung sollte abhängig vom [SDLC](IntroductionOOAD.md#software-development-lifecycle-sdlc) sein.
@ -133,3 +156,31 @@ Detail der Zeichnung sollte abhängig vom [SDLC](IntroductionOOAD.md#software-de
- ![image_95.png](image_95.png) - ![image_95.png](image_95.png)
## N-Ary Association ## N-Ary Association
- Relationship zwischen mehr als zwei Klassen
- Wird durch hohle Raute in der Mitte der Klassen dargestellt
- bspw.: ![image_99.png](image_99.png)
### Implementierung in Code von N-Ary Association
- nicht existent in Standard-Programmiersprachen
#### Using Two Binary Associations
![image_100.png](image_100.png)
#### Using additional Class
![image_101.png](image_101.png)
## Association Class
### Introduction Association Class
Erlaubt [N-Ary Associations](UML.md#n-ary-association)
### Possible Implementations of Association Classes
![image_102.png](image_102.png) ![image_103.png](image_103.png)
## Abstract Class
![image_104.png](image_104.png)
- nur im Kontext von Generalisierungsbeziehungen sinnvoll
## Interface
![image_106.png](image_106.png)