OOPr/T-Modelle - ein Pr/T-Netz basierter Ansatz zur objektorientierten Modellierung

Größe: px
Ab Seite anzeigen:

Download "OOPr/T-Modelle - ein Pr/T-Netz basierter Ansatz zur objektorientierten Modellierung"

Transkript

1 OOPr/T-Modelle - ein Pr/T-Netz basierter Ansatz zur objektorientierten Modellierun Stephan Philippi Universität Koblenz-Landau Institut für Softwaretechnik Rheinau 1, Koblenz philippi@uni-koblenz.de Zusammenfassun Aufrund der potentiellen Vorzüe einer Synthese von Petri-Netzen und objektorientierten Konzepten in den Bereichen der Modularisierun von Petri-Netzen und der formal basierten objektorientierten Modellierun, sind seit Mitte der achtzier Jahre eine Vielzahl von Ansätzen entstanden, von denen sich jedoch auf breiter Front keiner hat durchsetzen können. Dieser Artikel beleuchtet kurz die Probleme existierender Arbeiten und ibt einen Überblick über Kriterien, denen ein Ansatz in diesem Bereich idealerweise enüt. Mit OOPr/T-Modellen wird im weiteren ein neuartier Ansatz zur Synthese von Petri-Netzen und objektorientierten Konzepten vorestellt, der im Hinblick auf diesen Kriterienkatalo entwickelt wurde und der darüber hinaus die Generierun nebenläufier (Java-) Proramme erlaubt. 1 Einleitun Die Motivation zur Entwicklun eines Ansatzes zur Synthese von Petri-Netzen und objektorientierten Konzepten eribt sich aus der Beobachtun, daß einerseits existierende objektorientierte Modellierunssprachen eeinete Modularisierunskonzepte zur Handhabun komplexer Systeme bieten, diese Sprachen jedoch entweder nicht formal basiert sind, wie z.b. UML [Rati97], oder aber im enteenesetzten Fall zumeist keine raphische Repräsentation besitzen und es an Mölichkeiten zur Simulation erstellter Modelle sowie zur Gestaltun nebenläufier Systeme manelt 1. Mit Petri-Netzen steht andererseits ein Formalismus zur Verfüun, der eine raphische Repräsentation besitzt sowie Mölichkeiten zur Simulation erstellter Modelle und zum Entwurf nebenläufier Systeme bietet. Als blematisch im Zusammenhan mit dem Einsatz von (hih-level) Petri-Netzen zur Modellierun komplexer Systeme erweist sich, daß diese auch bei Verwendun hierarchischer Erweiterunen [HuJeSh90] keine adäquaten Modularisierunskonzepte zur Verfüun stellen. Ein Verleich der beschriebenen Vor- und Nachteile von bisher praktizierter objektorientierter Modellierun und der Verwendun von Petri-Netzen eribt, daß die Vorteile der einen Technik erade den Nachteilen der jeweils anderen entsprechen. Aus dieser Sicht wird deutlich, daß die Synthese von Petri-Netzen und objektorientierten Konzepten ein vielversprechendes Potential zur Lösun der beschriebenen Probleme in beiden Gebieten aufweist. Ein Ansatz in diesem Gebiet, der sowohl die objektorientierte Strukturierun 1 Eine verleichende Untersuchun derartier Ansätze ist zu finden in [LanHau94].

2 von Petri-Netzen als auch die formal basierte objektorientierte Modellierun ermölicht, vereint hierbei idealerweise ausschließlich die Vorzüe der Ausanskomponenten, nicht jedoch deren individuelle Nachteile. Vor diesem Hinterrund wird im zweiten Abschnitt des Artikels beschrieben, welchen Kriterien ein Ansatz zur Synthese von Petri-Netzen und objektorientierten Konzepten enüen sollte. Im dritten Abschnitt wird mit OOPr/T-Modellen ein neuartier Ansatz in diesem Gebiet vorestellt, bevor der vierte Abschnitt diese kurz evaluiert und einen Ausblick auf zukünftie Entwicklunen ibt. 2 Anforderunen an objektorientierte Petri-Netze Die aus der bisherien Beschreibun hervorehende Attraktivität einer Synthese von Petri- Netzen und objektorientierten Konzepten hat Mitte der achtzier Jahre erste Arbeiten in diesem Gebiet entstehen lassen. Obleich der Vielzahl der bis heute entwickelten Ansätze, herrscht über die Kriterien, die ein solcher Ansatz idealerweise erfüllen sollte, nach wie vor Unklarheit. Grund hierfür sind die verschiedensten Zielrichtunen sowie die Vielzahl mölicher Ansatzpunkte einer Synthese und das sich hieraus erebende uneinheitliche, stark inhomoene Feld nicht erkennbar aufeinander aufbauender Arbeiten. Die Hauptblemfelder der existierenden Arbeiten zur Synthese von Petri-Netzen und objektorientierten Konzepten lieen in der Vollständikeit aus Sicht der Objektorientierun und der Eronomie der Notation. Diese Punkte werden im weiteren überblicksarti als Teil eines Katalos von Kriterien beschrieben, denen ein Ansatz zur Synthese von Petri-Netzen und objektorientierten Konzepten enüen sollte, um dem zuvor beschriebenen Ideal mölichst nahe zu kommen 2. Vollständikeit aus Sicht der Petri-Netze: Ein Ansatz zur Synthese von Petri-Netzen und objektorientierten Konzepten erhält idealerweise die positiven Eienschaften der Petri-Netze, d.h. sowohl die formale Basis als auch die Mölichkeit zur Simulation eebener Modelle und deren nebenläufie Gestaltun sollten sich bei objektorientierten Erweiterunen von Petri-Netzen wiederfinden. Vollständikeit aus Sicht der Objektorientierun: Neben dem Erhalt der positiven Eienschaften der Petri-Netze, sollte eine Synthese derer mit objektorientierten Konzepten auch dahinehend vollständi sein, daß die relevanten objektorientierten Konzepte bei der Interation berücksichtit wurden. Im einzelnen werden hierbei komplexe Objekte, Klassen, Kapselun, Vererbun, Überschreiben und Polymorphismus/dynamisches Binden als relevant erachtet. Eronomie der Notation/Verwendbarkeit: Der Hautverwendunszweck einer Modellierunssprache ist die Vermittlun konitiver Modelle zwischen verschiedenen Personen. Neben den bisher aufeführten, aus theoretischer Sicht wünschenswerten Eienschaften, sollte die aus einer Synthese von Petri-Netzen und objektorientierten Konzepten entstehende Sprache somit auch eronomischen Aspekte enüen, d.h. eine Synthese ist dahinehend zu estalten, daß die entstehende Modellierunssprache selbst mölichst weni Aufmerksamkeit auf sich zieht, um ihre Benutzer bei der inhärent anspruchsvollen Tätikeit des Modellierens bestmölich zu unterstützen. 2 Eine ausführliche Untersuchun der existierenden Ansätze sowie eine detailliertere Beschreibun des Kriterienkatalos findet sich in [Phil99].

