Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Ziele von EINI I + II Einführen in „Informatik“
der Universität Oldenburg
Objektorientierte Programmierung
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
Puck eine visuelle Programmiersprache für die Schule
Bauinformatik II Softwareanwendungen 1
Objektorientierte Programmierung Definition von Klassen
Objektorientierter Entwurf (OOD) Übersicht
Stefanie Selzer - Pascal Busch - Michael Kropiwoda
Java: Objektorientierte Programmierung
Java: Grundlagen der Objektorientierung
SciAgents - Eine agentenbasierte Umgebung für verteilte wissenschaftliche Berechnungen Alexander StarkeSeminar Software Agenten
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
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 Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Das Java-Hamstermodell
Objektorientierte Programmierung
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
Abstrakte Klassen DVG
Entwurfsmuster EDV Entwurfsmuster.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
Klassen und Schnittstellen Klasse: Definiert Zustandsraum ihrer Instanzen vollständig (Implementierung der Struktur, soweit Voraussetzung für die Methoden-
OO Analyse und Entwurf für Anwender XIII. Objektorientierte Benutzeroberfäche Dr. Michael Löwe.
UML Begleitdokumentation des Projekts
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
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 Methoden und Werkzeuge zur Prozessmodellierung
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Entwurfs- und Implementationsdiagramme
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
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.
Musterlösungen Übungsblatt 5
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Vorlesung #4 Überführung des ER-Modells in das relationale Modell
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Aufgaben Version 1: Es soll eine Wetterstation mit folgenden zwei Anzeigen implementiert werden: Aktuelle Wetterbedingungen mit Temperatur und.
Beispiele von Objektkatalogen
Objektorientierte Modellierung mit UML
Klassen und Klassenstruktur
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Einführung Dateisystem <-> Datenbanksystem
2 Datenabstraktion Geheimnisprinzip:
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Abstrakte Klassen und das Interface-Konzept
Diskrete Mathe Diskrete Mathematik I Listen Vorlesung 4.
Objektorientierte (OO) Programmierung
Objektorientierte Programmierung Was ist das eigentlich ?
Tutorium Software-Engineering SS14 Florian Manghofer.
1 Grundsätze objektorientierter Programmierung. Dr. Wolfram Amme, Grundsätze objektorientierter Programmierung, Informatik II, FSU Jena, SS Objektorientierte.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
© Tenbusch Oberstufenzentrum Informations- und Medizintechnik Objektorientierte Programmierung mit Java.
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 27.03.2017 Bauinformatik Grundlagen Algorithmen und Datenstrukturen in Java 2. Semester 2. Vorlesung Welt-Objekt-Model Prof. Dr.-Ing. R.J. Scherer Bauinformatik Grundlagen

Objekt-Interaktion (MPS Paradigma) interface Visualisiere Obj. paint() abstract phys. Objekt Baustelle main Δt2 Produkt: abstract Baugerät Leitstand = Instanziierung + Steuerung Prozesssteuerung: LKW1 legt zurück Problem z.B.: Synchronisation Δt1/ Δt2 ¹ N holt Δt1 ¹ Δt2 steuert (Start, Ende, Δt1) holt t1 t2 t3 t4 t5 t6 t‘1 t‘2 t‘3 t‘4 Bewege Objekt Prozess: Zustand ti-1 Zustand ti Zeichne Objekt Methode aus instantiertem Objekt usw

Paradigma: Modell-Präsentation-Steuerung(MPS) Mit der ersten objektorientierten Programmiersprache Smalltalk wurde das MPS-Paradigma (englisch MVC Model-View-Controller-Paradigma) eingeführt. Paradigma bedeutet soviel wie Prinzip. Es sagt aus, dass eine Aufteilung in 3 Klassen(-bereiche) erfolgt. Da Modell sowohl das Objekt-Welt-Modell, als auch das Präsentationsmodell sein kann und die Präsentation nur auf die visuelle Darstellung zu eng begrenzt ist, ergibt sich als Verallgemeinerung für das MPS-Paradigma Modell Steuerung Präsentation Produkt Prozesssteuerung Prozess 27.03.2017

Programm Architektur Produkt-Modell (Welt-Objekt-Modell) main holt aktualisiert Prozess-Steuerung (Leitstand) Nutzer-schnittstelle Prozess-Modell (Welt-Objekt-Modell) Darstellung Welt-Prozess D-Schnittstelle 27.03.2017

Objekt-Interaktion (MPS Paradigma) interface Visualisiere Obj. paint() abstract phys. Objekt Baustelle main Δt2 Produkt: Welt-Objekt-Modell abstract Baugerät Leitstand = Instanziierung + Steuerung Nutzer Prozesssteuerung: LKW1 legt zurück holt holt steuert (Start, Ende, Δt1) Prozess: Bewege Objekt Zustand ti-1 Zustand ti Welt-Prozess-Modell Zeichne Objekt Darstellungs-Prozess-Modell Methode aus instantiertem Objekt usw Aktualisierungs-Prozess 27.03.2017

Welt-Objekt-Modell Architektur Vorlagen (Schema, Konzepte, Klassen) permanent instantiiert Daten-ablage Lager (Repository) Welt-Objekte eingesetzt Aktuelle Zustände aktuelle Welt-Objekte temporär holt aktualisiert Prozessablauf 27.03.2017

Welt-Objekt-Datenstruktur Eine Datenstruktur besteht aus: Objekten Relationen Repäsentationssprache Objekte bestehen (einschließlich der Definition der zugehörigen Datentypen) aus : Identifikator - Attribut Attributen Relations-Attributen Vererbungsstruktur zu einfacheren Definition der Schema-Objekte (Klassen) Beziehungen zwischen den Objekten Kommunikationsrelationen (Benachrichtigungsbeziehung) Repräsentationssprache EXPRESS-G zur grafischen Repräsentation des Wesentlichen EXPRESS zur syntaktischen Repräsentation mit allen Details 27.03.2017

EXPRESS-G EXPRESS-G ist eine graphische Beschreibungssprache für objektorientierte Modelle und ist Teil 11 der ISO-Norm 10303 (STEP). Mittels EXPRESS-G können wesentliche Informationen objektorientierter Modelle spezifiziert werden. Vorteil: - übersichtlich und leicht verständlich; Anwendung: Modellierung der Objekte Nachteil: - Nicht alle benötigten Informationen können mit EXPRESS-G beschrieben werden.

EXPRESS-G Bezugspunkt Baugeraet Integer LKW Kran Bagger PhysicalObject winkel V Max koordinaten Bezugspunkt Baugeraet Integer LKW Kran Bagger PhysicalObject LKW: Bezugspunkt V max Weitere Attribute Richtung der Beziehung wird durch die "Kreise" angezeigt. Kardinalitäten von Beziehungen sind beschrieben. Grundtype (STRING, REAL, INTEGER, ENUM, ...) sind definierbar und sind an speziellen Symbollen erkennbar (hier nicht enthalten)

EXPRESS EXPRESS dient zur genauen Spezifikation objekt-orientierter Modelle. Die in EXPRESS-G beschriebene Klassenhierarchie wird in EXPRESS überführt und durch zusätzlich benötigten Information, die in EXPRESS-G nicht beschreibbar sind, ergänzt, um eine verbindliche Datenstruktur zu definieren. ENTITY Baugeraet ABSTRACT SUPERTYPE SUBTYPE OF ( PhysicalObject ); Geschwindigkeit : Real; Leistung : Real; END_ENTITY;

Überführung der EXPRESS-Struktur in eine ausführbare Programmstruktur Um mit der in EXPRESS definierten objekt-orientierten Struktur arbeiten zu können muss sie in eine ausführbare Programmstruktur überführt werden. Dafür bieten sich objekt-orientierte Programmiersprachen, wie z.B. Java, an. Die Datenstruktur kann hierbei auch um Verhalten (Funktionen) erweitert werden. Durch die Einführung der Kommunikationsrelation und eines Symbols für Funktionen erweitern wir EXPRESS-G entsprechend (kein ISO 10303 Bestandteil) EXPRESS Programmiersprache

Überführung der EXPRESS-Struktur in eine ausführbare Programmstruktur ENTITY Baugeraet ABSTRACT SUPERTYPE SUBTYPE OF ( PhysicalObject ); Geschwindigkeit : Real; Leistung : Real; END_ENTITY; public abstract class Baugeraet extends PhysicalObject { private double geschwindigkeit; private double leistung; public void setGeschwindigkeit t(double v) { this.geschwindigkeit = v; } }; EXPRESS zu Java

Schema/Datenstrukturen Baustelle Vorgehensweise (s. auch 1.Sem 1. Vorl) Sammeln aller Objekte Ordnen der Objekte in Objektgruppen Aufbau der Basisrelationen Aufbau der Anwendungsrelationen Implementation der Schema-Objekte in Klassen mit Ihren Konstruktoren textuell EXPRESS-G EXPRESS Java 27.03.2017

Überblick EXPRESS-G 27.03.2017

Überblick über EXPRESS-G Kommunikations- 27.03.2017

Überblick über EXPRESS-G 27.03.2017

Überblick über EXPRESS-G 27.03.2017

Strukturierung der Baustellen-Klassen Bauplatz und seine Teile Bauwerk Baumaterial Gerätepark Bewegung, Abläufe, Prozesse (immaterielle Objekte) Logistik: (Material- und Ressourcenflüsse) Interaktionen von Geräten Personal Personal könnte wie Geräte modelliert werden, d.h. wie 4, 5, 7 und muss nicht als eigenständiger Modellbereich formuliert werden. Wenn wir aber selbstständiges Handeln zulassen, z.B. durch Agentenmethode möglich, so ist ein eigenständiger Modellbereich zu empfehlen.

Baustellenschema 27.03.2017

Bauobjekte 27.03.2017

Baugeräte 27.03.2017

Bauplatz/Einrichtungslemente 27.03.2017

Material 27.03.2017

Beziehung LKW- Material 27.03.2017

Klassenstruktur der Baustelle Baumaterial Baugeräte Bauobjekte Einrichtungs- elemente