1 Objektorientierte Softwareentwicklung. Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS 2002 2 Phasen objektorientierter.

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Objektorientierung Auffassung der Software als eine Sammlung
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Objektorientierte Software-Entwicklung
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Manfred Thaller, Universität zu Köln Köln 28. Januar 2008
Anwendungsfalldiagramm
Anwendungsfalldiagramm
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Sequenzdiagramm.
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
Modellierung komplexer Realität mit Objekten
Übung Datenbanksysteme UML
UML Unified Modelling Language Dipl. -Inform
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
Rational Rose und UML: Erstellung einer Kontoverwaltung
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Software Engineering SS 2009
6. Vorlesung: Statische Konzepte
Unified Modeling Language Repetition / Einführung zu UML
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Objektorientierte Analyse
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Wasserfallmodell und Einzelbegriffe
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Informatik und Programmieren 3
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
Dr. Wolfram Amme, Semantik funktionaler Programme, Informatik II, FSU Jena, SS Semantik funktionaler Programme.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Key-Value Paare (KVP) - Metadaten für Kanäle speichern und nach MDF4 exportieren PM (V1.0)
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
1 Eine Einführung in die objektorientierte Programmierung.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Web Services Dr. Wolfgang Wörndl
A nwendungsfalldiagramm. Ü berblick  Allgemein  Anwendungsfalldiagramm in Stichpunkten  Zusammenhang  Anwendungsbereich  Diagramm.
Domänenmodellierung Georg Marth. Definition Domänenmodell ● Eine Zusammenfassung von Funktionen, Objekten, Daten und Relationen in einer Domäne. -Kang.
1 2.8) Methoden / Rekursion Transformation von nicht linear rekursiven Funktionen in iterative Funktionen Beispielhaft an fibo (über schlicht nach iterativ):
1 Das Dilemma des Architekten Ziel: ein gut designtes System, welches mit zukünftigen Anforderungen umgehen kann, ohne dass es zu Einschränkungen in der.
PumpeTurbine Ventil geöffnet Ein Wasserstromkreislauf (C) R.SIE.
Objektorientierte Vorgehensmodelle
Anforderungen an die neue Datenstruktur
UML – Unified Modeling Language
Systemanalyse BA Heidenheim 2002.
Logisches Datenmodell
Keine Bildungsbremse! – NEIN zur schädlichen Initiative!
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
4. Modellieren und Diagrammarten
Objektorientierte Programmierung und Vererbung
ER-Modell und Relationales Schema
Methodische Grundlagen des Software-Engineering
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
Da·ten·bank /Dátenbank/ Substantiv, feminin [die]
Datenstrukturen und Softwareentwicklung
9. Vererbung und Polymorphie
Komplexität und Berechenbarkeit
OO Analyse und Entwurf für Anwender
Von Wietlisbach, Lenzin und Winter
OO Analyse und Entwurf für Anwender
Objektorientierte Programmierung
Informatik Softwareentwicklung – 4.2 Diagramme
Juli 19 Informatik Kurse
 Präsentation transkript:

