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 ...
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