Bachelor + Master Publishing
765 Bachelorarbeiten, 508 Masterarbeiten, 10.071 Diplomarbeiten

Evaluierung von Softwarearchitekturen

Am Beispiel einer Schach-Community

Evaluierung von Softwarearchitekturen
Über dieses Buch
  • Art: Diplomarbeit
  • Autor: Andreas Junius
  • Abgabedatum: Oktober 2006
  • Umfang: 99 Seiten
  • Dateigröße: 2,4 MB
  • Note: 1,3
  • Institution / Hochschule: Private FernFachhochschule Darmstadt Deutschland
  • Bibliografie: ca. 44
  • ISBN (eBook): 978-3-8324-9969-3
  • ISBN (Paperback) :
    978-3-8324-9969-3 P
  • ISBN (CD) :978-3-8324-9969-3 CD
  • Sprache: Deutsch
  • Prämierung:
  • Arbeit zitieren: Junius, Andreas Oktober 2006: Evaluierung von Softwarearchitekturen, Hamburg: Diplomica Verlag
  • Schlagworte: Softwaretechnik, Architekturmuster, Softwaredesign, Flash Media, Phasenmodell

Diplomarbeit von Andreas Junius

Einleitung:

Diese Diplomarbeit entstand im Zusammenhang mit meiner Tätigkeit als freier Programmierer für ein reales Kundenprojekt. Mein Ein-Personen-Betrieb ist auf die Erstellung von Flash-Anwendungen spezialisiert, womit eine grundlegende Architekturentscheidung bereits vom Kunden noch vor der eigentlichen Anfrage getroffen wurde.

Unabhängig von dieser Entscheidung, die ja immer noch revidiert werden könnte, da es zu Flash ja auch Alternativen gibt (Director, Java-Applets usw.), die der Kunde vielleicht nicht kennt, stellen sich jedoch die allgemeinen Probleme der Softwareentwicklung, die gelöst werden müssen.

Problemstellung:

Die Arbeit zeigt am Beispiel einer Schach-Community, wie große Sotwareprojekte geplant und umgesetzt werden können. Dabei werden die verschiedenen Aspekte guter Softwarearchitektur beleuchtet und am praktischen Beispiel ausprobiert, bzw. umgesetzt.

Der Zusammenhang zwischen Softwarearchitektur und Vorgehensmodell wird entsprechend dargestellt. Das Projekt verwendet hauptsächlich objektorientierte Techniken und Methoden.

Verwendete Technologien sind Flash, der Flash Media Server, Java, Servlets, Tomcat und eine PostgreSQL-Datenbank. Die gewählte Modellierungssprache ist UML 2.0. Eine guten Überblick, auch als Einführung in das Thema, bieten die Folien und der Text für das Kolloquium, die als Flash-Dateien verfügbar sind.

Inhaltsverzeichnis:

Vorwort II
Probleme der Softwareentwicklung II
Komplexität II
Warenzeichen III
Verzeichnis IV
Inhalt IV
Abbildungen VII
Tabellen VIII
Codebeispiele IX
Abkürzungen X
1. Einführung 1
1.1 Architekturbegriff 1
1.2 Problemstellung 1
1.3 Anforderungsbasierte Architektur 2
1.4 Der Softwarearchitekt 2
1.5 Leitfaden 3
2. Grundlagen und erste Ansätze 4
2.1 Software als System 4
2.2 Die Phasenmodelle 4
2.2.1 Wasserfallmodell 4
2.2.2 Spiralmodell 5
2.2.3 V-Modell 5
2.2.4 Diamant-Modell 5
2.2.5 Projekt-Modell 6
2.3 Architekturstrukturen 6
2.3.1 Client-Server-Modell 6
2.3.2 n-Tier-Architektur 7
2.3.3 Rich-Client / Thin-Client-Architektur 8
2.3.4 Middleware-Architektur 9
2.3.5 Service-Orientierte Architektur 10
2.4 Entwurfsmuster 12
2.4.1 Adapter-Muster 13
2.4.2 Observer-Muster 14
2.4.3 Strategy-Muster 15
2.4.4 Composite-Muster 17
2.4.5 MVC-Paradigma 18
2.5 Persistenz 21
2.5.1 Strukturbruch 21
2.5.2 Persistenzunabhängigkeit 21
2.5.3 Persistenzschicht 22
2.5.4 Modelltransformation 22
2.5.5 Persistenzframework 22
2.6 Flash Media Server 25
2.6.1 Funktionsweise 25
2.6.2 Entwicklung 26
3. Realisierung und Anwendung 28
3.1 Problematik der Planungstiefe 28
3.2 Projektbeschreibung 28
3.3 Erste Gedanken 29
3.4 Modellierung der Anwendungsfälle 31
3.5 Benutzeroberfläche 34
3.6 Architekturstruktur 36
3.7 Modellierung der Abläufe 37
3.8 Wahl des Phasenmodells 39
3.9 Klassenentwurf 39
3.9.1 Abbildung der Datenobjekte 40
3.9.2 Anwendungsschicht 43
3.9.3 Benutzeroberfläche 45
3.9.4 Persistenzmechanismus 46
3.10 Detaillösungen 47
3.10.1 Einbindung einer Zugkontrolle 47
3.10.2 Anbindung von Oberflächenelementen 52
3.10.3 Übertragung der Datenobjekte vom Client zum Server 53
3.10.4 Einsatz des Flash Media Server 56
4. Resumee und Ausblick 60
4.1 Resumee 60
4.2 Ausblick 60
Literaturverzeichnis 62
Bücher 62
Software 63
Weiterführende Links 64
Projekt 64
Erklärung 65

