objektorientierte softwareentwicklung
Post on 14-Jan-2016
42 Views
Preview:
DESCRIPTION
TRANSCRIPT
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu1
Objektorientierte Softwareentwicklung
Xinxin Li Haibin Hu
28.11.03
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu2
Einführung
Die Historie der Objektorientierung
UML (Unified Modeling Language)
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu3
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.
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu4
Fahrrad Mensch Buch
Realität
Modellbesitzt liest
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu5
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.
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu6
Objekt-Klassen-Beziehung:
Klasse Objekt
z.B
Instance of
Studenten
XinxinInstance of
HaibinInstance of
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu7
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.
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu8
Kreisradius
Mittelpunkt: Point = (10,10)anzeigen()entfernen()
setPosition(pos:Piont)setRadius(neuerRadius)
einKreis:Kreisradius = 25
mittelpunkt = (10,10)
Klassenname
Attributname
Attribut-Typ
Methoden
Objektname Klassenname
Attributname Attributwerte
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu9
GeomFigur
Dreieck RechteckKreis
Oberklasse
Unterklassen
Vererbung
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu10
Die Geschichte der Programmiersprache ist eine kontinuierliche Steigerung der Abstaktionen:
Machinensprache (Bitmuster,Machinenabhaengig…) Assemblersprache (Zeichen statt Bitfolge…)
Low-level Sprache
High-level Sprache
1. Formula (Fortran) Die erste high-level Sprache Fortran, geeignet fuer nummerische
und wesenschaftliche Anwendungen2. Kontrolle (Cobol)
fuer einfach Berechnung von grossen menge Daten in Bereich Business3. Procedure (Pascal)4. Objekteorientierung (C++,Java…)
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu11
Algo
Smalltalk-72
Smalltalk-74
Smalltalk-76
Smalltalk-78
Smalltalk-80
Fortran
PL/1Cobol
Pascal
C
Simula
LISP
Prolog
Ada
ObjectPascal
Objective C
C++
Eiffel
Java
CLOS
Loops
Ada 95 ObjectCobol
1960
1970
1980
1990
Nicht oo. Objektorient.
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu12
Eingenschaft der objektorientireten Programmiersprache
Strukturierung der Objekten: Everything 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
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu13
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
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu14
OOA = “Objektorientierte Analyse”OOD = “Objektorientierter Entwurf(Design)”OOP = “Objektorientierte Programmierung”
--Boehm,1988
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu15
Aufgabe der OOA
Objekte und Klassen identifizieren Verantwortlichkeiten identifizieren und den Klassen zuordnen Zusammenarbeit zwischen den Klassen identifizieren Vererbungshierarchie definieren
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu16
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
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu17
Aufgabe der OOP
Umsetzung des in OOD erzeugten OOD-Modells in einer Objektorientierten Programmiersprache Klassentests und schrittweise Integration des Systems
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu18
Softwareentwicklung
Programmierung ≠ Softwareentwicklung
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu19
Konventionelle Entwicklung(Wasserfallmodell)
Analyse undSpezifikation Entwurf Implementierung
Test undIntegration
Sequentiell,in einer Richtung
Schwerigkeiten fuer Iteration und Veraenderung
Wiederverwendbarkeit nicht unterstuetzt
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu20
objektorientierte Entwicklung
iterative Entwicklung
in jeder Iteration werden die Phasen des Wasserfallmodells durchlaufen
Wiederverwendungsproblem geloest
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu21
Analyse und Design mit UML
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu22
Was is 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 die neueste Version ist UML 1.3
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu23
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.
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu24
Was beinhaltet die UML?
Die Elemente der UML werden nach Diagrammtypen gegliedert:
Anwendungsfalldiagramm Klassendiagramm Aktivitätsdiagramm Kollaborationsdiagramm Sequenzdiagramm Zustandsdiagramm Komponentendiagramm Einsatzdiagramm
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu25
Anwendungsfalldiagramm
Systemgrenze
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu26
Klassendiagramm(1)
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu27
Klassendiagramm(2)
Oberklasse
Unterklasse1 Unterklasse2 Unterklasse3
WiSe 03/04Projekt ESPRESSOOOS
EOOSE
XinXin LiHaibin Hu28
Sequenzdiagramm
objekt1
objekt2new()
nachricht()
antwort
delete()
top related