3 Auf Grundlae dieser Kriterien wird im weiteren mit OOPr/T-Modellen ein neuartier Ansatz zur Synthese von Petri-Netzen und objektorientierten Konzepten vorestellt, in den die Erfahrunen der existierenden Arbeiten in diesem Gebiet miteinfließen. statische Sicht reales / eplantes System dynamische Sicht manuelle Modellbildun automatische Interation Gesamt - model funktionale Sicht Abb. 1: Szenario der OOPr/T-Modellierun 3 OOPr/T-Modelle Das prinzipielle Vorehen bei der OOPr/T-Modellierun estaltet sich wie in Abb. 1 skizziert. Ausehend von dem zu modellierenden realen/eplanten System ist es die Aufabe des Modellierers, unter Berücksichtiun des eebenen Anwendunskontextes und der ewünschten Abstraktionsebene, die Teilmodelle für die relevanten Sichten zu estalten. Zum Einsatz kommen hierbei (eineschränkte) UML-Klassendiaramme für die statische Sicht, während dynamische und funktionale Aspekte durch Petri-Netze beschrieben werden. Die formale Semantik der verschiedenen Sichten sowie der formale Zusammenhan zwischen diesen wird durch Transformationsreeln definiert [Phil99], die eine automatische Interation der verschiedenen Sichten zu einem Gesamtmodell in Form eines Prädikat/Transitions-Netzes (Pr/T-Netz) [GenLau81] ermölichen. Dieses Gesamtmodell stellt die formale Grundlae eines OOPr/T-Modells dar und sollte aus Sicht des Modellierers transparent sein, d.h. dieser sollte nur mit den von ihm estalteten Sichten und nicht mit dem diese zusammenfassenden, komplexen Gesamtmodell konfrontiert werden. Erzeuer Oberrenze : Int Siebanfan : Sieb create (Grenze : Int) : Erzeuer + start () Siebanfan Sieb Primzahl : Int Nachfoler : Sieb create (Prim : Int) : Sieb + check (Proband : Int) : Bool Nachfoler Abb. 2: Klassendiaramm für das Sieb des Eratosthenes Zur Veranschaulichun dieser Vorehensweise wird im weiteren ein objektorientiertes Modell eines Systems zur Berechnun von Primzahlen nach der Methode Sieb des Eratosthenes auf einer niedrien Abstraktionsebene beschrieben. Die Berechnun der Primzahlen nach diesem Verfahren erfolt (in einer für die Implementierun optimierten Variante) durch eine sequentielle Suche über N + bis hin zu einer eebenen Oberrenze. Jede Zahl wird dahinehend überprüft, ob sie durch ein Element der Liste der bereits ermit-

4 telten Primzahlen ohne Rest eteilt werden kann. Ist dies nicht mölich, so ist eine neue Primzahl efunden, die in die Liste der bereits efundenen Primzahlen aufenommen wird. Erzeuer.create (Grenze : int) -> Erzeuer Grenze Sieb.create (Prim : int) -> Sieb Oberrenze Sieb.create(2) -> s self s Siebanfan Prim p p self Primzahl Abb. 3: funktionale Modelle der Konstruktoren Der erste Schritt der Gestaltun von OOPr/T-Modellen ist die Erstellun eines Klassendiaramms unter Verwendun der eineschränkten UML-Notation. Das Klassendiaramm für das Beispiel (Abb. 2) besteht einzi aus den Klassen Erzeuer und Sieb, die der Erzeuun von Primzahlkandidaten bzw. der Überprüfun dieser Kandidaten auf die Primzahleienschaft dienen. Die Klasse Erzeuer enthält die Attribute Oberrenze und Siebanfan, in denen die Oberrenze des Berechnunsverfahrens espeichert bzw. die Assoziation zum initialen Siebobjekt realisiert wird. Darüber hinaus enthält die Klasse Erzeuer einen Konstruktor sowie eine start -Methode, mit der das Berechnunsverfahren estartet wird. Die Klasse Sieb enthält die Attribute Primzahl und Nachfoler, in denen sowohl die durch ein Siebobjekt repräsentierte Primzahl als auch die f. vorhandene Referenz auf ein Nachfoleobjekt hinterlet wird. Neben einem Konstruktor besitzt die Klasse Sieb eine check -Methode, in der die Überprüfun eines Kandidaten auf die Primzahleienschaft erfolt. Erzeuer.start () [x < ] x int 3 x x+1 s.check(x) -> y Oberrenze x s [x = ] Siebanfan Abb. 4: Modell der start -Methode Der zweite Schritt der OOPr/T-Modellierun besteht in der Zuordnun von dynamischen Modellen zu den einzelnen Klassen des UML-Diaramms. Mit Hilfe von Petri- Netzen werden hierbei Bedinunen für die (nebenläufie) Aktivierun von Methoden spezifiziert. Aufrund des rein sequentiellen Charakters des Beispiels, in dem keine zusätzlichen Aktivierunsbedinunen für Methoden enthalten sind, wird auf die Darstellun der in diesem Fall trivialen dynamischen Modelle für die Klassen Erzeuer und Sieb verzichtet. Der dritte Schritt der OOPr/T-Modellierun umfaßt die funktionale Spezifikation der Methoden durch erweiterte Pr/T-Netze. Abbildun 3 zeit dies für die Konstruktoren der Klassen Erzeuer und Sieb. Da eine Methode einmali für alle Instanzen einer Klasse spezifiziert wird, kann das die Funktionalität einer Methode beschreibende Netz keine Anfansmarkierun im herkömmlichen Sinne beinhalten. Vielmehr wird eine objektabhänie Anfansmarkierun benötit, die es erlaubt, Methodenparameter und aktuelle Attributwerte in eine Methodenspezifikati-

