Entwurfsdokumentation Missionsbasierte Flugplangenerierung und optimierung

Größe: px
Ab Seite anzeigen:

Download "Entwurfsdokumentation Missionsbasierte Flugplangenerierung und optimierung"

Transkript

1 Entwurfsdokumentation Missionsbasierte Flugplangenerierung und optimierung Projekt: Missionsbasierte Flugplangenerierung und optimierung 1.0 Voraussetzung: Pflichtenheft Fabian Kittler Daniel Korinek Ralf Rothenberger Richard Sieder Ghislain Tchibinda Home: Dokuwiki der Projektgruppe 10 letzte Änderung: 10. Juni 2009 Gruppenmitglieder:

2 INHALTSVERZEICHNIS Inhaltsverzeichnis 1 Einleitung Zweck des Systems Entwurfsziele Grobentwurf Architekturmuster und Systemzerlegung Model-View-Controller Übersicht Model View Controller Management persistenter Daten Datenbank properties-Dateien Sicherheit und Zugriffskontrolle Globaler Kontrollfluss Randbedingungen Feinentwurf Richtlinien der Schnittstellendokumentation Pakete Übersicht von Paketen Beschreibung der Pakete model controller view Umgang mit Paketen Entwurfsmuster Factory Singleton Facade Decorator Iterator Klassen und Schnittstellen Controller Function Plausibility Exception Model Klassen

3 INHALTSVERZEICHNIS Factoryklassen View Glossar 55 5 Referenzen 57 3

4 1 EINLEITUNG 1 Einleitung 1.1 Zweck des Systems Welchen Zweck erfüllt das Softwaresystem? Flugplaner stellt einen benutzerfreundlichen Dienst dar, der die Erstellung und das Editieren von Flughäfen, -plänen und -missionen sowie den Export der Flugpläne zur Nutzung in einer Simulation mit MLDesigner ermöglichen soll. 1.2 Entwurfsziele Welche Anforderungen soll das System erfüllen? Korrektheit: Alle Funktionen sollen ihre Aufgaben wie vorgesehen erfüllen. Zuverlässigkeit: Nach der Installation soll das System problemlos laufen. Eventuell auftretende Fehler sollen die Funktionsfähigkeit des Softwaresystems nicht beeinflussen. Erweiterbarkeit: Das System soll zum Zwecke einer zukünftigen Weiterentwicklung erweiterbar sein. Mögliche Erweiterungen könnten sein: weitere Sprachen automatische Missionsgenerierung Missionsoptimierung evtl. neue Funktionen Veränderbarkeit: Im Zuge der Weiterentwicklung soll es auch möglich sein das bestehende System zu verändern. Mögliche Änderungen könnten sein: Verbesserung der GUI Einbindung einer anderen Datenbank Verbesserung des Datenmodells nachträgliche Fehlerbeseitigung neue Version des Tools Verständlichkeit: Laufende Kommentare im Code und eine ausführliche Dokumentation sollen das Verständnis des Systems für nachfolgende Entwickler ermöglichen. Performanz: Dies betrifft vorallem die Performanz beim Navigieren auf der Weltkarte. Es soll eine flüssige Bildwiederholrate auf handelsüblichen PCs mit aktueller Grafikkarte garantiert werden. 4

5 1 EINLEITUNG Nutzerfreundlichkeit: Die grafische Benutzeroberfläche soll intuitiv bedienbar sein und auch unerfahrenen Nutzern eine einfache Interaktion mit dem System ermöglichen. Bei auftretenden Fehlern oder ungültigen Eingaben soll dem Benutzer ein entsprechender Hinweis angezeigt und die Möglichkeit einer erneuten Eingabe angeboten werden. Portierbarkeit: Das Softwaresystem soll weitestgehende Unabhängigkeit vom verwendeten Betriebssystem ermöglichen. 5

6 2 GROBENTWURF 2 Grobentwurf 2.1 Architekturmuster und Systemzerlegung Welche Architekturmuster wurden verwendet und warum? Wie ist das System unterteilt? Model-View-Controller Mit Hilfe des Model-View-Controller Architekturmuster erfolgt eine klare funktionsbezogene Trennung einzelner Systemkomponenten in die drei namensgebenden Einheiten Model, View und Controller. Die Vorteile einer solchen Trennung sind: strukturierter, funktional getrennter Systemaufbau reduzierte Komponentenabhängigkeit stark erleichterte nachträgliche Erweiterung bzw. Änderung Wiederverwendung einzelner Systemkomponenten möglich Übersicht Abbildung 1: Model-View-Controller im Kontext des Systems 6

7 2 GROBENTWURF Model Diese Einheit beinhaltet und organisiert ausschließlich die verwendeten Datenmodelle (z.b.: Datenbank,.properties-Dateien, etc.). Dabei ist das Model unabhängig von der Präsentation (View), kennt jedoch den Controller View Verantworlich für die Darstellung der vom Controller erhaltenen Daten. Desweiteren wird jegliche Nutzerinteraktion von dieser Schicht realisiert.view kennt dabei den Controller, jedoch nicht das Model Controller Der Controller ist für die Steuerung des Programmablaufes und die Verwaltung der von View generierten Daten verantworlich. Als einzige Komponente in diesem Architekturmuster kennt der Controller sowohl Model als auch View. 7

8 2 GROBENTWURF 2.2 Management persistenter Daten Wie werden persistente Daten vom System gespeichert und verwaltet? Die Speicherung der Daten wird zweckgebunden auf 2 unterschiedliche Arten erfolgen Datenbank In der Datenbank werden hauptsächlich alle Daten gespeichert mit denen die Missionserstellung erfolgt. Diese Daten können/werden sich im Verlauf des Programmes häufig ändern. Die Einstellungen der Datenbank werden in einer.xml-datei festgehalten, dies betrifft unter anderem die Adresse der Datenbank, Benutzername und Passwort für den Zugriff auf die Datenbank. Der Zugriff auf die Datenbank erfolgt nur über die Factory-Klassen (siehe Klassen und Schnittstellen). Dem Benutzter wird es nicht erlaubt sein eigene SQL-Anweisungen vom Programm aus auszuführen. Die Daten der Datenbank sind folgendermaßen organisiert: Abbildung 2: Struktur der internen Datenhaltung 8

9 2 GROBENTWURF properties-Dateien In den.poperties-dateien werden die Daten gespeichert, welche sich nicht häufig ändern und nicht im direkten Sinne etwas mit der Missionsplanung zu tun haben. Die.poperties-Dateien werden im Verzeichnis des Programmes gespeichert. Der Zugriff auf die.properties-dateien erfolgt nur über die Factory-Klassen (siehe Klassen und Schnittstellen). Abbildung 3: Struktur der externen Datenhaltung 9

10 2 GROBENTWURF 2.3 Sicherheit und Zugriffskontrolle Welche sicherheitsrelevanten Anforderungen soll das System erfüllen? Eine Zugriffskontrolle erfolgt im wesentlichen nicht. Es wird davon ausgegangen dass nur die jeweils berechtigten Personen Zugriff auf das Programm haben. Einzige Ausnahme bildet die Datenbank, für die ein Benutzername und Passwort notwendig sind. 10

