Bachelor + Master Publishing
811 Bachelorarbeiten, 533 Masterarbeiten, 10.103 Diplomarbeiten

Dynamische Visualisierung serviceorientierter Architekturen

Dynamische Visualisierung serviceorientierter Architekturen
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Christian Kahl
  • Abgabedatum: März 2007
  • Umfang: 128 Seiten
  • Dateigröße: 1,5 MB
  • Note: 1,0
  • Institution / Hochschule: Duisburg, Universität Duisburg-Essen, Standort Essen Deutschland
  • Bibliografie: ca. 105
  • ISBN (eBook): 978-3-8366-0408-6
  • ISBN (CD) :978-3-8366-0408-6 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Kahl, Christian März 2007: Dynamische Visualisierung serviceorientierter Architekturen, Hamburg: Diplomica Verlag
  • Schlagworte: Serviceorientierte Architektur, Visualisierung, UML, Software, Informatik

In den Warenkorb
48,00 €

Diplomarbeit von Christian Kahl

Einleitung:

Die Geschäftsprozesse in Unternehmen sind gekennzeichnet von einer kontinuierlichen Dynamik. Die variierenden Rahmenbedingungen im Bezug auf Kunden, Wettbewerber und Märkte, resultieren in wechselnden Anforderungen an die Prozesse. Um den Anforderungen gerecht zu werden, müssen Geschäftsprozesse sich flexibel gestalten lassen. Entsprechend flexibel müssen auch die Softwaresysteme und deren Architekturen sein, die den Prozessen zugrunde liegen. Damit eine Anpassung möglichst dynamisch erfolgen kann, werden serviceorientierte Architekturen eingesetzt. Sie sollen durch die Nutzung kombinierbarer und wiederverwendbarer Softwarekomponenten, eine schnellere und einfachere Veränderung von Softwarearchitekturen in Unternehmen realisieren. Mit dem Ziel diese Architekturen dynamischer auf die Geschäftsprozesse und deren Anforderungen ausrichten zu können, als dies in der Vergangenheit der Fall war.

Nicht allein im Bezug auf serviceorientierte Architekturen ist dabei zu beachten, dass die Entwicklung und Wartung von Softwarearchitekturen einen umfangreichen und vielschichtigen Prozess darstellt. Voraussetzung für die erfolgreiche Durchführung eines derartigen Prozesses, ist das Verständnis der beteiligten Personen. Ein solches Verständnis zu erlangen wird in zunehmendem Maße wichtiger, angesichts immer komplexerer Softwaresysteme und gleichzeitig kürzerer Softwarelebenszyklen. Aufgrund der Größe und Komplexität der meisten Systeme, ist ein Verständnis dafür jedoch nicht ohne weiteres erreichbar. Dies gilt besonders für serviceorientierte Architekturen, deren Einsatz auch mit einer stärkeren Vernetzung der technischen und wirtschaftlichen Ebene in Unternehmen einhergeht. Die infolgedessen bestehenden Beziehungen zwischen diesen Ebenen, steigern zusätzlich die Komplexität serviceorientierter Architekturen.

Aus diesen Gründen sind Werkzeuge erforderlich, welche dabei helfen die Komplexität von Softwaresystemen zu reduzieren und somit ein Verständnis für sie zu ermöglichen. Die Softwarevisualisierung stellt ein Werkzeug dieser Art dar. Sie versucht mit Hilfe graphischer Darstellungen, das Verständnis für unterschiedliche Aspekte von Softwaresystemen zu schaffen und zu verbessern. Um dies zu erreichen, wurden in den vergangenen Jahren zahlreiche Ansätze und Tools für die Visualisierung von Software entwickelt. Die Ansätze und die ihnen zugrunde liegenden Konzepte, fokussieren in ihrer Ausrichtung allerdings primär objektorientierte Systeme. Serviceorientierte Softwaresysteme und ihre Architekturen finden dagegen bislang wenig Berücksichtigung. Obwohl ihnen in der Softwareentwicklung eine wachsende Bedeutung zuteil wird und obwohl gerade hier, aufgrund der skizzierten Komplexität dieser Architekturen, geeignete Werkzeuge notwendig sind, um ein Verständnis zu ermöglichen. Es stellt sich daher die Frage, inwieweit heute bestehende Ansätze der Softwarevisualisierung und die darin verwendeten Konzepte, in der Lage sind, serviceorientierte Architekturen adäquat zu visualisieren.