5 on zu importieren. Für diese Zwecke wurden in funktionalen OOPr/T-Netzen soenannte preload places eineführt,diesich rein äußerlich durch einen dickeren Rand von herkömmlichen Stellen unterscheiden und die mit dem Bezeichner eines Methodenparameters bzw. eines Attributes zu beschriften sind. Wird eine Methode aktiviert, so stehen auf den preload places automatisch die aktuellen Werte emäß ihrer Beschriftun bereit. Nachrichten zur Aktivierun anderer Methoden werden mit Hilfe so. messae transitions versendet, die im Verleich zu herkömmlichen Transitionen zusätzlich die Spezifikation der zu sendenden Nachricht beinhalten. In Abb. 3 wird somit der Konstruktor der Klasse Sieb mit dem Arument 2 als initialer Primzahl aktiviert. Die als Erebnis dieser Aktivierun an den Konstruktor der Klasse Erzeuer zurückeebene OID des instanziierten Siebobjektes wird nachfolend durch die Verwendun eines ebenfalls mit einem dickeren Rand ezeichneten postsave place im Attribut Siebanfan hinterlet - zur Unterscheidun von preload places besitzen postsave places per Definition nur einlaufende Kanten. Analo hierzu wird innerhalb des Konstruktors der Klasse Erzeuer die diesem als Arument überebene Berechnunsrenze im Attribut Oberrenze durch Verwendun eines weiteren postsave place espeichert. Die Terminierun einer Methode wird durch einen so. exit place modelliert, der durch einen doppelten Rand ekennzeichnet wird. Gibt eine Methode ein Erebnis zurück, so ist dies der Wert des Tokens, das die Methodenausführun unter Verwendun eines exit place beendete. Innerhalb der start -Methode (Abb. 4) der Klasse Erzeuer stehen bei Aktivierun durch die Verwendun von preload places die aktuellen Werte der Attribute Oberrenze und Siebanfan sowie eine mit dem Wert 3 initialisierte lokale Variable vom Typ int als Anfansmarkierun bereit. In jedem Durchlauf der in dieser Methode modellierten Schleife wird diese Zählervariable erhöht und der somit erzeute Primzahlkandidat der check - Methode des initialen Siebobjektes übereben. Erreicht der Wert des Zähler die Oberrenze des Berechnunsverfahrens, so terminiert die Methode. Innerhalb der check -Methode der Klasse Sieb (Abb. 5) erfolt die Überprüfun der überebenen Kandidaten im Hinblick auf die Primzahleienschaft. Durch die Verwendun von preload places stehen bei der Methodenaktivierun das überebene Arument sowie die aktuellen Werte der Attribute Primzahl und Siebanfan als Anfansmarkierun zur Verfüun. Kann der überebene Kandidat ohne Rest durch die vom betrachteten Siebobjekt repräsentierte Primzahl eteilt werden, so liet Sieb.check (Proband : int) -> bool [ % pri = 0 ] false pri n n.check() -> b Primzahl Nachfoler Proband pri n [ % pri 0 ] [ n null ] [ n = null ],n,n b Sieb.create() -> s true s Nachfoler Abb. 5: Modell der check -Methode per Definition keine neue Primzahl vor und die Methode terminiert. Existiert andernfalls für das betrachtete Siebobjekt bereits ein Nachfoler, so ist mit Hilfe der check -Methode des Nachfolers zu überprüfen, ob die Nachfoleprimzahl den Kandidaten teilt. Wurde hineen bisher kein Nachfoler für das betrachtete Siebobjekt bestimmt, so ist der Kan-

