Objektorientierte Modellierung mit UML

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
DES-Simulator in JAVA, objektorientiert
Zur Rolle der Sprache bei der Modellierung von Datenbanken
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Konzepte objektorientierter Systeme
Definition von Klassen in Java
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
Objektorientierte Programmierung Definition von Klassen
Objektorientierter Entwurf
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Anwendungsfalldiagramm
Objektorientierter Entwurf (OOD) Übersicht
Objektorientierte Geschäftsprozessmodellierung
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
Abhängigkeitsbeziehung
Abstrakte Klassen.
Assoziationen (Beziehungen). Zwischen Objekten kann es eine Beziehung geben.
Objektorientierter Entwurf
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Software-Technik: (fortgeschrittene) Klassendiagramme
Programmieren mit JAVA
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
UML Begleitdokumentation des Projekts
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Objektorientierte Modellierung
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
5. Vorlesung: Grundkonzepte Objekt-Orientierung
Delphi II - OOP IFB Fortbildung
Unified Modeling Language Repetition / Einführung zu UML
Entwurfs- und Implementationsdiagramme
Objektorientiertes Programmieren
Klassendefinitionen in Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Objektorientierte Analyse
Vom Geschäftsprozess zum Quellcode
Relationale Datenbanken
EPROG Tutorium #5 Philipp Effenberger
Klassen und Klassenstruktur
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Unified Modeling Language UML
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
2 Datenabstraktion Geheimnisprinzip:
Java-Kurs Übung Besprechung der Hausaufgabe
Java-Kurs - 9. Übung Besprechung der Hausaufgabe
Sichtbarkeit einschränken
Gerhard Röhner September 2012
UML-Klassendiagramm: Klassen
Objektorientierte (OO) Programmierung
Objektorientierte Datenbanken
Objektorientierte Programmierung Was ist das eigentlich ?
Tutorium Software-Engineering SS14 Florian Manghofer.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Venusspiegel und Marsschild
Java-Kurs - 8. Übung Klassen und Objekte: Vererbung
 Präsentation transkript:

Objektorientierte Modellierung mit UML Gerhard Röhner 18. März 2006

Objektorientierter Entwicklungsprozess Smalltalk, Eiffel, TP 5.5, Delphi, Java Entwicklung der UML Entwicklung der OO-Methodik objektorientierte Methoden ganzheitliche Gegenstände bessere Abstraktionsmöglichkeiten methodische Durchgängigkeit evolutionäre Entwicklung

Durchgängige Modellrepräsentation OOA – objektorientierte Analyse (Definition) OOD – objektorientiertes Design (Entwurf) OOP – objektorientierte Programmierung (Implementierung) type Kunde = class Name: String; StrasseNr: String; PLZOrt: String; Bonitaet: integer; procedure BonitaetPruefen; end;

Objektorientierte Analyse Wünsche und Anforderungen der Auftraggebers an ein neues System ermitteln und beschreiben fachliche Lösung des zu realisierenden Systems keine Implementierungsaspekte Entwicklung des Fachkonzepts

Objektorientierter Entwurf Realisierung des Fachkonzepts aus OOA auf einer Plattform Effizienz und Standardisierung Realisierung der Drei-Schichten-Architektur

Drei-Schichten-Architektur

Objektorientierte Programmierung Implementierung des OOD-Modells in einer objektorientierten Programmiersprache

Objekt Element des Anwendungsbereichs Geheimnisprinzip Attribute Methoden Exemplar einer Klasse Objektidentität

UML-Darstellung unterteiltes Rechteck Name im Singular zentriert, unterstrichen Attribute und Werte

Attribut Datenbereich eines Objekts Name und Datentyp Wert legt Zustand des Objekts fest alle Objekte einer Klasse haben gleiche Attribute Substantiv

Methode Operation zum Manipulieren des Objekts Prozeduren Funktionen Konstruktoren alle Objekte einer Klasse haben gleiche Methoden Verb oder Verb + Substantiv

Klasse Abstraktion gleichartiger Objekte Beschreibung der Objekte Datentyp der Objekte

Stempelmetapher

UML-Darstellung der Klasse unterteiltes Rechteck Name im Singular zentriert, nicht unterstrichen Attribute Methoden

Objekt-Klassen-Beziehung

Programmierung in Java public class Mitarbeiter { private int Personalnummer; private String Name; private float Gehalt; public void einstellen() { } public void druckeAusweis() { public void erhöheGehalt(float Betrag) {

Programmierung in Delphi unit UMitarbeiter; interface type Mitarbeiter = class private Personalnummer: integer; Name: String; Gehalt: real; public procedure einstellen; procedure druckeAusweis; procedure erhoeheGehalt(Betrag: real); end; implementation ... end.

Assoziation Kennt-Beziehung Objektbeziehung ist Exemplar einer Assoziation Darstellung durch Strecken ungerichtet - gerichtet

Kardinalität - Multiplizität Optionalität: 0 – nicht 0

Implementierung Assoziation Operation Beispiel Allgemein Herstellen einer Beziehung setAuto(einAuto) link Abfragen einer Beziehung getAuto(): Auto getlink Aufheben einer Beziehung removeAuto() unlink

Implementierung Assoziation public class Schueler { private Auto dasAuto; ... public void setAuto(Auto einAuto) { dasAuto = einAuto; } public Auto getAuto() { return dasAuto; public void removeAuto() { dasAuto = null;

Beispiel Assoziation

Aggregation

Aggregation hat-Beziehung (besteht aus, Teil-Ganzes) Raute für Behälterobjekt Implementierung als Feld, Liste oder Vektor

Komposition Spezialfall der Aggregation Teile sind existenzabhängig vom Ganzen

Generalisierung Beziehung zwischen allgemeiner und spezieller Klasse Klassenhierarchie abgeleitete Klasse hat zusätzliche Attribute und Methoden Darstellung durch Pfeil mit geschlossenem Dreieck Ist-Beziehung

Delegation

Implementierung der Vererbung Type Unterklasse = class(Oberklasse) // allgemein TAutoFormular = class(TForm) // Beispiel In Java benutzt man das Schlüsselwort extends: public class Unterklasse extends Oberklasse {} // allgemein public class Hilfskraft extends Student() // Beispiel

Klassendiagramm Index für Datenbanktabelle

Sekundarstufe I

Sequenzdiagramm

Zustandsdiagramm POP3-Protokoll STAT liefert die Anzahl der verfügbaren E-Mails und deren Gesamtgröße LIST liefert eine nummerierte Liste der verfügbaren E-Mails samt Größe RETR # holt E-Mail mit der Nummer # DELE # markiert die E-Mail mit der Nummer # zum Löschen NOOP No Operation RSET alle Löschmarkierungen werden aufgehoben QUIT Verbindung beenden und markierte E-Mails löschen

ER-Modellierung Verhältnis ERM zu OO Problembereiche Spiele Simulationen Anwendungen