Fakultät II: Department für Informatik Projektgruppe 2011/2012 Qualitätsbericht Version 1.0 Betreuer: Prof. Dr. Andreas Winter M.Sc. Jan Jelschen Tore Bierwirth Christoph Gerken Marion Gottschalk Mitglieder: Sieglinde Hahn Maxim Klimenko Björn Wol Christian Wübbeling Oldenburg, den 30. September 2012
Inhaltsverzeichnis Inhaltsverzeichnis 1. Einleitung 1 1.1. Überblick.......................................... 1 2. Qualitätsanforderungen 2 2.1. Zuverlässigkeit....................................... 2 2.2. Sicherheit.......................................... 2 2.3. Wartbarkeit......................................... 3 2.4. Erlernbarkeit........................................ 3 3. Leistungsanforderungen 4 4. Bewertung des Einsatz des Clusters 5 A. Abbildungsverzeichnis 7 B. Literaturverzeichnis 8 C. Glossar 9 i
1. Einleitung 1. Einleitung Autor: Tore Bierwirth, Marion Gottschalk Zum Abschluss des Projektes ist es wichtig zu wissen, ob die zuvor im Pichtenheft denierten Qualitätsanforderungen erfüllt sind. Falls Anforderungen nicht erfüllt wurden, soll beschrieben werden, welche Ursachen dafür identiziert werden können. Dieses Dokument soll somit dazu dienen, die nichtfunktionalen Anforderungen, welche an PlagTag erhoben wurden, nochmals darzustellen. Dabei werden sowohl die Anforderungen des Anwenders als auch die des Entwicklers berücksichtigen. Zeitgleich wird aufgezeigt, welche Anforderungen umgesetzt werden konnten und in welchem Umfang dies geschehen ist. Dies bezieht neben den Qualitätsanforderungen auch die Leistungsanforderungen mit ein. Einer der wichtigsten Leistungsanforderungen von PlagTag ist das Erkennung von 25% der verizierten Plagiate der Dissertation von zu Guttenberg, welche auf der Website von GuttenPlag [Div11] dokumentiert sind. In welchem Ausmaÿ die von PlagTag gefundenen Plagiate mit denen von GuttenPlag übereinstimmen und ob die zuvor denierte Menge an Übereinstimmung gefunden wird, wird ebenfalls in diesem Dokument festgehalten. 1.1. Überblick Zu Beginn wird die Erfüllung der nichtfunktionalen Anforderungen in Abschnitt 3 dargestellt, diese sind nach der gleichen Struktur wie die Qualitätsanforderungen im Pichtenheft aufgebaut. Darauolgend wird in Abschnitt 2 beschrieben, ob die Zielsetzung bezüglich der denierten Anzahl an Plagiaten, gegenüber den von GuttenPlag gefunden, erreicht werden konnte. Abschlieÿend wird in Abschnitt 4 darauf eingegangen, ob die Anbindung an den hochschuleigenen HPC-Cluster eine Verringerung der Zeit bei der Plagiatsüberprüfung im Vergleich zur benötigten Zeit ohne Cluster erreicht wird. 1
2. Qualitätsanforderungen 2. Qualitätsanforderungen Autor: Tore Bierwirth Im Folgenden werden die Qualitätsanforderungen, gemäÿ ihrer Art unterteilt, dargestellt und beschrieben, in welchem Umfang eine Erfüllung dieser Anforderungen realisiert werden konnte. Die Reihenfolge der Anforderungen orientiert sich hierbei an der des Pichtenhefts. Welche Aspekte die einzelnen Arten im Detail betrachten, kann im entsprechenden Abschnitt des Pichtenhefts nachvollzogen werden. 2.1. Zuverlässigkeit Die Anforderung Q010, welche besagt, dass im Fehlerfall Fehlermeldungen ausgegeben werden müssen, wurde auf unterschiedliche Arten realisiert. Auf Benutzerebene werden während der Eingabe von Daten dem Anwender Meldungen angezeigt, sofern seine getätigten Eingaben fehlerhaft sind. Auf Entwicklerebene besteht die Möglichkeit fehlerhafte Vorgänge, wie beispielsweise den Absturz einer Komponente oder fehlerhafte Rückgaben dieser über eine LogDatei nachzuvollziehen, welche in der Datenhaltung gespeichert werden. Hierzu wurden unterschiedliche LogLevel deniert, welche die Schwere des Fehlers wiedergeben. Auftretende Fehler werden unterteilt in: Fatal, Error, Warn, Info, Debug und Trace. Die Bedeutung der einzelnen FehlerLevel wurden im Wiki der PG dokumentiert und können dort nachvollzogen werden 1. Anforderung Q020, welche festlegt, dass korrekt zitierte Textpassagen nicht als Plagiat erkannt werden dürfen, konnte nicht als automatisierter Ablauf realisiert werden. Der Hauptgrund hierfür ist, dass es, aufgrund mangelnder Ressourcen, nicht möglich war die verwendete Zitiertechnik zu erkennen und entsprechend daraufhin die zitierten Textpassagen zu verizieren. Um aber dennoch keine fälschlicherweise als Plagiat erkannten Textpassagen (False Positive) im Ergebnisdokument zu erhalten, wurde eine Funktionalität implementiert, welche es dem Anwender erlaubt, am Ende der Überprüfung, gefundene Plagiatsverdachtsstellen selber zu verizieren. Die Möglichkeit False Negatives, also Textpassagen die Plagiate sind, aber nicht als solche erkannt wurden, am Ende einer Überprüfung manuell hinzuzufügen wird von PlagTag jedoch nicht unterstützt. 2.2. Sicherheit Mit der Anforderung Q030 personenbezogene Daten zum Autor des Plagiatskandidaten müssen anonymisiert werden, wurde so verfahren, dass dem Anwender, nach dem Hochladen des Plagiatskandidaten und der Referenzdaten, die Option angeboten wird die Autoren der Dokumente einzutragen. Wurden die Eingaben vom Anwender getätigt, so werden im folgenden Verlauf der Plagiatsüberprüfung keine personenbezogenen Daten an Dritte übermittelt (bspw. als Suchbegri für die Internetrecherche). Die Anforderungen Q040 und Q050, welche sich auf die Entfernung der Referenzdaten und Plagiatskandidaten nach der Plagiatsüberprüfung beziehen, wurden erfüllt. Zum einen werden die Dokumente aus der Datenhaltung entfernt, sobald der Anwender, nach Abschluss der Plagiatsüberprüfung, sich das zugehörige PDFDokument erstellen lässt. Um vorzubeugen, dass Dokumente dauerhaft vorgehalten werden, obwohl die Plagiatsüberprüfung abgeschlossen wurde, wurde eine automatisierte Bereinigung der Daten implementiert. Die automatisierte Bereinigung der Daten tritt nach Ablauf einer zuvor denierten Zeitspanne in Aktion, welche nach Abschluss der Plagiatsüberprüfung beginnt. 1 Wiki der PG: http://sehome.informatik.uni-oldenburg.de:8080 2
2.3. Wartbarkeit Wie die Sicherheitsanforderung zuvor wurde auch die Anforderung Q060 aus Datenschutzgründen erhoben. Diese besagt, dass der Zugri auf Dokumente innerhalb von PlagTag auf die Person beschränkt sein muss, welche diese bereitgestellt hat. Anforderung Q060 wurde mittels einer Zugriskontrolle realisiert, welche vor erstmaliger Benutzung von PlagTag der jeweiligen Person eine Registrierung dieser voraussetzt. Für die Registrierung benötigte Daten sind der Vor-/ Nachname, Benutzername, Passwort und die E-Mail-Adresse. Die anwenderbezogenen Daten werden mit den gestarteten Plagiatsüberprüfungen verknüpft, sodass eine eindeutige Zuordnung der entsprechenden Plagiatsüberprüfungen zum Anwender möglich ist. 2.3. Wartbarkeit Anforderung Q070, welche besagt, dass parallel zu der Entwicklung benötigte Dokumente erstellt werden sollen, wurde dadurch erfüllt, dass nach den einzelnen Inkrementen dokumentiert wurde, was sich von Version zu Version verändert hat. Das ein Entwicklerhandbuch erstellt werden muss, wurde in Anforderung Q080 deniert. Innerhalb der PG wurde kein Entwicklerhandbuch erstellt, was daran liegt, dass stattdessen ein Wartungshandbuch entworfen wurde. Dieses gibt u.a. Aufschluss darüber, wie die entwickelten Komponenten zu administrieren sind und welche Änderungsmöglichkeiten diese im einzelnen zur Verfügung stellen. 2.4. Erlernbarkeit Um neuen Anwendern den Einstieg in die Nutzung von PlagTag zu erleichtern, wurde die Anforderung Q090 deniert, welche besagt, dass ein Benutzerhandbuch erstellt werden soll. Neben dem Erstellen eines solchen Handbuchs und somit der Erfüllung der Anforderung wurden auch Schulungsunterlagen zusammengestellt, welche in Form eines Tutorials dem Anwender durch PlagTag führen soll und dem Anwender somit praxisbezogen den Funktionsumfang von PlagTag aufzeigt. Usability-Tests welche durch die Anforderung Q100 gefordert wurden, um die Benutzerfreundlichkeit zu gewährleisten, wurden durch Gruppenmitglieder durchgeführt. Hierbei aufgetretene Unstimmigkeiten wurden den Entwicklern mitgeteilt und entsprechend in einem Testdokument vermerkt. 3
3. Leistungsanforderungen 3. Leistungsanforderungen Autor: Tore Bierwirth Um die Arbeit der PG messbar zu gestalten, wurden mit den Leistungsanforderungen Ziele deniert, welche Aufschluss darüber geben, ob die PG die Aufgabenstellung erfolgreich umgesetzt hat. Das Ziel bestand darin mindestens 25% aller Plagiate der im Wiki GuttenPlag doppelt gesichteten Seiten der GuttenbergDissertation zu erkennen (L030). Um diesen Vergleich später treen zu können, sollen PlagTag die gleichen Quellen zu Grunde gelegt werden (L020), wie sie auf GuttenPlag [Div11] vorhanden waren. Da es aufgrund mangelnder Ressourcen nicht möglich war alle durch PlagTag gefundenen Plagiate der Dissertation auf Übereinstimmung mit den von GuttenPlag gefunden Plagiatsstellen zu überprüfen, wurden mehrere Abschnitte stichprobenartig untersucht. Zu diesem Zweck wurden drei Textpassagen stichprobenartig ausgewählt und die durch PlagTag erzielten Ergebnisse mit denen von GuttenPlag abgeglichen. Die Testergebnisse sehen wie folgt aus: Test eins, mit einem Umfang von 2 Seiten, ergab eine Übereinstimmung von 37,50% Test zwei umfasste 24 Seiten und übertraf den zuvor denierten Wert um knapp 50% und erreicht somit einen Wert 73,74% Test drei, welche aus 4 Seiten bestand, ergab eine Übereinstimmung von 54,55% Die für die Stichproben verwendeten Textpassagen, sowie die zugehörigen Referenzdokumente wurden im Subversion-Repository der PG hinterlegt, um eine Wiederholung der Tests zu ermöglichen. Beim Abgleich der Ergebnisse hat sich herausgestellt, dass die meisten Plagiate, welche in Gutten- Plag notiert wurden, auch von PlagTag aufgedeckt werden konnten. Zum Teil gelang es PlagTag sogar Textpassagen als Plagiate zu erkennen, welche in GuttenPlag nicht aufgelistet wurden. Weiter ist aufgefallen, dass sich die meisten durch GuttenPlag, aber nicht durch PlagTag gefundenen Plagiate in Fuÿnoten befunden haben. 4
4. Bewertung des Einsatz des Clusters 4. Bewertung des Einsatz des Clusters Autor: Tore Bierwirth Nachdem eine Anbindung an den HPC-Cluster erfolgt ist, stellt sich nun die Frage, ob die Auslagerung der Plagiatserkennung auf diesen eine Zeitersparnis zur Folge hat. Als Testgrundlage wurde hier die komplette GuttenbergDissertation verwendet und ausschlieÿlich die Zeit der Plagiatserkennung betrachtet. Ohne HPC-Cluster wurde eine Zeit von 9h25min benötigt. Durch den Einsatz des HPC-Clusters wurde nur noch eine Zeit von 1h45min benötigt, was einer Verringerung von 7h40min entspricht. Somit zahlt sich die Verwendung des HPC-Clusters bei groÿen Plagiatskandidaten mit vielen groÿen Referenzdokumente aus. Über die Fälle wenige kleine, wenige groÿe und viele groÿe Dokumente lässt sich aufgrund von fehlenden Tests nur spekulieren. Eine Verteilung gemäÿ Abbildung 1 wäre jedoch erklärbar. Abbildung 1: Wahl der Überprüfungsart Das eine lokale Berechnung des linken unteren Falls der Abbildung 1 weniger Zeit beanspruchen würde, als eine Berechnung auf dem HPC-Cluster, lässt sich dadurch erklären, dass die Übertragung der Daten über den SSH-Tunnel, sowie der Verteilung der Jobs auf die Nodes des HPC-Clusters (auf Grundlage von Tests 10 30sek) und das abschlieÿende Zusammenfügen der Ergebnisse nach der Plagiatserkennung deutlich mehr Zeit in Anspruch nehmen würde, als dies bei einer lokale Berechnung der Fall wäre. Für den Fall viele kleine Dokumente ist anzunehmen, dass auf Grund der auf dem HPC-Cluster möglichen Parallelisierung die benötigte Übertragungszeit der Daten, sowie die Wartezeit auf die Annahme der Jobs durch die Nodes, kompensiert werden kann und daher die Berechnung mittels des HPC-Clusters schneller abläuft, als dies bei einer sequentiellen Plagiatsüberprüfung der einzelnen Dokumente lokal stattnden würde. Der obere rechte Fall der Abbildung 1 wurde bereits mittels der GuttenbergDissertation belegt. Bleibt Abschlieÿend noch der obere linke Fall, wenige groÿe Dokumente, zu betrachten. Hier ist eine Durchführung mittels Cluster anzuraten. Der Grund hierfür ist, dass die Leistung des Clusters 5
4. Bewertung des Einsatz des Clusters höher ist, als die einer lokalen Rechenmaschine, und so die durchzuführenden Überprüfungen der Textpassagen deutlich schneller abzuwickeln sind. Die höhere Leistung und die dadurch schnelle Überprüfung sollte die Zeit, welche benötigt wird um die Daten auf den Cluster zu übertragen, kompensieren. Bei dieser Fallbetrachtung ist jedoch zu beachten, dass die Auslastung des HPC-Clusters nicht berücksichtigt wird. Durch eine hohe Auslastung könnte sich die Wahl der zu nutzenden Überprüfungsart zugunsten der lokalen Variante verschieben. 6
A. Abbildungsverzeichnis A. Abbildungsverzeichnis 1. Wahl der Überprüfungsart................................. 5 7
B. Literaturverzeichnis B. Literaturverzeichnis [BBK01] Back, A. ; Becker, J. ; König, W. ; Stürken, M. (Hrsg.): Lexikon der Wirtschaftsinformatik. Springer, 2001 [CSFP] [Div11] [GB09] [pdf] Collins-Sussman, B. ; Fitzpatrick, B. W. ; Pilato, M.: Version Control with Subversion. http://svnbook.red-bean.com/. Letzter Zugri am 08.08.2012 Diverse: GuttenPlag Blog. online. http://de.guttenplag.wikia.com/wiki/guttenpl ag_wiki. Version: 2011 Grechenig, Thomas ; Bernhart, Mario: Softwaretechnik: Mit Fallbeispielen aus realen Entwicklungsprojekten. Pearson, 2009 ; TechTerms (Veranst.): PDF. http://www.techterms.com/definition/pdf. Letzter Zugri am 08.08.2012 [ssh] ; Elektronik Kompendium (Veranst.): SSH - Secure Shell. http://www.elektronikkompendium.de/sites/net/0906061.htm. Letzter Zugri am 08.08.2012 8
C. Glossar C. Glossar Datenhaltung Die Datenhaltung dient für die Anbindung an eine Datenbank, wobei noch nicht entschieden wurde, welche Datenbank verwendet werden soll. Ergebnisdokument Das Ergebnisdokument speichert als Prüfbericht die Informationen aus der Plagiatsüberprüfung eines Plagiatskandidaten. Zu den Informationen gehören: Anzahl der Plagiate, wo wurden die Plagiate gefunden und welche Referenzdaten bzw. Internetquellen wurden plagiiert. Erkennungs-Algorithmen Die Erkennungs-Algorithmen sind Algorithmen zur Erkennung von Plagiate. Diese sind derzeit noch nicht bestimmt. False Positive Ein False Positive ist in dieser Anwendung ein erkanntes Plagiat, welches aber in Wirklichkeit keins ist, da es korrekt zitiert wurde. HPC-Cluster Ein High Performance Computing Cluster (HPC Cluster oder vereinfacht Cluster) stellt ein Synonym für einen Höchstleistungsrechner dar, der verteilt komplexe Aufgaben bewältigt. Internetquelle Die Internetquellen werden durch eine automatische Internetrecherche durch Plag- Tag gefunden. Dabei soll PlagTag Webseiten nden, die durch den Ersteller des Plagiatskandidat plagiiert wurden. Internetrecherche Die Internetrecherche ist eine Komponente der Anwendung PlagTag. Diese dient dem Finden von Referenzdaten im Internet. Komponente Eine Komponente (hier: Software-Komponente) ist ein Software-Element, das konform zu einem Komponentenmodell (z.b. aus der UML) ist und über Schnittstellen mit anderen Komponenten verknüpft und ausgeführt werden kann. Komponentenbasierte Software wird z.b. mittels Web-Services, CORBA, Enterprise Java Beans (EJBs) oder COM entwickelt. PDF Das Portable Document Format (PDF) ist ein plattformunabhängiges Dateiformat für Dokumente, das vom Unternehmen Adobe Systems entwickelt und 1993 veröentlicht wurde. Ziel ist die originalgetreue Wiedergabe auf allen Plattformen [pdf]. Plagiatserkennung Die Plagiatserkennung meint das Ausführen der Erkennungs-Algorithmen auf einen Computer, um Plagiate zu identizieren. PlagTag PlagTag ist der Name der Plagiatserkennungssoftware. Plagiat Ein Plagiat liegt dann vor, wenn jemand vorgibt, ein Werk selbst erstellt zu haben, obwohl die Inhalte ganz oder teilweise aus fremden Quellen stammen, die falsch oder unvollständig zitiert wurden. Je nachdem wie die Zitiertechnik falsch verwendet wurde, lassen sich die Plagiate zusätzlich genauer kategorisieren Je nachdem wie die Zitiertechnik falsch verwendet wurde, lassen sich die Plagiate zusätzlich genauer kategorisieren. Es existieren vielfältige Formen geistiger Leistung, z.b. Texte, Bilder oder Videos. Plagiatskandidat Ein Plagiatskandidat ist ein Dokument, welches vom Anwender in das System eingefügt und dort auf Plagiate überprüft wird. Plagiatsüberprüfung Die Plagiatsüberprüfung beschreibt das Vorgehen in PlagTag, welches den gesamten Ablauf der Anwendung ab dem Anlegen einer Überprüfung vom Anwender bis zur Ausgabe des Ergebnisses der Überprüfung meint. 9
Glossar Referenzdaten Die Referenzdaten sind der Sammelbegri für Referenzdokumente und Internetquellen. Referenzdokument Die Referenzdokumente sind die Dokumente, welche durch den Anwender zusätzlich neben dem Plagiatskandidat in das System eingefügt werden, um genau diese Dokumente mit dem Plagiatskandidat zu vergleichen. SSH SSH ist die Abkürzung für Secure Shell. Es bezeichnet ein Netzwerkprotokoll sowie verschiedene Programme, mit denen man eine verschlüsselte Netzwerkverbindung zwischen mehreren Rechnern aufbauen kann. Dieses Protokoll kommt primär in der Administration von UNIXbasierten Computern zum Einsatz [ssh]. Subversion-Repository Subversion ist eine Software zur Versionsverwaltung von Dokumenten und Programmen [CSFP]. Repository beschreibt das Verzeichnis, in dem Dokumente und Programme mit zusätzlichen Metadaten gespeichert werden, um eine Versionverwaltung zu ermöglichen [BBK01]. System Wird der System-Begri ohne explizite Einschränkungen verwendet, so bezieht sich dieser immer auf das im Projekt zu entwickelnde Gesamtprodukt. Dieses teilt sich auf in eine zentrale Berechnungs-Komponente und ein angebundenes Webfrontend. Usability-Test Ein Usability-Test prüft die Benutzungstauglichkeit eines Softwaresystems mit potenziellen Anwendern. Diese erhalten i.d.r. Testfälle, bei deren Bearbeitung diese beobachtet und mögliche Probleme aufgedeckt werden [GB09]. Wiki Eine Plattform, welche die Verwaltung von Dokumenten über das Internet ermöglicht. 10