6 didat selbst eine Primzahl und ein zusätzliches Siebobjekt zu dessen Repräsentation ist zu instanziieren. Die Referenz auf dieses Siebobjekt wird durch Verwendun des mit dem Bezeichner Nachfoler beschrifteten postsave place im leichnamien Attribut für weitere Überprüfunen hinterlet. Das Erebnis der Berechnun ist somit eine verkettete Liste von Siebobjekten, die in aufsteiender Reihenfole die ermittelten Primzahlen bis hin zur Berechnunsoberrenze repräsentieren. 4 Zusammenfassun und Ausblick Aufrund der Ausrichtun der Entwicklun der OOPr/T-Modelle auf den im zweiten Abschnitt vorestellten Kriterienkatalo, erlauben diese sowohl die objektorientierte Strukturierun von Petri-Netzen als auch die formal basierte Modellierun nebenläufier objektorientierter Systeme. Im Verleich zu existierenden Ansätzen, bieten OOPr/T-Modelle darüber hinaus ein deutlich höheres Maß an Benutzerfreundlichkeit, wennleich im Zusammenhan mit diesem Kriterium weitere Untersuchunen erforderlich sind, um den Grad der Akzeptanz erade auch bei nicht informationstechnisch vorebildeten Experten anderer Fachrichtunen zu evaluieren. Als erster Schritt in dieser Richtun wurde zur Unterstützun der OOPr/T-Modellierun ein totypisches Werkzeu entwickelt [Geore99], daß zusätzlich zur Gestaltun der einzelnen Sichten insbesondere auch die Generierun von nebenläufiem Java-Prorammcode aus OOPr/T-Modellen ermölicht. Neben der Durchführun von Fallstudien, werden zukünfti Konzepte zur Handhabun persistenter und verteilter Objekte entwickelt. Ebenso soll ein GUI-Builder in das Werkzeu interiert werden, um Systeme mit raphischer Benutzeroberfläche entwerfen zu können. Fernziel der durch diese Erweiterunsmölichkeiten aufezeiten Entwicklunsrichtun ist die Bereitstellun einer interierten Entwicklunsumebun für nebenläufie/verteilte objektorientierte Systeme auf der Basis von Petri-Netzen. Literatur [GenLau81] H. J. Genrich und K. Lautenbach. System Modellin with Hih-Level Petri Nets. Theoretical Computer Science, 13(1), [Geore99] T. Geore. OOPr/T-Modeller : Ein Werkzeu zur Modellierun nebenläufier objektorientierter Systeme auf der Basis von UML und Petri-Netzen. Diplomarbeit, Universität Koblenz-Landau, [HuJeSh90] Peter Huber, Kurt Jensen und Robert M. Shapiro. Hierarchies in Coloured Petri Nets. G. Rozenber, Advances in Petri Nets 1990, LNCS 483. Spriner-Verla, [LanHau94] K. Lano und H. Hauhton. A Comparative Description of Object- Oriented Specification Lanuaes. K. Lano und H. Hauhton, Object- Oriented Specification Case Studies. Prentice Hall International, [Phil99] [Rati97] S. Philippi. Synthese von Petri-Netzen und objektorientierten Konzepten. Dissertation, Universität Koblenz-Landau, Rational Software Corporation. UML-Documentation V1.1. erhältlich über

Protokoll M1 - Dichtebestimmung

Protokoll M1 - Dichtebestimmung Protokoll M1 - Dichtebestimmun Martin Braunschwei 15.04.2004 Andreas Bück 1 Aufabenstellun 1. Die Dichte eines Probekörpers (Kuel) ist aus seiner Masse und den eometrischen Abmessunen zu bestimmen. Die

Mehr

Fakultätsbericht Fakultät Informatik/Mathematik April 2017

Fakultätsbericht Fakultät Informatik/Mathematik April 2017 0 Anlaen Qualitätsbericht der Studienäne (bewertete Kennzahlen für Fakultät und Studienäne die Erebnisse der Bewertun sind die Grundlae für die unten beschriebenen Entwicklunen und Handlunsfelder) Kennzahlenkatalo

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Übungen zur Vorlesung Physikalische Chemie I Lösungsvorschlag zu Blatt 8

Übungen zur Vorlesung Physikalische Chemie I Lösungsvorschlag zu Blatt 8 1. Aufabe Clapeyron'sche Gleichun dp dt = H schmelz T V schmelz M(Benzol) = 78,11 mol -1 ; M(Wasser) = 18,01 mol -1 1 atm 1,01325 10 5 Pa ; 1 cm 3 1 10 6 m 3 1 J 1 10 6 1,01325 10 5 atm cm 3 = 9,8692 atm

Mehr

Übungen Softwaretechnik I

Übungen Softwaretechnik I Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der

Mehr

Java-Programmierung mit NetBeans

Java-Programmierung mit NetBeans Java-Programmierung mit NetBeans Klassen, Objekte, Alternativen Dr. Henry Herper Otto-von-Guericke-Universität Magdeburg - WS 2012/13 Grundlegende Definitionen - Objekt Ein Objekt ist allgemein ein Gegenstand

Mehr

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article

2.13 Vererbung. Rainer Feldmann Universität Paderborn Technische Informatik für Ingenieure (TIFI) WS 09/ Article 2.13 Vererbung Klassen modellieren Objekte der realen Welt. Diese sind oft hierarchisch gegliedert. Beispiel: Ein Verlag bietet Bücher und CDs an. Beide Medien sind Artikel des Verlages. Book author: String

Mehr

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ Fizika német nyelven középszint 1012 ÉRETTSÉGI VIZSGA 11. május 17. FIZIKA NÉMET NYELVEN KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM KORREKTUR- UND

Mehr

Verkettete Datenstrukturen: Listen

Verkettete Datenstrukturen: Listen Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).

Mehr

Schulversuchspraktikum. Ann-Kathrin Röver. SoSe Klassenstufen 7 & 8. Dichte und Druck

Schulversuchspraktikum. Ann-Kathrin Röver. SoSe Klassenstufen 7 & 8. Dichte und Druck Schulversuchspraktikum Ann-Kathrin Röver SoSe 2016 Klassenstufen 7 & 8 Dichte und Druck Lernziele 1 Beschreibun des Themas und zuehörie Auf einen Blick: In diesem Protokoll werden Versuche zur Dichte und

