Objektorientierte Softwareentwicklung

Содержание

Слайд 2

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

Einführung

Die Historie der Objektorientierung
UML (Unified Modeling Language)

Слайд 3

Objekt Ein Objekt ist eine zur Ausführungszeit vorhandene und für ihre

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

Fahrrad Mensch Buch Realität Modell besitzt liest

Fahrrad

Mensch

Buch

Realität

Modell

besitzt

liest

Слайд 5

Klassen & Objekte & Instanzen Klassen Eine Klasse ist die Definition

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

Objekt-Klassen-Beziehung:

Klasse

Objekt

z.B

Instance of

Studenten

Xinxin

Instance of

Haibin

Instance of

Слайд 7

Attribute & Methode Attribute die Struktur der Objekte: ihre Bestandteile und

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

Kreis radius Mittelpunkt: Point = (10,10) anzeigen() entfernen() setPosition(pos:Piont) setRadius(neuerRadius) einKreis:Kreis

Kreis
radius
Mittelpunkt: Point = (10,10)
anzeigen()
entfernen()
setPosition(pos:Piont)
setRadius(neuerRadius)

einKreis:Kreis
radius = 25
mittelpunkt = (10,10)

Klassenname

Attributname

Attribut-Typ

Methoden

Objektname

Klassenname

Attributname

Attributwerte

Слайд 9

GeomFigur Dreieck Rechteck Kreis Oberklasse Unterklassen Vererbung


GeomFigur
Dreieck
Rechteck
Kreis


Oberklasse



Unterklassen


Vererbung

Слайд 10

Die Geschichte der Programmiersprache ist eine kontinuierliche Steigerung der Abstaktionen: Machinensprache

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 Anwendungen
2. Kontrolle (Cobol)
fuer einfach Berechnung von grossen menge Daten in Bereich Business
3. Procedure (Pascal)
4. Objekteorientierung (C++,Java…)

Слайд 11

Algo Smalltalk-72 Smalltalk-74 Smalltalk-76 Smalltalk-78 Smalltalk-80 Fortran PL/1 Cobol Pascal C

Algo

Smalltalk-72

Smalltalk-74

Smalltalk-76

Smalltalk-78

Smalltalk-80

Fortran

PL/1

Cobol

Pascal

C

Simula

LISP

Prolog

Ada

ObjectPascal

Objective C

C++

Eiffel

Java

CLOS

Loops

Ada 95

ObjectCobol

1960

1970

1980

1990

Nicht oo.

Objektorient.

Слайд 12

Eingenschaft der objektorientireten Programmiersprache Strukturierung der Objekten: alles ist Objekt durch

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

Слайд 13

1. OOSE isr mehr als Programieren in einer objektorientierten Sprache! 2.

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

Слайд 14

OOA = “Objektorientierte Analyse” OOD = “Objektorientierter Entwurf(Design)” OOP = “Objektorientierte Programmierung”

OOA = “Objektorientierte Analyse”
OOD = “Objektorientierter Entwurf(Design)”
OOP = “Objektorientierte Programmierung”

Слайд 15

Aufgabe der OOA Objekte und Klassen identifizieren Verantwortlichkeiten identifizieren und den

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

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

Aufgabe der OOP

Umsetzung des in OOD erzeugten OOD-Modells in einer

Objektorientierten Programmiersprache
Klassentests und schrittweise Integration des Systems
Слайд 18

Softwareentwicklung Programmierung ≠ Softwareentwicklung

Softwareentwicklung

Programmierung ≠ Softwareentwicklung

Слайд 19

Konventionelle Entwicklung(Wasserfallmodell) Analyse und Spezifikation Entwurf Implementierung Test und Integration Sequentiell,in

Konventionelle Entwicklung(Wasserfallmodell)

Analyse und
Spezifikation

Entwurf

Implementierung

Test und
Integration

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

objektorientierte Entwicklung

iterative Entwicklung

in jeder Iteration werden die Phasen des

Wasserfallmodells durchlaufen

Wiederverwendungsproblem geloest

Слайд 21

Analyse und Design mit UML

Analyse und Design mit UML

Слайд 22

Was ist UML? Unified Modeling Language ist eine Sprache zur Spezifikation,

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
Слайд 23

Wer steht hinter der UML? Die UML wurde entwickelt von Grady

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

Was beinhaltet die UML?

Die Elemente der UML werden nach Diagrammtypen gegliedert:

Anwendungsfalldiagramm
Klassendiagramm
Aktivitätsdiagramm
Kollaborationsdiagramm
Sequenzdiagramm
Zustandsdiagramm
Komponentendiagramm
Einsatzdiagramm
Слайд 25

Anwendungsfalldiagramm Systemgrenze

Anwendungsfalldiagramm

Systemgrenze

Слайд 26

Klassendiagramm(1)

Klassendiagramm(1)

Слайд 27

Klassendiagramm(2) Oberklasse Unterklasse1 Unterklasse2 Unterklasse3

Klassendiagramm(2)

Oberklasse

Unterklasse1

Unterklasse2

Unterklasse3