1 / 33

Objektorientierte Modellierung mit UML

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

Download Presentation

Objektorientierte Modellierung mit UML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objektorientierte Modellierung mit UML Gerhard Röhner18. März 2006

  2. 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

  3. 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;

  4. 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

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

  6. Drei-Schichten-Architektur

  7. Objektorientierte Programmierung • Implementierung des OOD-Modells in einer objektorientierten Programmiersprache

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

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

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

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

  12. Klasse • Abstraktion gleichartiger Objekte • Beschreibung der Objekte • Datentyp der Objekte

  13. Stempelmetapher

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

  15. Objekt-Klassen-Beziehung

  16. 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) { } }

  17. 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.

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

  19. Kardinalität - Multiplizität • Kardinalität: 1, * • Multiplizität: 0..3, 2..4, ... • Optionalität: 0 – nicht 0

  20. Implementierung Assoziation

  21. 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; } }

  22. Beispiel Assoziation

  23. Aggregation

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

  25. Komposition • Spezialfall der Aggregation • Teile sind existenzabhängig vom Ganzen

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

  27. Delegation

  28. 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

  29. Klassendiagramm Index für Datenbanktabelle

  30. Sekundarstufe I

  31. Sequenzdiagramm

  32. 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

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

More Related