Mehr

Mathematische Modellierung Lösungen zum 2. Übungsblatt

Mathematische Modellierung Lösungen zum 2. Übungsblatt Mathematische Modellierun Lösunen zum 2 Übunsblatt Klaus G Blümel Lars Hoeen 3 November 2005 Lemma 1 Unter Vernachlässiun der Luftreibun beschreibt ein Massepunkt, der im Punkt 0, 0) eines edachten Koordinatensystems

Mehr

Objektorientierte Modellierung (1)

Objektorientierte Modellierung (1) Objektorientierte Modellierung (1) Die objektorientierte Modellierung verwendet: Klassen und deren Objekte Beziehungen zwischen Objekten bzw. Klassen Klassen und Objekte Definition Klasse Eine Klasse ist

Mehr

Aufgabe 11: Windanlage

Aufgabe 11: Windanlage Zentrale schritliche Abiturprüunen im Fach Mathematik Auabe 11: Windanlae Das Foto zeit einen Darrieus-Windenerie-Konverter. Der Wind setzt die drei Blätter um die vertikale Achse in Drehun; die Blätter

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

Objektorientiertes Programmieren

Objektorientiertes Programmieren JL Ute Claussen Objektorientiertes Programmieren Mit Beispielen und Übungen in C++ Zweite, überarbeitete und erweiterte Auflage Mit 24 Abbildungen Springer Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist

Mehr

Bewegungen - Freier Fall eines Massenpunktes

Bewegungen - Freier Fall eines Massenpunktes Beweunen - Freier Fall eines Massenpunktes Daniel Wunderlich Ausarbeitun zum Vortra im Proseminar Analysis (Wintersemester 008/09, Leitun PD Dr. Gudrun Thäter) Zusammenfassun: Diese Ausarbeitun behandelt

Mehr

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

Geprüfte/-r Facharchitekt/-in in Versicherungsunternehmen (DVA) Aus der Praxis für die Praxis

Geprüfte/-r Facharchitekt/-in in Versicherungsunternehmen (DVA) Aus der Praxis für die Praxis Geprüfte/-r Facharchitekt/-in in Versicherunsunternehmen (DVA) Aus der Praxis für die Praxis Geprüfte/-r Facharchitekt/-in in Versicherunsunternehmen (DVA) Aus der Praxis für die Praxis Die Bedeutun der

Mehr

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:

Schlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe: Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Coaching für Revisionsleiter. in Versicherungsunternehmen

Coaching für Revisionsleiter. in Versicherungsunternehmen Coachin für Revisionsleiter in Versicherunsunternehmen Coachin für Revisionsleiter Bedarfserechtes Coachin zwischen persönlichen Spannunsfeldern und fachlichen Anforderunen Ziele & Nutzen Das Arbeiten

Mehr

Farbe als Qualitätskriterium

Farbe als Qualitätskriterium Erschienen in Farbe & Lack, 119/5 (2013) 20 bis 27. Farbe als Qualitätskriterium Wie sich Ausreißer oder Fehlcharen durch Farbmessun finden lassen Geor Meichsner und Renate Hiesen, Hochschule Esslinen

Mehr

Modellbildungen zum Kugelstoßen

Modellbildungen zum Kugelstoßen Bernhard Ubbenjans Hümmlin Gymnasium Mühlenber 7 Leistunskurs Mathematik 694 Börer Söel Facharbeit im Leistunsfach Mathematik zum Thema Modellbildunen zum Kuelstoßen Verfasser: Bernhard Ubbenjans Gliederun.

Mehr

5. Tutorium zur Analysis I für M, LaG und Ph

5. Tutorium zur Analysis I für M, LaG und Ph Fachbereich Mathematik Prof. Dr. K.-H. Neeb Dipl.-Math. Rafaël Dahmen, Dipl.-Math. Stefan Waner 5. Tutorium zur Analysis I für M, LaG und Ph Aufaben und Lösunen Sommersemester 2007 18.5.2007 Definition:

Mehr

Fehlerrechnung in der Optik

Fehlerrechnung in der Optik HTL Saalfelden Fehlerrechnun in der Optik Seite von 6 Heinrich Schmidhuber heinrich_schmidh@hotmail.com Fehlerrechnun in der Optik Mathematische / Fachliche Inhalte in Stichworten: Fehlerarten, Fehlerfortplanzun,

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Speicherverwaltung. Robert K. Akakpo

Speicherverwaltung. Robert K. Akakpo Speicherverwaltun Robert K. Akakpo Aenda Grundlaen Monoprorammierun Mehrprorammbetrieb Virtuelle Speicherverwaltun Grundlaen Die verschiedenen Arten von Speicher Grundlaen Damit ein Computer ein Proramm

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM Objektorientierte Programmierung 11. Vorlesung Prof. Dr. Peter Knauber FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Die 2. lgruppe von KobrA: : le der : e Folie 1 Zur Erinnerung: 1. lgruppe:

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen

Mehr

Dynamische Datentypen

Dynamische Datentypen Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel

Mehr

Visuelle Kryptographie. Anwendung von Zufallszahlen

Visuelle Kryptographie. Anwendung von Zufallszahlen Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Kompetenzorientiert Mathematik

Kompetenzorientiert Mathematik Pädaoische Taun 11. September 2013, Basel 2 Zentrale Fraen Kompetenzorientiert Mathematik unterrichten Prof. Dr. Esther Brunner PHTG, Kreuzlinen 1. Was bedeutet im Mathematikunterricht? 2. Wie kann ein

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick: Vererbung 2 Grundidee Vererbung 3 Verdeckte Variablen

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

