Präsentation herunterladen
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.