Ausgehend von dieser Frage, soll im Rahmen der vorliegenden Arbeit zunächst gezeigt werden, dass die Konzepte der Softwarevisualisierung und die Art in der sie bisher angewendet werden, für eine geeignete Visualisierung serviceorientierter Architekturen nicht ausreichen. Ziel der Arbeit ist die Identifikation der Schwächen bestehender Visualisierungsansätze und daruaf aufbauend die Entwicklung eines Modells, dass die Visualisierung serviceorientierter Architekturen beschreibt. Das Modell soll einen ganzheitlichen Ansatz für die visuelle Darstellung derartiger Architekturen repräsentieren. Grundlage hierfür ist die explizite Ausrichtung eines solchen Ansatzes an den spezifischen Charakteristika serviceorientierter Architekturen und ein angemessener Einsatz von Konzepten der Softwarevisualisierung. Damit soll das Modell die Grundlage schaffen für eine nachhaltige Förderung des Verständnisses, bei allen Personen (Stakeholder), die ein Interesse an einer solchen Architektur haben.

Um die Zielsetzung zu erreichen, sind zunächst serviceorientierte Architekturen und ihre Grundlagen, Gegenstand dieser Arbeit. Hierbei erfolgt vor allem eine Betrachtung der Konzepte, welche diesen Architekturen zugrunde liegen und der Bestandteile, aus denen sie sich zusammensetzen. Ziel dieses Teils der Arbeit ist es, einen Überblick zu geben, was serviceorientierte Architekturen sind und über welche charakteristischen Eigenschaften sie verfügen.

Serviceorientierte Architekturen sind in diesem Kontext beispielhaft für die Komplexität von Softwaresystemen und ihren Architekturen zu sehen. Ausgehend davon betrachten die anschließenden Kapitel die Softwarevisualisierung als Möglichkeit, zur Reduktion von Komplexität und zur Schaffung von Verständnis. Im Mittelpunkt stehen die Grundlagen der Softwarevisualisierung, gefolgt von spezifischen Konzepten und Techniken.

Darauf aufbauend werden einige exemplarische Ansätze der Softwarevisualisierung vorgestellt, um Beispiele für ihre Anwendung in der Praxis zu geben. Hierbei zeigt sich allerdings auch, dass mit den bestehenden Ansätzen einige Probleme verbunden sind. Probleme, die insbesondere im Bezug auf serviceorientierte Architekturen von Bedeutung sind. Aus diesem Grund findet abschließend die Vorstellung eines neuen Ansatzes der Softwarevisualisierung statt, der speziell diese Architekturform fokussiert.

Inhaltsverzeichnis:

Abbildungsverzeichnis V
Abkürzungsverzeichnis VI
1. Einführung und Motivation 7
2. Grundlagen serviceorientierter Architekturen 10
2.1 Motivation 10
2.2 Definition 11
2.3 Ziele 13
2.3.1 Einfachheit 13
2.3.2 Flexibilität und Wartbarkeit 14
2.3.3 Wiederverwendbarkeit 14
2.3.4 Entkopplung von Funktionalität und Technologie 14
2.4 Elemente 15
2.4.1 Service und Servicerollen 15
2.4.2 Servicebeschreibung 16
2.4.2.1 Erreichbarkeit 16
2.4.2.2 Funktionalität 16
2.4.2.3 Policies 17
2.4.2.4 Service Interface 17
2.4.2.5 Servicevertrag 18
2.4.3 Ausführungskontext 18
2.5 Konzepte 19
2.5.1 Sichtbarkeit 19
2.5.1.1 Bewusstsein 19
2.5.1.2 Bereitschaft 20
2.5.1.3 Erreichbarkeit 20
2.5.2 Interaktion 20
2.5.3 Realwelt Effekt 21
2.6 Aufbau und Kontext 21
2.6.1 Anwendungsschicht 24
2.6.2 Serviceschicht 24
2.6.2.1 Anwendungsserviceschicht 25
2.6.2.2 Geschäftsserviceschicht 25
2.6.2.3 Orchestrierungsserviceschicht 26
2.6.3 Prozessschicht 26
2.7 Charakteristika 27
2.7.1 Wiederverwendbarkeit 27
2.7.2 Formaler Vertrag 27
2.7.3 Lose Kopplung 28
2.7.4 Abstraktion 28
2.7.5 Kombinierbarkeit 28
2.7.6 Autonomie 29
3. Grundlagen der Softwarevisualisierung 30
3.1 Motivation 30
3.2 Definition 31
3.3 Ziele 32
3.4 Anforderungen 33
3.4.1 Expressivität 33
3.4.2 Effektivität 33
3.4.3 Angemessenheit 34
4. Konzepte und Techniken der Softwarevisualisierung 35
4.1 Verständnisstrategien 35
4.1.1 Bottom Up 35
4.1.2 Top Down 36
4.1.3 Wissensbasiert 37
4.1.4 Systematisch und nach Bedarf 37
4.1.5 Integriert 37
4.2 Visualisierungspipeline 38
4.2.1 Datenaufbereitung 38
4.2.2 Datenabbildung 38
4.2.3 Bildgenerierung 39
4.3 Sichtenkonzept 39
4.3.1 Logische Sicht 41
4.3.2 Prozesssicht 41
4.3.3 Entwicklungssicht 42
4.3.4 Physische Sicht 42
4.3.5 Szenarios 42
4.4 Visuelle Konzepte 43
4.4.1 Multiple Sichten 43
4.4.2 Filterung 44
4.4.3 Aggregation 44
4.4.4 Pan und Zoom 45
4.4.5 Kontext und Detail 46
5. Ansätze und Probleme der Softwarevisualisierung 47
5.1 Charakterisierung 47
5.1.1 Inhalt 48
5.1.2 Form 49
5.2 Bestehende Ansätze 52
5.2.1 Unified Modeling Language 52
5.2.1.1 Inhalt 52
5.2.1.2 Form 54
5.2.2 BLOOM 55
5.2.2.1 Inhalt 56
5.2.2.2 Form 56
5.2.3 Simple Hierarchical Multi Perspective 57
5.2.3.1 Inhalt 57
5.2.3.2 Form 58
5.2.4 Code Crawler 59
5.2.4.1 Inhalt 59
5.2.4.2 Form 59
5.2.5 Source Viewer 3D 60
5.2.5.1 Inhalt 61
5.2.5.2 Form 61
5.2.6 Software Landscapes 63
5.2.6.1 Inhalt 63
5.2.6.2 Form 64
5.3 Probleme 66
5.3.1 Darstellung 66
5.3.2 Komplexität und Skalierbarkeit 67
5.3.3 Dynamik 69
5.3.4 Ganzheitlichkeit 72
5.3.5 Anwendung 73
5.3.5.1 Automatisierung 73
5.3.5.2 Evaluation 74
5.3.5.3 Anwendung in der Praxis 75
6. Modell der dynamischen Visualisierung 77
6.1 Motivation 77
6.2 Definition und Ziele 79
6.3 Anforderungen 81
6.3.1 Dynamik 81
6.3.2 Multidimensionalität 81
6.3.3 Skalierbarkeit 81
6.3.4 Ganzheitlichkeit 82
6.4 Aufbau und Kontext 82
6.4.1 Stakeholder 83
6.4.2 Serviceorientierte Architektur 85
6.4.3 Softwarevisualisierung 85
6.4.4 Visualisierungsprozess 86
6.5 Dynamische Sicht 88
6.5.1 Inhalt 89
6.5.2 Form 92
6.5.2.1 Multiple Subsichten 93
6.5.2.2 Informationshierarchie 97
6.5.2.3 Information on Demand 100
6.5.2.4 Filterung 102
6.5.2.5 Aggregation 104
6.5.2.6 Kontext und Detail 106
7. Zusammenfassung und Ausblick 109
Literaturverzeichnis 112