11 2 GROBENTWURF 2.4 Globaler Kontrollfluss Welche Abläufe finden im System statt und wie werden diese organisiert? Der gesamte Kontrollfluss des Systems orientiert sich am verwendeten MVC-Modell und wird zentral durch den Controller und synchrone Call/Return - Aufrufe gesteuert. Die nachfolgenden Sequenz-Diagramme sollen einen groben Ablauf der Kommunikation zwischen GUI, Controller und Model abhandeln, wobei die Aufmerksamkeit auf GUI - Controller liegt. 11

12 2 GROBENTWURF createplanetype Bei der Erzeugung von Flugzeugtypen ruft die GUI vom Interface des Controllers die Funktion createplanetype auf. Danach ist das Problem für die GUI abgearbeitet. Der Controller überprüft die Eingaben wieder auf Fehler und versucht über die Modelschnittstelle den Flugzeugtyp zu erstellen. Sollte dabei wieder ein Fehler auftreten, so ruft der Controller eine der Benachrichtigungsfunktionen der GUI auf. Ganz unten wird wieder der Normalfall dargestellt. Die anderen create- und add- Methoden laufen im Grunde äquivalent ab und bedürfen daher keiner weiteren Erläuterung. Abbildung 4: Ablauf von createplanetype 12

13 2 GROBENTWURF createairport Abbildung 5: Ablauf von createairport 13

14 2 GROBENTWURF addairport Abbildung 6: Ablauf von addairport 14

15 2 GROBENTWURF createflightplan Abbildung 7: Ablauf von createflightplan 15

16 2 GROBENTWURF createmission Abbildung 8: Ablauf von createmission 16

17 2 GROBENTWURF addstation Abbildung 9: Ablauf von addstation 17

18 2 GROBENTWURF search* Die Suchfunktionen für die entsprechenden Datentypen verlaufen im wesentlichen immer gleich. Die GUI ruft den Controller auf, dieser versucht im Model etwas zu finden. Falls ein Fehler auftritt wird über die Schnittstelle der GUI wieder ein Fehler ausgegeben. Abbildung 10: Ablauf von searchplanetype 18

19 2 GROBENTWURF Abbildung 11: Ablauf von searchexistingairport 19

20 2 GROBENTWURF Abbildung 12: Ablauf von searchairport 20

21 2 GROBENTWURF Abbildung 13: Ablauf von searchflightplan 21

22 2 GROBENTWURF Abbildung 14: Ablauf von searchmission 22

23 2 GROBENTWURF importpdf Der Benutzer hat sich über die GUI ein PDF-Dokument ausgewählt um einen Flugplan auszulesen. Die GUI verwendet importpdf von der Controller-Schnittstelle, um den Pfad zu übergeben. Die GUI wird sich im folgenden darum nicht mehr kümmern. Falls beim Auslesen der Datei Fehler auftreten oder beim Einlesen Plausibilitäten verletzt werden, wird vom Controller aus ein Pop-Up Fenster der GUI aufgerufen, in dem der Controller darauf hinweist, dass etwas nicht in Ordnung ist. Dafür stehen die Methoden yesnomessage(string Message) und okdetailmessage(string Message, String Details) zur Verfügung. Falls ein erfolgreicher Import aller Flugpläne des PDF-Dokuments möglich ist, wird das Subsystem Model aufgerufen und die Flugpläne werden erstellt (in der Datenbank). Abbildung 15: Ablauf von importpdf 23

24 2 GROBENTWURF 2.5 Randbedingungen Welche Bedingungen und Einschränkungen des Projekts sind bereits vorgegeben? Entwurfsanforderungen, die an das System gestellt werden. Das System soll eine grafische Benutzeroberfläche bereitstellen, die folgende Elemente enthalten soll: zoombare Weltkarte, auf der Flughäfen anhand ihrer GPS-Koordinaten gelöscht und hinzugefügt werden können Visualisierung von Verbindungen zwischen Flughäfen Liste hinzugefügter Flughäfen Liste möglicher Anschlussflüge für Stationen bei der Missionserstellung bearbeitbare Tabelle aller erstellten Missionen Es soll eine Schnittstelle zum Import von Flugplänen aus entsprechenden PDF-Dateien existieren. Es soll zwischen den Sprachen Deutsch und Englisch gewählt werden können. Der Benutzer kann einen Initialzustand bestehender Flughäfen oder alle aktuell hinzugefügten Flughäfen, Flugpläne und Missionen exportieren und importieren. (Speichern und Laden) Erstellte Missionen sollen im.csv-format exportiert werden können. Die interne Datenhaltung des Systems soll über eine Datenbank erfolgen. Alle Datenbankinhalte sollen vor der Aufnahme auf Plausibilität geprüft werden. Die Produktumgebung des fertigen Systems soll ein handelsüblicher Desktop-PC sein. Es kann keine Internetverbindung für das Softwaresystem garantiert werden. Bei der Interaktion mit der Weltkarte soll eine flüssige Bildwiederholrate von mindestens 20 fps gewährleistet sein. Das System soll plattformunabhängig mindestens auf Windows- und Linux-Betriebssystemen arbeiten. Quelloffene Programmierung und gute Dokumentation werden zur Gewährleistung von Änderbarkeit und Wartbarkeit vorausgesetzt. 24

25 3 Feinentwurf 3.1 Richtlinien der Schnittstellendokumentation Welche einheitlichen Vorgaben existieren zur Dokumentation von Schnittstellen? Die Dokumentation des Quelltextes wird mit Hilfe des Programmes Doxygen erstellt. Dieses Tool ermöglicht es, aus dem kommentierten Quelltext eine Dokumentation in Form von html-, LaTex-,... Dateien zu erstellen. Die Art der Dokumentation entspricht im wesentlichen der von Javadoc. Es werden Pakete, Interfaces, Klassen, Methoden und Attribute dokumentiert. Wobei in Klassen nur ein kurzer Kommentar steht, was die betreffenden Methoden machen. Die Ausführliche Dokumentation der Methoden erfolgt dann in den Interfaces. Ausgenommen sind Klassen die kein Interface besitzten oder private Methoden haben, in ihnen werden die Methoden direkt kommentiert. Attribute sollten so ausfürlich wie nötig kommentiert werden. Zu jeder/-m Klasse/Interface gehören die Namen der Personen die an dieser Datei mitgearbeitet haben. 25

26 3.2 Pakete In welche Pakete ist das System unterteilt? Pakete sind Sammlungen von zusammengehörenden Java-Klassen Übersicht von Paketen Abbildung 16: Übersicht über die Paketstruktur des Systems 26

