Objektorientierte Softwareentwicklung - PowerPoint PPT Presentation

About This Presentation
Title:

Objektorientierte Softwareentwicklung

Description:

Title: PowerPoint Presentation Last modified by: hu Created Date: 1/1/1601 12:00:00 AM Document presentation format: Other titles: Times New Roman ... – PowerPoint PPT presentation

Number of Views:92
Avg rating:3.0/5.0
Slides: 29
Provided by: unib194
Category:

less

Transcript and Presenter's Notes

Title: Objektorientierte Softwareentwicklung


1
Objektorientierte Softwareentwicklung
Xinxin Li Haibin Hu 28.11.03
2
Einführung
  • Die Historie der Objektorientierung
  • UML (Unified Modeling Language)

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

6
Objekt-Klassen-Beziehung
Instance of
Klasse
Objekt
z.B
Xinxin
Instance of
Studenten
Haibin
Instance of
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.

8
Klassenname
Kreis radius Mittelpunkt Point
(10,10) anzeigen() entfernen() setPosition(posPio
nt) setRadius(neuerRadius)
Attributname
Attribut-Typ
Methoden
Objektname
einKreisKreis radius 25 mittelpunkt (10,10)
Klassenname
Attributname
Attributwerte
9

Vererbung


Oberklasse
GeomFigur

Dreieck
Rechteck
Kreis
Unterklassen
10
Die Geschichte der Programmiersprache ist eine
kontinuierliche Steigerung der Abstaktionen
  • Machinensprache (Bitmuster,Machinenabhaengig)
  • Assemblersprache (Zeichen statt Bitfolge)

Low-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)
High-level Sprache
11
LISP
Fortran
Algo
Cobol
1960
PL/1
Simula
Smalltalk-72
1970
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.
Objektorient.
12
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

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
  • -gtKlassen bzw. Objekte
  • objektorientiert entwickelte Software ist
    einfach zu aendern u. erweitern
  • -gtAbstrahierung u. Kapslung von Daten

14
OOA Objektorientierte Analyse OOD
Objektorientierter Entwurf(Design) OOP
Objektorientierte Programmierung
--Boehm,1988
15
Aufgabe der OOA
  • Objekte und Klassen identifizieren
  • Verantwortlichkeiten identifizieren und den
    Klassen zuordnen
  • Zusammenarbeit zwischen den Klassen
    identifizieren
  • Vererbungshierarchie definieren

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

17
Aufgabe der OOP
  • Umsetzung des in OOD erzeugten OOD-Modells in
    einer
  • Objektorientierten Programmiersprache
  • Klassentests und schrittweise Integration des
    Systems

18
Softwareentwicklung
Programmierung ? Softwareentwicklung
19
Konventionelle Entwicklung(Wasserfallmodell)
Analyse und Spezifikation
Test und Integration
Entwurf
Implementierung
  • Sequentiell,in einer Richtung
  • Schwerigkeiten fuer Iteration und Veraenderung
  • Wiederverwendbarkeit nicht unterstuetzt

20
objektorientierte Entwicklung
  • iterative Entwicklung
  • in jeder Iteration werden die Phasen des
    Wasserfallmodells durchlaufen
  • Wiederverwendungsproblem geloest

21
Analyse und Design mit UML
22
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-Softwaresyste
    me
  • 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

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.

24
Was beinhaltet die UML?
  • Die Elemente der UML werden nach Diagrammtypen
    gegliedert
  • Anwendungsfalldiagramm
  • Klassendiagramm
  • Aktivitätsdiagramm
  • Kollaborationsdiagramm
  • Sequenzdiagramm
  • Zustandsdiagramm
  • Komponentendiagramm
  • Einsatzdiagramm

25
Anwendungsfalldiagramm
Systemgrenze
26
Klassendiagramm(1)
27
Klassendiagramm(2)
Oberklasse
Unterklasse1
Unterklasse2
Unterklasse3
28
Sequenzdiagramm
objekt1
new()
objekt2
nachricht()
antwort
delete()
Write a Comment
User Comments (0)
About PowerShow.com