Inhaltsverzeichnis:

Abbildungsverzeichnis V
Abkürzungsverzeichnis VI
1. Einführung und Motivation 7
2. Grundlagen serviceorientierter Architekturen 10
2.1 Motivation 10
2.2 Definition 11
2.3 Ziele 13
2.3.1 Einfachheit 13
2.3.2 Flexibilität und Wartbarkeit 14
2.3.3 Wiederverwendbarkeit 14
2.3.4 Entkopplung von Funktionalität und Technologie 14
2.4 Elemente 15
2.4.1 Service und Servicerollen 15
2.4.2 Servicebeschreibung 16
2.4.2.1 Erreichbarkeit 16
2.4.2.2 Funktionalität 16
2.4.2.3 Policies 17
2.4.2.4 Service Interface 17
2.4.2.5 Servicevertrag 18
2.4.3 Ausführungskontext 18
2.5 Konzepte 19
2.5.1 Sichtbarkeit 19
2.5.1.1 Bewusstsein 19
2.5.1.2 Bereitschaft 20
2.5.1.3 Erreichbarkeit 20
2.5.2 Interaktion 20
2.5.3 Realwelt Effekt 21
2.6 Aufbau und Kontext 21
2.6.1 Anwendungsschicht 24
2.6.2 Serviceschicht 24
2.6.2.1 Anwendungsserviceschicht 25
2.6.2.2 Geschäftsserviceschicht 25
2.6.2.3 Orchestrierungsserviceschicht 26
2.6.3 Prozessschicht 26
2.7 Charakteristika 27
2.7.1 Wiederverwendbarkeit 27
2.7.2 Formaler Vertrag 27
2.7.3 Lose Kopplung 28
2.7.4 Abstraktion 28
2.7.5 Kombinierbarkeit 28
2.7.6 Autonomie 29
3. Grundlagen der Softwarevisualisierung 30
3.1 Motivation 30
3.2 Definition 31
3.3 Ziele 32
3.4 Anforderungen 33
3.4.1 Expressivität 33
3.4.2 Effektivität 33
3.4.3 Angemessenheit 34
4. Konzepte und Techniken der Softwarevisualisierung 35
4.1 Verständnisstrategien 35
4.1.1 Bottom Up 35
4.1.2 Top Down 36
4.1.3 Wissensbasiert 37
4.1.4 Systematisch und nach Bedarf 37
4.1.5 Integriert 37
4.2 Visualisierungspipeline 38
4.2.1 Datenaufbereitung 38
4.2.2 Datenabbildung 38
4.2.3 Bildgenerierung 39
4.3 Sichtenkonzept 39
4.3.1 Logische Sicht 41
4.3.2 Prozesssicht 41
4.3.3 Entwicklungssicht 42
4.3.4 Physische Sicht 42
4.3.5 Szenarios 42
4.4 Visuelle Konzepte 43
4.4.1 Multiple Sichten 43
4.4.2 Filterung 44
4.4.3 Aggregation 44
4.4.4 Pan und Zoom 45
4.4.5 Kontext und Detail 46
5. Ansätze und Probleme der Softwarevisualisierung 47
5.1 Charakterisierung 47
5.1.1 Inhalt 48
5.1.2 Form 49
5.2 Bestehende Ansätze 52
5.2.1 Unified Modeling Language 52
5.2.1.1 Inhalt 52
5.2.1.2 Form 54
5.2.2 BLOOM 55
5.2.2.1 Inhalt 56
5.2.2.2 Form 56
5.2.3 Simple Hierarchical Multi Perspective 57
5.2.3.1 Inhalt 57
5.2.3.2 Form 58
5.2.4 Code Crawler 59
5.2.4.1 Inhalt 59
5.2.4.2 Form 59
5.2.5 Source Viewer 3D 60
5.2.5.1 Inhalt 61
5.2.5.2 Form 61
5.2.6 Software Landscapes 63
5.2.6.1 Inhalt 63
5.2.6.2 Form 64
5.3 Probleme 66
5.3.1 Darstellung 66
5.3.2 Komplexität und Skalierbarkeit 67
5.3.3 Dynamik 69
5.3.4 Ganzheitlichkeit 72
5.3.5 Anwendung 73
5.3.5.1 Automatisierung 73
5.3.5.2 Evaluation 74
5.3.5.3 Anwendung in der Praxis 75
6. Modell der dynamischen Visualisierung 77
6.1 Motivation 77
6.2 Definition und Ziele 79
6.3 Anforderungen 81
6.3.1 Dynamik 81
6.3.2 Multidimensionalität 81
6.3.3 Skalierbarkeit 81
6.3.4 Ganzheitlichkeit 82
6.4 Aufbau und Kontext 82
6.4.1 Stakeholder 83
6.4.2 Serviceorientierte Architektur 85
6.4.3 Softwarevisualisierung 85
6.4.4 Visualisierungsprozess 86
6.5 Dynamische Sicht 88
6.5.1 Inhalt 89
6.5.2 Form 92
6.5.2.1 Multiple Subsichten 93
6.5.2.2 Informationshierarchie 97
6.5.2.3 Information on Demand 100
6.5.2.4 Filterung 102
6.5.2.5 Aggregation 104
6.5.2.6 Kontext und Detail 106
7. Zusammenfassung und Ausblick 109
Literaturverzeichnis 112