27 3.2.2 Beschreibung der Pakete Die Pakete unterteilen sich gemäß MVC-Muster in Controller, Model und View. Dadurch wird die Trennung von Anzeige, Steuerung und Datenstruktur erreicht. In jedem der Pakete erfolgt nochmal eine Unterteilung in api und impl. Im api-paket werden die Schnittstellen definiert, über die die Klassen miteinander kommunizieren. Im impl-paket erfolgt die eigentliche Implementierung der Klassen. Nicht jede Klasse hat auch ein Interface, so kann es vorkommen, dass sich in den impl-paketen mehr Klassen befinden werden als in den api-paketen model Im model-paket wird die Datenstruktur der verwendeten Objekte festgelegt und wie sie gespeichert werden. Im weiteren teilt sich das Paket in 2 Unterpakete auf, in die Strukturen und die Funktionen auf diesen. om: In diesem Paket ist die Struktur der Objekte definiert, die zur Laufzeit benötigt werden. factory: Hier erfolgt die Erzeugung und der Speicher- bzw. Lade-Vorgang der Objekte aus dem om-paket, da man nur innerhalb des model-paketes die Klassen kennen und verwenden soll. Diese Pakete unterteilen sich jeweils in db und file, was auf die Art der Speicherung der Daten zurückzuführen ist. db: Diese Klassen werden innerhalb der Datenbank gespeichert. file: Die Speicherung dieser Klassen erfolgt in.properties-dateien controller Im controller-paket wird die globale Steuerung des Programmes festgelegt und die Eingaben aus dem view-paket geprüft und verwaltet, um einen integren Datenbestand zu gewärleisten. Desweiteren werden hier auch die Informationen für den view vorbereitet und verarbeitet, damit er diese ohne Aufwand nutzen kann. Dazu werden die Funktionen in folgende Pakete unterteilt: exception: In diesem Paket sind die Fehler mit ihren Behandlungen definiert, es erfolgt auch gegebenenfalls eine Benachrichtigung des view. function: Die Hauptfunktionalitäten des controller-paketes werden hier beschrieben. Dies sind zum einen die Umwandlung der Daten in die entsprechenden Formate für model und view. Weiterhin werden verschiedene Berechnungen und Umrechnungen durchgeführt. Ebenso ist hier die Schnittstelle zum view festgelegt. plausibility: Hier sind die verschiedenen Plausibilitäten festgehalten, die für bestimmte Funktionen des controller-paketes geprüft und erfüllt werden müssen. 27

28 view Im view-paket ist zum einen die gesamte Darstellung der GUI mit ihren Aktionen festgelegt und zum anderen die Schittstelle für Nachrichten, die vom controller aus gesendet werden können. Eventuell wird im Verlauf der Implementierung hier eine weitere Unterteilung des Paketes erfolgen, welche aber zur Zeit nicht festgelegt wird, um flexibel zu bleiben Umgang mit Paketen Das Übersetzen von Dateien aus Paketen, Ausführung von Programmen in Paketen und Importieren von Klassen laufen wie bei allen anderen Java Programmen ab. Eine Einleitung dafür findet man in der Java Documentation. Hier noch ein kleines Beispiel für Import von Klassen, die in Paketen als public deklariert sind. import flp.model.api.om.db.iairport; bwz. import flp.model.api.om.db.*; //für den bedarfsmäßigen Import von beliebigen public Klassen aus dem Paket 28

29 3.3 Entwurfsmuster Welche Entwurfsmuster werden wo, wie und wofür verwendet? Factory Das Factory Pattern wird zu Erstellung von Objekten innerhalb des Models benötigt Singleton Singleton ist ein Erzeugungsmuster und verhindert, dass verschiedene Komponenten, wie die GUI oder der Controller mehrmals existieren Facade Dieses Entwurfsmuster dient der leichteren Erweiterbarkeit und Veränderbarkeit zwischen GUI und Controller Decorator Das Decorator Entwurfsmuster wird bei unserem Programm hauptsächlich in der GUI verwendet um verschiedene Funktionen leichter erweiterbar zu gestalten Iterator Der Iterator wird zum iterieren über Listen benötigt, bei der Verwaltung von Daten aus der Datenbank. 29

30 3.4 Klassen und Schnittstellen Auflistung aller Klassen mit ihren Schnittstellen Controller Function Das nachfolgende Klassenmodell ist eine vereinfachte Darstellung des tatsächlichen Interfaces vom Controller für die GUI. Sie dient hauptsächlich der Dokumentation der wesentlichen Methoden, die von der GUI aufgerufen werden können. Diese werden alle im Function-Paket des Controllers zusammengefasst. Abbildung 17: Controllerschnittstelle 30

31 Plausibility Die im Plausibility-Paket enthaltenen Klassen dienen der Plausibilitätsprüfung der verschiedenen Eingabedaten und bieten zu diesem Zweck jeweils eine dem Controller allein bekannte check-methode an. Darüberhinaus enthalten sie noch einige private Hilfsmethoden. AirportPlausibility Überprüft die Plausibilität eines Flughafens. Abbildung 18: Struktur von AirportPlausibility FlightplanPlausibility Überprüft die Plausibilität eines Flugplanes. Abbildung 19: Struktur von FlightplanPlausibility MissionPlausibility Überprüft die Plausibilität einer Mission, wobei die Plausibilität einzelner Stationen durch MissionStationPlausibility geprüft wird. Abbildung 20: Struktur von MissionPlausibility 31

32 MissionStationPlausibility Überprüft die Plausibilität einer einzelnen Missionsstation unter Vorgabe einer konkreten Mission und der Position der Station im Rundkurs. Abbildung 21: Struktur von MissionStationPlausibility PlaneTypePlausibility Überprüft die Plausibilität eines Flugzeugtypen. Abbildung 22: Struktur von PlaneTypePlausibility 32

33 Exception FPException FPException stellt eine abstrakte Klasse dar, die von der Java-Klasse Exception abgeleitet ist und die öffentliche Methode handle() bereitstellt. Alle restlichen im Exception- Paket enthaltenen Klassen sind von FPException abgeleitet und implementieren die überschriebene handle()-methode zur Ausnahmebehandlung. Desweiteren enthalten alle Exceptions, denen bei der Erzeugung Variablen übergeben werden, diese als private Attribute. AirportExceptions AirportFileNotAccessibleException() AirportIATAAlreadyExistsException(String iata) AirportICAOAlreadyExistsException(String icao) AirportNotExistingException(String iata) AirportNotAddedException(String iata) IdenticalAirportsException(String iata) InvalidAirportIATAException(String iata) InvalidAirportICAOException(String icao) InvalidTimeZoneException(int timezone) InvalidGPSException(int latitudedegree, int latitudeminute, int longitudedegree, int longitudeminute) NoAirportFoundException() FlightplanExceptions FlightPlanNotExistingException(IFlightPlan flightplan) FlightPlanAlreadyInUseException(IFlightPlan flightplan) FlightPlanAlreadyExistsException(IPlaneType planetype, IAirport departure, IAirport arrival, int departuretime, int arrivaltime, int distance, int flighttime, Day day) InvalidDistanceException(int distance) InvalidFlightTimeException(int flighttime) InvalidDayException(Day day) InvalidDepartureTimeException(int departuretime) InvalidArrivalTimeException(int arrivaltime) NoFlightPlanFoundException() 33

34 PlaneTypeExceptions PlaneTypeFileNotAccessibleException() PlaneTypeNotExistingException(IPlaneType planetype) PlaneTypeIATAAlreadyExistsException(String iata) PlaneTypeMismatchException(IPlaneType planetype1, IPlaneType planetype2) InvalidRangeException(int range) InvalidConsumptionException(int consumption) InvalidRegenerationException(int regeneration) NoPlaneTypeFoundException() MissionExceptions MissionIncompleteException() StationsNotConnectedException(IFlightPlan station1, IFlightPlan station2) TargetOutOfRangeException(int distance, int range) InvalidStayTimeException(int staytime) NoMissionFoundException() FunctionExceptions DatabaseNotAccessibleException() PDFNotFoundException(String path) ParsingException() 34

