22.01.2014 Aufrufe

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

Download (5Mb) - oops/ - Oldenburger Online-Publikations-Server

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

92 Umsetzung des Prototyps<br />

der Erstellung solcher Spezifikationen miteinbezogen werden. Aus Sicht des Softwareentwicklers<br />

werden im Fall von BDD einzelne Beispiele des erwarteten Verhaltens des Quelltextes erstellt,<br />

die auch als Akzeptanz-Tests oder Integrationstests (engl. acceptance und integration test)<br />

bekannt sind. Ein Unterschied zwischen TDD (Test-Driven Development, testgetriebene Softwareentwicklung)<br />

zu BDD ist, dass bei TDD normalerweise die Struktur, Organisation und Robustheit<br />

der Softwarelösung getestet werden, während eine TDD-Spezifikation die Softwarelösung als eine<br />

Black-Box betrachtet und nur die Erfüllung einer gewissen Funktionalität (oder eines Verhaltens)<br />

erwartet.<br />

• Verwendung von open-source Bibliotheken und Projekte: Alle bei der Umsetzung des Softwareproduktes<br />

eingesetzten Technologien bzw. Produkte sind im Internet frei verfügbar und für<br />

präzisere Zwecke anpassbar. Dieses Kriterium stellte sich als Hauptmerkmal für die Auswahl der<br />

Werkzeuge dar, die im Laufe der Entwicklung verwendet worden sind. Die Möglichkeit einer<br />

Anpassung war essentiell im Fall von einigen Werkzeugen, die beispielsweise hinsichtlich ihrer<br />

Fehlerausgabe oder allgemeinen Funktionsweise anhand des frei verfügbaren Quelltextes untersucht<br />

worden sind. Hiermit ist auch die Gelegenheit verbunden, einige kleinere, für diese Arbeit<br />

benutzten Software-Teile als open-source “Produkte” veröffentlichen zu können.<br />

Nachdem in einer zusammengefassten Weise die einzelnen bei dem Entwicklungsvorgang beachteten<br />

Merkmale zur Sicherung einer erhöhten Quelltextqualität beschrieben worden sind, wird<br />

der Fokus auf die tatsächliche Umsetzung der Bestandteile der Softwarelösung gelegt. Zu diesem<br />

Zweck wird zuerst die für die Umsetzung des “Home Sharing” Szenarios entwickelte Ausprägung<br />

des Kontext-Modells (hier als “Datenmodell” gekennzeichnet) vorgestellt.<br />

7.2 Datenmodell für Home Sharing<br />

Während in Kapitel 6 die Definition eines allgemein anwendbaren Kontext-Modells gegeben wurde,<br />

muss eine weitere Definition einer konkreten Ausprägung bzw. Umsetzung dieses Modells eingebracht<br />

werden. In dieser Arbeit wurde zugleich ein Datenmodell erstellt, welches die in Kapitel 3<br />

beschriebenen User-Stories unterstützt. Eine visuelle Darstellung dieses Modells erfolgt anhand der<br />

Abbildung 7.1.<br />

Neben den genannten, in Kürze zu erläuternden Bestandteilen des Datenmodells befinden sich in<br />

dem dargestellten Modell außer den impliziten (s.u.) Verknüpfungspunkten mit dem verallgemeinerten<br />

Kontext-Modell auch tatsächliche Verknüpfungen: die Klassen Location und Source. Die<br />

Einbeziehung der Location Klasse liegt im Bedarf begründet, Kontext-Informationen zu erzeugen<br />

und zu bearbeiten, die auch in der Wohnung verortet sind. Weiterhin wurde die Klasse Source in<br />

diesem Modell verknüpft, um den Unterschied zwischen vordefinierten, statischen, vom System anfänglich<br />

bereitgestellten Daten (siehe auch 7.3.1) und dynamischen, “auftretenden” Datensätze ausdrücken<br />

zu können.<br />

Die genannte Art von “impliziten” Verknüpfungspunkten mit dem grundlegenden Kontext-Modell<br />

bezieht sich darauf, dass versucht wurde, die Komplexität der entwickelten Softwarelösung zu verringern.<br />

Unter diesem Gesichtspunkt handelt es sich um implizites Wissen, das im Datenmodell enthalten<br />

ist. Die räumlichen Daten werden nicht durch einzelne Fakten wie im Paragraph 6.3 im Fall<br />

der beispielhaften Instanziierung dargestellt, sondern sie werden durch eine Assoziation zwischen<br />

den teilnehmenden Klassen (bzw. Relationen aus Sicht des Datenbankmodells) ausgeprägt. Außer-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!