1 Objektorientierte Softwareentwicklung

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Phasen objektorientierter Softwareentwicklung Analyse –objektorientiertes Modell der realen Welt wird erstellt –Funktionalität des Softwaresystems wird definiert –Annahme einer perfekten Technik Entwurf –Modell der realen Welt wird in die Welt der Software übertragen –Berücksichtigung der vorhandenen Technik und verwendeter Programmiersprache –algorithmische Beschreibung der Funktionalität Implementierung –Software-Architektur wird zum realen Programm

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS UML UML steht für Unified Modelling Language (Booch, Rumbaugh, Jacobson, 1999) Standardisierte Sprache die mögliche Modelle in Diagrammen beschreibt Klassendiagramme beschreiben die Klassen und deren statische Beziehungen zueinander Kollaborationsdiagramme beschreiben die dynamisch wechselwirkende Zusammenarbeit zwischen den Klassen

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Beschreibung einer Klasse TV 2001 EinAus z; Seriennummer s; Kanal k; Lautstärke l; ein(); aus(); wähle_Kanal(); wähle_Lautstärke(); get_Seriennummer();

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Beispiel: Motor Motor EinAus z; Seriennummer s; Vorwärtslauf v; Rückwärtslauf r; Drehzahl d; ein(); aus(); vorwärts(); rückwärts(); get_Drehzahl(); set_Drehzahl();

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Objektbeziehungen Objekte stehen in verschiedenster Form in Beziehung zueinander UML modelliert die Beziehungen zwischen Klassen Beziehungsarten u.a.: strukturelle Beziehungen Einschlussbeziehung (has-a) Subtyp- bzw. Vererbungsbeziehung (is-a) verhaltensbezogene Beziehungen Nachrichtenaustausch oder Methodenaufruf

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Allgemeine Beziehungen PersonAuto besitzt 11...*

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Einschlussbeziehung (Aggregation) Abteilungen hat1 1...* eine Aggregation ist die Zusammensetzung eines Objektes aus einer Menge von Teilobjekten Unternehmen Mitarbeiter hat1 1...*

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Komposition sind die Einzelteile einer Aggregation vom Aggregat existenzabhängig, so spricht man von Komposition 1 1..*hat hat PositionRechnung PkwRad Komposition Aggregation

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Subtyp- und Vererbungsbeziehung Gerät RadioTV

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Nachrichten senden AutoHerstellerKunde Bestellung

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Methodenaufruf DriveRobot vorwärts() Drive d; * hat move_ppt(); vorwärts();

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Objektorientierte Analyse in Form grammatikalischer Inspektion Anfertigung einer natürlichsprachlichen Beschreibung des Problems und der Problemumgebung Umfeld des System (Geräte, etc.) Aufzählung der abzubildenden Arbeitsabläufe (Nutzungsartanalyse und Nutzungsszenarien) Beschreibungen werden gezielt nach enthaltenen Objekten, Attributen, Funktionalitäten und Beziehungen untersucht Substantive  Objekte und Zustände Verben  Funktionalität Aussagen wie „hat ein“ oder „ist ein“ deuten auf Objektbeziehungen hin

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Steuerung einer Werkstück-Vereinzelungseinheit Schieber A Schieber B Sensor C Sensor D Druckluft V

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Situationsbeschreibung Die Vereinzelungseinheit besteht aus einer senkrechten Röhre, zwei Schiebern A und B, zwei Sensoren C und D, sowie aus einem Druckluftventil V. In der Röhre können Bälle gespeichert werden, die von oben zugeführt werden und die auf Anforderung unten einzeln aus der Röhre geblasen werden sollen. Die Schieber können die Stellungen geöffnet oder geschlossen besitzen. Ist ein Schieber geschlossen, so ist die Röhre geschlossen. Die Sensoren melden, ob sich an der entsprechenden Stelle ein Ball befindet; falls ja, sind sie aktiviert, falls nein, sind sie deaktiviert. Am unteren Ende der Röhre befindet sich ein Druckventil, das geöffnet oder geschlossen werden kann und das nicht ständig geöffnet bleiben sollte.

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Nutzungsszenarien Standardoperation: Die Bälle werden von oben zugeführt und von der Röhre abgespeichert. Auf Anforderung wird genau ein Ball freigegeben und aus dem Ausgabeschacht geblasen Wartung/Fehlerbeseitigung: Der Wartungstechniker aktiviert einen Wartungszyklus, in dem alle Operationen der beteiligten Geräte einmal ausgeführt werden. Stellt er eine Fehlfunktion fest, so lässt er die Seriennummer des beteiligten Geräts ausgeben und tauscht es um.

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Aufsuchen von Objekten und Objektbeziehungen Die Vereinzelungseinheit besteht aus einer senkrechten Röhre, zwei Schiebern A und B, zwei Sensoren C und D, sowie aus einem Druckluftventil V. In der Röhre können Bälle gespeichert werden, die von oben zugeführt werden und die auf Anforderung unten einzeln aus der Röhre geblasen werden sollen. Die Schieber können die Stellungen geöffnet oder geschlossen besitzen Der Wartungstechniker aktiviert einen Wartungszyklus, in dem alle Operationen der beteiligten Geräte einmal ausgeführt werden. Stellt er eine Fehlfunktion fest, so lässt er die Seriennummer des beteiligten Geräts ausgeben und tauscht es um.

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Aufsuchen von Objekten und Beziehungen Mögliche Objekte: Vereinzelungseinheit, Schieber, Sensor, Ventil, Ball (?), Röhre (?) Beziehungen: Die Vereinzelungseinheit enthält Schieber, Sensoren, Ventil und eine Röhre. Bälle sind kein integraler Bestandteil, aber es besteht in jedem Fall eine temporäre Beziehung

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Ball Klassendiagramm für Vereinzelungseinheit Vereinzelungseinheit SchieberSensorVentil 1 n Röhre Ventil

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Aufsuchen der Zustandsvariablen der Objekte..... Die Schieber können die Stellungen geöffnet oder geschlossen besitzen. Ist ein Schieber geschlossen, so ist die Röhre geschlossen. Die Sensoren melden, ob sich an der entsprechenden Stelle ein Ball befindet; falls ja, sind sie aktiviert, falls nein, sind sie deaktiviert. Am unteren Ende der Röhre befindet sich ein Druckventil, das geöffnet oder geschlossen werden kann und das nicht ständig geöffnet bleiben sollte. Der Wartungstechniker aktiviert einen Wartungszyklus, in dem alle Operationen der beteiligten Geräte einmal ausgeführt werden. Stellt er eine Fehlfunktion fest, so lässt er die Seriennummer des beteiligten Geräts ausgeben und tauscht es um.

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Ball Klassendiagramm für Vereinzelungseinheit Vereinzelungseinheit SchieberSensorVentil 1 n Röhre Seriennummer n; Stellung s; //auf,zu Seriennummer n; Zustand z; //aktiv Seriennummer n; Stellung s; //auf,zu Seriennummer n; Ventil

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Aufsuchen der Funktionalität Standardoperation: Die Bälle werden von oben zugeführt und von der Röhre abgespeichert. Auf Anforderung wird genau ein Ball freigegeben und aus dem Ausgabeschacht geblasen Wartung/Fehlerbeseitigung: Der Wartungstechniker aktiviert einen Wartungszyklus, in dem alle Operationen der beteiligten Geräte einmal ausgeführt werden. Stellt er eine Fehlfunktion fest, so lässt er die Seriennummer des beteiligten Geräts ausgeben und tauscht es um.

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Ball Klassendiagramm für Vereinzelungseinheit Vereinzelungseinheit SchieberSensorVentil 1 n Seriennummer n; Stellung s; //auf,zu Seriennummer n; Zustand z; //aktiv Seriennummer n; Stellung s; //auf,zu Seriennummer n; zuführen_Ball(); freigeben_Ball(); wartungszyklus(); öffnen(); schliessen(); öffnen(); schliessen(); ist_aktiv(); ist_inaktiv(); Ventil

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Ball Verfeinerungsschritt (1) Vereinzelungseinheit SchieberSensorVentil Seriennummer n; Stellung s; //auf,zu Seriennummer n; Zustand z; //aktiv Seriennummer n; Stellung s; //auf,zu Seriennummer n; zuführen_Ball(); freigeben_Ball(); wartungszyklus(); öffnen(); schliessen(); öffnen(); schliessen(); ist_aktiv(); ist_inaktiv(); Ventil

Dr. Wolfram Amme, Objektorientierte Softwareentwicklung, Informatik II, FSU Jena, SS Verfeinerungsschritt (2) Gerät EinAus ea; Seriennummer n; ein(); aus(); get_Seriennummer(); Ball Vereinzelungseinheit SchieberSensorVentil Stellung s; //auf,zuZustand z; //aktivStellung s; //auf,zu zuführen_Ball(); freigeben_Ball(); wartungszyklus(); öffnen(); schliessen(); öffnen(); schliessen(); ist_aktiv(); ist_inaktiv(); Ventil 1 7