35 3.4.2 Model Klassen Die Klassen sind die wesentlichen Objekte, die an der Missionsplanung beteiligt sind. Darüber hinaus wird das Datenmodell für Ressourcen definiert, welche aber (noch) nicht in das Programm eingebunden werden, sondern zur Erweiterbarkeit des Programms für spätere Funktionen beitragen sollen. Alle Methoden, die Klassen haben, sind ausschließlich Getter und Setter für die Attribute der Klassen. Die Namen der Getter und Setter ergeben sich aus get bzw. set und dem Attributnamen. Abbildung 23: Gesamtstruktur der Model-Klassen 35

36 Airport implementiert IAirport Aufgenommener Flughafen: Ein Flughafen, der auf der Karte oder aus einer Liste ausgewählt werden kann um Flugpläne und Missionen zu erstellen. Abbildung 24: Struktur von Airport CabinCrew implementiert ICabinCrew Kabinen-Crew: Der Teil der Besatzung eines Flugzeuges, der sich um die Versorgung der Passagiere kümmert. Abbildung 25: Struktur von CabinCrew 36

37 Crew implementiert ICrew Besatzung:Abstrakte Klasse für die Modellierung der Flugbegleitung. Abbildung 26: Struktur von Crew Employee implementiert IEmployee Pesonal: Abstrakte Klasse für die Modellierung der Angestellten. Abbildung 27: Struktur von Employee 37

38 Flightplan implementiert IFlightplan Flugplan: Ein Flug der von einem Start (-flughafen) zu einem Ziel (-flughafen) innerhalb einer bestimmten Zeit mit einem bestimmten Flugzeugtyp fliegt. Abbildung 28: Struktur von Flightplan Mechanic implementiert IMechanic Mechaniker: Personal welches sich um die Reparatur der Flugzeuge kümmert. Abbildung 29: Struktur von Mechanic 38

39 Mission implementiert IMission Mission: Ein Rundflug besteht aus vielen Missionsstationen und bildet eine Schleife eines Flugzeuges. Beginnt und endet an einem bestimmten Flughafen. Abbildung 30: Struktur von Mission MissionStation implementiert IMissionStation Missionsstation: Ein Teilflug einer Mission, stellt die Verbindung zwischen Missonen und Flugplänen her. Abbildung 31: Struktur von MissionStation 39

40 PilotCrew implementiert IPilotCrew Piloten-Crew: Der Teil der Besatzung eines Flugzeuges, der das Flugzeug steuert. Abbildung 32: Struktur von PilotCrew Ressource implementiert IRessource Ressource: Ein Betriebsmittel, das zum Erstellen einer Missionsstation ge- bzw. verbraucht wird. Abbildung 33: Struktur von Ressource 40

41 Desweiteren existieren 2 weitere Klassen für Flugzeugtypen und existierende Flughäfen, die im wesentlichen der Speicherung von Daten dienen. Auch hier sind alle Methoden ausschließlich Getter und Setter. ExistingAirport implementiert IExistingAirport Existierender Flughafen: Ein Flughafen der nur zur Speicherung der Daten dient, er kann jederzeit aufgenommen werden um mit ihm zu arbeiten. Abbildung 34: Struktur von ExistingAirport PlaneType implementiert IPlaneType Flugzeugtyp: Die verschiedenen Typen von Flugzeugen mit ihren Eigenschaften. Abbildung 35: Struktur von PlaneType 41

42 Factoryklassen Es wird/soll dem View und Controller nicht erlaubt sein Instanzen der Klassen direkt zu erstellen. Dies soll ausschließlich durch die Methoden der Factory-Klassen geschehen. Somit soll die Erzeugung von nicht existenten Objekten vermieden werden und ein einheitlicher Umgang mit ihnen erfolgen. Abbildung 36: Gesamtstruktur der Factoryklassen mit Datenbankanbindung 42

43 Abbildung 37: Gesamtstruktur der Factoryklassen mit.property-file-anbindung 43

44 AirportFactory implementiert IAirportFactory, abgeleitet von DatabaseFactory Abbildung 38: Struktur von AirportFactory 44

45 CabinCrewFactory implementiert ICabinCrewFactory, abgeleitet von DatabaseFactory Abbildung 39: Struktur von CabinCrewFactory DatabaseFactory (abstrakt) Abbildung 40: Struktur von DatabaseFactory 45

46 ExistingAirportFactory implementiert IExistingAirportFactory, abgeleitet von FileFactory Abbildung 41: Struktur von ExistingAirportFactory FileFactory (abstrakt) Abbildung 42: Struktur von FileFactory 46

47 FlightplanFactory implementiert IFlightplanFactory, abgeleitet von DatabaseFactory Abbildung 43: Struktur von FlightplanFactory ImportExportFactory implementiert IImportExportFactory, abgeleitet von DatabaseFactory Abbildung 44: Struktur von ImportExportFactory 47

48 MechanicFactory implementiert IMechanicFactory, abgeleitet von DatabaseFactory Abbildung 45: Struktur von MechanicFactory MissionFactory implementiert IMissionFactory, abgeleitet von DatabaseFactory Abbildung 46: Struktur von MissionFactory 48

49 PilotCrewFactory implementiert IPilotCrewFactory, abgeleitet von DatabaseFactory Abbildung 47: Struktur von PilotCrewFactory PlaneTypeFactory implementiert IPlaneTypeFactory, abgeleitet von FileFactory Abbildung 48: Struktur von PlaneTypeFactory 49

50 Alle Factoryklassen (außer der ImportExportFactory, DatabaseFactory, FileFactory) haben einige Methoden als Gemeinsamkeit: create, delete, deleteall, getall, getbyid (außer bei AirportFactory, dort wird diese Funktion durch getiata realisiert), createall (außer ExistingAirportFactory und PlaneTypeFactory), update. Diese Methoden unterscheiden sich nur Aufgrund ihrer Parameter, die beispielsweise zur Erstellung der jeweiligen Klasse notwendig sind. Deswegen werden sie allgemein, stellvertetend für alle Klassen beschrieben. create Attribute: Daten der Objekte Rückgabewert: Objekt der jeweiligen Klasse Beschreibung: erstellt ein Objekt der jeweiligen Klasse, speichert es in der Datenbank und gibt es zurück delete Attribute: Objekt der jeweiligen Klasse Rückgabewert: - Beschreibung: löscht das Objekt der jeweiligen Klasse aus der Datenbank deleteall Attribute: - Rückgabewert: - Beschreibung: löscht alle Objekte der jeweiligen Klasse aus der Datenbank getall Attribute: - Rückgabewert: Liste von Objekten der jeweiligen Klasse Beschreibung: gibt alle Objekte der jeweiligen Klasse aus die sich in der Datenbank befinden getbyid / getbyiata Attribute: long id / String iata Rückgabewert: Objekt der jeweiligen Klasse Beschreibung: sucht ein Objekt nach einem gegebenen Primärschlüssel createall Attribute: Feld von Daten der Objekte Rückgabewert: - Beschreibung: Objekte werden in die Datenbank aufgenommen (mit Primärschlüssel) update Attribute: Objekt der jeweiligen Klasse Rückgabewert: - Beschreibung: speichert vorgenommene Änderungen an dem Objekt 50