Textprobe:

Kapitel 5, Ansätze und Probleme der Softwarevisualisierung:

Die Konzepte und Techniken, die für eine Visualisierung von Software eingesetzt werden können, finden sich in den zahlreichen Visualisierungs-ansätzen wieder, die in der Vergangenheit entwickelt wurden. Die praktische Realisation der Ansätze erfolgt in der Regel in Form von Programmen (Tools). Sie stellen die unterschiedlichsten Aspekte von Softwaresystemen mit den Mitteln der Softwarevisualisierung dar.

Generell gibt es eine Vielzahl von Möglichkeiten, Daten visuell darzustellen. Dies gilt nicht nur im Bezug auf Softwaresysteme. Dabei exis-tiert keine einzelne Visualisierungsform, die sich für alle Visualisierungsprobleme und für alle Softwaresysteme, gleichermaßen gut eignet. Vielmehr ist die geeignete Form jeweils abhän-gig vom konkreten Gegenstand der Visualisierung und dessen Kontext.

Im Rahmen dieses Kapitels werden zunächst zwei Dimensionen vorgestellt, die zur Beschreibung von Visualisierungsansätzen dienen. Basierend auf dieser Form der Charakterisierung, stellen die daran anschließenden Abschnitte einige exemplarische Ansätze der Softwarevisualisierung vor. Abschließend erfolgt eine Identifikation der wesentlichen Probleme, die sich in der Softwarevisualisierung zeigen. Bezüglich der Begriffsverwendung werden die Ausdrücke Ansatz und Tool, sofern nicht anders angegeben, in den nächsten Abschnitten synonym verwendet, da ein Tool die praktische Umsetzung des jeweiligen Ansatzes repräsentiert.

Kapitel 5.1, Charakterisierung:

In der Literatur finden sich diverse Möglichkeiten, um Ansätze und Tools der Softwarevisualisierung zu charakterisieren und somit in bestimmte Kategorien einzuordnen. Dabei erfolgt die Nutzung variierender Merkmale von Visuali-sierungen, als Kriterien oder Dimensionen für deren Einordnung. Zu den verwendeten Merkmalen zählen unter anderem die visuelle Form (verwendete visuelle Metaphern, Dimensionalität der Darstellung, etc.), der Grad der Abstraktion oder auch die verwendeten Darstellungstechniken und die genutzte Methodik (statische oder dynamische Visualisierung, Verwen-dung von Sichten, Filterung, etc.).

Vor diesem Hintergrund können zwei Dimensionen identifiziert werden, welche Visualisierungen generell zugrunde liegen. Bei den Dimensionen handelt es sich Ansätze und Probleme der Softwarevisualisierung 48 um den Inhalt und die Form einer Visualisierung. Die Dimensionen beschreiben, was visualisiert wird (Inhalt) und wie es visualisiert wird (Form). Sie ermöglichen eine allgemeine Beschreibung sowie eine Einordnung von Ansätzen der Softwarevisualisierung.

