Similar presentations:
Objektorientierte Softwareentwicklung
1.
ObjektorientierteSoftwareentwicklung
Strelchenko Hlib
Ivanov Eduard
1
2.
EinführungDie Historie der Objektorientierung
UML (Unified Modeling Language)
2
3.
ObjektEin Objekt ist eine zur Ausführungszeit vorhandene und
für ihre Instanzvariablen Speicher allokierende Instanz,
die sich entsprechend dem Protokoll ihrer Klasse verhält.
Eine Klasse beschreibt die Struktur und das Verhalten
einer Menge gleichartiger Objekte.
3
4.
RealitätModell
4
Fahrrad
besitzt
Mensch
liest
Buch
5.
Klassen & Objekte & InstanzenKlassen
Eine Klasse ist die Definition der Attribute, Operationen und
der Semantik für eine Menge von Objekten.
Objekte
Ein Objekt ist eine konkret vorhandene und agierende Einheit
mit eigener Identität und definierten Grenzen das Zustand und
Verhalten kapselt.
Instanzen
Für den Hausgebrauch können Instanz, Objekt und Exemplar
synonym berachtet werden.
5
6.
Objekt-Klassen-Beziehung:Klasse
Instance of
Objekt
z.B
Instance of
Xinxin
Studenten
Instance of
6
Haibin
7.
Attribute & MethodeAttribute
die Struktur der Objekte: ihre Bestandteile und die in ihnen
enthaltenen Informationen bzw. Daten.
Methode (Operation)
In der UML wird eine Methode als Implementierung einer
Operation definiert. Für die Praxis ist es unkritisch, Methode
und Operation synonym zu verwenden.
7
8.
KlassennameAttributname
Attribut-Typ
Methoden
Objektname
Attributname
8
Kreis
radius
Mittelpunkt: Point = (10,10)
anzeigen()
entfernen()
setPosition(pos:Piont)
setRadius(neuerRadius)
einKreis:Kreis
Klassenname
radius = 25
mittelpunkt = (10,10)
Attributwerte
9.
VererbungGeomFigur
Dreieck
Kreis
Unterklassen
9
Oberklasse
Rechteck
10.
Die Geschichte der Programmierspracheist eine kontinuierliche Steigerung der Abstaktionen:
Low-level
Sprache
Machinensprache (Bitmuster,Machinenabhaengig…)
Assemblersprache (Zeichen statt Bitfolge…)
High-level
Sprache
1. Formula (Fortran)
Die erste high-level Sprache Fortran, geeignet fuer nummerische
und wesenschaftliche Anwendungen
2. Kontrolle (Cobol)
fuer einfach Berechnung von grossen menge Daten in Bereich Business
3. Procedure (Pascal)
4. Objekteorientierung (C++,Java…)
10
11.
LISPFortran
Algo
1960
PL/1
Cobol
Simula
1970
Smalltalk-72
Prolog
Smalltalk-74
Pascal
Smalltalk-76
C
Smalltalk-78
Loops
Smalltalk-80
1980
Ada
Objective C
C++
CLOS
ObjectPascal
Eiffel
1990
Ada 95
ObjectCobol
Java
Nicht oo.
11
Objektorient.
12.
Eingenschaft der objektorientireten ProgrammierspracheStrukturierung der Objekten:
alles ist Objekt
durch Vererbung strukturiert
Nachrichtenaustauch:
Programm ist eine Menge von Objekten
die durch Nachrichten untereinander kommunizieren
Methode in einem Objekt kann von anderen Objekten
durch Nachrichten aufgerufen werden
12
13.
1. OOSE isr mehr als Programieren in einer objektorientierten Sprache!2. Objektorientierung wird als die Wichtigste Konzepte durch die ganze Softwareentwicklung
Verwenden der objektorietierten modellierungskongzepte
Abstrahierung von der realen Welt
abgeschlossene,autonome Einheiten mit Strukturen und Verhalten
->Klassen bzw. Objekte
objektorientiert entwickelte Software ist einfach zu aendern u. erweitern
->Abstrahierung u. Kapslung von Daten
13
14.
OOA = “Objektorientierte Analyse”OOD = “Objektorientierter Entwurf(Design)”
OOP = “Objektorientierte Programmierung”
14
15.
Aufgabe der OOAObjekte und Klassen identifizieren
Verantwortlichkeiten identifizieren und den Klassen zuordnen
Zusammenarbeit zwischen den Klassen identifizieren
Vererbungshierarchie definieren
15
16.
Aufgabe der OODFestlegung der Architektur des Systems
Ueberarbeiten des in OOA erzeugten OOA-Klassenmodells, z.B
Hinzufuegen/Verschmelzen/Aendern von Klassen
Aenderungen an der Vererbungsstrukturen
Hinzufuegen/Entfernen von Beziehungen
16
17.
Aufgabe der OOPUmsetzung des in OOD erzeugten OOD-Modells in einer
Objektorientierten Programmiersprache
Klassentests und schrittweise Integration des Systems
17
18.
SoftwareentwicklungProgrammierung ≠ Softwareentwicklung
18
19.
Konventionelle Entwicklung(Wasserfallmodell)Analyse und
Spezifikation
Entwurf
Implementierung
Sequentiell,in einer Richtung
Schwerigkeiten fuer Iteration und Veraenderung
Wiederverwendbarkeit nicht unterstuetzt
19
Test und
Integration
20.
objektorientierte Entwicklungiterative Entwicklung
in jeder Iteration werden die Phasen des Wasserfallmodells durchlaufen
Wiederverwendungsproblem geloest
20
21.
Analyse und Design mit UML21
22.
Was ist UML?Unified Modeling Language ist eine Sprache zur Spezifikation, Visualisierung,
Konstruktion und Dokumentation von Modellen für Softwaresysteme,
Geschäftsmodelle und andere Nicht-Softwaresysteme
UML ist eine Modellierungssprache,keine Programmiersprache
seit 1997 wird die UML in Version 1.1 als Standard angesehen
und sie liegt bei der Object Management Group(OMG) zur Standardisierung vor
22
23.
Wer steht hinter der UML?Die UML wurde entwickelt von Grady Boch, Ivar Jacobsen und Jim Rumbaugh
von Rational Rose Software.
Sie haben die besten Ideen der objektorientierten Entwicklungsmethoden kombiniert.
und daraus die UML geschaft.
Viele Computerunternehmen(Microsoft,Oracle,..) wirkten aktiv an der Entwicklung mit
Und unterstuezen die UML.
23
24.
Was beinhaltet die UML?Die Elemente der UML werden nach Diagrammtypen gegliedert:
Anwendungsfalldiagramm
Klassendiagramm
Aktivitätsdiagramm
Kollaborationsdiagramm
Sequenzdiagramm
Zustandsdiagramm
Komponentendiagramm
Einsatzdiagramm
24
25.
AnwendungsfalldiagrammSystemgrenze
25
26.
Klassendiagramm(1)26
27.
Klassendiagramm(2)Oberklasse
Unterklasse1
27
Unterklasse2
Unterklasse3
28.
Sequenzdiagrammobjekt1
new()
nachricht()
antwort
delete()
28
objekt2