51 Zusätzliche Methoden der anderen Klassen: AirportFactory/ExistingAirportFactory getbyicao Attribute: String icao Rückgabewert: Airport Beschreibung: sucht den Flughafen mit dem gegebenen ICAO-Code getbylikeiata Attribute: String iata Rückgabewert: Liste von Flughafen Beschreibung: sucht die Flughäfen, bei denen der gegebene String Teil ihres IATA- Codes ist getbylikeicao Attribute: String icao Rückgabewert: Liste von Flughafen Beschreibung: sucht die Flughäfen, bei denen der gegebene String Teil ihres ICAO-Codes ist getbylikename Attribute: String name Rückgabewert: Liste von Flughafen Beschreibung: sucht die Flughäfen, bei denen der gegebene String Teil ihres Namens ist FlightplanFactory MissionFactory getbydata Attribute: IAirport departure, IAirport arrival, int departuretimefrom, int departuretimeuntil, String planetype, Day day Rückgabewert: Liste von Flugplänen Beschreibung: sucht nach Flugplänen, die die angegebenen Daten haben (falls ein null-wert gegeben wird wird dieser Teil ignoriert) getbydate Attribute: boolean defect, IFlightplan flightplan Rückgabewert: Liste von Missionen Beschreibung: sucht nach Missionen die die angegebenen Daten haben (falls ein null-wert gegeben wird wird dieser Teil ignoriert) 51

52 ImportExportFactory exportairports Attribute: Liste von Flughäfen Rückgabewert: - Beschreibung: schreibt die übergebenen Flughäfen in eine Datei im Angegebenen Verzeichnis exportflightplans Attribute: Liste von Fluplänen Rückgabewert: - Beschreibung: schreibt die übergebenen Flupläne in eine Datei im Angegebenen Verzeichnis exportmissions Attribute: Liste von Missionen Rückgabewert: - Beschreibung: schreibt die übergebenen Missionen in eine Datei im Angegebenen Verzeichnis exportmissionstations Attribute: Liste von Missionsstationen Rückgabewert: - Beschreibung: schreibt die übergebenen Missionsstationen in eine Datei im Angegebenen Verzeichnis importairports Attribute: - Rückgabewert: - Beschreibung: liest die Daten für die Flughäfen aus einer Datei im Angegebenen Verzeichnis, ruft impliziet die import-methode der jeweiligen Factory auf importflightplans Attribute: - Rückgabewert: - Beschreibung: liest die Daten für die Flupläne aus einer Datei im Angegebenen Verzeichnis, ruft impliziet die import-methode der jeweiligen Factory auf importmissions Attribute: - Rückgabewert: - Beschreibung: liest die Daten für die Missionen aus einer Datei im Angegebenen Verzeichnis, ruft impliziet die import-methode der jeweiligen Factory auf importmissionstations Attribute: - Rückgabewert: - 52

53 Beschreibung: liest die Daten für die Missionsstationen aus einer Datei im Angegebenen Verzeichnis, ruft impliziet die import-methode der jeweiligen Factory auf setlocation Attribute: String location Rückgabewert: - Beschreibung: Setzt den Ort für den Import/Export der Datenbank inhalte 53

54 3.4.3 View Die Klassen der GUI stehen größtenteils noch nicht fest, die Schnittstelle wurde aber schon spezifiziert: Abbildung 49: GUI-Schnittstelle Desweiteren wurde bereits ein Prototyp angefertigt, der das zukünftige Aussehen der Benutzeroberfläche widerspiegeln soll. Abbildung 50: Prototyp der GUI 54

55 4 GLOSSAR 4 Glossar Definition aller wichtigen Begriffe zur Sicherstellung einer einheitlichen Terminologie. AWT steht für Abstract Window Toolkit und ist eine Standard-API für die Erstellung einer GUI für Java-Programme. csv steht für Comma Separated Value und ist eine Textdatei, deren Werte durch Kommas getrennt sind. Flugpläne sind die von der Fluggesellschaft erhaltenen Daten, die Flüge charakterisieren. Flugplaner ist das Tool, das im Rahmen des Softwareprojektes entwickelt wird GPS steht für Global Positioning System und ist ein satellitengestütztes Navigationssystem. GUI steht für Graphical User Interface und bezeichnet die grafische Benutzeroberfläche. HS steht für Hautpseminar. IATA-Codes dienen der eindeutigen Identifizierung von Flughäfen, sie werden von der IATA (International Air Transport Association) vergeben. ICAO-Codes dienen der eindeutigen Identifizierung von Flughäfen, sie werden von der ICAO (International Civil Aviation Organization) vergeben. Kurzstreckenflüge sind Flüge unter 1620 Meilen. Langstreckenflüge sind Flüge mit 1620 Meilen und mehr. Meilen Gemeint sind nautische Meilen. Diese entsprechen 1852 Metern (gemäß DIN 1301 und ISO 31-1). Missionen sind zusammgestellte Flüge eines Flugzeuges mit dem selben Start- und Zielflughafen. MLDesigner ist eine integrierte Plattform zur Modellierung und Analyse der Architektur, Funktion und Leistungsfähigkeit von High-Level-Systementwürfen - entweder als System für sich oder als System im Umfeld eines größeren Systems oder Szenarios (d.h. Missionen). MVC steht für Model-View-Controller und ist ein Architekturmuster Plausibilitätprüfung bestimmt Stimmigkeit/Zulässigkeit von Flugplänen/Missionen. Regenerationszeit ist die Zeit, die eine Crew benötigt, um erneut arbeiten zu können, nachdem sie ihre maximale Arbeitszeit erreicht hat. SVN steht für Subversion und ist ein Programm zur Versionsverwaltung von Dateien. 55

56 4 GLOSSAR SWP steht für Softwareprojekt. SWT steht für Standard Widget Toolkit und ist eine von IBM entwickelte Bibliothek für die Erstellung einer GUI für Java-Programme. UTC steht für Universal Time Coordinate (koordinierte Weltzeit) und ist das verwendete Format für Zeitangaben. 56

57 5 REFERENZEN 5 Referenzen Angabe benutzter Quellen und Referenzen Java-API Informationen zur Dokomentierung des Tools Einfaches Beispiel für das Decorater-Entwurfsmuster Zweites Beispiel für das Decorater-Entwurfsmuster Observer Entwurfsmuster mit UML Beispiel von Wikipedia MVC-Artikel von Wikipedia Allgemeine Information zum Entwurf Informationen zum Entwurf aus der Softwaretechnik-Vorlesung Informationen über das deutsche Flugrecht GPS Umrechnung von Koordinaten in Distanz 57

T:\Dokumentationen\Asseco_BERIT\Schulung\BERIT_LIDS7_Basiskurs\Impo rt_export\beritde_lt_do_20120918_lids7.basisschulung_import_export.

T:\Dokumentationen\Asseco_BERIT\Schulung\BERIT_LIDS7_Basiskurs\Impo rt_export\beritde_lt_do_20120918_lids7.basisschulung_import_export. LIDS 7 Import/Export Mannheim, 11.02.2013 Autor: Anschrift: Version: Status: Modifiziert von: Ablage: Christine Sickenberger - Asseco BERIT GmbH Asseco BERIT GmbH Mundenheimer Straße 55 68219 Mannheim

Mehr