Hochschule Fulda: IT-gestütztes Prozessmanagement

Hochschule Fulda: IT-gestütztes Prozessmanagement Hochschule Fulda: IT-estütztes Prozessmanaement Johann Janssen Elemente des QM-Systems strateischer und operativer Reelkreis (Orientierun am PDCA-Zyklus) alle Bereiche der Hochschule umfassende Prozesslandschaft

Mehr

Reiner Winter. Analysis. Aufgaben mit Musterlösungen

Reiner Winter. Analysis. Aufgaben mit Musterlösungen Reiner Winter Analysis Aufaben mit Musterlösunen. Aufabe: Geeben sei die Funktion ƒ(x) 5 x5 4 x mit x IR +... Untersuchen Sie die Funktion ƒ(x) auf Symmetrie, Nullstellen, Extrempunkte und Wendepunkte.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen

Mehr

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595

15 Unified Modeling Language (UML) 7 UML und Java Informatik 2 (SS 07) 595 Überblick 15. Unified Modeling Language (UML) 15.1 Grundlagen 15.2 Klassen und Objekte 15.3 Vererbung 15.4 Schnittstellen 15.5 Generische Typen 15.6 Pakete 15.7 UML und Java 15.8 Zusammenfassung 15 Unified

Mehr

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich

UML / Fujaba. Generierung von Java-Quellcode aus UML-Diagrammen. Marcel Friedrich UML / Fujaba Generierung von Java-Quellcode aus UML-Diagrammen Marcel Friedrich Agenda Einleitung Struktur Verhalten Klassendiagramme Storydiagramme Statecharts Action methods 2 Thema Codegenerierung mit

Mehr

Protokoll zu Versuch M7: Dichtebestimmung. 1. Einleitung

Protokoll zu Versuch M7: Dichtebestimmung. 1. Einleitung Jan Auffenber Protokoll zu Versuch M7: Dichtebestiun. Einleitun Bei diese Versuch soll eine Eienschaft von Stoffen die Dichte, definiert als Quotient aus Masse und Voluen für verschiedene Stoffe bestit

Mehr

3.1 Affine Abbildungen, baryzentrische Koordinaten und das Teilverhältnis. In diesem Abschnitt betrachten wir affine Abbildungen in der Form

3.1 Affine Abbildungen, baryzentrische Koordinaten und das Teilverhältnis. In diesem Abschnitt betrachten wir affine Abbildungen in der Form Affine Geometrie 3 Eine erste Verallemeinerun der euklidischen Geometrie, bei der man auf die Orthoonalität der Transformationsmatrix verzichtet, führt auf den Beriff der affinen Geometrie. Eine wichtie

Mehr

Übungen zur Klassischen Theoretischen Physik III (Theorie C Elektrodynamik) WS 12-13

Übungen zur Klassischen Theoretischen Physik III (Theorie C Elektrodynamik) WS 12-13 Karlsruher Institut für Technoloie Institut für Theorie der Kondensierten Materie Übunen zur Klassischen Theoretischen Physik III Theorie C Elektrodynamik WS -3 Prof. Dr. Alexander Mirlin Blatt 4 Dr. Ior

Mehr

Softwaretechnik WS 16/17. Übungsblatt 01

Softwaretechnik WS 16/17. Übungsblatt 01 Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and

Mehr

Übersicht. Vorstellung des OO-Paradigmas

Übersicht. Vorstellung des OO-Paradigmas Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java

Mehr

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H)

Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Web Engineering-Seminar Methoden zur Web Modellierung: Object-oriented Hypermedia Method (OO-H) Dominik Kirsten Daniel Schäferbarthold Trier, 21.01.2008 1 Gliederung 1. Einführung 1.1 Anforderungen an

Mehr

Unified Modelling Language

Unified Modelling Language Unified Modelling Language SEP 72 Software-Entwicklung Software-Entwicklung ist Prozess von Anforderung über Modellierungen zu fertigen Programmen Anforderungen oft informell gegeben fertige Programme

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Geprüfte/-r Trainer/-in (DVA) Geprüfter Coach (DVA) Professionelle Qualifikation für Erwachsenenbildner

Geprüfte/-r Trainer/-in (DVA) Geprüfter Coach (DVA) Professionelle Qualifikation für Erwachsenenbildner Geprüfte/-r Trainer/-in (DVA) Geprüfter Coach (DVA) Professionelle Qualifikation für Erwachsenenbildner Vorwort Stefan Horenbur, Geschäftsführer der DVA, über Hinterründe der konzeptionellen Neuestaltun

Mehr

Template-Klasse Eigenschaften Voraussetzungen Anwendungsgebiete std::vector<t> Reine Sequenz von Ts; Standard* Sortieren Dynamische Größenveränderung

Template-Klasse Eigenschaften Voraussetzungen Anwendungsgebiete std::vector<t> Reine Sequenz von Ts; Standard* Sortieren Dynamische Größenveränderung STL Container-Klassen Template-Klasse Eigenschaften Voraussetzungen Anwendungsgebiete std::vector Reine Sequenz von Ts; Sortieren Dynamische Größenveränderung Binäre Suche kein Verwaltungsoverhead Heaps

Mehr

Einführung in die Fehlerrechnung (statistische Fehler und Fehlerfortpflanzung) anhand eines Beispielexperiments (Brennweitenbestimmung einer Linse)

Einführung in die Fehlerrechnung (statistische Fehler und Fehlerfortpflanzung) anhand eines Beispielexperiments (Brennweitenbestimmung einer Linse) Physiklabor Prof. Dr. M. Wülker Einführun in die Fehlerrechnun (statistische Fehler und Fehlerfortpflanzun) anhand eines Beispielexperiments (Brennweitenbestimmun einer Linse) Diese Einführun erläutert