Inhaltsverzeichnis:

Vorwort II
Probleme der Softwareentwicklung. II
Komplexität II
Warenzeichen. III
Verzeichnis IV
Inhalt IV
Abbildungen VII
Tabellen VIII
Codebeispiele IX
Abkürzungen X
1. Einführung 1
1.1 Architekturbegriff 1
1.2 Problemstellung 1
1.3 Anforderungsbasierte Architektur 2
1.4 Der Softwarearchitekt 2
1.5 Leitfaden 3
2. Grundlagen und erste Ansätze 4
2.1 Software als System 4
2.2 Die Phasenmodelle 4
2.2.1 Wasserfallmodell 4
2.2.2 Spiralmodell 5
2.2.3 V-Modell 5
2.2.4 Diamant-Modell 5
2.2.5 Projekt-Modell 6
2.3 Architekturstrukturen 6
2.3.1 Client-Server-Modell 6
2.3.2 n-Tier-Architektur 7
2.3.3 Rich-Client / Thin-Client-Architektur 8
2.3.4 Middleware-Architektur 9
2.3.5 Service-Orientierte Architektur 10
2.4 Entwurfsmuster 12
2.4.1 Adapter-Muster 13
2.4.2 Observer-Muster 14
2.4.3 Strategy-Muster 15
2.4.4 Composite-Muster 17
2.4.5 MVC-Paradigma 18
2.5 Persistenz 21
2.5.1 Strukturbruch 21
2.5.2 Persistenzunabhängigkeit 21
2.5.3 Persistenzschicht 22
2.5.4 Modelltransformation 22
2.5.5 Persistenzframework 22
2.6 Flash Media Server 25
2.6.1 Funktionsweise 25
2.6.2 Entwicklung 26
3. Realisierung und Anwendung 28
3.1 Problematik der Planungstiefe 28
3.2 Projektbeschreibung 28
3.3 Erste Gedanken 29
3.4 Modellierung der Anwendungsfälle 31
3.5 Benutzeroberfläche 34
3.6 Architekturstruktur 36
3.7 Modellierung der Abläufe 37
3.8 Wahl des Phasenmodells 39
3.9 Klassenentwurf 39
3.9.1 Abbildung der Datenobjekte 40
3.9.2 Anwendungsschicht 43
3.9.3 Benutzeroberfläche 45
3.9.4 Persistenzmechanismus 46
3.10 Detaillösungen 47
3.10.1 Einbindung einer Zugkontrolle 47
3.10.2 Anbindung von Oberflächenelementen 52
3.10.3 Übertragung der Datenobjekte vom Client zum Server 53
3.10.4 Einsatz des Flash Media Server 56
4. Resumee und Ausblick 60
4.1 Resumee 60
4.2 Ausblick 60
Literaturverzeichnis 62
Bücher 62
Software 63
Weiterführende Links 64
Projekt 64
Erklärung 65

Textprobe:

Kapitel 2.3.5, Service-Orientierte Architektur: Serviceorientierte Architektur (SOA) soll Middleware so nutzen, daß lose gekoppelte, verteilte Services möglich werden. Dabei steht die Geschäftlogik im Vordergrund, während die Kommunikation technologieneutral und standardisiert abläuft. Bei diesem Konzept werden fachliche Dienste und Funktionalitäten in Form von Services bereitgehalten. Der Service kann (teilweise auch anonym) über eine standardisierte Schnittstelle in Anspruch genommen werden.

Beispiele für den Einsatz von Services wären die Verbindung der IT-Infrastrukturen zweier Unternehmen (etwa bei Fusionen) oder die Verbindung unterschiedlicher Systeme mehrerer Abteilungen. Der Anfangsaufwand für die Umstellung existierender Unternehmenslösungen auf Services darf allerdings nicht unterschätzt werden. Für alle relevanten Schnittstellen müssen entsprechende Adapter gebaut werden.

Automatisiert erstellter Textauszug:

Kostengründen oder aus anderen Gründen. Die wohl einfachste Weise, künftige Erweiterungen zu erkennen, ist die Einschränkungen auf ihre Plausibilität zu überprüfen. Auch ein Vergleich mit bereits existierender Software ist ein guter Ansatz, den üblichen Leistungsumfang des geforderten Softwaretyps zu ermitteln. So ist die Begrenzung der Zielgruppe auf Profispieler möglicherweise dann ein Problem, wenn diese Zielgruppe zu klein ist oder nur wenige Profispieler bereit sind sich zu registrieren, um die Plattform wirtschaftlich zu betreiben. Werden jedoch auch Freizeitspieler zugelassen, so wird eine Plausibilitätsüberprüfung der Züge notwendig. Der Algorithmus, der für die Überprüfung zuständig ist, kann jedoch auf einfache Weise vom System entkoppelt werden, wenn das Entwurfsmuster ‚Strategy’ angewendet wird. Da diese Funktion jedoch gar nicht vorgesehen ist, kann vorerst mit einem ‚leeren’ Algorithmus gearbeitet werden, der durch einen anderen ersetzt wird, sollte der Erweiterungswunsch auftauchen. Die Kosten für diese Lösung sind geringer, als das nachträgliche Schaffen passender Schnittstellen. Die fehlende Schnittstelle zu Fremdsystemen könnte schon eher ein Problem werden. Gerade Spieler im Profibereich werden wohl mehrere Programme nutzen. Hier muß also geprüft werden, ob ein Standard zum Datenaustausch zwischen Schachprogrammen überhaupt existiert und wenn ja, wie dieser definiert ist.8 Das geplante Software-System sollte also zumindest die für dieses Format erforderlichen Daten erfassen und bereithalten. Eine einfache Import- und Exportfunktion läßt sich so nachträglich relativ leicht erstellen. In der Projektbeschreibung ist der Aspekt der Administration des Systems überhaupt nicht berücksichtigt. Eine Community muß aber administriert werden, mindestens jedoch muß die Möglichkeit bestehen, Nutzer zu sperren, die ihren Beitrag nicht bezahlt oder die gekündigt haben. Der direkte Zugriff auf die dafür vorgesehenen Datenbankrelationen ist zwar möglich, erfordert aber doch einige Sachkenntnis und birgt die Gefahr der Fehlbedienung. Eine sicher notwendige Erweiterung wäre also eine Administrationsoberfläche. Der letzte Punkt, die nicht benötigte Schach-Engine, wird wohl nicht als Erweiterungswunsch auftauchen, da dadurch der Charakter des Programms (eine Community) stark verändert würde. Die Erweiterung wird deshalb nicht weiter eingeplant. Falls doch gewünscht, läßt sich eine Schach-Engine einfach als weiterer Benutzer in das System integrieren. Vorsichtshalber legt man daher einen Benutzer [...]

Spieler können live gegeneinander spielen. Livespiele können zeitlich begrenzt werden, d.h. spielen gegen die Stoppuhr. Bei Livespielen kann zugeschaut werden. Die Spieler können bei einem Livespiel Audio benutzen, um sich zu unterhalten. Die Spiele werden gespeichert. Gespeicherte Spiele können geladen und analysiert werden. Spiele sollen jedoch auch zeitversetzt möglich sein, das System sendet bei Änderungen des Spielstands eine e-Mail an den gegnerischen Spieler. Spiele können Wettkampf- oder Übungsspiele sein. Nach abgeschlossenen Wettkampfspielen wird der ELO7 der Spieler automatisch neu berechnet. Ein Spieler kann die Eröffnung des Gegners mit den in der Datenbank gespeicherten Spielen bis zu einer bestimmten Tiefe abgleichen, um so festzustellen, ob der Gegner möglicherweise einen Schachcomputer oder sonstige Hilfen verwendet. [...]

Ein häufig auftretendes Problem ist, daß aus Kosten- oder anderen Gründen von vornherein Einschränkungen im Leistungsumfang gemacht werden. Im späteren Betrieb der Software erweisen sich diese Einschränkungen dann als massive Störungen, die beseitigt werden müssen. Ein guter Ansatz ist daher, die Anwendungsfälle so umfassend wie möglich auszuarbeiten, so daß künftige Erweiterungswünsche erkannt werden können und entsprechende Schnittstellen und Datenstrukturen vorbereitet, bzw. Räume dafür geschaffen werden können. Je gründlicher diese Ausarbeitung ist, desto weniger Überraschungen ergeben sich während der Entwicklungsphase. Die Mehrkosten für eine gründlichere Analyse der Anforderungen und Planung der Anwendungsfälle amortisieren sich erfahrungsgemäß mit der ersten Erweiterung des Systems. Der Kunde erkennt neue Möglichkeiten, trotz seiner umfassenden Fachkenntnis, oft erst im Zuge der Entwicklung. Auch dies ist ein guter Grund, Anwendungsfälle umfassend zu planen. Ausufernde Kosten und ungeplant wuchernde Systeme lassen sich so vermeiden. 3.2 Projektbeschreibung [...]

Arbeit zitieren:
Junius, Andreas Oktober 2006: Evaluierung von Softwarearchitekturen, Hamburg: Diplomica Verlag

Schlagworte:
Softwaretechnik, Architekturmuster, Softwaredesign, Flash Media, Phasenmodell

Entdecken Sie mehr zum Thema

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