03.11.2013 Aufrufe

Tag-basierte Verfahren zur effizienten Nutzung von Videos im ...

Tag-basierte Verfahren zur effizienten Nutzung von Videos im ...

Tag-basierte Verfahren zur effizienten Nutzung von Videos im ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Gottfried Wilhelm<br />

Leibniz Universität Hannover<br />

Fakultät für Elektrotechnik und Informatik<br />

Institut für Praktische Informatik<br />

Fachgebiet Software Engineering<br />

<strong>Tag</strong>-<strong>basierte</strong> <strong>Verfahren</strong> <strong>zur</strong> <strong>effizienten</strong> <strong>Nutzung</strong> <strong>von</strong><br />

<strong>Videos</strong> <strong>im</strong> Requirements Engineering<br />

Bachelorarbeit<br />

<strong>im</strong> Studiengang Informatik<br />

<strong>von</strong><br />

Michael Gaier<br />

Prüfer: Prof. Dr. Kurt Schneider<br />

Zweitprüfer: Prof. Prof. Dr.-Ing. Bodo Rosenhahn<br />

Betreuer: Dipl.-Inform. Stefan Gärtner<br />

Hannover, 4. Oktober 2012


Zusammenfassung<br />

Die viedo-<strong>basierte</strong> Anforderungserhebung ist eine Ergänzung <strong>zur</strong> klassischen<br />

Anforderungserhebung. Die in der klassischen Anforderungserhebung textuell beschriebenen<br />

Szenarien, werden in <strong>Videos</strong>equenzen dargestellt. Diese Darstellungen sind besonders bei<br />

Szenarien, die einen komplexen Sachverhalt schildern oder bei denen ein hohes Domänenwissen<br />

erforderlich ist, oftmals leichter zu verstehen als eine reine textuelle Beschreibung. Da für den<br />

Erfolg eines Projektes die Anforderungen eine große Rolle spielen, ist es wichtig diese verständlich<br />

zu beschreiben um mögliche Interpretationsfehler zu vermeiden. Jedoch verursacht ein video<strong>basierte</strong>s<br />

Vorgehen zusätzlichen Aufwand und wird somit nur selten eingesetzt.<br />

Um den Einsatz eines video-basiereten Vorgehens für eine größere Menge <strong>von</strong> Projekten<br />

interessanter zu gestalten, schlage ich ein Empfehlungssystem, das den Aufwand be<strong>im</strong><br />

Zusammenstellen der <strong>Videos</strong>equenzen min<strong>im</strong>iert, vor. Dieses ist insbesondere bei Szenarien, die<br />

sich nur in wenigen Abschnitten unterscheiden, hilfreich. Auf Basis zuvor erstellten<br />

<strong>Videos</strong>equenzen werden dem Anforderungsingenieur be<strong>im</strong> Erstellen einer neuen Sequenz<br />

Vorschläge für den möglichen Aufbau gemacht. Diese beschleunigt die Zusammenstellung und<br />

ermöglicht es die begrenzte Zeit besser zu nutzen.


Inhaltsverzeichnis<br />

1 Einleitung 3<br />

1.1 Motivation.................................................................................................................................3<br />

1.2 Zielsetzung................................................................................................................................4<br />

1.3 Gliederung................................................................................................................................4<br />

1.4 Rahmenbedingungen und Umfeld............................................................................................5<br />

1.5 Einführung in das Beispielszenario..........................................................................................5<br />

2 Grundlagen 7<br />

2.1 Begriffserklärungen..................................................................................................................7<br />

2.2 Suchmaschinen.........................................................................................................................8<br />

2.3 Video-<strong>basierte</strong> Anforderungserhebung.....................................................................................8<br />

2.4 Empfehlungen...........................................................................................................................9<br />

3 Interne Repräsentation <strong>von</strong> Artefakten 11<br />

3.1 Domain-Index.........................................................................................................................11<br />

3.2 Bedingungen...........................................................................................................................15<br />

3.2.1 <strong>Tag</strong>-Cloud-Bedingungen.................................................................................................16<br />

3.2.2 Kausale-<strong>Tag</strong>-Bedingungen..............................................................................................18<br />

4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung 19<br />

4.1 Empfehlungsprozess...............................................................................................................19<br />

4.1.1 Suche nach relevante Kanten..........................................................................................19<br />

4.1.2 Ranking der relevanten Kanten.......................................................................................21<br />

4.1.3 Suche passender Artefakte..............................................................................................23<br />

4.1.4 Ranking der relevanten Artefakte....................................................................................23<br />

4.2 <strong>Tag</strong>-Austausch.........................................................................................................................23<br />

6 Umsetzung und Demonstration 26<br />

6.1 Programmoberfläche...............................................................................................................26<br />

6.2 Artefakt-<strong>Tag</strong>ging.....................................................................................................................27<br />

6.3 Empfehlungen.........................................................................................................................28<br />

6.4 <strong>Tag</strong>-Austausch.........................................................................................................................31<br />

7 Fazit und Ausblick 32<br />

A Literatur Verzeichnis 34<br />

B Abbildungsverzeichnis 35<br />

C Inhalt der CD 36


1 Einleitung<br />

1 Einleitung<br />

1.1 Motivation<br />

Be<strong>im</strong> Erstellen <strong>von</strong> Softwaresystemen ist eine enge Zusammenarbeit zwischen Kunde und<br />

Anforderungsingenieur wichtig, um die Kundenwünsche und Ideen bestmöglich zu erfassen und <strong>im</strong><br />

späteren System umzusetzen. Eine mangelhafte Anforderungserhebung gefährdet den Erfolg des<br />

Projektes [17]. Der Kunde möchte so wenig Zeit wie möglich in die Anforderungserhebung<br />

investieren, da er dafür seine normalen Tätigkeiten unterbrechen muss. Der Anforderungsingenieur<br />

muss in der <strong>zur</strong> Verfügung stehenden Zeit eine möglichst gute Erhebung durchführen.<br />

Im bestmöglichen Fall hat der Kunde genaue Vorstellung, wie das spätere System auszusehen hat<br />

und es gelingt ihm das System präzise und für den Anforderungsingenieur verständlich zu<br />

beschreiben. In der Regel ist das aber nicht der Fall. Oftmals hat der Kunde nur eine vage<br />

Vorstellung und benötigt die Unterstützung des Anforderungsingenieurs. Bei dieser<br />

Zusammenarbeit entstehen einige Dokumente, die das gewünschte System beschreiben. Diese<br />

Dokumente können für den einfachen Kunden schwer verständlich sein, da diesem oftmals die<br />

benutzten Notationen fremd sind. Deswegen müssen die in den Dokumenten beschriebenen<br />

Szenarien für den Kunden übersetzt werden. Damit dieser das erarbeitete Modell versteht und<br />

mögliche Änderungen benennen kann.<br />

Einfacher wäre es eine Notation zu finden, die sowohl einfach verständlich als auch für die weitere<br />

Entwicklung nutzbar ist. Forschungen haben ergeben, das der Einsatz <strong>von</strong> <strong>Videos</strong> diesem Zweck<br />

dienen kann [14]. Die in <strong>Videos</strong> dargestellten Szenarien sind für den Kunden leicht verständlich,<br />

bieten aber auch dem Ingenieur genug Informationen um das gewünschte System zu erstellen.<br />

Jedoch ist ein video-<strong>basierte</strong>s Vorgehen deutlich aufwendiger als die klassische Variante und somit<br />

nur für wenige Projekte interessant [4]. Deswegen werden unterstützende Werkzeuge benötigt, die<br />

den Zusatzaufwand mindern und somit die video-<strong>basierte</strong> Anforderungserhebung für eine breitere<br />

Projektmenge einsetzbar machen.<br />

1.2 Zielsetzung<br />

Diese Arbeit beschäftigt sich weder mit dem Vorgang des <strong>Tag</strong>ging noch mit dem genauen Ablauf<br />

einer video-<strong>basierte</strong>n Anforderungsanalyse. Sondern es werden Methoden untersucht, die den<br />

Zusatzaufwand der video-<strong>basierte</strong>n Anforderungserhebung gegenüber der klassischen<br />

Anforderungsanalyse reduzieren und somit ein größeren Anreize für die <strong>Nutzung</strong> einer video<strong>basierte</strong>n<br />

Anforderungserhebung bieten [4]. Die zwei wesentlichen für die Arbeit interessanten<br />

Arbeitsschritte der video-<strong>basierte</strong>n Anforderungserhebung sind das Drehen der einzelnen<br />

Handlungen und die Generierung der abschließenden <strong>Videos</strong>equenz, die ein Systemmerkmal<br />

beschreibt.<br />

Die in dieser Arbeit vorgestellten Konzepte, unterstützen den Ingenieur bei der Generierung der<br />

<strong>Videos</strong>equenzen. Ihm wird die lästige Suche nach benötigten Abschnitten abgenommen und somit<br />

kann die gewonnene Zeit für wichtigere Zwecke genutzt werden.<br />

Bei den vorgestellten Methoden handelt es sich zum einen um ein Empfehlungssystem, welches<br />

automatisch Videoclips auf Grundlage zuvor erstellter Sequenzen aus der Bibliothek auswählt und<br />

als mögliche Bestandteile der neuen Sequenz vorschlägt, zum anderen wird eine Möglichkeit<br />

vorgestellt, mit der Abschnitte, die eine zuvor genannte Bedingung erfüllen, durch andere<br />

Seite 4 <strong>von</strong> 37


1 Einleitung<br />

ausgetauscht werden können. Dadurch können Sequenzen effizienter an neue Situationen angepasst<br />

werden. Dieses ist insbesondere am Anfang der Anforderungserhebung interessant, wenn die<br />

benötigten Videoclips noch nicht vorhanden sind. Anstelle der Videoclips können Skizzen und<br />

Fotos als Platzhalter genutzt werden, die dann <strong>im</strong> späteren Verlauf einfacher durch die<br />

vorgesehenen Videoclips ersetzt werden können.<br />

1.3 Gliederung<br />

Im ersten Kapitel wird diese Arbeit motiviert und es werden gewünschten Ziele genannt. Zusätzlich<br />

wird kurz das Umfeld mit den vorhandenen Rahmenbedingungen beschrieben und eine Einführung<br />

in das Beispielszenario gegeben. Das zweite Kapitel beschäftigt sich mit den Grundlagen, die für<br />

das bessere Verständnis hilfreich sind. Im dritten Kapitel werden die benötigten Datenstrukturen<br />

vorgestellt für die Methoden, welche <strong>im</strong> Kapitel 4 behandelt werden, vorgestellt. Das fünfte Kapitel<br />

zeigt die Auswirkungen der Implementierung der in Kapitel 4 vorgestellten Methoden auf den<br />

Vision Catcher und es werden anhand <strong>von</strong> Beispielen die Funktionsweise der Modifikation gezeigt.<br />

Im letzten Kapitel wird ein Ausblick über zukünftige Forschung gegeben und die Ergebnisse<br />

zusammengefasst.<br />

1.4 Rahmenbedingungen und Umfeld<br />

Diese Bachelorarbeit baut auf der Masterarbeit[9,12] <strong>von</strong> Kitzmann auf, in der ein Werkzeug für die<br />

video-<strong>basierte</strong> Anforderungserhebung und Validierung entwickelt wurde. Bei diesem Werkzeug<br />

handelt es sich um den Vision Catcher (siehe Abbildung 1). Der Vision Catcher ist <strong>im</strong> Vergleich zu<br />

Xrave[4] besonders auf low-effort Ansatz zugeschnitten. Er ermöglicht es aus mult<strong>im</strong>edialen<br />