Mehr

Qualitätssicherung in der Softwareentwicklung

Qualitätssicherung in der Softwareentwicklung VU 3 Institut für Softwaretechnologie (IST) TU Graz Sommersemester 2012 Übersicht der Vorlesung 1 Invarianten in JML 2 3 4 5 JML Beispiele Invariant package org.jmlspecs.samples.jmlrefman Purse [Burdy

Mehr

Sommersemester Implementierung I: Struktur

Sommersemester Implementierung I: Struktur Sommersemester 2003 Implementierung I: Struktur 2 Aufgabe 3 Implementierung I: Struktur Umfang: 1 Woche Punkte: 50 P. In den ersten beiden Aufgaben wurden die Struktur und das Verhalten des Systems modelliert.

Mehr

Komponentenbasierte Entwicklung und Datenhaltung. FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann

Komponentenbasierte Entwicklung und Datenhaltung. FB4 - Angewandte Informatik - Prof. Dr. Ing. Elke Naumann basierte Entwicklun und Datenhaltun Aenda Einführun standards Einführun die Bausteine verteilter Applikationen standards das serverseities modell -Standards Java Database Connectivity (JDBC) EJBs Java

Mehr

Klassen als Datenstrukturen

Klassen als Datenstrukturen Einstieg in die Informatik mit Java, Vorlesung vom 27.11.07 Übersicht 1 Klassen als Datenstruktur 2 Vereinbarung von Klassen 3 Erzeugen von Objekten - Instanzen einer Klasse 4 Zugriff auf Attribute 5 Initialisierung

Mehr

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch

14. Java Klassen. Klassen (Java) vs. Records (Pascal) Klassen - Konzeptuell. Klassen - Technisch Klassen (Java) vs. Records (Pascal) 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Pascal RECORDs in Pascal sind reine

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Geoinformation I Datenmodellierung

Geoinformation I Datenmodellierung Seite 1 von 61 Geoinformation I Datenmodellierung Seite 2 von 61 Datenmodellierung Übersicht Datenverwaltung und Datenbanken objektorientierte Abbildung der Realität Grundlagen der Objektorientierung Darstellung

Mehr

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1

Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark Poguntke 2 1 Quelle: http://geekandpoke.typepad.com Modellbasierte Entwicklung Komplexität von Software User Interface Entwicklung Ausführbare UML Modelle multimodaler Interaktionsanwendungen Marcel Dausend 1, Mark

Mehr

Einfluss des Kraftfutterniveaus in der ökologischen Milchviehhaltung

Einfluss des Kraftfutterniveaus in der ökologischen Milchviehhaltung Einfluss des Kraftfutterniveaus in der ökoloischen Milchviehhaltun Anne Schiborra, Am Römerkastell 7, 53111 Bonn H. Spiekers, Institut für Tierernährun und Futterwirtschaft,Grub; hubert.spiekers@lfl.bayern.de

Mehr

Abschnitt 2: Daten und Algorithmen

Abschnitt 2: Daten und Algorithmen Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 12 WINKELBERECHNUNGEN. a) WINKEL ZWISCHEN ZWEI GERADEN

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt Semester ARBEITSBLATT 12 WINKELBERECHNUNGEN. a) WINKEL ZWISCHEN ZWEI GERADEN ARBEITSBLATT 12 WINKELBERECHNUNGEN a) WINKEL ZWISCHEN ZWEI GERADEN Diese Formel haben wir a bereits kennenelernt: Satz: Der Winkel zwischen zwei Vektoren a und b, berechnet sich nach der Formel: a b cos

Mehr

13 410-2007/12-01 Bestell-Art.-Nr.: 11 706

13 410-2007/12-01 Bestell-Art.-Nr.: 11 706 Herauseber: DATEV eg, 90329 Nürnber Alle in dieser Unterlae verwendeten personen- und firmenbezoenen Bezeichnunen und Anschriften sind speziell für diese Unterlae erstellt. Sollten dennoch Ähnlichkeiten

Mehr

HTL Steyr Ausflussvorgänge Seite 1 von 10

HTL Steyr Ausflussvorgänge Seite 1 von 10 HTL Steyr Ausflussvoräne Seite 1 von 10 Ausflussvoräne Nietrost Bernhard, bernhard.nietrost@htl-steyr.ac.at Mathematische / Fachliche Inhalte in Stichworten: Differentialleichunen 1. Ordnun, analytische

Mehr

Objekt-Orientierte Programmierung

Objekt-Orientierte Programmierung Objekt-Orientierte Programmierung Ein OO-Programm modelliert eine Anwendung als eine Welt von Objekten, die miteinander in Beziehung stehen ( später). Ein Objekt kann andere Objekte erzeugen. Ein Objekt

Mehr

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte

Inhaltsüberblick. I. Grundbegriffe - Objekte und Klassen. Organisatorisches. I. Grundbegriffe - Objektorientierte Konzepte Grundkonzepte Objektorientierter Programmierung Nicole Himmerlich FSU Jena mit Java, Oberon-2, Object-Pascal und Python Inhaltsüberblick I. Grundbegriffe 1) Kopplung 2) Datenkaspelung 3) Konstruktor 4)

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Objektorientierung Was ist Objektorientierung Es einige Grundprinzipien, die (fast) allen Definitionen des Begriffs Objektorientierung

Mehr

O01. Linsen und Linsensysteme

O01. Linsen und Linsensysteme O0 Linsen und Linsensysteme In optischen Systemen spielen Linsen eine zentrale Rolle. In diesem Versuch werden Verahren zur Bestimmun der Brennweite und der Hauptebenen von Linsen und Linsensystemen vorestellt..