Kapitel 5.1.1, Inhalt:

Die Charakterisierung von Visualisierungsansätzen anhand ihrer Inhalte, stellt die Frage in den Mittelpunkt, was in einer Visualisierung dargestellt wird. Damit ist die Art von Inhalten gemeint, die Gegenstand einer visuellen Darstellung sind. Eine Unterscheidung der Inhalte lässt sich hier im Wesentlichen, nach Struktur (statische Aspekte) und Verhalten (dynamische Aspekte) von Softwaresystemen vornehmen. Innerhalb dieser grundsätzlichen Orientierung, werden unterschied-liche Artefakte und Aspekte visualisiert.

Visualisierungen mit statischem Inhalt stellen die Struktur eines Software-systems dar. Sie zeigen die Elemente des Systems und die Beziehungen, welche zwischen diesen Elementen bestehen. Bei den Elementen kann es sich um Soft-wareartefakte, wie etwa Codedateien, Klassen, Komponenten, aus multiplen Artefakten bestehende Teilsysteme, oder die Architektur insgesamt handeln. Die Artefakte können zum Beispiel in Form von Vererbung, Kommunikation, oder Benutzung in Beziehung miteinander stehen. Unter den Aspekt der Visualisierung statischer Inhalte fallen außerdem graphische Darstellungen des Quellcodes.

Visualisierungen mit dynamischen Inhalten, stellen das Verhalten eines Softwaresystems zur Laufzeit dar. Der Fokus liegt hierbei auf Aspekten der Programmausführung und des Programmablaufs. Konkrete Beispiele sind die Darstellung des Daten- oder Kontrollflusses zur Laufzeit, der Ausführung von Methoden oder der Speicherbelegung.

Zu beachten ist, dass die Begriffe statisch und dynamisch sich in diesem Kontext auf die Inhalte einer Visualisierung beziehen. Die Begriffe lassen sich jedoch generell auch auf die Art einer Visualisierung anwenden. Eine Visualisierung selbst ist statisch, wenn sie sich nicht manuell oder automatisch verändern lässt, sondern nach einem festgelegten, unveränderlichen Prinzip erstellt wird. Falls die Möglichkeit einer entsprechenden Veränderung besteht, ist sie hingegen dynamisch.

In den Warenkorb
48,00 €

Arbeit zitieren:
Kahl, Christian März 2007: Dynamische Visualisierung serviceorientierter Architekturen, Hamburg: Diplomica Verlag

Schlagworte:
Serviceorientierte Architektur, Visualisierung, UML, Software, Informatik

diplom.de
Bachelor + Master Publishing

Hermannstal 119 k
22119 Hamburg

Fon: +49 (0) 40 655992-0
Fax: +49 (0) 40 655992-22

Service-Telefon

Rufen Sie uns an:
+49 (0) 40 655992-0

Mo-Fr
09.00-16.00 Uhr

diplom.de in den Medien

Folgen Sie uns bei Twitter & werden Sie diplom.de-Fan bei Facebook!
Schreibtipps unserer Lektoren, Neuigkeiten aus dem Verlagsalltag und das Expertenwissen unserer Autoren als Tweet & Post!
Wir freuen uns auf Sie!

diplom.de BACHELOR + MASTER PUBLISHING

Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Magisterarbeiten, Dissertationen und andere Abschlussarbeiten aus allen Fachbereichen und Hochschulen können Sie bei uns als eBook sofort per Download beziehen oder sich auf CD oder als Buch zusenden lassen. Seit mehr als 15 Jahren ist diplom.de der seriöse, professionelle und erfolgreiche Partner für die Veröffentlichung wissenschaftlicher Abschlussarbeiten.

© Diplomica Verlag GmbH 1996-2011, AG Hamburg HRB 80293 - GF Björn Bedey, USt-IdNr.: DE214910002 - Verkehrsnummer: 12285 - Impressum
Index der Arbeiten - Index der Autoren