Elementen Artefakte zu erstellen, diese in Szenarien anzuordnen und wiederzugeben. Eine Gruppe<br />

<strong>von</strong> Szenarien, die ein System beschreibt, wird in Projekten zusammengefasst. Zudem besitzt es<br />

noch weitere Funktionen, die allerdings für das Verständnis dieser Arbeit nicht relevant sind. Dieses<br />

Werkzeug wird um neue Funktionen, welche genauer in Kapitel 5 vorgestellt werden, erweitert.<br />

Seite 5 <strong>von</strong> 37


1 Einleitung<br />

Abbildung 1: Die GUI des Vision Catcher mit einem Beispielszenario vor der Modifikation<br />

1.5 Einführung in das Beispielszenario<br />

Die in den folgenden Beispielen zugrunde liegenden Szenarien stammen aus dem Bereich des<br />

Bankenwesens. Insbesondere eignen sich die Szenarien aus dem Online-Banking, da diese<br />

allgemein verständlich sind. Zusätzlich existieren <strong>im</strong> Online-Banking durch die Einführung der<br />

neuen TAN-<strong>Verfahren</strong> eine Variation des Überweisungsvorganges, welche die Stärken des<br />

Empfehlungssystem verdeutlichen.<br />

Seite 6 <strong>von</strong> 37


2 Grundlagen<br />

2 Grundlagen<br />

2.1 Begriffserklärungen<br />

Ontologie (Definition nach [8]) Eine Ontologie ist eine Menge <strong>von</strong> abbildenden Pr<strong>im</strong>itiven mit<br />

denen eine Wissensdomäne modelliert wird. Die abbildenden Pr<strong>im</strong>itiven sind in der Regel Klassen,<br />

Attribute und Beziehungen.<br />

Szenario (Definition nach [9]) Ein Szenario ist eine Abfolge <strong>von</strong> Interaktionsschritten, die ein<br />

konkretes Beispiel für die Erfüllung oder Nichterfüllung eines oder mehrerer Ziele darstellen.<br />

<strong>Tag</strong> (Definition nach [10]) Ein <strong>Tag</strong> ist ein Term, der zu einer Information zugewiesen wird. Dieser<br />

Term beschreibt die ihm zugewiesene Information.<br />

Hinweis <strong>zur</strong> Notation: <strong>Tag</strong> werden in Abbildungen als Ellipsen dargestellt,<br />

Artefakt (Definition nach [9]) Ein Artefakt ist ein mit Metadaten versehenes mult<strong>im</strong>ediales<br />

Element (Audio, Video, Bild, . . . ). Metadaten bestehen aus <strong>Tag</strong>s und den möglichen Beziehungen<br />

zu anderen Artefakten.<br />

Artefakte stellen die Interanktionsschritte <strong>im</strong> Szenario dar. Hinweis <strong>zur</strong> Notation: Artefakte werden<br />

in Abbildungen als Rechtecke dargestellt, ∣Artefakt∣:= Anzahl der <strong>Tag</strong>s des Artefaktes .<br />

<strong>Tag</strong>-Klasse (Definition) Eine <strong>Tag</strong>-Klasse ist eine Gruppe <strong>von</strong> <strong>Tag</strong>s, die gemeinsame Eigenschaften<br />

teilen.<br />

In dieser Arbeit wird sich auf den Einsatz der folgenden fünf unterschiedlichen <strong>Tag</strong>-Klassen, die die<br />

unterschiedlichen <strong>Tag</strong>s eines Artefaktes anhand des beschriebenen Elementes zusammenfassen,<br />

beschränkt, da diese für die vorgestellten Konzepte ausreichend sind.<br />

Klasse<br />

Domäne<br />

<strong>Tag</strong>s der Klasse Domäne sind pro Artefakt einzigartig. Sie unterteilen die Menge aller<br />

Artefakte in einer Bibliothek in Hauptkategorien. Zudem legen sie die Interpretation<br />

der anderen <strong>Tag</strong>s, insbesondere die Objekt- und Aktionstags, fest. Somit werden<br />

Konflikte <strong>im</strong> Verständnis, die aufgrund <strong>von</strong> Mehrdeutigkeiten der <strong>Tag</strong>s entstehen,<br />

aufgelöst. Das Wort Bank zum Beispiel kann entweder eine Sitzgelegenheit oder ein<br />

Geldinstitut bezeichnen. Es gibt noch eine Menge solcher Wörter die je nach Umfeld<br />

eine andere Bedeutung annehmen. Jedes Artefakt muss einer Domäne zugeordnet<br />

werden.<br />

Subdomäne Die Subdomäne-<strong>Tag</strong>s bieten eine Möglichkeit, die in Hauptkategorien unterteilten<br />

Artefakt weiter zu verfeinern. Mögliche Subdomäne-<strong>Tag</strong>s für den Bereich<br />

Bankenwesen sind zum Beispiel die verschiedenen Geldinstitute.<br />

Objekt<br />

Objekttags stellen die <strong>im</strong> Artefakt auftauchenden Objekte dar.<br />

Seite 7 <strong>von</strong> 37


2 Grundlagen<br />

Beispiel: Login, Überweisungsformular<br />

Aktion<br />

Medientyp<br />

Aktionstags beschreiben die <strong>im</strong> Artefakt durchgeführten Handlungen.<br />

Beispiel: Anmelden(Einloggen), Überweisen<br />

Medientyp-<strong>Tag</strong>s beschreiben die Art des mult<strong>im</strong>edialen Elementes eines Artefaktes.<br />

Sie sind wie die Domäne-<strong>Tag</strong>s pro Artefakt einzigartig und jedes Artefakt muss ein<br />

solches <strong>Tag</strong> tragen.<br />

Beispiel: Video, Abbildung, Skizze<br />

Gerichteter Graph (Definition nach [11]) Ein gerichteter Graph G ist ein Tupel (V,E), wobei V<br />

eine nicht leere Menge <strong>von</strong> Knoten und E⊆V xV eine Menge <strong>von</strong> gerichteten Kanten ist.<br />

Information Retrieval (kurz: IR) (Definition nach [7]) Das Information Retrieval ist der<br />

Vorgang des Findens <strong>von</strong> unstrukturiertem Material, das ein best<strong>im</strong>mtes Informationsbedürfnis<br />

befriedigt, aus einer großen Materialkollektion.<br />

2.2 Suchmaschinen<br />

Eine Suchmaschine ist ein System, welches eine große Menge an Daten für einen spezifischen Term<br />

durchsucht und eine Liste zu dem Term passender Daten liefert [7]. Der Einsatz <strong>von</strong> Suchmaschinen<br />

ist vor allem <strong>im</strong> Internet beliebt. Das Internet bietet eine riesige Menge an Informationen, deren<br />

effiziente <strong>Nutzung</strong> ohne Suchmaschinen aufgrund der großen Datenmenge nicht möglich ist. Die<br />

bekannteste Suchmaschine mit einem Marktanteil <strong>von</strong> über 80% ist Google [12]. Neben den<br />

allgemeinen Suchmaschinen wie Google, deren Hauptaufgabe die Informationssuche ist, gibt es<br />

noch spezielle Suchmaschinen. Diese werden auf Plattformen eingesetzt, die einen anderen Dienst<br />

anbieten, aber aufgrund der großen Menge an Inhalt auf den Einsatz einer Suchmaschine<br />