Mehr

Performanceanalyse im E-Brokerage

Performanceanalyse im E-Brokerage Universität Ausbur Prof. Dr. Hans Ulrich Buhl Kernkompetenzzentrum Finanz- & Informationsmanaement Lehrstuhl für BWL, Wirtschaftsinformatik, Informations- & Finanzmanaement Diskussionspapier WI-90 Performanceanalyse

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten

Klausur. Softwareentwurf. 14. Februar 2011 Bearbeitungszeit: 120 Minuten Klausur Softwareentwurf 14. Februar 2011 Bearbeitungszeit: 120 Minuten FG Datenbank- und Informationssysteme Prof. Dr. Gregor Engels unbedingt vollständig und lesbar ausfüllen! Vorname: Matrikelnummer:

Mehr

Geprüfte/-r Trainer/-in (DVA) Geprüfter Coach (DVA) Professionalisieren Sie Ihre Qualifikation

Geprüfte/-r Trainer/-in (DVA) Geprüfter Coach (DVA) Professionalisieren Sie Ihre Qualifikation Geprüfte/-r Trainer/-in (DVA) Geprüfter Coach (DVA) Professionalisieren Sie Ihre Qualifikation Trainerausbildun (DVA) Professionalisieren Sie Ihre Qualifikation Die Ausbildun für Trainer, Prozessbeleiter

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Verarbeitung unendlicher Datenstrukturen Jetzt können wir z.b. die unendliche Liste aller geraden Zahlen oder aller Quadratzahlen berechnen:

Verarbeitung unendlicher Datenstrukturen Jetzt können wir z.b. die unendliche Liste aller geraden Zahlen oder aller Quadratzahlen berechnen: Verarbeitung unendlicher Datenstrukturen Jetzt können wir z.b. die unendliche Liste aller geraden Zahlen oder aller Quadratzahlen berechnen: take 1 0 ( f i l t e r ( fn x => x mod 2=0) nat ) ; val it =

Mehr

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung

Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg 2. Objekte, Klassen, Kapselung Inhaltsverzeichnis 1. Objektorientierung: Ein Einstieg... 1 1.1 Objektorientierung: Konzepte und Stärken...... 1 1.1.1 Gedankliche Konzepte der Objektorientierung....... 2 1.1.2 Objektorientierung als

Mehr

1 - EIN NEUES GAMEGRID ANLEGEN

1 - EIN NEUES GAMEGRID ANLEGEN 1 - EIN NEUES GAMEGRID ANLEGEN EIN NEUES GAMEGRID ANLEGEN 1. Schritt: Ein neues Java-Projekt anlegen: 2. Schritt: Namen des Projekts angeben und auf Next klicken (Achtung: Nicht auf Finish klicken) 3.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

Vererbung und Polymorphie

Vererbung und Polymorphie Vererbung und Polymorphie Marc Satkowski, Sascha Peukert 29. September 2016 C# Kurs Gliederung 1. Methodenüberladung 2. Vererbung Polymorphie Methoden- & Eigenschaftsüberschreibung Weitere Schlüsselwörter

Mehr

Formale Entwicklung objektorientierter Software

Formale Entwicklung objektorientierter Software Formale Entwicklung objektorientierter Software Praktikum im Wintersemester 2007/2008 Prof. P.H. Schmitt, Dr. Thomas Käufl, Christian Engel, Benjamin Weiß 24. Oktober 2007 Formale Entwicklung objektorientierter

Mehr

Prüfreport für Hinweis 1600482 für SAP

Prüfreport für Hinweis 1600482 für SAP Hinweissprache: Deutsch Versin: 25 Gültikeit: ülti seit 21.01.2013 Zusammenfassun Symptm Der vrlieende Hinweis stellt den Prüfreprt FSTST_ACCESS_CHECK bereit. Dieser Reprt prüft ledilich die Verwendun

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Klassen als Datenstruktur 2 Vereinbarung von

Mehr

Einführung in C# Teil 1. Matthias Nübling

Einführung in C# Teil 1. Matthias Nübling Einführung in C# Teil 1 Matthias Nübling Vorausgesetzte Grundkenntnisse Programmierung Typen, Variablen, Anweisungen, Funktionen, etc. Objektorientierte Programmierung Klassen, Vererbung, Polymorphismus,

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Programmiertechnik Objektorientierung

Programmiertechnik Objektorientierung Programmiertechnik Objektorientierung Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was ist Objekt-Orientierung? Objekt-Orientierung (OO) ist nicht völlig scharf definiert, d.h. es gibt unterschiedliche

Mehr

Warum Programme Verträge schließen sollten

Warum Programme Verträge schließen sollten 1 Warum Programme Verträge schließen sollten RALF HINZE Institut für Informatik, Lehrstuhl Softwaretechnik, Universität Freiburg Georges-Köhler-Allee, Gebäude 079, 79110 Freiburg i. Br. Email: ralf@informatik.uni-bonn.de

Mehr

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1

Grundlagen der Programmentwurfstechnik Fundamentals of Software Engineering 1 Fundamentals of Software Engineering 1 Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung - Klassische Konzepte des Software Engineering- 2.1 Das Kontextmodell 2.2 Entscheidungstabellen 2.3 Zustandsmodelle

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1

Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 Übungsaufgaben: 1. Objektorientierte Programmierung - Teil 1 1. Das Objekt Bruch mit einem Standardkonstruktor (initialisieren mit 0), einem allgemeinen Konstruktor (Zähler und Nenner können beliebig vorgegeben

Mehr

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen

Mehr