Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Wenn alles so einfach wäre

Ähnliche Präsentationen


Präsentation zum Thema: "Wenn alles so einfach wäre"—  Präsentation transkript:

1 Wenn alles so einfach wäre
Einfach OO Wenn alles so einfach wäre

2 Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell
Einfach OO Wie gehen wir vor? Das Konzept Die Grundlagen Das Vorgehensmodell

3 Das Konzept Was heisst OO? Was will OO? Was war vor OO? Was kann OO?
Einfach OO Was heisst OO? Was will OO? Was war vor OO? Was kann OO? Wo ist OO stark? Wo ist OO schwach?

4 Was heisst OO? ObjektOrientierte Softwareentwicklung Objekte (Dinge)
Einfach OO / Konzept Was heisst OO? ObjektOrientierte Softwareentwicklung Objekte (Dinge) Auto besteht aus: Räder Fahrwerk Karosserie

5 Was will OO? Die Realität abbilden mit Hilfe von Objekten
Einfach OO / Konzept Was will OO? Die Realität abbilden mit Hilfe von Objekten

6 Einfach OO / Konzept Was kann OO? Das Verhalten, den Zustand und die Identität eines Objektes der realen Welt nachbilden. Identität Zustand Verhalten Wecker 1 Wecker 2 Zeit 10:35 Zeit 14:45 Zeit anzeigen alarmieren Mich kennt man Ich habe Werte Ich habe Intelligenz und kann etwas

7 Wo ist OO stark? Kapselung (Information Hidding)
Einfach OO / Konzept Wo ist OO stark? Kapselung (Information Hidding) Verteilung von Intelligenz (Delegation) Komponentenbildung (Services) Auftrag Privater Bereich Ergebnis Austauschbare Komponente Normierte Schnittstelle Öffentlicher Bereich

8 Wo ist OO schwach? Performance Einfach OO / Konzept
Einbussen durch starke Nutzung der Delegation 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 Auftrag Auftrag Ergebnis Ergebnis

9 Die Grundlagen Was ist ein Objekt? Was ist eine Klasse?
Einfach OO / Grundlagen Die Grundlagen Was ist ein Objekt? Was ist eine Klasse? Was sind Beziehungen?

10 Was ist ein Objekt? Abbild aus der realen oder gedachten Welt
Einfach OO / Grundlagen Was ist ein Objekt? Abbild aus der realen oder gedachten Welt Identität Zustand Verhalten Ferrari - farbe = rot - kennzeichen = SG 23 44 einWecker - Uhrzeit = 10:00 - weckzeit = 6:00

11 Was ist eine Klasse? Schablone eines Objektes Identität Zustand
Einfach OO / Grundlagen Was ist eine Klasse? Schablone eines Objektes Identität Zustand Verhalten Auto - farbe: Color - kennzeichen: String + beschleunigen() + bremsen() Wecker - Uhrzeit: Time - weckzeit: Time + setzeWeckzeit(eineZeit: Time)

12 Was ist eine Klasse? Schablone eines Objektes bestehend aus:
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Klasse? KlassenName attribut1 attribut2 attribut3 ... operation1() operation2() ... Schablone eines Objektes bestehend aus: Attribute - Ausprägung (Zustand) Operationen - Verhalten

13 attribut1: typ1 attribut2: typ2 attribut3: typ3 ...
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Klasse? Attribute - name - type Operationen - name - parameter - name - type -return Value - type KlassenName attribut1: typ1 attribut2: typ2 attribut3: typ3 ... operation1(parName: partyp) : retval operation2(parName: partyp) : retval ...

14 Was ist eine Interface-Klasse? InterfaceName „Interface“
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Interface-Klasse? Abstrakte Klasse ohne Implementierung Protokolldefinition - Operationen -ohne -Implementierung Keine Attribute InterfaceName „Interface“ attribut1 attribut2 attribut3 ... operation1 operation2 ...

15 Was sind Klassen-Beziehungen?
OO-Software-Entwicklung / Theorie / Class-Diagram Was sind Klassen-Beziehungen? Fahrzeug Auto Fahrrad Beziehungen zwischen Klassen Vererbung Aggregation Komposition Person Uhr Person Adresse

16 Was ist eine Vererbungs-Beziehungen?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Vererbungs-Beziehungen? Fahrzeug Auto Fahrrad Beschreibung - Spezialisierung Prüffrage - iskindof (Ist eine Art von)