Model-View-Controller

Model-View-Controller Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung

Mehr

MVC-Architektur am Beispiel von OLAT

MVC-Architektur am Beispiel von OLAT MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009 Gliederung Begriffe Entwurfsmuster Umsetzung in OLAT Aufbau des Brasato-Frameworks Quellen Begriffe I MVC bezeichnet ein Architekturmuster

Mehr

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 7 Lösungshilfe Aufgabe 1. Analysephase (12 Punkte) Eine Firma hat den Auftrag erhalten eine

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

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können.

Dabei sollen die Nutzern nach einer Authentifizierung entsprechend ihren Rechten Begriffe ändern, anlegen und kommentieren können. Seite: 1 / 10 Designentwurf 1 Allgemeines 1.1 Kurzcharakterisierung Die Glossarverwaltung soll eine einheitliche Terminologie zwischen allen Beteiligten sicherstellen, hier zwischen den Mitarbeitern der

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Eclipse und EclipseLink

Eclipse und EclipseLink Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Zahlreiche Möglichkeiten zum dauerhaften Speichern und Laden von Daten Meist: Speichern in verschiedenen Dateiformaten Anwendungen:

Zahlreiche Möglichkeiten zum dauerhaften Speichern und Laden von Daten Meist: Speichern in verschiedenen Dateiformaten Anwendungen: Arbeit mit Dateien Zahlreiche Möglichkeiten zum dauerhaften Speichern und Laden von Daten Meist: Speichern in verschiedenen Dateiformaten Anwendungen: Speichern von Ergebnissen und Zwischenergebnissen

Mehr

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

<Insert Picture Here> MySQL Workbench für Einsteiger

<Insert Picture Here> MySQL Workbench für Einsteiger MySQL Workbench für Einsteiger Ralf Gebhardt Principal Sales Consultant MySQL Agenda MySQL Workbench 5.2 Design, Entwicklung, Administration MySQL Workbench Varianten Erweiterbarkeit

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

Mehr

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard

Mehr

Entwurfsmuster (Design Patterns)

Entwurfsmuster (Design Patterns) Entwurfsmuster (Design Patterns) SEP 303 Entwurfsmuster (Design Patterns) In der alltäglichen Programmierarbeit tauchen viele Probleme auf, die man schon einmal gelöst hat und die man in der Zukunft wieder

Mehr

Objektorientierte Programmierung (OOP)

Objektorientierte Programmierung (OOP) orientierte Programmierung (OOP) 1. Motivation Die objektorientierte Sichtweise der Welt Als Motivation für die OOP sieht man sich am besten die reale Welt an: Die reale Welt besteht aus "en", z. B.: Gegenstände,

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Dokumentations-Richtlinien

Dokumentations-Richtlinien Prof. Dr. Reinhold Kröger Sven Bauer Stand 15.3.2004 Fachhochschule Wiesbaden Fachbereich Informatik Inhaltsverzeichnis 1 Wozu dienen Dokumentations-Richtlinien?... 1 2 Dokumentation des Quellcodes...

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

MVC-Konzept. Vorteile. Beispiel für ein MVC-Programm

MVC-Konzept. Vorteile. Beispiel für ein MVC-Programm MVC-Konzept MVC steht für Model-View-Controller. Es gibt eine Möglichkeit an, wie man ein größeres Programm aufbauen kann. Dazu wird das Programm in die drei Bereiche aufgeteilt: Model Zum Model gehören

Mehr

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein

Objektorientierung. Klassen und Objekte. Dr. Beatrice Amrhein Objektorientierung Klassen und Objekte Dr. Beatrice Amrhein Überblick Konzepte der Objektorientierten Programmierung Klassen und Objekte o Implementierung von Klassen o Verwendung von Objekten 2 Konzepte

Mehr

Einführung in die Programmierung für NF MI. Übung 07

Einführung in die Programmierung für NF MI. Übung 07 Einführung in die Programmierung für NF MI Übung 07 Inhalt Wiederholung Kommentare Wiederholung Arrays Einführung in Objekte Einführung in die Programmierung für NF Übung 07 2 Wiederholung Kommentare Kommentare

Mehr

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Übung 1 mit C# 6.0 MATTHIAS RONCORONI Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 9. Schichtenarchtitektur: Teil 1 (Datenhaltung)

Mehr

Software- /Systemarchitektur

Software- /Systemarchitektur Software- /Systemarchitektur Agenda: Definition von Softwarearchitektur Voraussetzungen Was bedeutet Objektorientierung? Wie speichert man Daten persistent? Client-Server-Architektur Schichtenarchitektur

Mehr

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

Softwareentwicklungspraktikum Nebenfach

Softwareentwicklungspraktikum Nebenfach PD Dr. Ulrich Schöpp Ludwig-Maximilians-Universität München Dr. Steffen Jost Institut für Informatik Stephan Barth WS 2016/17 Softwareentwicklungspraktikum Nebenfach Blatt 3 Dieses Arbeitsblatt ist innerhalb

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

VON MVC ZU MODEL-VIEW-VIEWMODEL

VON MVC ZU MODEL-VIEW-VIEWMODEL VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive

Mehr

Inhaltsverzeichnis. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf. Druckmanager allgemein 2.

Inhaltsverzeichnis. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf. Druckmanager allgemein 2. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf Inhaltsverzeichnis Druckmanager allgemein 2 Design 2 Druckauftrag 3 Liste 4 ListenEintrag 6 GUI 7 1 Druckmanager : allgemein

Mehr

Das Model/View/Controller Paradigma

Das Model/View/Controller Paradigma Model/View/Controller Das Model/View/Controller Paradigma Christian Knauer Trennung von Daten, Ansicht und Funktion ermöglicht z.b. mehrere Ansichten desselben Datensatzes wird meist als Model-Delegate

Mehr

Projektbericht Agententechnologie

Projektbericht Agententechnologie Projektbericht Agententechnologie Projekt Realisierung verteilter Agentensysteme im SoSe 2003 von Christian Poulter Inhaltsübersicht: 1. Einleitung 2. Projektziel / Szenario 3. Aufgaben des Marktagenten

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 19 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 19 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

Die Warenkorbfunktion (workbasket)

Die Warenkorbfunktion (workbasket) Beschreibung der Komponente zur integration eines Warenkorbs in die Anwendung Table of contents 1 Allgemein...2 2 Körbe speichern und laden...3 3 Aufgelöstes XML oder beliebige weitere Metadaten im Korb...

Mehr

Kapitel 5: Das Design

Kapitel 5: Das Design Nach der Analyse kommt... Kapitel 5: Das Design SoPra 2008 Kap. 5: Das Design (1/20) Kapitel 5.1: Überblick Was ist Design? Ergebnis der Analyse: abstrakte Definitionen Objektmodell: Klassen, Assoziationen,

Mehr

Einführung: Verteilte Systeme - Remote Method Invocation -

Einführung: Verteilte Systeme - Remote Method Invocation - Einführung: Verteilte Systeme - - Prof. Dr. Michael Cebulla 11. Dezember 2014 Fachhochschule Schmalkalden Wintersemester 2014/15 1 / 43 M. Cebulla Verteilte Systeme Gliederung 1 2 Architektur RMI Kommunikation

Mehr

von Vladislava Nadova

