1 einfach oo wenn alles so einfach wäre. 2 wie gehen wir vor? das konzept die grundlagen das...
TRANSCRIPT
![Page 1: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/1.jpg)
1
Einfach OO
Wenn alles so einfach wäre
![Page 2: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/2.jpg)
2
Wie gehen wir vor?
• Das Konzept• Die Grundlagen• Das Vorgehensmodell
Einfach OO
![Page 3: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/3.jpg)
3
Das Konzept
• Was heisst OO?• Was will OO?• Was war vor OO?• Was kann OO?• Wo ist OO stark?• Wo ist OO schwach?
Einfach OO
![Page 4: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/4.jpg)
4
Was heisst OO?• ObjektOrientierte Softwareentwicklung
Einfach OO / Konzept
Objekte (Dinge)
Auto besteht aus:
Räder
Fahrwerk
Karosserie
![Page 5: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/5.jpg)
5
Was will OO?Einfach OO / Konzept
•Die Realität abbilden mit Hilfe von Objekten
![Page 6: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/6.jpg)
6
Was kann OO?
Einfach OO / Konzept
Identität
Wecker 1 Wecker 2
Zustand Verhalten
Das Verhalten, den Zustand und die Identität eines Objektes der realen Welt nachbilden.
Mich kennt man
Zeit 10:35 Zeit 14:45
Ich habe Werte
Zeit anzeigen alarmieren
Ich habe Intelligenz und kann etwas
![Page 7: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/7.jpg)
7
Wo ist OO stark?
Privater Bereich
Öffentlicher Bereich
Auftrag
Ergebnis
Austauschbare Komponente
Normierte Schnittstelle
Einfach OO / Konzept
Kapselung (Information Hidding)
Verteilung von Intelligenz (Delegation)
Komponentenbildung (Services)
![Page 8: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/8.jpg)
8
Wo ist OO schwach?Einfach OO / Konzept
•Performance•Einbussen durch starke Nutzung der Delegation
Auftrag
Ergebnis
Auftrag
Ergebnis
Ich bin nicht zuständig, mach du und liefere mir
Ich bin nicht zuständig, mach du und liefere mir
Ich bin zuständig, und liefere dir
![Page 9: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/9.jpg)
9
• Was ist ein Objekt?• Was ist eine Klasse?• Was sind Beziehungen?
Die Grundlagen
Einfach OO / Grundlagen
![Page 10: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/10.jpg)
10
• Abbild aus der realen oder gedachten Welt– Identität
– Zustand
– Verhalten
Was ist ein Objekt?Einfach OO / Grundlagen
Ferrari
- farbe = rot- kennzeichen = SG 23 44
einWecker
- Uhrzeit = 10:00- weckzeit = 6:00
![Page 11: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/11.jpg)
11
• Schablone eines Objektes– Identität
– Zustand
– Verhalten
Was ist eine Klasse?Einfach OO / Grundlagen
Auto
- farbe: Color- kennzeichen: String
+ beschleunigen()+ bremsen()
Wecker
- Uhrzeit: Time- weckzeit: Time
+ setzeWeckzeit(eineZeit: Time)
![Page 12: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/12.jpg)
12
• Schablone eines Objektes bestehend aus:– Attribute
- Ausprägung (Zustand)
– Operationen- Verhalten
Was ist eine Klasse?
OO-Software-Entwicklung / Theorie / Class-Diagram
KlassenName
attribut1attribut2attribut3
...
operation1()operation2()
...
![Page 13: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/13.jpg)
13
• Attribute- name
- type
• Operationen- name
- parameter
- name
- type
-return Value
- type
Was ist eine Klasse?OO-Software-Entwicklung / Theorie / Class-Diagram
KlassenName
attribut1: typ1attribut2: typ2attribut3: typ3
...
operation1(parName: partyp) : retvaloperation2(parName: partyp) : retval
...
![Page 14: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/14.jpg)
14
• Abstrakte Klasse ohne Implementierung
• Protokolldefinition- Operationen
-ohne -Implementierung
• Keine Attribute
Was ist eine Interface-Klasse?
OO-Software-Entwicklung / Theorie / Class-Diagram
InterfaceName„Interface“
attribut1attribut2attribut3
...
operation1operation2
...
![Page 15: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/15.jpg)
15
Was sind Klassen-Beziehungen?
OO-Software-Entwicklung / Theorie / Class-Diagram
UhrPerson
AdressePerson
Fahrzeug
AutoFahrrad
• Beziehungen zwischen Klassen
• Vererbung
• Aggregation
• Komposition
![Page 16: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/16.jpg)
16
Was ist eine Vererbungs-Beziehungen?
OO-Software-Entwicklung / Theorie / Class-Diagram
Fahrzeug
AutoFahrrad
• Beschreibung- Spezialisierung
• Prüffrage- iskindof (Ist eine Art von)
![Page 17: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/17.jpg)
17
Was ist eine Mehrfach-Vererbung?OO-Software-Entwicklung / Theorie / Class-Diagram
Amphibienfahrzeug
BootAuto
• Beschreibung- Spezialisierung
• Prüffrage- iskindof (Ist eine Art von)
Auto
Drawable„Interface“Fahrzeug
![Page 18: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/18.jpg)
18
Was ist eine Aggregation?
OO-Software-Entwicklung / Theorie / Class-Diagram
• Beschreibung- Unidirektionale (einseitige) Besitzangabe
• Prüffrage- has-a (Hat ein)
Person Uhr
![Page 19: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/19.jpg)
19
Was ist eine Komposition?
OO-Software-Entwicklung / Theorie / Class-Diagram
• Beschreibung- Spezialfall der Aggregation -> Existenz-Abhängigkeit
• Prüffrage- part-of (Teil von)
Person Adresse
![Page 20: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/20.jpg)
20
Was ist der Unterschied?
OO-Software-Entwicklung / Theorie / Class-Diagram
Person Adresse
Person Uhr
Komposition: Adresse kann ohne Person nicht existieren!
Aggregation: Uhr kann ohne Person existieren!
![Page 21: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/21.jpg)
21
UhrPerson
GeburtstagPerson
EhepartnerPerson
Was ist eine Kardinalität?
OO-Software-Entwicklung / Theorie / Class-Diagram
• Spezifikation einer Klassenbeziehung
• Mengenangabe der Beziehung
•*-Null oder mehr
•1-exakt eins
•0..1-Null oder eins
*
1
0..1
![Page 22: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/22.jpg)
22
Auto
Drawable„Interface“Fahrzeug
UhrPerson **
Was ist ein Klassendiagramm?
OO-Software-Entwicklung / Theorie / Class-Diagram
• Statische Darstellung• Beziehungen und Abhängigkeiten zwischen den Klassen
![Page 23: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/23.jpg)
23
Was ist ein Vorgehensmodell?
OO-Software-Entwicklung / Theorie / Vorgehensmodell
• Vorgehensmodell
• Phasen
• Kernprozess
![Page 24: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/24.jpg)
24
OO-Software-Entwicklung / Theorie / Vorgehensmodell
• Prozess Ablauf- Modellierung- Anforderungen- Analyse & Design- Implementierung- Test- Einsatz
• Prozess Unterstützung- Konfigurationsmanagement- Projektmanagement- Entwicklungsumgebung
Vorgehensmodell
![Page 25: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/25.jpg)
25
OO-Software-Entwicklung / Theorie / Vorgehensmodell
Was sind die Phasen?
Phasen Inception Elaboration Costruction Transtionübersetzt Einführung Ausarbeitung Konstruktion Übergang
entspricht Vorstudie Hauptstudie Systembau Einführung
Alle Phasen erstrecken sich über den gesamten Workflow
![Page 26: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/26.jpg)
26
OO-Software-Entwicklung / Theorie / Vorgehensmodell
Was sind die Kernprozesse?
• Systemabgrenzung• Anforderungen• Systemdefinition• Implementierung• Testen• Einsatz• Konfigurationsmanagement• Projektmanagement• Entwicklungsumgebung
![Page 27: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/27.jpg)
27
OO-Software-Entwicklung / Theorie / Vorgehensmodell
Vorstudie (Inception)
• Ziele- Systemabgrenzung- Kernanforderung- Projektplan (Meilensteine)- Projekt-Kosten / -Risiken
• Lieferobjekte- 10 - 20 % der Use Cases- Fachglossar- Prototyp
![Page 28: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/28.jpg)
28
OO-Software-Entwicklung / Theorie / Vorgehensmodell
Hauptstudie (Elaboration)• Ziele
- alle Anforderungen- Priorität- Systemarchitektur- Iterationsplan
• Lieferobjekte- 100 % der Use Cases- Klassendiagramme- techn. Prototyp
![Page 29: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/29.jpg)
29
OO-Software-Entwicklung / Theorie / Vorgehensmodell
Systembau (Construction)
• Ziele- Lauffähiges Teilsystem
• Lieferobjekte- Software- Dokumentation
![Page 30: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/30.jpg)
30
OO-Software-Entwicklung / Theorie / Vorgehensmodell
Einführung (Transition)
• Ziele- Einführung der SW
• Lieferobjekte- Schulungsunterlagen
![Page 31: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/31.jpg)
31
OO-Software-Entwicklung / Theorie / UseCases
Was ist ein Use Case?
• Systemübersicht- Systemanforderungen
- Was sind die Anforderungen?
- System Benutzer- Wer sind die Benutzer?
- Abhängigkeiten- Wer löst was auf?
Bibliothekar
Buch an Kunde ausleihen
Buch zurücknehmen
![Page 32: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/32.jpg)
32
OO-Software-Entwicklung / Theorie / UseCases
Was ist ein Actor?
Actor Name
• Systembenutzer
• Rolle
• Beispiele- Bibliotheksverwaltung
- Bibliothkar
- Offertesystem- Agent
![Page 33: 1 Einfach OO Wenn alles so einfach wäre. 2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell Einfach OO](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d8149795902118d3a4e/html5/thumbnails/33.jpg)
33
OO-Software-Entwicklung / Theorie / UseCases
Was ist ein Use-Case?
• Funktionelle Anforderung
• Wird vom Actor ausgelöst und liefert ihm ein sinnvolles Ergebnis
• Beispiele- Bibliotheksverwaltung
- Buch an Kunde ausleihen - Offertesystem
- Offerte erstellen
Use-Case-Name