angewiesen sind. YouTube (http://www.youtube.com/), Flickr (http://www.flickr.com/), IMDb<br />

(http://www.<strong>im</strong>db.com/) oder Wikipedia (http://www.wikipedia.org/) sind nur einige Beispiele.<br />

Die Funktionsweise einer Suchmaschine ist <strong>im</strong> Allgemeinen <strong>im</strong>mer gleich. Jede Suchmaschine<br />

besitzt eine Menge an Objekten, die Informationen enthalten. Diesen Objekten werden<br />

Schlüsselwörter zugeordnet, die in der Regel aus den Objekten selbst extrahiert werden. Einem<br />

Objekt kann mehr als ein Schlüsselwort zugeordnet werden. Besteht ein Informationsbedürfnis, so<br />

kann durch die Angabe einer Kombination <strong>von</strong> Schlüsselwörtern die Objekte, die das<br />

Informationsbedürfnis befriedigen, aus der Objektmenge selektiert werden.<br />

2.3 Video-<strong>basierte</strong> Anforderungserhebung<br />

Die video-<strong>basierte</strong> Anforderungserhebung ist eine Ergänzung <strong>zur</strong> Anforderungserhebung. Bei der<br />

video-<strong>basierte</strong>n Anforderungserhebung werden die Systemanforderungen und -merkmale des<br />

gewünschten Systems nicht durch Texte beschrieben sondern in <strong>Videos</strong>equenzen dargestellt.<br />

Insbesondere bei komplexen Systemmerkmalen ist die Darstellung in einer <strong>Videos</strong>equenz oftmals<br />

leichter zu verstehen als eine textuelle Beschreibung [2].<br />

Bei den eingesetzten <strong>Videos</strong> muss es sich nicht um konsistente mit hohen Aufwand erstellte<br />

Sequenzen handeln. [14] zeigt, dass selbst ein schlichtes Video, das mit einem geringen Aufwand<br />

Seite 8 <strong>von</strong> 37


2 Grundlagen<br />

erstellt wurde, zum Verständnis des Systems beitragen kann. Zudem hat der low-effort Ansatz, bei<br />

dem es nicht darauf ankommt eine einwandfreie <strong>Videos</strong>equenz zu erstellen, die auch zu<br />

Werbezwecken eingesetzt werden kann, den Vorteil. Die Sequenzen werden aus vorhandenen<br />

Abschnitten, welche unter anderem auch aus anderen Projekten stammen können. Damit wird die<br />

Menge an benötigten Videoclips reduziert und es müssen nur noch die fehlenden Abschnitte neu<br />

erstellt werden.<br />

Insbesondere für dieses Vorgehen eignen sich die hier vorgestellten Konzepte.<br />

2.4 Empfehlungen<br />

Um möglichst wenig Zeit für die video-<strong>basierte</strong> Anforderungserhebung zu Nutzen ist es <strong>von</strong> Vorteil<br />

Videoclips wiederzuverwenden und die benötigten Szenarien aus verschiedenen kleinen Clips, die<br />

nur wenige Interaktionen zeigen, zusammenzusetzen. Dadurch entsteht eine Bibliothek mit vielen<br />

Artefakten, die einzelne Handlungen oder Objekte darstellen, aus denen die gewünschten Szenarien<br />

sich zusammensetzen lassen. Diese Bibliothek enthält eine große Menge an Artefakten, weil für<br />

jede Handlung oder jedes Objekt, das in einem Szenario vorkam, mindestens ein Artefakt<br />

vorhanden ist.<br />

Betrachtet man alle möglichen Artefakt-Paare, die man in einer Bibliothek mit N verschiedenen<br />

Artefakten bilden kann, so ist in der Regel die Menge aller logisch sinnvollen Paare deutlich<br />

geringer, weil nicht auf jedes Artefakt jedes andere Artefakt folgt.<br />

Es ist <strong>von</strong> Vorteil, wenn für das aktuelle Szenario unpassende Artefakte automatisch aussortiert<br />

werden. Dadurch verkleinert sich die Menge an relevanten Artefakten und somit auch der zeitliche<br />

Aufwand bei der Generierung eines Szenarios. Je besser das Selektieren der relevanten Artefakte<br />

ist, desto mehr Zeit lässt sich einsparen.<br />

Beispiel 1:<br />

Gegeben sei eine Bibliothek mit 100 verschiedenen Artefakten, wobei jedes Artefakt 20 logisch<br />

sinnvolle Partner besitzen soll. Gesucht wird der Aufwand, der als Anzahl der betrachteten<br />

Artefakte bis zum Finden des gesuchten Artefakts, das für die Fortsetzung ein gegebenes Szenario<br />

benutzt wird, gemessen wird, unter Berücksichtigung vier verschiedener Selektionsarten: keine<br />

Selektion, opt<strong>im</strong>ale Selektion(nur die 20 sinnvollen Artefakte), fehlerhafte Selektion(die 20<br />

sinnvollen +10% nicht sinnvolle Artefakte) und unvollständige Selektion(20 empfohlene Artefakte<br />

und in 60%(Vergleichbarer Mean Avergage Precision <strong>von</strong> Suchmaschinen für die Top-20)[5] der<br />

Fälle ist das gesuchte Artefakt unter den Empfehlungen).<br />

Findet keine Selektion statt, so müssen für jedes Artefakt <strong>im</strong> Szenario <strong>im</strong> Mittel 50 Artefakte<br />

betrachtet werden, wenn man da<strong>von</strong> ausgeht, dass die Wahrscheinlichkeit für das Finden des<br />

gesuchten Artefaktes gleichverteilt ist.<br />

Die opt<strong>im</strong>ale Selektion zeigt nur die 20 logisch sinnvollen Partner an und somit liefert diese<br />

Selektionsart das beste Ergebnis mit 10 Artefakten <strong>im</strong> Mittel.<br />

Die fehlerhafte zeigt die 20 logisch sinnvollen an. Hinzukommen noch zwei nicht sinnvolle<br />

Artefakte. Insgesamt werden also 22 Artefakte vorgeschlagen, was einen Aufwand <strong>von</strong> 11<br />

Artefakten entspricht.<br />

Die letzte Selektionsart ist die unvollständige Selektion. Bei dieser Selektionsart gibt es zwei<br />

Seite 9 <strong>von</strong> 37


2 Grundlagen<br />

mögliche Fälle. Entweder das gesuchte Artefakt ist unter den 20 Empfehlungen, was auf 60% der<br />

Fälle zutrifft, oder das gesuchte Artefakt ist nicht darunter und somit müssen die restlichen<br />

Artefakte in der Bibliothek nach dem gewünschten Artefakt durchsucht werden. Im Mittel werden<br />

bei dieser Selektionsart 26 Artefakte betrachtet bis das gesuchte Artefakt gefunden wird.<br />

Keine Selektion Opt<strong>im</strong>ale Selektion Fehlerhafte Selektion unvollständige<br />

Selektion<br />

50 Artefakte 10 Artefakte 11 Artefakte 26 Artefakte<br />

Durch den Einsatz einer der drei Selektionsarten lässt sich <strong>im</strong> Beispiel 1 eine 50-80%<br />

Aufwandsmin<strong>im</strong>ierung erreichen.<br />

Ist die Anzahl relevanter Artefakte nicht bekannt, was in der Regel der Fall ist, lässt sich dafür ein<br />

Schätzwert nehmen. Im folgenden Beispiel 2 wird ein pauschaler Wert für die Anzahl relevanter<br />

Artefakte angenommen und der Aufwand bei verschiedenen Trefferwahrscheinlichkeiten (das<br />

gesuchte Artefakt befindet sich unter den Empfehlungen) untersucht. Die Wahrscheinlichkeit, dass<br />

es sich bei einem Artefakt um das gesuchte Artefakt handelt, soll wie zuvor gleichverteilt sein.<br />

Beispiel 2:<br />

Trefferwahrscheinlichkeiten: p Formel für den Aufwand:<br />

Anzahl empfohlener Artefakte:<br />

γ f ( p)= p∗γ+(1− p)∗N<br />

Anzahl Artefakte in der Bibliothek: N<br />

Wie <strong>im</strong> Beispiel 2 soll die Bibliothek N =100 Artefakte beinhalten, die Anzahl empfohlener<br />

Artefakte sei γ=20 und die Selektionsart ist die unvollständige Selektion.<br />

Seite 10 <strong>von</strong> 37


2 Grundlagen<br />

Aufwandsbetrachtung<br />

Empfelungen vs keine Empfehlungen<br />

Anzahl <strong>im</strong> Mittel betrachteter Artefakte<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1<br />

Keine Empfehlungen<br />

Empfehlungen<br />

Trefferwahrscheinlichkeit p<br />

Abbildung 2: Aufwand <strong>von</strong> Empfehlungssystemen bei verschiedenen Trefferwahrscheinlichkeit<br />

In Abbildung 2 ist zu erkennen, dass für eine Trefferwahrscheinlichkeit <strong>von</strong> 60%, was für ein IR-<br />

System ein erreichbarer Wert ist [5], eine Aufwandshalbierung einsetzt.<br />

Empfehlungen verringern den Suchaufwand nach geeigneten Artefakten, die für die Fortsetzung ein<br />

gegebenes Szenario benutzt werden können und somit wird weniger Zeit für das Erstellen der<br />

Szenarien benötigt. In der Praxis ist eine opt<strong>im</strong>ale Selektion, die das beste Ergebnis liefert, nicht<br />

erreichbar.<br />

Seite 11 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

3 Interne Repräsentation <strong>von</strong> Artefakten<br />

3.1 Domain-Index<br />

Der Domain-Index repräsentiert die Artefakt-paare, die in den verschiedenen Szenarien eingesetzt<br />

wurden. Er speichert zu einem gegebenen Artefakt die Artefakte, die als direkte Nachfolger in<br />

einem Szenario benutzt wurden. Dabei werden nicht die Artefakte an sich indiziert, sondern deren<br />

repräsentative <strong>Tag</strong>s. Dieses schafft eine flexiblere Darstellung und die Indizes können <strong>von</strong> der<br />

Bibliothek unabhängig eingesetzt werden. Zudem werden nicht alle <strong>Tag</strong>s indiziert. Nur die Aktionsund<br />

Objekttags, die den größten Änderungen innerhalb eines Szenarios unterliegen, werden<br />

indiziert. Zusätzlich muss die Domäne beachtet werden. Die erstellten Szenarien weisen eine enge<br />

Bindung <strong>zur</strong> Domäne auf und die gespeichert Information ergebt unter einer anderen Domäne<br />

durchaus keinen Sinn. Dieses wird durch das Anlegen <strong>von</strong> verschieden Indizes, für jede Domäne<br />

einen, gelöst. Dieses hat unter anderem auch den Vorteil, dass die Verarbeitung dieser Indizes auf<br />

Grund der geringeren Datenmenge wesentlich leichter ist.<br />

Am einfachsten lässt sich der Index als ein gerichteter Graph ohne weitere Einschränkungen<br />

auffassen. Die Knoten des Graphen sind die Aktions- und Objekttags der Artefakte. Die Kanten<br />

stellen die Übergangsbeziehungen der Artefakte in einem Szenario dar, dass heißt: Existiert eine<br />

Kante <strong>im</strong> Graph <strong>von</strong> Knoten 1 zu 2, so ist in einem Szenario ein Artefakt, das mit 2 getaggt ist, der<br />

direkte Nachfolger eines Artefaktes, welches das <strong>Tag</strong> 1 enthält.<br />

Im folgenden wird ein Beispielszenario, bestehend aus zwei Artefakten und den entsprechenden<br />

Graphen dazu an, betrachtet. (Hinweis <strong>zur</strong> Notation: Artefakte werden als Rechtecke und <strong>Tag</strong>s als<br />

Ellipsen dargestellt. Ist ein Artefakt mit einem <strong>Tag</strong> markiert, so befindet sich das <strong>Tag</strong> innerhalb des<br />

Rechteckes.)<br />

Beispiel 1:<br />

Gegeben sei ein Szenario bestehend aus zwei Artefakten mit jeweils einem <strong>Tag</strong>. Im<br />

Szenario(Abbildung 3) folgt auf das Artefakt A1, welches das <strong>Tag</strong> Objekt@Login enthält, das<br />

Artefakt B2 mit dem <strong>Tag</strong> Objekt@Hauptseite.<br />

Abbildung 3: Szenario bestehend aus den Artefakten A1 und B2<br />

Abbildung 4: Graph zu dem Szenario in Abbildung 3<br />

Wird der Graph aus Abbildung 4 um ein weiteres unabhängiges Szenario (Abbildung 3), das aus<br />

Artefakt A1 und Artefakt B2 besteht, erweitert, so wird <strong>im</strong> Graph eine weitere Kante <strong>von</strong><br />

Seite 12 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

Objekt@Login nach Objekt@Hauptseite hinzugefügt. Um die Darstellung zu vereinfachen und die<br />

Menge an Kanten zu beschränken, werden gleiche Kanten zusammengefasst und mit der Anzahl<br />

beschriftet (Abbildung 5).<br />

Abbildung 5: Graph aus Abbildung 4 nach hinzufügen <strong>von</strong> dem Szenario aus Abbildung 3<br />

Da Artefakte in ihrer Menge an Aktions- und Objekttags nicht beschränkt sind, muss der Graph<br />

auch Szenarien mit Artefakten, die mehr als ein Aktions- und Objekttags enthalten, abbilden können<br />

(Abbildung 6 und Abbildung 7).<br />

Beispiel 2:<br />

Gegeben sei ein Szenario bestehend aus zwei Artefakten. Im Szenario folgt auf das Artefakt B1, das<br />

die <strong>Tag</strong>s Objekt@Login und Aktion@Anmelden beinhält, das Artefakt B2 mit dem <strong>Tag</strong><br />

Objekt@Hauptseite.<br />

Abbildung 6: Szenario bestehend aus den Artefakten B1 und B2<br />

Abbildung 7: Graph zu dem Szenario in Abbildung 6 mit Kantenmarkierung<br />

Wie an den Beispielen 1 und 2 zu sehen ist, wird für die Erstellung eines solchen Indizes ein<br />

Szenario mit mindestens zwei Artefakten, die jeweils mindestens ein <strong>Tag</strong> der Klasse Objekt<br />

beziehungsweise Aktion besitzen, benötigt. Die gleiche Voraussetzung gilt auch, wenn Kanten <strong>im</strong><br />

Graphen modifiziert werden sollen. Das Modifizieren erfolgt analog zu dem Erstellen. Man sucht<br />

die korrespondierenden Kanten <strong>im</strong> Graphen, entfernt die fehlerhaften Kanten und fügt die<br />

modifizierten Kanten hinzu. Beispiel 3 zeigt zwei Modifikationen und deren Auswirkungen auf den<br />

Graphen. Das gegebene Szenario (Abbildung 8) beschreibt <strong>im</strong> aktuellen System den Ablauf einer<br />

Kontostandabfrage. Dieses soll an die neuen Kundenwünsche angepasst werden. Der Kunde will<br />

Seite 13 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

dass der Kontostand direkt auf der Hauptseite angezeigt wird (Abbildung 12 nach Modifikation).<br />

Als erstes wird das Artefakt B2 durch das Artefakt B4 (Abbildung 8 und 10) ersetzt und<br />

anschließend wird das Artefakt B3 (Abbildung 12) aus dem Szenario entfernt. Eine Ersetzung<br />

erfolgt <strong>im</strong>mer in zwei Schritten. Erst wird das zu ersetzenden Artefakt aus dem Szenario entfernt<br />

und anschließend wird das neue Artefakt an die Stelle des zu ersetzenden Artefaktes eingefügt.<br />

Dabei ist die Kantenanzahl <strong>im</strong> Graph zu beachten.<br />

Beispiel 3:<br />

Gegeben sei eine Bibliothek mit den folgenden vier Artefakten:<br />

Artefakt B1 mit den <strong>Tag</strong>s Objekt@Login und Aktion@Anmelden<br />

Artefakt B2 mit Objekt@Hauptseite<br />

Artefakt B3 mit Objekt@Hauptseite, Objekt@Kontostand und Aktion@Abfragen<br />

Artefakt B4 mit Objekt@Hauptseite, Objekt@Kontostand<br />

Das Ausgangsszenario sei Artefakt B1 gefolgt <strong>von</strong> Artefakt B2 und Artefakt B3.<br />

Abbildung 8: Szenario bestehend aus den Artefakten B1, B2 und B3 vor Modifikation<br />

Abbildung 9: Graph aus Abbildung 7 zu dem das Szenario in Abbildung 8 hinzugefügt wurde<br />

Abbildung 10: Szenario in Abbildung 8 nach Modifikation bestehend aus den Artefakten B1, B4<br />

und B3<br />

Seite 14 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

Abbildung 11: Graph aus Abbildung 9 nach dem Austausch <strong>von</strong> Artefakt B3 durch B4<br />

Die Kanten, die mit e2 markiert sind, (Abbildung 9) wurden vollständig aus dem Graphen in<br />

Abbildung 11 entfernt, da deren Anzahl nach der Modifikation null ist. Neu Hinzugekommen zum<br />

Graphen in Abbildung 11 ist die Kante e4, die das Artefakten-paar B4,B3 darstellt.<br />

Durch die Modifikation ist das Artefakt B3 unnötig geworden und wird in Abbildung 12 aus dem<br />

Szenario entfernt.<br />

Abbildung 12: Szenario bestehend aus den Artefakten B1, B4 und B3<br />

Abbildung 13: Graph aus Abbildung 11 nach der Modifikation in Abbildung 12<br />

Abbildung 13 zeigt den abschließenden Graphen, der genau zwei verschiedene Szenarien<br />

beschreibt. Einmal das gerade erstellte Szenario (Abbildung 12 nach Modifikation) und einmal das<br />

Szenario aus Abbildung 6. Im Allgemeinen ist es nicht möglich anhand des Graphen auf die<br />

erstellten Szenarien zuschließen. Durch das Hinzufügen einer weiteren Kante zu dem obigen<br />

Graphen, wird es nicht mehr möglich sein, die genauen Szenarien zu erkennen.<br />

Betrachtet man den Graphen aus Abbildung 11, so lässt sich der gleiche Graph auch durch die<br />

Seite 15 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

Zuhilfenahme zweier Szenarien (Szenario A: Artefakt B1, Artefakt B4 und Szenario B: Artefakt B4,<br />

Artefakt B3) erstellen. Das liegt an der Unabhängigkeit der Kanten <strong>von</strong> den nicht unmittelbar<br />

benachbarten Artefakten <strong>im</strong> Szenario.<br />

3.2 Bedingungen<br />

Bedingungen bieten zusätzliche Einflussmöglichkeiten, um die Wahl der Artefakte für ein Szenario<br />

zu beeinflussen. Sie bieten zusätzliche Regelungen für den Aufbau <strong>von</strong> Szenarien. Mit ihnen lassen<br />

sich die <strong>im</strong> Domain-Index gespeicherten Informationen um projektspezifische Aspekte erweitern.<br />

Beispiel 2 zeigt einen solche projektspezifischen Aspekt am Beispiel „Bankwesen vs. Online-<br />

Banking“. Grundsätzlich lassen sich Artefakte durch Bedingungen für die Wahl <strong>im</strong> Szenario<br />

entweder ausschließen oder bevorzugen. Als Bedingung kann alles genommen werden, solange es<br />

auswertbar ist. Ich beschränke mich auf <strong>Tag</strong>-<strong>basierte</strong> Bedingungen(kurz <strong>Tag</strong>-Bedingungen).<br />

<strong>Tag</strong>-Bedingungen sind Bedingungen, die <strong>Tag</strong>s als Voraussetzung haben. Dabei unterscheide ich<br />

zwei grundlegende Arten, Kausale-<strong>Tag</strong>-Bedingungen und <strong>Tag</strong>-Cloud-Bedingungen.<br />

3.2.1 <strong>Tag</strong>-Cloud-Bedingungen<br />

Bei <strong>Tag</strong>-Cloud-Bedingungen handelt es sich um Bedingungen, die aus den Szenarien selbst<br />

entstehen. Aus jedem Szenario lässt sich eine Liste aller vorkommender <strong>Tag</strong>s generieren. Betrachtet<br />

man diese Listen als Indikatoren, so lassen sich aus so einer Liste Bedingungen erstellen. Werden<br />

<strong>Tag</strong>s häufig gemeinsam in einem Szenario verwendet, so ist es wahrscheinlich, dass dieses in<br />

weiteren Szenario fortgesetzt wird. Dieses kann dazu genutzt werden Artefakte für ein gegebenes<br />

Szenario auszuwählen. Im Domain-Index ist diese Information nicht enthalten, da dieser nicht<br />

zwischen Szenarien unterscheidet. Ob Kanten <strong>von</strong> Knoten 1 über 2 nach 3 in einem Szenario erstellt<br />

wurden oder dafür zwei Szenarien benutzt wurden, wird <strong>im</strong> Domain-Index nicht abgebildet.<br />

Dennoch kann diese Information für die Auswahl der möglichen Artefakte für eine Fortsetzung des<br />

gegebenen Szenarios interessant sein. Diese Informationen werden durch die <strong>Tag</strong>-Cloud-<br />

Bedingungen genutzt.<br />

Beispiel 3:<br />

Gegeben sei ein Szenario bestehend aus einer beliebigen Kombination der folgenden drei Artefakte:<br />

Artefakt B1A mit den <strong>Tag</strong>s Subdomäne@Online-Banking, Objekt@Login und Aktion@Anmelden<br />

Artefakt B2A mit Subdomäne@Online-Banking und Objekt@Hauptseite<br />

Artefakt B3A mit Subdomäne@Online-Banking, Objekt@Hauptseite, Objekt@Kontostand und<br />

Aktion@Abfragen.<br />

Abbildung 14: Szenario bestehend aus den Artefakten B1A, B2A und B3A<br />

Seite 16 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

Die <strong>Tag</strong>-Liste zum Szenario in Abbildung 14 sieht folgendermaßen aus:<br />

<strong>Tag</strong><br />

Subdomäne@<br />

Online-Banking<br />

Objekt@<br />

Hauptseite<br />

Objekt@<br />

Login<br />

Objekt@<br />

Kontostand<br />

Aktion@<br />

Anmelden<br />

Anzahl 3 2 1 1 1 1<br />

Aktion@<br />

Abfragen<br />

Jedes <strong>Tag</strong> in der <strong>Tag</strong>-Liste ist ein Indikator für alle anderen <strong>Tag</strong>s in der Liste. Mit Hilfe dieser <strong>Tag</strong>-<br />

Listen lassen sich die Artefakte zu Clustern zusammenschließen und man kann da<strong>von</strong> ausgehen,<br />

dass Artefakte, die dem gleichen Cluster zugehören, eher ein logisch sinnvolles Szenario bilden als<br />

Artefakte aus unterschiedlichen Clustern.<br />

Diese Art <strong>von</strong> Bedingungen findet den Einsatz bei Empfehlungen, da durch sie der<br />

Informationsverlust, den die Kantenunabhängigkeit des Indizes verursacht, ausgeglichen wird.<br />

3.2.1.1 Auswahl und Gewichtung<br />

Beispiel 4:<br />

Gegeben sei das Szenario aus Abbildung 14. Aus dem Szenario lassen sich folgende <strong>Tag</strong>-Listen<br />

erstellen. (Hinweis <strong>zur</strong> Notation: <strong>Tag</strong>(f), f gibt die Häufigkeit an, wie oft das <strong>Tag</strong> sich in den <strong>Tag</strong>-<br />

Liste des Knotens befindet.)<br />

Knoten<br />

Subdomäne@Online-Banking<br />

Objekt@Login<br />

Aktion@Anmelden<br />

Objekt@Hauptseite<br />

Objekt@Kontostand<br />

Aktion@Abfragen<br />

<strong>Tag</strong>-Liste<br />

Objekt@Login(3), Aktion@Anmelden(3),<br />

Objekt@Hauptseite(6), Objekt@Kontostand(3),<br />

Aktion@Abfragen(3)<br />

Subdomäne@Online-Banking(3), Aktion@Anmelden(1),<br />

Objekt@Hauptseite(2), Objekt@Kontostand(1),<br />

Aktion@Abfragen(1)<br />

Subdomäne@Online-Banking(3), Objekt@Login(1),<br />

Objekt@Hauptseite(2), Objekt@Kontostand(1),<br />

Aktion@Abfragen(1)<br />

Subdomäne@Online-Banking(6), Objekt@Login(2),<br />

Aktion@Anmelden(2) , Objekt@Kontostand(2),<br />

Aktion@Abfragen(2)<br />

Subdomäne@Online-Banking(3), Objekt@Login(1),<br />

Aktion@Anmelden(1), Objekt@Hauptseite(2),<br />

Aktion@Abfragen(1)<br />

Subdomäne@Online-Banking(3), Objekt@Login(1),<br />

Aktion@Anmelden(1), Objekt@Hauptseite(2),<br />

Objekt@Kontostand(1)<br />

Seite 17 <strong>von</strong> 37


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

Es ist nicht ratsam für jede Kombination aus Knoten und Eintrag in der <strong>Tag</strong>-List eine Bedingung zu<br />

erstellen. Diese würde eine große Menge an Bedingungen erzeugen, die eher wenig Aussagekraft<br />

besitzen. Eine bessere Methode ist es, nur <strong>Tag</strong>s zu nehmen, deren Auftrittshäufigkeit<br />

ist.<br />

f ≫ f Rest (1)<br />

f (T )>1.5∗avg(L) (2)<br />

Die Ungleichung (2) ist eine mögliche Funktion, die der Bedingung (1) genügt.<br />

Da Artefakte mehrerer <strong>Tag</strong>s enthalten, kann für jedes dieser <strong>Tag</strong>s eine zutreffende Bedingung<br />

existieren. Dieses sollte neben der Fehleranfälligkeit eines automatischen <strong>Verfahren</strong>s bei der Wahl<br />

der Gewichtungsfunktion berücksichtigt werden. Darum schlage ich<br />

g=h(T )÷max( L) (3)<br />

als eine mögliche Gewichtungsfunktion vor. Das Beispiel 5 erstellt exemplarisch für den Knoten<br />

Objekt@Login die möglichen Bedingungen und berechnet die dazugehörige Gewichtung<br />

Beispiel 5:<br />

Gegeben sei die Cloud-Liste für den Knoten Objekt@Login aus Beispiel 4.<br />

Der 1.5 fache Durchschnitt der Cloud-Liste beträgt 2.5 und somit erfüllt nur das <strong>Tag</strong><br />

Subdomäne@Online-Banking mit einer Häufigkeit <strong>von</strong> drei die geforderte Ungleichung (2).<br />

Das Gewicht nach (3) ist eins.<br />

3.2.1.2 Auswertung <strong>von</strong> <strong>Tag</strong>-Cloud-Bedingungen<br />

<strong>Tag</strong>-Cloud-Bedingungen bestehen aus einem Bedingungs-<strong>Tag</strong>, einem Ereignis-<strong>Tag</strong> und einem<br />

Gewicht. Das Bedingungs-<strong>Tag</strong> wird auf dem aktuellen Szenario ausgewertet. Bedingungen, deren<br />

Bedingungs-<strong>Tag</strong>s nicht <strong>im</strong> Szenario vorkommen, werden nicht eintreffen und können aussortiert<br />

werden. Von den vorhandenen Bedingungen bleiben dadurch nur noch die Bedingungen übrig, die<br />

relevant für das gegebene Szenario sind. Für ein gegebenes Artefakt, für das die Bedingungen<br />

ausgewertet werden sollen, werden alle Bedingungen, deren Ereignis-<strong>Tag</strong> nicht in den <strong>Tag</strong>s des<br />

Artefaktes enthalten sind, aussortiert. Diese einfache Art der Aussortierung ist nur unter der<br />

Annahme, dass eine nichtzutreffende <strong>Tag</strong>-Cloud-Bedingungen keine Folgen für ein Artefakt hat,<br />

möglich. Durch die beiden Selektionen bleiben <strong>von</strong> den gesamten Bedingungen nur noch die übrig,<br />

die sich auf dem aktuellen Szenario mit dem gegebenen Artefakt positiv auswerten lassen. Zum<br />

Schluss werden die Gewichtungen aller übriggebliebenen <strong>Tag</strong>-Cloud-Bedingungen aufsummiert.<br />

Die Gesamtsumme G ist 0≤G≤∣Zutreffende Bedingungen∣ , da die Summanden s , die<br />

nach (3) berechnet werden, 0


3 Interne Repräsentation <strong>von</strong> Artefakten<br />

eine mögliche logische Inkonsistenz. Der Nachteil dieser Bedingungsart ist die Abhängigkeit <strong>von</strong><br />

dem modellierten System. Je nach gewollter Systemeigenschaft kann eine Kausale-<strong>Tag</strong>-<br />

Bedingungen für ein System sinnvoll und für ein anderes völlig unsinnig sein (Beispiel 2). Wird die<br />

Bedingung aus Beispiel 2 unter der Subdomäne Online-Banking betrachtet, erscheint sie als<br />

sinnvoll. Als unsinnig erscheint sie hingegen, wenn die Subdomäne zum klassischen Bankwesen<br />

geändert wird. Die meisten, wenn nicht alle, deutschen Banken verlangen bei der Abgabe eines<br />

Überweisungsformulars keine Identifikation. Dennoch lässt sich eine Bank erdenken, in der vor der<br />

Abgabe eines Überweisungsformulars erst seine Identitätsüberprüfung stattfindet. Für diese Bank<br />

wäre diese Bedingung durchaus sinnvoll.<br />

Beispiel 1:<br />

Gegeben seien zwei <strong>Tag</strong>s Aktion@Anmelden und Aktion@Abmelden.<br />

Aus diesem <strong>Tag</strong>-Paar lassen sich die zwei Bedingungen, die aufgrund des kausalen<br />

Zusammenhangs der Wörter Anmelden und Abmelden entstehen, bilden. Bedingung 1 „Vor<br />

Aktion@Abmelden muss Aktion@Anmelden vorkommen“ besagt, dass eine Abmeldung nur dann<br />

logisch möglich ist, wenn sich zuvor auch angemeldet wurde. Die zweite Bedingung 2 „Nach<br />

Aktion@Anmelden muss Aktion@Abmelden kommen“ besagt, dass auf ein Anmelden ein<br />

Abmelden folgen muss.<br />

Beispiel 2:<br />

Gegeben seien zwei <strong>Tag</strong>s Aktion@Überweisen und Aktion@Anmelden und die Bedingung “Vor<br />

Aktion@Überweisen muss Aktion@Anmelden kommen“.<br />

4 Empfehlungssystem für die video-<strong>basierte</strong><br />

Anforderungserhebung<br />

4.1 Empfehlungsprozess<br />

Wie in 2.6 angedeutet kann ein Empfehlungssystem mit einem IR-System verglichen werden.<br />

Denn wie eine Suchmaschine soll auch das Empfehlungssystem aus einer Menge <strong>von</strong> Artefakten für<br />

das aktuelle Szenario relevante Artefakte heraussuchen. Dafür braucht das Empfehlungssystem eine<br />

Möglichkeit relevante <strong>von</strong> nicht relevanten Artefakten zu unterscheiden. Aufgrund der hohen<br />

Ähnlichkeit liegt der Einsatz eines Indizes nahe, der die Beziehungen zwischen den Artefakten<br />

abbildet.<br />

Für einen solche Index wird, neben den zu indizierenden Objekten, eine Methode benötigt, um für<br />

ein gegebenes Objekt relevante <strong>von</strong> nicht relevanten Objekten zu unterscheiden. Für die Wahl der<br />

zu indizierenden Objekte gibt es grundlegend zwei Möglichkeiten. Entweder werden die Artefakte<br />

direkt indiziert oder es werden die <strong>Tag</strong>s der Artefakte als Grundlage für den Index benutzt. Beide<br />

Vorgehensweisen würden den Zweck erfüllen. Dennoch ist eine Indizierung der <strong>Tag</strong>s vorteilhafter,<br />

da Artefakte, bestehend aus Ton und Bild, komplexe Gebilde darstellen, deren Indizierung einen<br />

höheren Aufwand darstellt, als eine Abstraktion des Inhaltes in Form <strong>von</strong> <strong>Tag</strong>s. Ich möchte hier<br />

nochmal darauf hinweisen, dass der Abstraktionsvorgang, auch <strong>Tag</strong>ging genannt, nicht Bestandteil<br />

dieser Arbeit ist. Diese Thematik wird in [19] behandelt.<br />

Seite 19 <strong>von</strong> 37


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

Der Empfehlungsprozess besteht <strong>im</strong> Grunde nur aus zwei Funktionen: Suchen und Sortieren<br />

(Abbildung 27). Als erstes werden die relevanten Kanten für ein gegebenes Artefakt aus dem<br />

aktuellen Domain-Indexes herausgesucht. Dann werden die gefundenen Kanten mit Hilfe des<br />

Relevanz-Ranking vorsortiert. Anschließend werden zu den sortierten Kanten passende Artefakte<br />

aus der Bibliothek herausgesucht. Zum Schluss werden alle gefundenen Artefakte mit Hilfe <strong>von</strong><br />

Ranking-Funktionen nachsortiert und in aufsteigender beziehungsweise absteigender Reihenfolge<br />

dem Benutzer als mögliche Empfehlungen präsentiert.<br />

1. Suche Kanten<br />

2. Sortiere Kanten 3. Suche Artefakte 4. Sortiere Artefakte<br />

Abbildung 27: Empfehlungsprozess<br />

4.1.1 Suche nach relevante Kanten<br />

Für die Suche nach relevanten Kanten in einem Domain-Index werden die Objekt- und Aktionstags<br />

eines Artefaktes benötigt, da nur diese Indiziert werden. Zu jedem Objekt- und Aktionstags des<br />

Artefaktes, für welches eine Empfehlung benötigt wird, wird der Graph nach korrespondierenden<br />

Knoten durchsucht und deren ausgehenden Kanten extrahiert. Die durch die Extraktion<br />

entstehenden Kantenmengen werden anschließend nach Kanten, die in mindestens α Mengen<br />

vorkommen, durchsucht und der relevanten Kantenmenge hinzugefügt. Durch die Wahl eine<br />

geeigneten α wird die relevante Kantenmenge nach unten beschränkt.<br />

Abbildung 15: Graph der aus der Kombination der drei Szenarien Abbildung 6, 14 und ein<br />

Szenario, das einen fehlerhaften Anmeldeversuch darstellt, entsteht<br />

Seite 20 <strong>von</strong> 37


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

Beispiel 1:<br />

Gegeben sei der Domain-Index aus Abbildung 15, der nach relevanten Kanten für drei verschiedene<br />

Artefakte durchsucht werden soll. Sei α=Anzahl Kantenmengen .<br />

Für das Artefakt B2, das Objekt@Hauptseite als einziges <strong>Tag</strong> besitzt, ist die relevante Kantenmenge<br />

{e2,e3}, die nur aus den ausgehenden Kanten des Knotens Objekt@Hauptseite besteht.<br />

Für das Artefakt B1 mit den <strong>Tag</strong>s Objekt@Login und Aktion@Anmelden sind die zwei<br />

Kantenmengen, die jeweils aus den ausgehenden Kanten e1 und e5 bestehen, relevant. Diese sind<br />

auch gleichzeitig die einzigen ausgehenden Kanten der Knoten Objekt@Login und<br />

Aktion@Anmelden.<br />

Für beide vorherigen Artefakte st<strong>im</strong>men die relevanten Kantenmengen mit den Kanten der Knoten,<br />

die die <strong>Tag</strong>s repräsentieren, genau überein. Dieses ist für das Artefakt B3 mit Objekt@Hauptseite,<br />

Objekt@Kontostand und Aktion@Abfragen nicht der Fall. Der Knoten Objekt@Hauptseite hat die<br />

ausgehenden Kanten {e2, e3}, Objekt@Kontostand hat {e3, e4} und der Knoten Aktion@Abfragen<br />

hat{e3}. Da nur die Kante e3 in allen Kantenmengen vorkommt und somit der Bedingung<br />

α=Anzahl Kantenmengen genügt, wird nur diese zu der Menge der relevanter Kanten für das<br />

Artefakt B3 hinzufügt.<br />

Bedenkt man, dass Artefakte durchaus mit un<strong>zur</strong>eichenden oder falschen <strong>Tag</strong>s getaggt sein können,<br />

ist die Wahl <strong>von</strong> α als Anzahl aller Kantenmengen nicht vorteilhaft, da dadurch potentielle<br />

Kanten und somit auch Artefakte für die Empfehlung entfallen. Vorteilhafter ist es<br />

1


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

sich mit steigendem β die Wahrscheinlichkeit, dass durch diese Kante ein für das gegebene<br />

Szenario relevantes Artefaktes gefunden wird. Durch den Einsatz der max<strong>im</strong>alen <strong>Tag</strong>-Abweichung<br />

kann der Wert für die untere Schranke als Anzahl Kantenmengen−β≤α≤ Anzahl Kantenmengen<br />

gewählt werden. Da Kanten, die in weniger als Anzahl Kantenmengen−β Kantenmengen<br />

vorkommen, bei der späteren Nachsortierung eine größere <strong>Tag</strong>-Abweichung als β aufweisen. Ich<br />

schlage 0≤β≤2 und α=Anzahl Kantenmengen−β vor. Dadurch werden Artefakte, die ein<br />

fehlerhaftes <strong>Tag</strong>ging aufweisen berücksichtigt.<br />

Zusammenfassend kann gesagt werden, dass eine Kante für ein gegebenes Artefakt relevant ist,<br />

wenn deren <strong>Tag</strong>-Cloud (Menge der <strong>Tag</strong>s der Start-Knoten aller gleich markierten Kanten) nicht um<br />

einen gegebenen Wert β <strong>von</strong> der <strong>Tag</strong>-Cloud der Objekt- und Aktionstags des gegebenen<br />

Artefaktes abweicht.<br />

4.1.2 Ranking der relevanten Kanten<br />

Ein Ranking der relevanten Kanten ist nur nötig, wenn die max<strong>im</strong>ale <strong>Tag</strong>-Abweichung β≥1 ist,<br />

weil dadurch die Menge an relevanten Kanten durch Kanten, die durch Artefakte, die dem<br />

gegebenen Artefakt ähnlich sind, erstellt wurden, erweitert wird. Je ähnlicher die <strong>Tag</strong>-Cloud der<br />

Kante der <strong>Tag</strong>-Cloud der Objekt- und Aktionstags des gegebenen Artefaktes ist, desto größer ist die<br />

Wahrscheinlichkeit, dass unter den Artefakten, die mit Hilfe dieser Kante gefunden wurden, das<br />

gesuchte Artfakt, mit dem ein gegebenes Szenario erweitert wird, ist. Somit ist es <strong>von</strong> Vorteil die<br />

Ähnlichkeit einer Kante zum gegebenen Artefakts zu beurteilen. Das Relevanz-Ranking soll ein<br />

mögliches <strong>Verfahren</strong> für die Bewertung der Ähnlichkeit darstellen.<br />

4.1.2.1 Relevanz-Ranking<br />

Das Relevanz-Ranking ist ein <strong>Verfahren</strong> basierend auf der Levenshtein-Distanz[6]. Es vergleicht<br />

zwei <strong>Tag</strong>-Clouds und berechnet, wie viele <strong>Tag</strong>s der einer <strong>Tag</strong>-Cloud hinzugefügt oder entfernt<br />

werden müssen, um daraus die zweite <strong>Tag</strong>-Cloud zu erstellen. Dabei werden zwei Fälle<br />

unterschieden. Entweder eine <strong>Tag</strong>-Cloud überdeckt die andere, dass heißt, dass die <strong>Tag</strong>s einer Cloud<br />

vollständig in der anderen enthalten sind, oder in beiden <strong>Tag</strong>-Clouds befinden sich <strong>Tag</strong>s, die nicht in<br />

der anderen <strong>Tag</strong>-Cloud vorkommen. Für beide Fälle werden unterschiedliche Ranking-Funktionen<br />

verwendet, weil das Fehlen <strong>von</strong> <strong>Tag</strong>s in einer der beiden Clouds, was durch das Vergessen eines<br />

<strong>Tag</strong>s bei einem Artefakt entsteht, als weniger gravierend angesehen wird als das Auftreten <strong>von</strong><br />

unterschiedlichen <strong>Tag</strong>s in beiden Clouds, das auf ein fehlerhaft getaggtes Artefakt hinweist.<br />

d =∣Artefakt<strong>Tag</strong>∪ Kanten<strong>Tag</strong>s∣−∣Artefakt<strong>Tag</strong>∩Kanten<strong>Tag</strong>s∣<br />

δ=∣( Artefakt<strong>Tag</strong>∪Kanten<strong>Tag</strong>s)∖( Artefakt<strong>Tag</strong>∩Kanten<strong>Tag</strong>s)∣<br />

t=∣Artefakt<strong>Tag</strong> ∖ Kanten<strong>Tag</strong>s∣<br />

r={11−2 d , für d≤β und δ=0<br />

9−2 t<br />

, für d≤β und 0


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

Beispiel 3:<br />

Gegeben sei der Domain-Index aus Beispiel 1 und die folgenden Artefakte mit ihren relevanten<br />

Kanten:<br />

Artefakt B2 mit Objekt@Hauptseite<br />

Artefakt B3 mit Objekt@Hauptseite, Objekt@Kontostand und<br />

Aktion@Abfragen<br />

Artefakt B6 mit Objekt@Kontostand und Aktion@Abmelden<br />

Relevante Kanten<br />

{e2,e3}<br />

{e2,e3,e4}<br />

{e1,e3,e4,e5}<br />

Berechnung des Relevanz-Ranking mit max<strong>im</strong>aler <strong>Tag</strong>-Abweichung β=2 und δ=1 .<br />

Kante e1 Kante e2 Kante e3 Kante e4 Kante e5<br />

Artefakt B2 - 10 7 - -<br />

Artefakt B3 - 7 10 9 -<br />

Artefakt B6 7 - 0 0 7<br />

Beispiel 3 zeigt die exemplarische Berechnung des Relevanz-Ranking für die drei verschiedenen<br />

Artefakte und derer relevanten Kanten. Kanten, deren Relevanz-Ranking r≤0 ist, werden aus der<br />

relevanten Kantenmenge, die für die Suche der Artefakten für die Empfehlungen benutzt wird,<br />

aussortiert. Für das Artefakt B6 aus Beispiel 3 reduziert sich die Kantenmenge auf {e1, e5}.<br />

4.1.3 Suche passender Artefakte<br />

Mit Hilfe der in Abschnitt 4.1.1 gefundenen Kantenmengen können zu den Kanten passende<br />

Artefakte gesucht werden. Dafür werden aus jeder Kante die <strong>Tag</strong>s der Zielknoten extrahiert und in<br />

Listen (<strong>im</strong> folgenden Such-Listen genannt) gesammelt. Jede Such-Liste stellt dabei mindestens ein<br />

mögliches Artefakt dar, mit dem das gegebene Szenario fortgesetzt werden kann. Anschließend<br />

werden Artefakte, die den Such-Listen genügen, aus der Bibliothek herausgesucht. Ein Artefakt<br />

genügt einer Such-Liste, wenn<br />

0=∣SuchListe∖ Artefakt<strong>Tag</strong>s∣ (5)<br />

ist. Aus den gefundenen Artefakten müssen noch diejenigen, deren Domäne-<strong>Tag</strong> nicht dem<br />

aktuellen Index entspricht aussortiert werden. Wie bei der Suche nach relevanten Kanten so ist es<br />

auch hier möglich die Bedingung (5) abzuschwächen. Ich rate jedoch<br />

0≤∣SuchListe∖ Artefakt<strong>Tag</strong>s∣


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

4.1.4 Ranking der relevanten Artefakte<br />

Die gefundenen Artefakte könnten jetzt direkt als Empfehlungen angezeigt werden. Jedoch lässt<br />

sich durch eine geschickte Platzierung der Artefakte der Suchaufwand für den Benutzer reduzieren.<br />

Die benutzte Funktion für das Ranking sollte aus mehreren Faktoren zusammengesetzt sein um eine<br />

möglichst gute Unterscheidung der Artefakte zu ermöglichen. Sie sollte die Relevanz der Kanten,<br />

mit der das Artefakt gefunden wurde und deren Kantenhäufigkeit berücksichtigen. Zusätzlich<br />

müssen die Auswirkungen der Bedingungen darin enthalten sein. Eine mögliche Funktion ist<br />

Sie enthält neben dem Relevanz-Ranking r<br />

pos=r∗(1+log(n))∗m∗b (7).<br />

, die Kantenanzahl n , einen Match-Faktor<br />

m= ∣SuchListe∩(ArtefaktObjekttags∪ArtefaktAktionstags)∣<br />

∣( ArtefaktObjekttags∪ ArtefaktAktionstags)∣<br />

der den Überdeckungsgrad des Artefaktes und der Such-Liste darstellt, sowie den Einflussfaktor<br />

b=1+∑ Bedingungen<br />

g (9),<br />

wobei g nach (3) berechnet wird. Je höher der pos -Wert eines Artefaktes <strong>im</strong> Vergleich zu den<br />

anderen ist, desto höher ist auch dessen Ranking.<br />

4.2 <strong>Tag</strong>-Austausch<br />

Besonders am Anfang der Anforderungserhebung bestehen die Szenarien nicht <strong>im</strong>mer aus reinen<br />

Video-Artefakten. Für einige Handlungen existieren vielleicht keine passenden Video-Artefakte in<br />

der Bibliothek. Fotos oder Skizzen können als Platzhalter für diese Artefakte dienen. Besteht das<br />

Bedürfnis diese dann <strong>im</strong> späteren Verlauf durch <strong>Videos</strong> zu ersetzten, bietet der <strong>Tag</strong>-Austausch eine<br />

schnellere Lösung als das manuelle Austauschen veralteter Artefakte. Insbesondere ist diese<br />

Methode bei <strong>Tag</strong>s der Klasse Subdomäne und Medientyp nützlich. Beispiel 1 befasst sich mit einem<br />

Austausch eines Platzhalters.<br />

Beispiel 1:<br />

Gegeben sei eine Bibliothek mit den folgenden vier Artefakten:<br />

Artefakt B1 mit den <strong>Tag</strong>s Subdomäne@Online-Banking, Objekt@Login, Aktion@Anmelden und<br />

Medientyp@Video<br />

Artefakt B2 mit Subdomäne@Online-Banking, Objekt@Hauptseite und Medientyp@Abbildung<br />

Artefakt B3 mit Subdomäne@Online-Banking, Objekt@Hauptseite, Objekt@Kontostand,<br />

Aktion@Abfragen und Medientyp@Abbildung<br />

Artefakt B3N mit Subdomäne@Online-Banking, Objekt@Hauptseite, Objekt@Kontostand,<br />

Aktion@Abfragen und Medientyp@Video.<br />

Das Ausgangsszenario sei Artefakt B1 gefolgt <strong>von</strong> Artefakt B2 und Artefakt B3.<br />

Das <strong>Tag</strong> Medientyp@Abbildung soll durch Medientyp@Video ersetzt werden. Durch den Ersatz<br />

entsteht das neue Szenario: Artefakt B1, Artefakt B2, Artefakt B4.<br />

(8),<br />

Seite 24 <strong>von</strong> 37


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

Abbildung 16: Szenario bestehend aus den Artefakten B1, B2 und B3<br />

Abbildung 17: Szenario bestehend aus den Artefakten B1, B2 und B4<br />

Beispiel 1 zeigt den Austausch <strong>von</strong> dem <strong>Tag</strong> Medientyp@Abbildung durch das <strong>Tag</strong><br />

Medientyp@Video. Die betroffenen Artefakte sind Artefakt B2 und Artefakt B3, da nur diese das <strong>Tag</strong><br />

Medientyp@Abbildung enthalten. Da die Artefakt-Bibliothek nur aus den vier Artefakten besteht,<br />

wurde für das Artefakt B2 kein passender Ersatz gefunden und somit wird dieses Artefakt nicht<br />

ausgetauscht. Für das Artefakt B3 existiert ein passender Ersatz in Form <strong>von</strong> Artefakt B3N und der<br />

Austausch wird durchgeführt. Analog zu diesem Vorgehen kann der Austausch <strong>von</strong> jedem <strong>im</strong><br />

Szenario vorhandenen <strong>Tag</strong> durchgeführt werden.<br />

Die Umsetzung des <strong>Tag</strong>-Austausch ähnelt der Suche nach Artefakten aus dem<br />

Empfehlungsprozesses (Abbildung 27). Es ist ein mehrstufiger Prozess. Aus jedem betroffenem<br />

Artefakt werden die <strong>Tag</strong>s extrahiert, das betreffende <strong>Tag</strong> ausgetauscht und in Listen gesammelt. Mit<br />

Hilfe dieser Listen werden in einem mehrstufigen <strong>Verfahren</strong> Artefakte aus der Bibliothek<br />

herausgesucht. Die erste Stufe sucht nach Artefakten, deren <strong>Tag</strong>s mit den <strong>Tag</strong>s in der Liste genau<br />

übereinst<strong>im</strong>men. Wird ein oder mehrere Artefakte gefunden, bricht der Vorgang ab und die<br />

gefundenen Artefakte werden als Vorschlag für den Austausch angezeigt. Die Wahrscheinlichkeit,<br />

das der Austausch ausgeführt wird ist groß. Wird kein passendes Artefakt gefunden, tritt die zweite<br />

Stufe des Prozesses ein. In diesem Teil wird nacheinander die Menge an <strong>Tag</strong>s aus der Liste, die <strong>im</strong><br />

Artefakt vorkommen müssen, reduziert, bis mindestens ein Artefakt gefunden wird. Wird mehr als<br />

ein Artefakt gefunden, muss die Abweichung der Artefakte <strong>von</strong> der Liste, die für die Suche benutzt<br />

wurde, best<strong>im</strong>mt werden. Dieses kann zum Beispiel durch die Berechnung der Levenshtein-<br />

Seite 25 <strong>von</strong> 37


4 Empfehlungssystem für die video-<strong>basierte</strong> Anforderungserhebung<br />

Distanz[6] geschehen. Zum Schluss werden dem Benutzer die Artefakte <strong>zur</strong> Auswahl angeboten, die<br />

die kleinste Distanz aufweisen. Dieser kann dann eines der vorgeschlagenen Artefakte für den<br />

Austausch wählen oder den Vorgang abbrechen.<br />

Beispiel 2:<br />

Gegeben sei eine Bibliothek mit den folgenden Artefakten:<br />

Artefakt B2 mit den <strong>Tag</strong>s Subdomäne@Online-Banking, Objekt@Hauptseite und<br />

Medientyp@Abbildung<br />

Artefakt B7 mit Subdomäne@Online-Banking, Objekt@Hauptseite und Medientyp@Skizze<br />

Artefakt B8 mit Subdomäne@Online-Banking, Objekt@Hauptseite, Aktion@Abmelden und<br />

Medientyp@Video<br />

Das <strong>Tag</strong> Medientyp@Abbildung <strong>im</strong> Artefakt B2 soll durch Medientyp@Video ausgetauscht werden.<br />

Die <strong>Tag</strong>s der Liste, für die Suche, sind Subdomäne@Online-Banking, Objekt@Hauptseite und<br />

Medientyp@Video. Da die Bibliothek kein Artefakt enthält, das genau mit diesen <strong>Tag</strong>s getaggt ist.<br />

Wird die Anzahl der <strong>Tag</strong>s, die <strong>im</strong> Artefakt vorkommen müssen, um eins reduziert. Dadurch genügen<br />

die Artefakte B7 und B8 der Such-Liste. Für das Artefakt B7 beträgt die Editier-Distanz eins, da<br />

lediglich das Label des Medientyp-<strong>Tag</strong>s geändert werden muss und für das Artefakt B8 beträgt die<br />

Editier-Distanz zwei. Somit wird das Artefakt B7 als möglicher Ersatz für das Artefakt B2<br />

vorgeschlagen.<br />

5 Umsetzung und Demonstration<br />

In diesem Kapitel wird die Auswirkung der Umsetzung des Konzeptes <strong>im</strong> Vision Catcher gezeigt.<br />

In Abschnitt 1 und 2 werden die Änderungen an der GUI vorgestellt. Abschnitt 3 stellt das<br />

Empfehlungssystem am Beispiel einer Überweisung mit verschiedenen TAN-<strong>Verfahren</strong> vor. Der<br />

<strong>Tag</strong>-Austausch wird in Abschnitt 3 demonstriert.<br />

5.1 Programmoberfläche<br />

Nach dem Start wird ein Projekt ausgewählt. Dabei wird entweder ein vorhandenes Projekt geladen<br />

oder ein neues durch die Angabe <strong>von</strong> Namen und gewünschter Domäne erstellt (Abbildung 3).<br />

Dieses kann durch das Schließen des Fensters abgebrochen werden. In dem Fall werden<br />

Standardwerte genommen, für den Projektnamen „Unknown“ und für die Domäne „newIndex“.<br />

Danach wird die gewohnte Programmoberfläche, die um einige neue Elemente erweitert wurde,<br />

angezeigt (Abbildung 5). In den oberen Toolbars befinden sich die Buttons für das Einblenden der<br />

Empfehlungen und den Aufruf der GUI für die Erstellung eines Indizes aus einer Menge an<br />

gespeicherten Projekten (Abbildung 4). Dabei können gleichzeitig Indizes zu verschiedenen<br />

Domänen erstellt werden. Diese kann auch dazu genutzt werden vorhandene Indizes zu erweitern.<br />

Indem die aus den ausgewählten Projekten entstehenden Indizes in die Vorhandenen integriert<br />

werden. Unten links befindet sich der Button für den <strong>Tag</strong>-Austausch.<br />

Seite 26 <strong>von</strong> 37


5 Umsetzung und Demonstration<br />

Abbildung 18: Programmstart Abfrage<br />

Abbildung 19: Index aus Projekten erstellen<br />

Seite 27 <strong>von</strong> 37


5 Umsetzung und Demonstration<br />

Abbildung 20: Die GUI des Vision Catcher mit einem Beispielszenario<br />

5.2 Artefakt-<strong>Tag</strong>ging<br />

Im GUI für die Änderung der <strong>Tag</strong>s eines Artefaktes ist es möglich <strong>Tag</strong>s nach ihren Klassen zu<br />

sortieren. Somit wird das Finden eines <strong>Tag</strong>s vereinfacht. Ist ein <strong>Tag</strong> nicht vorhanden, kann es wie<br />

gewohnt hinzugefügt werden. Dabei kann auf die Angabe der Klasse verzichtet werden, diese lässt<br />

sich in dem „Neues <strong>Tag</strong> hinzufügen“-Fenster auswählen. Bei Benutzung der <strong>Tag</strong>-Notation<br />

Klasse@<strong>Tag</strong>-Label, wird die angegebene Klasse in dem „Neues <strong>Tag</strong> hinzufügen“-Fenster<br />

automatisch ausgewählt. Wenn die angegebene Klasse nicht vorhandenen ist, wird die nächst<br />

ähnliche Klasse selektiert. Das „Neues <strong>Tag</strong> hinzufügen“-Fenster kann durch die Benutzung der<br />

internen Klassenbezeichner „domain“ für Domäne, „subdomain“ für Subdomäne, „object“ für<br />

Objekt, „action“ für Aktion und „type“ für Medientyp übersprungen werden.<br />

Seite 28 <strong>von</strong> 37


5 Umsetzung und Demonstration<br />

5.3 Empfehlungen<br />

Abbildung 21: Neues <strong>Tag</strong> zum Artefakt hinzufügen<br />

Abbildung 7 zeigt das Basisszenario, welches mindestens <strong>im</strong> Index abgebildet sein muss, damit die<br />

folgende Demonstration möglich ist. Es wird eine Überweisung <strong>im</strong> Szenario dargestellt. Das erste<br />

Artefakt zeigt ein Überweisungsformular, das zweite die TAN Eingabe mittels smsTAN und das<br />

dritte die <strong>im</strong> Erfolgsfall angezeigte Bestätigung. In Abbildung 8 wird das gleiche Szenario erstellt.<br />

Jedoch an Stelle <strong>von</strong> der smsTAN wird die chipTAN benutzt. Die Position des gesuchten Artefakte,<br />

kann je nach Größe und Form des benutzten Index und der Menge an Artefakten variieren. Wie in<br />

Abbildung 9 zu erkennen ist, gleicht das erstellte Szenario dem Basisszenario in dem ersten und<br />

letzten Artefakt. Das mittlere zeigt das chipTAN-<strong>Verfahren</strong><br />

Seite 29 <strong>von</strong> 37


5 Umsetzung und Demonstration<br />

Abbildung 22: Vergleichsszenario<br />

Abbildung 23: Ablauf einer Erstellung eines Szenario mit Hilfe der Empfehlungen<br />

Seite 30 <strong>von</strong> 37


5 Umsetzung und Demonstration<br />

Abbildung 23: Vergleich beider Szenarien. Erste Zeile Vergleichsszenario. Zweite Zeile<br />

Ergebnis-Szenario aus Abbildung 8<br />

5.4 <strong>Tag</strong>-Austausch<br />

Abbildung 10 zeigt die Auswahl der <strong>Tag</strong>s, die für den Austausch der Artefakte benutzt werden. Das<br />

erste <strong>Tag</strong> wird durch das zweite ausgetauscht. Dabei können nur <strong>Tag</strong>s, die der gleichen Klasse<br />

angehören mit einander getauscht werden. Im unteren Teil wird angezeigt, wie viele Artefakte das<br />

erste <strong>Tag</strong> enthalten und somit <strong>von</strong> dem Austausch betroffen sind. Abbildung 11 führt einen <strong>Tag</strong>-<br />

Austausch vor. Zu beachten ist, dass das <strong>von</strong> dem Austausch betroffene Artefakt nicht verloren geht.<br />

Abbildung 25: GUI des <strong>Tag</strong>-Austausches<br />

Seite 31 <strong>von</strong> 37


5 Umsetzung und Demonstration<br />

6 Fazit und Ausblick<br />

Abbildung 26: Ablauf <strong>Tag</strong>-Austausch<br />

Der Vision Catcher wurde für die video-<strong>basierte</strong> Anforderungserhebung nach [18] entwickelt und<br />

verfolgt den Ansatz aus [14], indem die benötigten <strong>Videos</strong>equenzen mit möglichst geringem<br />

Aufwand erstellt werden. Es wird versucht die Szenarien aus kleinen Videoeinheiten, die am besten<br />

schon in der Bibliothek vorhanden sind, zusammenzusetzen. Die daraus entstehenden<br />

<strong>Videos</strong>equenzen sind nicht konsistent, weil sie nicht an das gegebene Szenario angepasst sind.<br />

Jedoch reichen sie für eine grobe Beschreibung eines Systemmerkmals aus. Einer der Nachteile<br />

dieses Vorgehens ist die große Menge an Videoeinheiten, aus denen die für das Szenario benötigten<br />

herausgesucht werden müssen. Das vorgestellte Konzept versucht diesen Suchaufwand zu<br />

reduzieren, indem aus zuvor erstellten Szenarien bedingte Wahrscheinlichkeiten für das Auftreten<br />

<strong>von</strong> Artefakten, die die Videoeinheiten darstellen, berechnet und diese für eine automatische Suche<br />

nutzt. Wird ein Szenario erstellt, das einem oder mehreren zuvor erstellen Szenarien bis auf wenige<br />

Ausnahmen gleicht, so liefert der vorgestellte Empfehlungsprozess gute Empfehlungen und das<br />

gewünschte Artefakt, das für die Fortsetzung des Szenarios benutzt wird, ist mit hoher<br />

Wahrscheinlichkeit unter den Empfehlungen. Werden hingegen Szenarien erstellt, die keine<br />

Ähnlichkeit zu vorherigen aufweisen, ist der Empfehlungsprozess fehleranfällig und die<br />

Wahrscheinlichkeit wesentlich geringer, dass das gewünschte Artefakt unter den Empfehlungen ist.<br />

Die benutzten Parameter und Ranking-Funktionen bieten Ansatzpunkte für eine Verbesserung. Die<br />

gewählten Werte und Funktionen sind nur mögliche Varianten. Es existieren durchaus Versionen,<br />

die ein besseres Ergebnis liefern. Dieses kann in einer späteren Studie untersucht werden.<br />

Zusätzlich zu den Parametern und Ranking-Funktion können Verbesserungen an den<br />

Datenstrukturen untersucht werden. Es besteht die Möglichkeit das Indizierte Tupel (Artefakt,<br />

nachfolge Artefakt) durch ein Tripel (Vorgänger, Artefakt, Nachfolger) zu ersetzen. Das Tripel<br />

liefert mehr Informationen, die <strong>im</strong> Empfehlungsprozess genutzt werden können, um bessere<br />

Ergebnisse zu erzeugen.<br />

Von den zwei vorgestellten Bedingungen wurde nur die <strong>Tag</strong>-Cloud-Bedingungen umgesetzt, da die<br />

Seite 32 <strong>von</strong> 37


6 Fazit und Ausblick<br />

Bearbeitung der anderen den Zeitrahmen dieser Arbeit überschritten hätte. Neben den beiden gibt<br />

es, wie in Kapitel 3.2 angedeutet, weitere mögliche Bedingungsarten. Zum Beispiel kann die<br />

Struktur eines Szenarios eine mögliche Bedingungsart darstellen. Strukturen wie zum Beispiel<br />

„Situation, Aktion, Situation“ treten häufig in den <strong>Videos</strong>equenzen auf. Diese können als eine<br />

Kombination <strong>von</strong> <strong>Tag</strong>-Klassen ausgedrückt werden. Für die Struktur „Situation, Aktion, Situation“<br />

entspricht es zum Beispiel „keine Aktion, Aktion, keine Aktion“, da nur Artefakte, die ein <strong>Tag</strong> der<br />

Klasse Aktion enthalten eine Aktion darstellen. Welchem Zweck diese und weitere Bedingungsarten<br />

dienen können, muss in einer weiteren Arbeit geklärt werden.<br />

Zudem kann untersucht werden, ob die gewonnenen Informationen aus dem Domain-Index und den<br />

Bedingungen für weitere Funktionen einsetzbar sind. Die Validierung <strong>von</strong> UseCase-Diagrammen ist<br />

eine mögliche Anwendung.<br />

Zu guter Letzt sollte die Darstellung der Artefakte in der GUI überarbeitet werden. Besitzt ein<br />

Artefakt mehr als fünf <strong>Tag</strong>s, ist die Darstellung als eine durch Kommata separierte Liste der <strong>Tag</strong>-<br />

Labels unpraktisch. Der Vergleich der einzelnen <strong>Tag</strong>s fällt schwer.<br />

Seite 33 <strong>von</strong> 37


A Literatur Verzeichnis<br />

A Literatur Verzeichnis<br />

[1] Haesen, M., Luyten, K., & Coninx, K. (2009): Get your Requirements Straight?:<br />

Storyboarding Revisited. Human-Computer Interaction – INTERACT 2009, 12th IFIP TC<br />

13 International Conference, Uppsala, Sweden, August 24-28, 2009, Proceedings, Part II ,<br />

ISBN: 978-3-642-03658-3, Seite 546-549<br />

[2] Bruegge, B., Creighton, O., Reiß, M., & Stangl, H.(2008): Applying a Video-based<br />

Requirements Engineering Technique to an Airport Scenario. 2008 Third International<br />

Workshop on Mult<strong>im</strong>edia and Enjoyable Requirements Engineering - Beyond Mere<br />

Descriptions and with More Fun and Games (pp. 9–11). IEEE. doi:10.1109/MERE.2008.2<br />

[3] Toderici, G., Aradhye, H., Sbaiz, L. Yagnik, J., & Pasca, M. (2010): Finding meaning on<br />

youtube: <strong>Tag</strong> recommendation and category discovery. Computer Vision and Pattern<br />

Recognition, Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5539985<br />

[4] Creighton, O., Ott, M., & Bruegge, B. (2006): Software Cinema-Video-based Requirements<br />

Engineering. 14th IEEE International Requirements Engineering Conference (RE’06) (pp.<br />

109–118). IEEE. doi:10.1109/RE.2006.59<br />

[5] Machill, M. & Beiler M. (2007): Die Macht der Suchmaschinen / The Power of Search<br />

Engines . Köln: Herbert <strong>von</strong> Halem Verlag, ISBN 3-938258-33-0<br />

[6] Wikipedia: Levenshtein-Distanz. http://de.wikipedia.org/wiki/Levenshtein-Distanz<br />

(Zugriffsdatum: 02.10.2012)<br />

[7] Christopher D. Manning, P. R. and H. S. (2008). Introduction to Information Retrieval.<br />

Cambridge University Press, ISBN 0-521865-71-9 Retrieved from http://wwwnlp.stanford.edu/IR-book/<br />

[8] http://tomgruber.org/writing/ontology-definition-2007.htm (Zugriffsdatum: 02.10.2012)<br />

[9] Kitzmann, I. (2009). Konzept und Implementierung eines Werkzeugs für mult<strong>im</strong>ediale.<br />

http://www.se.uni-hannover.de/pub/File/pdfpapers/Kitzmann2009.pdf (Zugriffsdatum:<br />

02.10.2012)<br />

[10] Wikipedia: <strong>Tag</strong>(metadata). http://en.wikipedia.org/wiki/<strong>Tag</strong>_%28metadata%29<br />

(Zugriffsdatum: 02.10.2012)<br />

[11] Stefer A. (2007): Diskrete Strukturen 1. Kombinatorik, Graphentheorie, Algebra.<br />

Kapitel 2.5 p92 ISBN 978-3-540-46660-4<br />

[12] Vince Vizzaccaro: Google - Global Market Share on.<br />

http://marketshare.hitslink.com/report.aspx?qprid=5&qpcustom=Google%20-<br />

%20Global&qpt<strong>im</strong>eframe=M&qpsp=145&qpnp=25 (Zugriffsdatum: 02.10.2012)<br />

[13] Fenzi, M., Dragon, R., Leal-Taixé L., Rosenhahn, B., & Ostermann, J. (2012): 3D<br />

Object Recognition and Pose Est<strong>im</strong>ation for Multiple Objects using Multi-Prioritized<br />

RANSAC and Model Updating. 34th Annual Symposium of the German Association for<br />

Pattern Recognition (DAGM)<br />

[14] Brill, O., Schneider, K., Knauss, E.:<strong>Videos</strong> vs. Use Cases: Can <strong>Videos</strong> Capture More<br />

Requirements Under T<strong>im</strong>e Pressure?. Roel Wieringa and Anne Persson, Proceedings of the<br />

16th International Working Conference on Requirements Engineering: Foundation for<br />

Seite 34 <strong>von</strong> 37


A Literatur Verzeichnis<br />

Software Quality (REFSQ '10), volume 6182 of LNCS, pages 30-44, Essen, Germany.<br />

Springer, 2010<br />

[15] Schneider, K.: Anforderungsklärung mit Videoclips, In Proceedings of Software<br />

Engineering 2010, Paderborn, Germany, 2010<br />

[16] Knauss, Eric und Boustani, Christian E. und Flohr, Thomas: Investigating the Impact<br />

of Software Requirements Specification Quality on Project Success. In: Bo- marius (Hrsg.)<br />

und Oivo (Hrsg.) und Jaring, P¨<br />

[17] Kamata, Mayumi I. und Tamai, Tetsuo: How Does Requirements Quality Relate to<br />

Project Success or Failure? In: 15th IEEE International Requirements Engineering<br />

Conference, 2007. RE ’07 (2007), Oct., S. 69–78. http://dx.doi.org/10.1109/ RE.2007.31. –<br />

DOI 10.1109/RE.2007.31. – ISSN 1090–705X<br />

[18] Raphael Pham, Sebastian Meyer, Ingo Kitzmann, Kurt Schneider: Interactive<br />

Mult<strong>im</strong>edia Storyboard for Facilitating Stakeholder Interaction, In Proceedings of the 8th<br />

International Conference on the Quality of Information and Communications Technology<br />

(QUATIC 2012), 2012<br />

[19] Gary Geisler and Sam Burns. 2007. <strong>Tag</strong>ging video: conventions and strategies of the<br />

YouTube community. In Proceedings of the 7th ACM/IEEE-CS joint conference on Digital<br />

libraries (JCDL '07). ACM, New York, NY, USA, 480-480. DOI=10.1145/1255175.1255279<br />

http://doi.acm.org/10.1145/1255175.1255279<br />

[20] Mark Melenhorst, Marjan Grootveld, Mark van Setten, and Mettina Veenstra. 2008.<br />

<strong>Tag</strong>-based information retrieval of video content. In Proceedings of the 1st international<br />

conference on Designing interactive user experiences for TV and video (UXTV '08). ACM,<br />

New York, NY, USA, 31-40. DOI=10.1145/1453805.1453813<br />

http://doi.acm.org/10.1145/1453805.1453813<br />

B Abbildungsverzeichnis<br />

1 Die GUI des Vision Catcher mit einem Beispielszenario vor der Modifikation 6<br />

2 Aufwand <strong>von</strong> Empfehlungssystemen bei verschiedenen Trefferwahrscheinlichkeit 11<br />

3 Szenario bestehend aus den Artefakten A1 und B2 12<br />

4 Graph zu dem Szenario in Abbildung 3 12<br />

5 aus Abbildung 4 nach hinzufügen <strong>von</strong> dem Szenario aus Abbildung 3 13<br />

6 Szenario bestehend aus den Artefakten B1 und B2 13<br />

7 Graph zu dem Szenario in Abbildung 6 mit Kantenmarkierung 13<br />

8 Szenario bestehend aus den Artefakten B1, B2 und B3 vor Modifikation 14<br />

9 Graph aus Abbildung 7 zu dem das Szenario in Abbildung 8 hinzugefügt wurde 14<br />

10 Szenario in Abbildung 8 nach Modifikation bestehend aus den Artefakten B1, B4<br />

und B3<br />

11 Graph aus Abbildung 9 nach dem Austausch <strong>von</strong> Artefakt B3 durch B4 15<br />

12 Szenario bestehend aus den Artefakten B1, B4 und B3 15<br />

13 Graph aus Abbildung 11 nach der Modifikation in Abbildung 12 15<br />

14<br />

Seite 35 <strong>von</strong> 37


B Abbildungsverzeichnis<br />

14 Szenario bestehend aus den Artefakten B1A, B2A und B3A 16<br />

15 Graph der aus der Kombination der drei Szenarien Abbildung 6, 14 und ein<br />

Szenario, das einen fehlerhaften Anmeldeversuch darstellt, entsteht<br />

16 Szenario bestehend aus den Artefakten B1, B2 und B3 25<br />

17 Szenario bestehend aus den Artefakten B1, B2 und B4 25<br />

18 Programmstart Abfrage 27<br />

19 Index aus Projekten erstellen 27<br />

20 Die GUI des Vision Catcher mit einem Beispielszenario 28<br />

21 Neues <strong>Tag</strong> zum Artefakt hinzufügen 29<br />

22 Vergleichsszenario 30<br />

23 Ablauf einer Erstellung eines Szenario mit Hilfe der Empfehlungen 30<br />

24 Vergleich beider Szenarien 31<br />

25 GUI des <strong>Tag</strong>-Austausches 31<br />

26 Ablauf <strong>Tag</strong>-Austausch 32<br />

27 Empfehlungsprozess 20<br />

20<br />

C Inhalt der CD<br />

Der Bachelorarbeit liegt eine CD bei, die folgende Daten enthält:<br />

• Eine Version dieser Ausarbeitung <strong>im</strong> PDF-Format<br />

• Quellcode der Implementierung als Visual Studio Projekt<br />

• Eine Artefakt-Bibliothek mit Beispielartefakten<br />

• Ein Beispiel Domain-Index für die Domäne Banking<br />

• Das in der Arbeit verwendete Beispiel Projekt<br />

Seite 36 <strong>von</strong> 37


Erklärung<br />

Hiermit versichere ich, dass ich die vorliegende Arbeit und die dazugehörige Implementierung<br />

selbständig und ohne fremde Hilfe verfasst und keine anderen als die in der Arbeit angegebenen<br />

Quellen und Hilfsmittel verwendet habe.<br />

Hannover, 04. Oktober 2012<br />

Michael Gaier

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!