512.00K
Категория: ПрограммированиеПрограммирование

Objektorientierte Softwareentwicklung

1.

Objektorientierte
Softwareentwicklung
Strelchenko Hlib
Ivanov Eduard
1

2.

Einführung
Die Historie der Objektorientierung
UML (Unified Modeling Language)
2

3.

Objekt
Ein 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ät
Modell
4
Fahrrad
besitzt
Mensch
liest
Buch

5.

Klassen & Objekte & Instanzen
Klassen
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 & Methode
Attribute
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.

Klassenname
Attributname
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.

Vererbung
GeomFigur
Dreieck
Kreis
Unterklassen
9
Oberklasse
Rechteck

10.

Die Geschichte der Programmiersprache
ist 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.

LISP
Fortran
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 Programmiersprache
Strukturierung 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 OOA
Objekte und Klassen identifizieren
Verantwortlichkeiten identifizieren und den Klassen zuordnen
Zusammenarbeit zwischen den Klassen identifizieren
Vererbungshierarchie definieren
15

16.

Aufgabe der OOD
Festlegung 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 OOP
Umsetzung des in OOD erzeugten OOD-Modells in einer
Objektorientierten Programmiersprache
Klassentests und schrittweise Integration des Systems
17

18.

Softwareentwicklung
Programmierung ≠ 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 Entwicklung
iterative Entwicklung
in jeder Iteration werden die Phasen des Wasserfallmodells durchlaufen
Wiederverwendungsproblem geloest
20

21.

Analyse und Design mit UML
21

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.

Anwendungsfalldiagramm
Systemgrenze
25

26.

Klassendiagramm(1)
26

27.

Klassendiagramm(2)
Oberklasse
Unterklasse1
27
Unterklasse2
Unterklasse3

28.

Sequenzdiagramm
objekt1
new()
nachricht()
antwort
delete()
28
objekt2
English     Русский Правила