Der Bereich Softwareentwicklung ist geprägt von Schnelllebigkeit und zunehmender Komplexität der Anforderungen. Auftraggeber legen demgegenüber bei Individuallösungen immer mehr Wert auf Eigenschaften wie Portabilität, Konfigurierbarkeit und Erweiterbarkeit. Die Gegenüberstellung des Marktverhaltens bei der Software- und Systemtechnik und Anforderungen der Kunden an solche Produkte macht deutlich, dass die Realisierung von Unikaten nicht mehr praktikabel ist. Daher steigt die Tendenz zur Entwicklung von universell einsetzbaren Modulen mit generischen Schnittstellen zunehmend. Der Einsatz universeller Module bei Kundenlösungen verkürzt die Entwicklungsdauer und erhöht trotzdem die Softwarequalität.
Dieser Ansatz soll als Motivation für das vorliegende Projekt dienen. Die Darstellungskomponente soll sich durch Eigenschaften wie Plattformunabhängigkeit, Konfigurierbarkeit, generische Schnittstellen und Erweiterbarkeit auszeichnen (vergleiche [STE05]).
Inhaltsverzeichnis
Vorwort
1.1 Einleitung
1.2 Aufbau der Diplomarbeit
2 Verwendete Technologien
2.1 OpenGL
2.2 GLUT
2.3 glow
2.4 ImageMagick
2.5 omniORB
2.6 Xerces
3 Entwurfsphase
3.1 Besonderheiten bei einer Darstellungskomponente für die Luftbildauswertung
3.2 Kernanforderungen an die Darstellungskomponente
3.3 Designentscheidungen beim Softwareentwurf
4 Realisierungsphase
5 Zusammenfassung und Ausblick
Konfigurationsmanagement
C.1 Systeme
C.1.1 Entwicklung
C.1.2 Zielsysteme beim Kunden
C.2 Entwicklungsumgebung
C.3 Installation OpenGL
C.3.1 OpenGL unter Windows
C.3.2 OpenGL unter Linux
C.4 Installation GLUT
C.4.1 GLUT unter Windows
C.4.2 GLUT unter Linux
C.5 Installation glow
C.5.1 glow unter Windows
C.5.2 glow unter Linux
C.6 Installation ImageMagick
C.6.1 ImageMagick unter Windows
C.6.2 ImageMagick unter Linux
C.7 Installation omniORB
C.7.1 omniORB unter Windows
C.7.2 omniORB unter Linux
C.8 Installation Xerces
C.8.1 Xerces unter Windows
C.8.2 Xerces unter Linux
Zielsetzung & Themen
Das Hauptziel dieser Diplomarbeit ist die Entwicklung einer prototypischen Darstellungskomponente für Raster- und Vektordaten, die plattformunabhängig unter Linux und Windows lauffähig ist. Die Forschungsarbeit konzentriert sich dabei primär auf die Entwurfsphase, um eine flexible, generische und gut dokumentierte Softwarebasis für zukünftige, in Gesamtsysteme integrierbare Anwendungen zu schaffen.
- Konzeption und Entwurf einer plattformunabhängigen Grafikkomponente
- Analyse und Anwendung von Designmustern (z. B. Observer-, Composite- und Bridge-Muster)
- Implementierung von Schnittstellen zur effizienten Raster- und Vektordatenverarbeitung
- Nutzung moderner Grafiktechnologien wie OpenGL, GLUT und dem C++ Wrapper-Toolkit "glow"
- Aufbau eines Konfigurationsmanagements zur Sicherstellung der Reproduzierbarkeit
Auszug aus dem Buch
3.1 Besonderheiten bei einer Darstellungskomponente für die Luftbildauswertung
Um die Motivation für die Entwicklung einer speziellen Darstellungskomponente zu verdeutlichen, sollte zunächst ein Vergleich angestellt werden. Der Vergleich mit dem Bereich der Standardsoftware macht sehr schnell deutlich, dass bei einer Darstellungskomponente in der Luftbildauswertung andere Schwerpunkte und Anforderungen zum Tragen kommen. Zum Bereich Standardsoftware gehören Anwendungen wie IrfanView oder XnView, aber auch kommerzielle Produkte wie der Microsoft Photo Editor sind hier einzuordnen. Geschäftslösungen wie Adobe Photoshop oder Ulead PhotoImpact sollen an dieser Stelle nicht zum Vergleich herangezogen werden, da professionelle Bildverarbeitungsprogramme bedingt auch Anforderungen für die Luftbildauswertung erfüllen.
Neben Lösungen wie Adobe Photoshop gibt es auch kommerzielle Produkte speziell für die Luftbildauswertung. Produkte wie Erdas Imagine von Leica Geosystems stellen dem Anwender eine vollständige Umgebung für Luftbildauswertung zur Verfügung (siehe [GIS05]). Eine solche in sich geschlossene Lösung hat aber den Nachteil, dass sie einen festen Funktionsumfang besitzt. Derartige Produkte sind nicht für die Integration in ein Gesamtsystem konzipiert. Außerdem ist es in der Regel nicht möglich, die Funktionalität den Anwenderforderungen anzupassen. Einer solchen kommerziellen Lösung fehlen somit Eigenschaften wie Konfigurierbarkeit und Erweiterbarkeit. Da diese Eigenschaften bei dem hier vorliegenden Projekt zu den Anwenderforderungen gehören, ist der Einsatz eines fertigen Produktes somit nicht praktikabel.
Wie der Begriff Luftbildauswertung beinahe schon selbsterklärend aussagt, handelt es sich um die Auswertung von Bildmaterial. Um eine Auswertung durchführen zu können, müssen dem Anwender unter anderem Symbole und Vektoren zur Verfügung stehen. Diese dienen als Werkzeuge, um besondere Gegebenheiten kenntlich zu machen, die für den jeweiligen Zusammenhang von Bedeutung sind.
Zusammenfassung der Kapitel
Vorwort: Einführung in die Problematik moderner Softwareentwicklung und Motivation für die Entwicklung universell einsetzbarer, generischer Module.
Verwendete Technologien: Übersicht der eingesetzten Werkzeuge und Bibliotheken wie OpenGL, GLUT, glow, ImageMagick, omniORB und Xerces sowie deren Eignung für das Projekt.
Entwurfsphase: Analyse der spezifischen Anforderungen für die Luftbildauswertung, Definition der Architektur und wichtige Designentscheidungen unter Anwendung von Entwurfsmustern.
Realisierungsphase: Detaillierte Beschreibung der prototypischen Implementierung unter Verwendung von C++ und den gewählten Grafik- und Datenverarbeitungs-Frameworks.
Zusammenfassung und Ausblick: Bilanz der entstandenen technischen Dokumente und des Prototyps sowie Diskussion potenzieller Erweiterungsmöglichkeiten für zukünftige Entwicklungen.
Schlüsselwörter
Diplomarbeit, Darstellungskomponente, Rasterdaten, Vektordaten, Linux, Windows, Softwareentwurf, OpenGL, GLUT, glow, ImageMagick, Xerces, Luftbildauswertung, Komponentenbasiert, Generische Schnittstelle
Häufig gestellte Fragen
Worum geht es in dieser Diplomarbeit grundlegend?
Die Arbeit befasst sich mit der Entwicklung einer plattformunabhängigen Darstellungskomponente, die zur Visualisierung von Raster- und Vektordaten in verschiedenen Betriebssystemumgebungen (Linux und Windows) befähigt ist.
Welche zentralen Themenfelder werden behandelt?
Zentrale Felder sind die Softwarearchitektur, der Einsatz von Grafik-Frameworks, die Generizität von Schnittstellen sowie die spezifischen Anforderungen bei der professionellen Auswertung von Luftbildmaterial.
Was ist das primäre Ziel der Arbeit?
Das Hauptziel liegt in der Erstellung einer Prototypsoftware als Bestätigung für einen technisch fundierten Entwurf, der als Basis für eine zukünftige Integration in operationelle Systeme dient.
Welche wissenschaftlichen Methoden werden verwendet?
Die Arbeit folgt dem V-Modell für die Softwareentwicklung und nutzt moderne objektorientierte Entwurfsmuster, um die Anforderungen an Konfigurierbarkeit und Erweiterbarkeit zu erfüllen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil widmet sich der Entwurfsphase, in der architektonische Designentscheidungen getroffen und die technologische Grundlage für die Darstellungskomponente und deren Kommunikation mit externen Modulen geschaffen wurden.
Welche Schlüsselbegriffe charakterisieren die Arbeit?
Die Arbeit wird durch Begriffe wie "plattformunabhängig", "Darstellungskomponente", "Luftbildauswertung", "generische Schnittstellen" und den Einsatz spezifischer Toolkits wie "glow" und "OpenGL" geprägt.
Warum wird für den Entwurf die Programmiersprache C++ bevorzugt?
C++ bietet im Vergleich zu Sprachen wie Java Vorteile bei der Verarbeitungsgeschwindigkeit und ermöglicht zudem eine betriebssystemnahe Programmierung, was für die Anforderungen an Performance und Hardwareanbindung entscheidend ist.
Wie stellt der Prototyp die Performance bei großen Bilddaten sicher?
Durch eine Kachelverwaltung und Pufferung der Daten zwischen Übertragung und Darstellung wird eine performante Navigation ermöglicht, die die Latenzzeiten für den Anwender minimiert.
Welche Bedeutung hat das Observer-Muster in diesem Kontext?
Es wird zur Realisierung eines flexiblen Benachrichtigungskonzepts genutzt, welches die Synchronisation der Darstellungskomponente mit externen Komponenten auf Basis einer einheitlichen Nachrichtenschnittstelle ermöglicht.
- Quote paper
- Dipl.-Ing.(FH) Thomas Dreher (Author), 2005, Erstellung einer prototypischen Darstellungskomponente für Raster- und Vektordaten, Munich, GRIN Verlag, https://www.grin.com/document/139007