von Vladislava Nadova Entwurfsbeschreibung OLAT von Vladislava Nadova 1. Allgemeines OLAT basiert auf einem Rechtesystem mit mehreren Hierarchien. Der Benutzer hat jederzeit genau diejenigen Funktionen zur Verfügung, zu denen

Mehr

Webanwendung zur Extraktion von Teildatensätzen aus DBpedia

Webanwendung zur Extraktion von Teildatensätzen aus DBpedia Webanwendung zur Extraktion von Teildatensätzen aus DBpedia Christian Ernst, Dominik Strohscheer, Hans Angermann Till Nestler, Marvin Hofer, Robert Bielinski, Jonas Rebmann Inhaltsverzeichnis Modellierungsbeschreibung

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

BIF/SWE - Übungsbeispiel

BIF/SWE - Übungsbeispiel Arthur Zaczek Feb 2015 1 Allgemein 1.1 Ziele Ziele dieses Übungsbeispieles ist es: GUI: Implementierung einer grafischen Oberfläche mit JavaFX oder WPF UI-Komponente: Implementierung einer eigenen grafischen

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

Gert Domsch, CAD-Dienstleistung Autodesk CIVIL 3D 2010

Gert Domsch, CAD-Dienstleistung Autodesk CIVIL 3D 2010 Exportfunktionen- Autodesk Civil 3D 2010...2 Einführung...2 Extension...5 REB-Berechnungsverfahren...5 REB-VB 21.003 Massenberechnung aus Querschnittsflächen (Elling)... 5 REB-VB 21.013 Masseberechnung

Mehr

Persistenz. Ralf Gitzel

Persistenz. Ralf Gitzel Persistenz Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Grundkonzepte Entity Beans Meine erste Entity Entity-Manager Lernziele Übungsaufgabe 3 Grundkonzepte

Mehr

Einführung in das Eclipse Modeling Framework. 5. November 2014

Einführung in das Eclipse Modeling Framework. 5. November 2014 Einführung in das Eclipse Modeling Framework 5. November 2014 Überblick Einführung in das Eclipse Modeling Framework: zur objektorientierten Modellierung von Datenstrukturen Welcher Teil einer mobilen

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß

Werkzeugunterstützung für UML Profiles. Verteidigung des Großen Belegs Andreas Pleuß Werkzeugunterstützung für UML Profiles Verteidigung des Großen Belegs Andreas Pleuß Aufgabenstellung Sammlung der Anforderungen an UML Profiles Untersuchung bestehender UML-CASE-Tool Unterstützung Untersuchung

Mehr

FuxMedia GmbH & Co. KG Bautzner Straße 108 01099 Dresden

FuxMedia GmbH & Co. KG Bautzner Straße 108 01099 Dresden Um Schülerdaten aus der Fuxmedia-Software für SaxSVS zu exportieren, führen Sie folgende Schritte aus. 1. Gehen Sie im Fuxmedia-Programm links auf Verwaltung-Schüler. 2. Wählen Sie dann aus den Reports

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Multimedia im Netz Wintersemester 2012/13

Multimedia im Netz Wintersemester 2012/13 Multimedia im Netz Wintersemester 2012/13 Übung 10 Ludwig-Maximilians-Universität München Multimedia im Netz WS 2012/13 - Übung 10-1 Lösung zu Übungsblatt 08 Ludwig-Maximilians-Universität München Multimedia

Mehr

DWH Automatisierung mit Data Vault 2.0

DWH Automatisierung mit Data Vault 2.0 DWH Automatisierung mit Data Vault 2.0 Andre Dörr Trevisto AG Nürnberg Schlüsselworte Architektur, DWH, Data Vault Einleitung Wenn man die Entwicklung von ETL / ELT Prozessen für eine klassische DWH Architektur

Mehr

Praktische Informatik 1

Praktische Informatik 1 Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode

Mehr

Erzeugungsmuster. Kapselung der Objekt-Erzeugung

Erzeugungsmuster. Kapselung der Objekt-Erzeugung Erzeugungsmuster Kapselung der Objekt-Erzeugung Definition Erzeugungsmuster dienen für die Lose Koppelung, bei der erst zur Laufzeit der Typ des zu erzeugenden Objekts festgelegt wird. Abstract Factory

Mehr

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1 IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Objektorientierung in C++ (3) Aspekte der Vererbung (1) Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 546 Zuweisung bei Vererbung Dr. Frank Seifert Vorlesung

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 20 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 20 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

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

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik Klassen und höhere Datentypen Objekte, Felder, Methoden Küchlin/Weber: Einführung in die Informatik Klassen Klasse (class) stellt einen (i.a. benutzerdefinierten) Verbund-Datentyp dar Objekte sind Instanzen

Mehr

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen.

In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. 1 In diesem Abschnitt wollen wir uns mit der Architektur von Datenbank Managements Systemen beschäftigen. Zunächst stellt sich die Frage: Warum soll ich mich mit der Architektur eines DBMS beschäftigen?

Mehr

Didaktik der Informatik. Dokumentation zur BlueJ-Erweiterung. Klassenkarte. Michael Steinhuber

Didaktik der Informatik. Dokumentation zur BlueJ-Erweiterung. Klassenkarte. Michael Steinhuber Didaktik der Informatik Dokumentation zur BlueJ-Erweiterung Klassenkarte Michael Steinhuber 28. April 2008 Inhaltsverzeichnis 1 Einleitung 3 2 Bedienungsanleitung 4 2.1 Anzeigen der Klassenkarte....................................

Mehr

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten

Thomas Rau (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten (mit Material von Peter Brichzin) Repositories zur Unterstützung von kollaborativen Arbeiten in Softwareprojekten In Softwareprojekten gibt es oft organisatorische Probleme, die von der inhaltlichen Arbeit

Mehr

Release-News: Technische Lösungen

Release-News: Technische Lösungen Technische Dokumentation Release Comarch ERP Enterprise 6.0 Ausgabedatum 06/2017 Referenz auf andere Dokumente Release-News: Betriebswirtschaftliche Lösungen Inhaltsverzeichnis 1 Vorwort 1 2 Session-Management

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

Ein Design Tool für objektorientierte portable Programmierschnittstellen

Ein Design Tool für objektorientierte portable Programmierschnittstellen Diplomarbeit Ein Design Tool für objektorientierte portable Programmierschnittstellen Vortragender: Elias Volanakis Inhalt 1. Entwurfsmuster 2. Wrapper Facade (WF) Aufgaben & Struktur Implementierung Nutzen

Mehr

Import und Export von Adressen

Import und Export von Adressen Import und Export von Adressen Beschreibung Dateiname ecall_import_und_export_von_adressen.docx Version 1.1 Änderungsdatum 20.10.2015 DOLPHIN Systems AG Samstagernstrasse 45 8832 Wollerau Schweiz www.dolphin.ch

Mehr

Logo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von

Logo in neuer Logosystematik einfügen: Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Bewertung der Softwarequalität eines bestehenden Softwaresystems an Hand von Software Engineering Grundsätzen und Identifikation von Maßnahmen zur Verbesserung Axel Sommer Inhalt Motivation und Ziele Software

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

Mehr

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen

Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren

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

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Einführung in die Programmierung für NF MI. Übung 12

Einführung in die Programmierung für NF MI. Übung 12 Einführung in die Programmierung für NF MI Übung 12 Inhalt Exceptions Die Spezialklasse Enum Wiederholung zur Klausur Interfaces UML Oberserver Pattern Einführung in die Programmierung für NF MI Übung

Mehr

BERUFSPRAKTIKUM UND -VORBEREITUNG

BERUFSPRAKTIKUM UND -VORBEREITUNG Department für Geographie Marco Brey BERUFSPRAKTIKUM UND -VORBEREITUNG Crashkurs IT-Methoden ein anwendungsorientierter Einstieg in Datenbanksysteme, Programmierung und fortgeschrittene Excel-Funktionen

Mehr

Klausur Grundlagen der Programmierung

Klausur Grundlagen der Programmierung Klausur Grundlagen der Programmierung Aufgabenstellung: Martin Schultheiß Erreichte Punktzahl: von 60 Note: Allgemeine Hinweise: Schreiben Sie bitte Ihren Namen auf jedes der Blätter Zugelassene Hilfsmittel

Mehr

EPROG 2.Teilprüfung. Aufgabe 1:

EPROG 2.Teilprüfung. Aufgabe 1: EPROG 2.Teilprüfung Dauer 50min. Keine Unterlagen erlaubt. Loginname ist q (also x.b. q0697801). Passwort ist Ihre Matrikelnummer. Speichern Sie Ihre Lösungen in den dafür vorgesehenen

Mehr

KBM Schneider / Stand: 15.02.2014 / Version: 1.1

KBM Schneider / Stand: 15.02.2014 / Version: 1.1 KBM Schneider / Stand: 15.02.2014 / Version: 1.1 Inhaltsverzeichnis I. Vorwort... 3 II. Einrichten der Schnittstelle EINA... 4 III. Export der Einsatzberichte aus der EINA... 6 IV. Kopieren der Einsatzberichte

Mehr

Zweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts

Zweck: sequentieller Zugriff auf Elemente eines Aggregats. mehrere Abarbeitungen des Aggregatinhalts Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche

Mehr

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE

OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE OOSE 01 JAVA MIT BLUEJ UND UML-BY-EXAMPLE Nutzung des AMCS (Auditorium Mobile Classroom Service) https://amcs.website Einloggen/Registrieren mit beliebigem Pseudonym Passwort Kurs Softwaretechnologie PIN:

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

Bedienungsanleitung Schnellstart

Bedienungsanleitung Schnellstart Bedienungsanleitung Schnellstart Zutrittskontrolle PC Software Management Center in deutscher Sprache für SC300xNT Controller 1 Verwaltung mit PC Software oder Webbrowser... 3 2 Progamm installieren...

Mehr

Dokumenten Management (DMS)

Dokumenten Management (DMS) Uptime Services AG Brauerstrasse 4 CH-8004 Zürich Tel. +41 44 560 76 00 Fax +41 44 560 76 01 www.uptime.ch Dokumenten Management (DMS) Funktionalitäten 27. Dezember 2013 Inhaltsverzeichnis 1 ARTS DMS Option...

Mehr

Zweck: sequentieller Zugriff auf Elemente eines Aggregats

Zweck: sequentieller Zugriff auf Elemente eines Aggregats Iterator (Cursor) Zweck: sequentieller Zugriff auf Elemente eines Aggregats Anwendungsgebiete: Zugriff auf Aggregatinhalt innere Darstellung bleibt gekapselt mehrere Abarbeitungen des Aggregatinhalts einheitliche

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

hue13 January 30, 2017

hue13 January 30, 2017 hue13 January 30, 2017 1 Abgabehinweise Beachten Sie unbedingt diese Hinweise, sonst erhalten Sie keine Punkte aus dieser Abgabe! Für Details siehe z.b. Folien der nullten Zentralübung 1.1 Namen und Matrikelnummern

Mehr

Handy-Synchronisation Inhalt

Handy-Synchronisation Inhalt Handy-Synchronisation Inhalt 1. allgemeine Einstellungen... 2 1.1. Anlegen eines SyncAccounts... 2 1.1.1. Synchronisation über eigenen Exchange-Server... 3 1.1.2. gehostete Synchronisation... 5 1.2. Synchronisations-Einstellungen...

Mehr

Eclipse in der Java-Entwicklung

Eclipse in der Java-Entwicklung Patrick Kiwitter Eclipse in der Java-Entwicklung aktuell zur Version 3.4 ^Y '! I rwaddison-wesley An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney

Mehr

Javaprogrammierung unter Notes

Javaprogrammierung unter Notes Javaprogrammierung unter Notes 4.1 Einsatzmöglichkeiten von Java unter Notes Es gibt verschiedene Möglichkeiten, die Sprache Java bei der Anwendungsentwicklung unter Notes einzusetzen. Dabei unterscheiden

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Wiederholung: Gerüstbeispiel. Vererbungshierarchie: Typ 0 9 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Wiederholung: Gerüstbeispiel Ein Duo, Quarto oder Sexto ist ein Gerüst. Die Klassen Duo, Quarto und Sexto sollen durch Vererbung

Mehr

Praktische SQL-Befehle 2

Praktische SQL-Befehle 2 Praktische SQL-Befehle 2 Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Functions Views Triggers Voraussetzung: Laptop + MySQL/ MariaDB + Workbench! DB1 WS2018 2 Airport

Mehr

Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle

Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle Anleitung zur Fleet & Servicemanagement Evatic Schnittstelle Seite 1 von 7 Inhaltsverzeichnis 1 Einleitung... 3 2 Hinweise zur Verbindungseinrichtung zum Evatic Server... 3 3 Konfiguration der docuform

Mehr

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung

14. Java Klassen. Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung 275 14. Java Klassen Klassen, Typen, Objekte, Deklaration, Instanzierung, Konstruktoren, statische Felder und Methoden, Datenkapselung Klassen (Java) vs. Records (Pascal) 276 Pascal RECORDs in Pascal sind

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Industriesteuerung + PC robuste Industrieausführung modularer Aufbau Feldbus - Systeme

Industriesteuerung + PC robuste Industrieausführung modularer Aufbau Feldbus - Systeme PG-3000 Die Steuerung für Galvanoautomaten Software : Dokumentation Datenbankfunktionen Visualisierung Parametrierung Fernwartung Hardware : Industriesteuerung + PC robuste Industrieausführung modularer

Mehr

Design Patterns. 3. Juni 2015

Design Patterns. 3. Juni 2015 Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?

Mehr

13 Abstrakte Datentypen

13 Abstrakte Datentypen 13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)

Mehr

Bedienungsanleitung Gebührendaten

Bedienungsanleitung Gebührendaten Bedienungsanleitung Gebührendaten 1 Inhaltsverzeichnis 1 Vorwort 4 2 Einführung 5 3 Webadministration 5 4 Hauptseite 6 4.1 Gespräche 6 4.2 Dashboard 6 4.3 Schnelle Erstellung 7 4.4 Passwort ändern 7 5

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

Einführung in die Programmierung für NF. Übung

Einführung in die Programmierung für NF. Übung Einführung in die Programmierung für NF Übung 09 18.12.2013 Inhalt Korrektur Blatt 8 Wiederholung Design Patterns Einführung in GUI s mit Java Swing und AWT Einführung in die Programmierung für NF Übung

Mehr