17 Was ist eine Mehrfach-Vererbung?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Mehrfach-Vererbung? Amphibien fahrzeug Boot Auto Auto Drawable „Interface“ Fahrzeug Beschreibung - Spezialisierung Prüffrage - iskindof (Ist eine Art von)

18 Was ist eine Aggregation?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Aggregation? Person Uhr Beschreibung - Unidirektionale (einseitige) Besitzangabe Prüffrage - has-a (Hat ein)

19 Was ist eine Komposition?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Komposition? Person Adresse Beschreibung - Spezialfall der Aggregation -> Existenz-Abhängigkeit Prüffrage - part-of (Teil von)

20 Was ist der Unterschied?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist der Unterschied? Person Adresse Komposition: Adresse kann ohne Person nicht existieren! Person Uhr Aggregation: Uhr kann ohne Person existieren!

21 Was ist eine Kardinalität?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist eine Kardinalität? Spezifikation einer Klassenbeziehung Mengenangabe der Beziehung * -Null oder mehr 1 -exakt eins Null oder eins Person * Uhr 1 Person Geburtstag 0..1 Person Ehepartner

22 Was ist ein Klassendiagramm?
OO-Software-Entwicklung / Theorie / Class-Diagram Was ist ein Klassendiagramm? Auto Drawable „Interface“ Fahrzeug Uhr Person * Statische Darstellung Beziehungen und Abhängigkeiten zwischen den Klassen

23 Was ist ein Vorgehensmodell?
OO-Software-Entwicklung / Theorie / Vorgehensmodell Was ist ein Vorgehensmodell? Vorgehensmodell Phasen Kernprozess

24 OO-Software-Entwicklung / Theorie / Vorgehensmodell
Prozess Ablauf - Modellierung - Anforderungen - Analyse & Design - Implementierung - Test - Einsatz Prozess Unterstützung - Konfigurationsmanagement - Projektmanagement - Entwicklungsumgebung

25 Alle Phasen erstrecken sich über den gesamten Workflow
OO-Software-Entwicklung / Theorie / Vorgehensmodell Was sind die Phasen? Alle Phasen erstrecken sich über den gesamten Workflow

26 Was sind die Kernprozesse?
OO-Software-Entwicklung / Theorie / Vorgehensmodell Was sind die Kernprozesse? Systemabgrenzung Anforderungen Systemdefinition Implementierung Testen Einsatz Konfigurationsmanagement Projektmanagement Entwicklungsumgebung

27 Vorstudie (Inception)
OO-Software-Entwicklung / Theorie / Vorgehensmodell Vorstudie (Inception) Ziele - Systemabgrenzung - Kernanforderung - Projektplan (Meilensteine) - Projekt-Kosten / -Risiken Lieferobjekte % der Use Cases - Fachglossar - Prototyp

28 Hauptstudie (Elaboration)
OO-Software-Entwicklung / Theorie / Vorgehensmodell Hauptstudie (Elaboration) Ziele - alle Anforderungen - Priorität - Systemarchitektur - Iterationsplan Lieferobjekte % der Use Cases - Klassendiagramme - techn. Prototyp

29 Systembau (Construction)
OO-Software-Entwicklung / Theorie / Vorgehensmodell Systembau (Construction) Ziele - Lauffähiges Teilsystem Lieferobjekte - Software - Dokumentation

30 Einführung (Transition)
OO-Software-Entwicklung / Theorie / Vorgehensmodell Einführung (Transition) Ziele - Einführung der SW Lieferobjekte - Schulungsunterlagen

31 OO-Software-Entwicklung / Theorie / UseCases
Was ist ein Use Case? Buch an Kunde ausleihen Systemübersicht - Systemanforderungen - Was sind die Anforderungen? - System Benutzer - Wer sind die Benutzer? - Abhängigkeiten - Wer löst was auf? Buch zurücknehmen Bibliothekar

32 Was ist ein Actor? Systembenutzer Rolle
OO-Software-Entwicklung / Theorie / UseCases Was ist ein Actor? Systembenutzer Rolle Beispiele - Bibliotheksverwaltung - Bibliothkar - Offertesystem - Agent Actor Name

33 Was ist ein Use-Case? Funktionelle Anforderung
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


Herunterladen ppt "Wenn alles so einfach wäre"

Ähnliche Präsentationen


Google-Anzeigen