1087 lines
66 KiB
TeX
1087 lines
66 KiB
TeX
\documentclass[article, colorback,accentcolor=tud4a]{tudreport}
|
||
\usepackage[latin9]{inputenc} %unter Linux muss latin9 durch utf8 ersetzt werden!!
|
||
\usepackage[ngerman]{babel}
|
||
\usepackage{enumitem}
|
||
\usepackage{lineno}
|
||
\usepackage{wasysym}
|
||
\usepackage{latexsym}
|
||
%reihenfolge von "hyperref" und "glossaries" ist wichtig!!!! nicht ändern!
|
||
\usepackage[pdftitle={Qualitätssicherungsdokument}]{hyperref}
|
||
\usepackage[style=altlist]{glossaries}\makeglossaries
|
||
|
||
|
||
|
||
% % % % % % % % % % % % % % % %% % % % % % % % % % % GLOSSAR % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % %
|
||
\makeglossaries
|
||
|
||
%\newglossaryentry{}{name={},description={}}
|
||
\newglossaryentry{SVN}{name={SVN},description={Subversion ist eine freie Software zur zentralisierten Versionsverwaltung}}
|
||
\newglossaryentry{Git}{name={Git},description={Freie Anwendung zur verteilten Versionsverwaltung}}
|
||
\newglossaryentry{SQL-Injection}{name={SQL-Injection}, plural={SQL-Injections},description={Angriff auf Datenbank mit dem Ziel eigenen \gls{SQL}-Code auszuführen und Daten auszulesen bzw. zu ändern}}
|
||
\newglossaryentry{Propel}{name={Propel},description={Datenbankschnittstellte, die eine einfache Interaktion mit der vorhandenen Datenbank bietet. Mehr Informationen unter: \href{http://www.propelorm.org/}{http://www.propelorm.org/}}}
|
||
\newglossaryentry{Agile Softwareentwicklung}{{name=Agile Softwareentwicklung},plural={Agilen Softwareentwicklung},description={Softwareentwicklungsprozess, welcher auf sich ändernde Anforderungen flexibel eingeht}}
|
||
\newglossaryentry{API}{name={API},description={Application Programming Interface: Programmteil, durch den andere Programme die Funktionalität des eigentlichen Programmes nutzen können}}
|
||
\newglossaryentry{User-Front-End}{name={User-Front-End},description={Für den Benutzer sichtbarer Teil der Anwendung}}
|
||
\newglossaryentry{CO}{name={CO},description={Kohlenstoffmonoxid (chemische Verbindung)}}
|
||
\newglossaryentry{CO2}{name={CO\textsubscript{2}},description={Kohlenstoffdioxid (chemische Verbindung)}}
|
||
\newglossaryentry{dB}{name={dB},description={Dezibel: Logarithmische Einheit von Akustikpegeln}}
|
||
\newglossaryentry{JSON}{name={JSON},description={JavaScript Object Notation: universelles Datenaustauschformat}}
|
||
\newglossaryentry{Parser}{name={Parser},description={Übersetzung eines (Programm-)Codes in eine neue Struktur/Format}}
|
||
\newglossaryentry{PHP}{name={PHP},description={Skriptsprache zur Erstellung dynamischer Webseiten}}
|
||
\newglossaryentry{SOAP}{name={SOAP},description={Simple Object Access Protocol: Netzwerkprotokoll zum Austausch XML-basierter Nachrichten}}
|
||
\newglossaryentry{UML}{name={UML},description={Modeling Language: Modellierungssprache für Software}}
|
||
\newglossaryentry{Unit-Test}{name={Unit-Test},description={Softwaretest zur Überprüfung von Programmteilen (Methoden, Klassen)}}
|
||
\newglossaryentry{Use-Case}{name={Use-Case},description={Anwendungsfall: Modellelement in der UML-Sprache}}
|
||
\newglossaryentry{Webservice}{name={Webservice},description={Schnittstelle zur Interaktion mit anderen Anwendungen via XML-basierter Nachrichten}}
|
||
\newglossaryentry{Webinterface}{name={Webinterface},plural={Webinterfaces},description={grafische Benutzeroberfläche}}
|
||
\newglossaryentry{Waspmote Sensoren}{name={Waspmote Sensoren},description={Wireless Sensoren, welche auf Straßenbahnen installiert werden und der Datenerfassung dienen. Mehr unter: \href{http://www.libelium.com/products/waspmote}{http://www.libelium.com/products/waspmote}}}
|
||
\newglossaryentry{WSDL}{name={WSDL},description={Web Services Description Language: Beschreibungssprache für Webservices}}
|
||
\newglossaryentry{XML}{name={XML},description={Extensible Markup Language: Auszeichnungssprache zur hierarchisch struktierten Darstellung von Daten in Textdatenform}}
|
||
\newglossaryentry{XHTML}{name={XHTML},description={Extensible Hypertext Markup Language: Auszeichnungssprache zur strukturierten Darstellung von Texten, Bildern und Hyperlinks in Textform}}
|
||
\newglossaryentry{MVC}{name={Model-View-Controller-Pattern}, description={Entwurfsmuster zur Strukturierung von Software. Nachzulesen unter anderem in \textit{Design Patterns} von Erich Gamma et al}}
|
||
\newglossaryentry{Browser-Sandbox}{name={Browser Sandbox}, description={Browser Sandbox in ein Onlinetool, welches über die Seite \href{http://spoon.net/browsers/}{http://spoon.net/browsers/} erreichbar ist.}}
|
||
\newglossaryentry{whitebox}{name={Whiteboxtest}, plural={Whiteboxtests}, description={Softwareentwickler hat während der Tests Kenntnisse über die innere Funktionsweise der zu testenden Module}}
|
||
\newglossaryentry{blackbox}{name={Blackboxtest}, plural={Blackboxtests}, description={Softwareentwickler hat während der Tests keine Kenntniss über die innere Funktionsweise der zu testenden Module}}
|
||
\newglossaryentry{Selenium}{name={Selenium}, description={Selenium ist ein Tool, mit dem Benutzereingaben automatisiert werden können. Mehr unter: \href{http://seleniumhq.org/}{http://seleniumhq.org/}}}
|
||
\newglossaryentry{PHPUnit}{name={PHPUnit}, description={Mittels PHPUnit können Whiteboxtests von \gls{PHP}-Code durchgeführt werden. Dies geschieht vergleichbar mit dem bekannten JUnit Testframework in Java}}
|
||
\newglossaryentry{HTML5}{name={HTML5}, description={\textbf{H}yper\textbf{t}ext \textbf{M}arkup \textbf{L}anguage in Version 5. Die offizielle Verabschiedung soll 2014 durch das \gls{W3C} erfolgen}}
|
||
\newglossaryentry{W3C}{name={W3C}, description={World Wide Web Consortium: Standardisiert die Techniken des Word Wide Webs. Mehr unter: \href{http://www.w3.org/}{http://www.w3.org/}}}
|
||
\newglossaryentry{SQL}{name={SQL}, description={\textbf{S}tructured \textbf{Q}uery \textbf{L}anguage: Sprache um mit einer Datenbank zu interagieren}}
|
||
\newglossaryentry{PreparedStatement}{name={Prepared Statement}, plural={Prepared Statements}, description={Vorbereitete Anweisung für Datenbanken. Sie enthält Platzhalter anstelle der Paramterwerte}}
|
||
\newglossaryentry{JavaScript}{name={JavaScript}, description={Dynamisch typisierte, objektorientierte, klassenlose Skriptsprache}}
|
||
% Glossareintrag für ORM
|
||
\newglossaryentry{ORM}{name={ORM-Framework}, description={Erlaubt eine Abbildung der Objekte auf eine relationale Datenbank. Die Objekte stammen von einer objektorientierten Programmiersprache}}
|
||
|
||
\begin{document}
|
||
|
||
\title{Thema: da-sense\\
|
||
Gruppe 1b}
|
||
|
||
\subtitle{Qualitätssicherungsdokument zum Bachelor-Praktikum im Wintersemester 2011/2012}
|
||
|
||
\subsubtitle{Auftraggeber: Immanuel Schweizer (Telecooperation Group TU Darmstadt) \\
|
||
Gruppe 1b: Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz\\
|
||
Teamleiter: Dominik Fischer\\
|
||
Version: 1.0.3 vom 29.03.2012}
|
||
|
||
\author{Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz}
|
||
\maketitle
|
||
|
||
|
||
% % % % % % % % % % % % % % % %% % % % % % % % % % % KONTAKT % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % %
|
||
\newpage
|
||
\section*{Kontakt}
|
||
\label{Kontakt}
|
||
\begin{tabular}{p{5cm} p{11cm}}
|
||
& \\
|
||
\textbf{Auftraggeber:} & \textbf{Immanuel Schweizer} \\
|
||
& Telecooperation Group TU Darmstadt \\
|
||
& Büro: S2|02 A216 \\
|
||
& E-Mail: \href{mailto:schweizer@tk.informatik.tu-darmstadt.de}{schweizer@tk.informatik.tu-darmstadt.de} \\
|
||
& \\
|
||
& \\
|
||
\textbf{Teamleiter:} & \textbf{Dominik Fischer} \\
|
||
& E-Mail: \href{mailto:dfischer@stud.tu-darmstadt.de}{dfischer@stud.tu-darmstadt.de} \\
|
||
& \\
|
||
& \\
|
||
\textbf{Gruppe:} & \textbf{Murat Batu} \\
|
||
& E-Mail: \href{mailto:wu07hufy@rbg.informatik.tu-darmstadt.de}{wu07hufy@rbg.informatik.tu-darmstadt.de} \\
|
||
& \\
|
||
& \textbf{Ulf Gebhardt} \\
|
||
& E-Mail: \href{mailto:hu56nifa@rbg.informatik.tu-darmstadt.de}{hu56nifa@rbg.informatik.tu-darmstadt.de} \\
|
||
& \\
|
||
& \textbf{Lulzim Murati} \\
|
||
& E-Mail: \href{mailto:l\_murati@rbg.informatik.tu-darmstadt.de}{l\_murati@rbg.informatik.tu-darmstadt.de} \\
|
||
& \\
|
||
& \textbf{Michael Scholz} \\
|
||
& E-Mail: \href{mailto:mi48azih@rbg.informatik.tu-darmstadt.de}{mi48azih@rbg.informatik.tu-darmstadt.de} \\
|
||
\end{tabular}
|
||
|
||
|
||
|
||
\newpage
|
||
%Inhaltsverzeichnis anzeigen
|
||
\tableofcontents
|
||
|
||
% % % % % % % % % % % % % % % %% % % % % % % % % % % EINLEITUNG % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % %
|
||
\newpage
|
||
\section{Das Projekt}
|
||
\label{DasProjekt}
|
||
Das Projekt da-sense ist ein großflächiges Sensornetzwerk in Darmstadt. Es besteht aus einer Webapplikation, die dem Nutzer in Zukunft erlauben soll verschiedene Naturerscheinungen wie z.B. Lautstärkepegel (\gls{dB}), \gls{CO}- und \gls{CO2}-Konzentration einzusehen. Die Daten hierfür stammen aus verschiedenen Quellen (Smartphones und \gls{Waspmote Sensoren}) und werden in eine Datenbank transferiert, die schließlich über die Webapplikation visualisiert abgerufen werden können. Bisher konnten die Datenbank und die Webapplikation nur mit den von Smartphones gesendeten Daten umgehen. Im Rahmen des Bachelorpraktikums im Wintersemester 2011/2012 sollen folgende Funktionalitäten hinzukommen:
|
||
\begin{itemize}
|
||
\item Umstrukturierung der Datenbank für neue Sensortypen
|
||
\item Installation von \gls{Waspmote Sensoren} auf Straßenbahnen
|
||
\item Anpassung der \gls{API} auf neue Datenbank und Erstellung einer neuen Visualisierung der gesammelten Daten
|
||
\item Android-App
|
||
\end{itemize}
|
||
Das Projekt wurde auf insgesamt drei Gruppen aufgeteilt. In diesem Dokument werden ausschließlich die Bereiche der Gruppe 1b behandelt.
|
||
Der Themenbereich umfasst die Umstellung der \gls{API} auf eine neue Datenbank und die Erstellung einer neuen Visualisierung der gesammelten Daten.
|
||
|
||
|
||
|
||
|
||
% % % % % % % % % % % % % % % %% % % % % % % % % % % QUALITÄTSZIELE % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % %
|
||
\section{Qualitätsziele}
|
||
|
||
|
||
\subsection{Benutzbarkeit}
|
||
\label{Ziel:Benutzbarkeit}
|
||
Die Benutzbarkeit unterteilen wir, wie vom Auftraggeber im zweiten Teil des Praktikums gefordert, in die drei Qualitätsmerkmale \textit{Verständlichkeit}, \textit{Bedienbarkeit} und \textit{Attraktivität}, welche wir nach \cite{ISO/IEC 9126} definieren. \\ \\
|
||
Eine intuitive und leicht bedienbare Benutzeroberfläche steigert die Aufmerksamkeit des Besuchers und verhilft dem Projekt zu einem höheren Bekanntheitsgrad. Hierbei kommt eine moderne und attraktive Visualisierung der Daten zum Einsatz, die die Informationserfassung unterstützt. Die gewünschte Visualisierung wird von unserem Auftraggeber erarbeitet und steht zum jetzigen Zeitpunkt noch nicht fest. Durch das Bekanntwerden des Projekts erhofft sich unser Auftraggeber eine breite Verteilung der kommenden da-sense Android-App, mit der Benutzer Daten sammeln und in die Datenbank transferieren können. Die Daten sind anschließend über die Webapplikation abrufbar.
|
||
|
||
|
||
|
||
\subsection{Funktionalität}
|
||
\label{Ziel:Funktionalitaet}
|
||
Die Funktionalität unterteilen wir, wie vom Auftraggeber gefordert, in die drei Qualitätsmerkmale \textit{Richtigkeit}, \textit{Interoperabilität} und \textit{Sicherheit}, welche wir nach \cite{ISO/IEC 9126} definieren.
|
||
\begin{itemize}
|
||
\item Richtigkeit: \\
|
||
Da an dem gesamten Projekt da-sense viele Studenten mitwirken, können wir nicht für jede existierende Funktion die Richtigkeit garantieren. Wir beschränken uns hierbei auf die Funktionen der Datenbankinteraktionen und der Darstellung der neuen Visualisierung, welche von uns selbst implementiert werden.
|
||
\item Sicherheit: \\
|
||
Das Merkmal der Sicherheit wird beim Datenaustausch zwischen Smartphones bzw. \gls{Waspmote Sensoren} und der \gls{API} gefordert. Hierbei muss die Anwendung resistent gegenüber Angriffen, z.B. in Form von \glspl{SQL-Injection}, sein.
|
||
\item Interoperabilität: \\
|
||
Das Merkmal der Interoperabilität wird im zweiten Teil des Praktikums, bei der Visualisierung der gesammelten Daten, gewährleistet. Die Darstellung der gesammelten Daten muss in allen gängigen Webbrowsern (Firefox, Chrome, Internet Explorer und Safari) fehlerfrei sein. Wir beschränken uns bei den angegebenen Browsern auf die jeweilige aktuelle Version. Dies ist notwendig, da die neue Visualisierung auf \gls{HTML5} basiert.
|
||
\end{itemize}
|
||
|
||
|
||
|
||
\subsection{Erweiterbarkeit}
|
||
\label{Ziel:Codequalitaet}
|
||
>>Any fool can write code that a computer can understand. Good programmers write code that humans can understand.<< \cite{fowler}. \\ \\
|
||
Der Quellcode des Projektes ist offen für Erweiterungen und wird von weiteren Gruppen genutzt. Daher muss darauf geachtet werden, dass sämtliche Codebausteine auch für Außenstehende lesbar und verständlich sind. Geplant ist die Veröffentlichung des Quellcodes, so dass auch unifremde Entwickler Zugriff haben und von der bestehenden Codequalität profitieren. Es werden die Open Standards nach \cite{opensource.org} angewandt. Diese schließen unter anderem den Einsatz von kommerziellen Tools im Projekt aus.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
% % % % % % % % % % % % % % % %% MAßNAHMEN ZUM ERREICHEN DER QUALITÄTSZIELE % % % % % % % % % % % % % % % %% % % % % % % % % %
|
||
\section{Maßnahmen zum Erreichen der Qualitätsziele}
|
||
|
||
|
||
\subsection{Benutzbarkeit}
|
||
\label{Masnahme:Benutzbarkeit}
|
||
In der ersten Märzwoche 2012 (Kalenderwoche 9) wird eine Benutzerstudie durchgeführt. Somit bleibt uns genug Zeit die Ergebnisse auszuwerten und Schwachstellen in der Benutzeroberfläche zu beseitigen.
|
||
Zur Benutzerstudie werden freiwilligen Probanden Fragebögen ausgeteilt, welche der Bewertung der einzelnen Kriterien (Abschnitt \ref{Ziel:Benutzbarkeit}) der Benutzbarkeit des \glspl{Webinterface} dienen. Durch die Benutzerstudie können somit Defizite des \glspl{Webinterface} aufgespürt und beseitigt werden. \\ \\
|
||
Das Ziel der Benutzerstudie ist es eine Rückmeldung zu erhalten, ob und wie sich der Benutzer auf der Website zurechtfindet. Es gilt herauszufinden, ob der User in einer für ihn angemessenen Zeit die gewünschten Informationen abrufen kann. Da das fertige Projekt eine breite Masse an Personen erreichen wird, ist es wichtig, dass die Benutzerstudie möglichst viele verschiedene Personengruppen umfasst. Das heißt, es werden Personen unterschiedlichen Alters und mit unterschiedlicher Interneterfahrung ausgewählt. Zudem können durch die Studie unvorhersehbare Probleme entdeckt werden, da ein Benutzer auf eine andere Art und Weise mit der Website interagiert als ein Entwickler. \newline \\
|
||
\textbf{Was wir wissen wollen:}
|
||
\begin{itemize}
|
||
\item Ist die Visualisierung einfach zu verstehen und ansprechend?
|
||
\item Wie lange braucht der Nutzer um die gewünschten Informationen zu erhalten?
|
||
\item Wie lange braucht der Nutzer um sich einen Überblick zu verschaffen?
|
||
\item Treten unerwartete Fehler auf?
|
||
\end{itemize}
|
||
Die Benutzerstudie setzt sich aus den zwei Teilen \textit{Beobachtung} und \textit{Fragebogen} zusammen. Somit erhalten wir zwei unterschiedliche Informationsquellen, welche in Korrelation zueinander stehen.
|
||
|
||
\subsubsection{Beobachtung}
|
||
Die Beobachtung des Probanden während der Bedienung der Website stellt die einfachste Methode dar, um auftretende Probleme frühzeitig zu erkennen. Hierbei nimmt der Entwickler die Position des Beobachters ein und führt Protokoll. Dem Probanden stehen fünf Minuten zur Verfügung, um sich mit der Benutzeroberfläche vertraut zu machen. Anschließend werden ihm Aufgaben (siehe Anhang) gestellt, die er mit Hilfe der Website lösen muss. Während der Beobachtung achtet der Entwickler auf folgende Punkte:
|
||
\begin{itemize}
|
||
\item Unerwartete Fehler
|
||
\item Probleme mit der Bedienung
|
||
\item Vergangene Zeit bis zum Erhalt der gewünschten Informationen
|
||
\end{itemize}
|
||
|
||
\subsubsection{Fragebogen}
|
||
\label{fragebogen}
|
||
Mit Hilfe des Fragebogens erhalten wir Informationen von verschiedenen Personengruppen. Der Fragebogen lässt sich in die folgenden drei Kategorien unterteilen:
|
||
\begin{itemize}
|
||
\item Informationen über den Nutzer
|
||
\item Bewertung der aktuellen Website
|
||
\item Verbesserungsvorschläge
|
||
\end{itemize}
|
||
Durch Punkt eins können wir die Probanden in verschiedene Personengruppen einteilen. Die Einteilung der Personen in Gruppen erfolgt durch die Merkmale Alter und Interneterfahrung. Anschließend werden die gesammelten Ergebnisse aus Punkt zwei den einzelnen Personengruppen zugeteilt. Unterscheiden sich die Ergebnisse der einzelnen Gruppen stark, so muss der Auftraggeber entscheiden, für welche Zielgruppe die Benutzeroberfläche optimiert werden soll. Punkt drei erlaubt die Anpassung der Steuerungsoptionen der Website. Der Fragebogen ist im Anhang zu finden und kann sich noch bis zur Durchführung der Benutzerstudie ändern. Dies hängt mit dem von uns verwendeten Prozess der Agilen Softwareentwicklung zusammen. Es können Fragen hinzukommen oder aber bereits vorhandene geändert bzw. herausgenommen werden. Die Entscheidung über die zu stellenden Fragen obliegt dem gesamten Team.\\
|
||
|
||
|
||
|
||
\subsection{Funktionalität}
|
||
\label{Masnahme:Funktionalitaet} % ß wird von LaTex nicht akzeptiert als Label
|
||
Zur Sicherung der einzelnen Funktionalitätsmerkmale werden die folgenden Maßnahmen ergriffen:
|
||
\begin{itemize}
|
||
\item Richtigkeit: \\
|
||
Zur Sicherstellung der Richtigkeit werden \glspl{whitebox} mit \gls{PHPUnit} und \glspl{blackbox} mit \gls{Selenium} durchgeführt. Die korrekten Datenbankinteraktionen werden durch die Einhaltung der Vorgaben von \gls{Propel} sichergestellt. \gls{PHPUnit} erlaubt durch die integrierten Funktionen das einfache Testen von \gls{PHP}-Methoden. Somit können auftretende Fehler schnell beseitigt werden. \gls{Selenium} testet automatisiert die Anbindung der Daten an die Visualisierung. Hierzu wird eine Benutzereingabe aufgezeichnet, die nun im weiteren Entwicklungsprozess durch Selenium wiederholt ausgeführt werden kann. \gls{Propel} generiert für jede Tabelle der Datenbank eine Klasse. Die einzelnen Klassen enthalten alle notwendigen Funktionen, welche für die Datenbankinteraktionen genutzt werden. Somit können Fehler in SQL-Statements ausgeschlossen werden.
|
||
|
||
\item Sicherheit: \\
|
||
Das von uns verwendete \gls{ORM} \gls{Propel} nutzt \glspl{PreparedStatement}, mit denen sich \glspl{SQL-Injection} wirksam unterbinden lassen. Hierbei werden \gls{SQL}-Code und Daten getrennt. Zudem erfordert Propel keine \gls{SQL} Kentnisse, wodurch für neue Entwickler der Einstieg erleichtert wird. Der Eintrag der Daten über die \gls{API} erfolgt mittels HTTP-GET Parameter. Bevor die Aufnahme neuer Daten in die Datenbank erfolgen kann, ist eine Authentifizierung des Nutzers notwendig. Die Implementierung der Authentifizierung unterliegt nicht unserem Aufgabenbereich.
|
||
|
||
\item Interoperabilität: \\
|
||
Um die Interoperabilität mit den einzelnen Webbrowsern sicherzustellen, werden manuelle Tests durchgeführt. Hierzu wird jeweils die aktuelle Version des Webbrowsers verwendet. Jeder Browser wird mit denselben Benutzereingaben ausgeführt. Die jeweiligen Ausgaben erlauben einen direkten Vergleich. Außerdem werden im Rahmen der Benutzerstudie Fragebögen an Probanden ausgegeben. Die Auswertung dieser Fragebögen ermöglicht es uns, Rückschlüsse auf eventuell auftretende Fehler in der Visualisierung zu ziehen und zu beseitigen.
|
||
\end{itemize}
|
||
|
||
|
||
|
||
\subsection{Erweiterbarkeit}
|
||
\label{Masnahme:Erweiterbarkeit}
|
||
Um das Ziel der Erweiterbarkeit sicherzustellen, treffen wir folgende Vereinbarungen:
|
||
\begin{itemize}
|
||
\item Codedokumentation: \\
|
||
Jede von uns geschriebene Funktion besitzt einen vom geläufigen Javadoc-Format inspirierten Kommentarkopf der folgenden Form: \\
|
||
/** \\
|
||
* \textit{Description} \\
|
||
* @param \textit{paramtype} \\
|
||
* @return \textit{returntype} \\
|
||
* @tested \textit{boolean} \\
|
||
**/ \\
|
||
Wobei \textit{Description} durch einen funktionsbeschreibenden Text, \textit{paramtype} durch den Parametertyp, \textit{returntype} durch den Rückgabewert und \textit{boolean} durch den Wahrheitswert \glqq true\grqq\ bzw. \glqq false\grqq\ zu ersetzen ist. Somit erhalten die weiteren Entwickler schnell einen Überblick über die vorliegende Methode und ihre Funktionsweise.
|
||
\item Struktur: \\
|
||
Wir trennen im Quellcode strikt HTML-, \gls{JavaScript}- und \gls{PHP}-Code. Die Trennung erhöht die Lesbarkeit, vereinfacht die Fehlersuche und reduziert die Fehlerrate. Zur Trennung von Daten- und Präsentationsebene wird das \gls{MVC} verwendet. Hierdurch wird eine sinnvolle Codestrukturierung erreicht.
|
||
|
||
\item Namenskonvention: \\ %Glossareintrag zu CamelCase schreiben
|
||
Wir benutzen die CamelCase Konvention, welche unter anderem in Java als Standard gilt und zu einer besseren Lesbarkeit von Bezeichnern beiträgt.
|
||
\end{itemize}
|
||
Die aufgeführten Punkte werden von jedem Teammitglied eingehalten. Um dies sicherzustellen findet alle zwei Wochen ein teaminterner Codereview statt. Hierbei wird der Code aus den vergangenen zwei Wochen in der Gruppe besprochen und die Einhaltung der geforderten Konventionen geprüft. Wurden die Konventionen nicht eingehalten, so werden sie nach dem Treffen korrigiert. Somit ist jedes Teammitglied über den aktuellen Stand des Codes informiert und kennt auch die Codeteile der übrigen Teammitglieder.
|
||
|
||
|
||
|
||
|
||
% % % % % % % % % % % % % % % %% % % % % % % % % % % ANHANG % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % %
|
||
\newpage
|
||
\section{Anhang}
|
||
|
||
|
||
\subsection{Benutzerstudie}
|
||
\label{Anhang:Benutzerstudie}
|
||
Die Benutzerstudie wurde von uns nicht wie geplant durchgeführt, da die Erstellung einer neuen Visualisierung nach Rücksprache mit unserem Auftraggeber ausgelassen wurde. Somit sind die folgenden beiden Abschnitte (4.1.1 und 4.1.2) nicht mehr relevant.
|
||
|
||
|
||
|
||
\subsubsection{Aufgaben}
|
||
|
||
|
||
\subsubsection{Fragebogen}
|
||
\begin{enumerate}
|
||
\item Wie alt sind Sie?
|
||
|
||
\begin{tabular}{| p{1.5cm} |}
|
||
\hline \\ \\\hline
|
||
\end{tabular}
|
||
|
||
\item Wie viel Zeit verbringen Sie pro Tag im Internet?
|
||
\begin{itemize}[label={\Square}]
|
||
\item weniger als 1 Stunde
|
||
\item zwischen 3 und 5 Stunden
|
||
\item mehr als 5 Stunden
|
||
\end{itemize}
|
||
|
||
\item Welchen Webbrowser nutzen Sie?
|
||
\begin{itemize}[label={\Square}]
|
||
\item Firefox
|
||
\item Chrome
|
||
\item Internet Explorer (Version 7 oder höher)
|
||
\item Safari
|
||
\item nicht aufgeführt
|
||
\end{itemize}
|
||
|
||
\item Wie finden Sie die Visualisierung der Website? \\
|
||
\small{(1 = nicht ansprechend; 10 = sehr ansprechend)}
|
||
|
||
\begin{tabular}{l c c c c c c c c c c r}
|
||
& \tiny{1} & \tiny{2} & \tiny{3} & \tiny{4} & \tiny{5} & \tiny{6} & \tiny{7} & \tiny{8} & \tiny{9} & \tiny{10} &\\
|
||
nicht ansprechend & \Square & \Square & \Square & \Square & \Square & \Square & \Square & \Square & \Square & \Square & sehr ansprechend
|
||
\end{tabular}
|
||
|
||
|
||
\item Wie beurteilen Sie die Übersichtlichkeit der Website? \\
|
||
\small{(1 = nicht übersichtlich; 10 = sehr übersichtlich)}
|
||
|
||
\begin{tabular}{l c c c c c c c c c c r}
|
||
& \tiny{1} & \tiny{2} & \tiny{3} & \tiny{4} & \tiny{5} & \tiny{6} & \tiny{7} & \tiny{8} & \tiny{9} & \tiny{10} &\\
|
||
nicht übersichtlich & \Square & \Square & \Square & \Square & \Square & \Square & \Square & \Square & \Square & \Square & sehr übersichtlich
|
||
\end{tabular}
|
||
|
||
|
||
\item Hatten Sie Bedienprobleme beim Besuch der Website?
|
||
\begin{itemize}[label={\Square}]
|
||
\item Nein
|
||
\item Ja, folgende:
|
||
\end{itemize}
|
||
\begin{tabular}{| p{15cm} |}
|
||
\hline \\ \vspace{2cm} \\ \hline
|
||
\end{tabular}
|
||
|
||
|
||
\item Haben Sie Verbesserungsvorschläge?
|
||
\begin{itemize}[label={\Square}]
|
||
\item Nein
|
||
\item Ja, folgende:
|
||
\end{itemize}
|
||
\begin{tabular}{| p{15cm} |}
|
||
\hline \\ \vspace{2cm} \\ \hline
|
||
\end{tabular}
|
||
|
||
\item Werden Sie die Website nochmals besuchen?
|
||
\begin{itemize}[label={\Square}]
|
||
\item Nein
|
||
\item Ja
|
||
\end{itemize}
|
||
|
||
\end{enumerate}
|
||
|
||
|
||
|
||
\subsection{Funktionalität}
|
||
In Übereinkunft mit unserem Auftraggeber haben wir uns dazu entschlossen den Testablauf für die beiden folgenden Use-Cases hier genauer zu beschreiben:
|
||
\begin{itemize}
|
||
\item Parsen der JSON-Pakete
|
||
\item Abfrage der \gls{API}
|
||
\end{itemize}
|
||
Die korrekte Funktionsweise dieser beiden Use-Cases hat die höchste Priorität, da sie zusammen die Schnittstelle zu der Smartphone-App, der Basisstation der Waspmote-Sensoren und der Website darstellen.
|
||
\subsubsection{Use-Case: Parsen der JSON-Pakete}
|
||
Der JSON Parser wird durch die \gls{API} aufgerufen. Er kann zwei festgelegte Formate verarbeiten, welche durch gesetzte Flags unterschieden werden. Die Daten werden mittels GET oder POST übertragen.\\ \\
|
||
Fehlerbehandlung:
|
||
\begin{itemize}
|
||
\item Fehlende Eingabedaten führen zu einer MissingParamterException.
|
||
\item Eingabedaten, welche nicht dem JSON Format entsprechen, führen zu einer JSONException.
|
||
\item Eingabedaten, welche nicht dem festgelegten Format entsprechen, führen zu einer DataFormatException.
|
||
\end{itemize}
|
||
Um die Konsistenz der Datenbank zu gewährleisten, haben wir uns dazu entschieden die Fremdschlüssel in der Datenbank \glqq restrict'' zu deklarieren. Somit wird verhindert, dass inkonsistente oder nicht vollständige Datensätze in der Datenbank gespeichert werden können. \\ \\
|
||
\textbf{Format zum Ändern der Sensorinformationen (im Folgenden als Format 1 bezeichnet):}\\
|
||
Dieses Format wird beim Start, Login oder der Änderung von Optionen der einzelnen Sensoren gesendet. \\ \\
|
||
HTTP-Post-Parameter: flag=deviceinfo\&json=JSON-Daten \\ \\
|
||
Beispiel: http://www.da-sense.de/api.php?flag=deviceinfo\&json=\{''deviceType'': 2, ''deviceID'': 12345, ''deviceManufactor'': ''LIBELIUM'', ''deviceModel'': ''TESTWASPMOTE'', ''deviceName'': ''Test Waspmote'', ''sensors'': [\{''type'': 4, ''sensorAttributes'': [\{\}]\}]\} \\ \\
|
||
Das vereinbarte JSON Format sieht wie folgt aus:
|
||
\begin{tabbing}
|
||
\{\= ''deviceType'': INT,\\
|
||
\> ''deviceID'': INT,\\
|
||
\> ''deviceManufactor'': STRING,\\
|
||
\> ''deviceModel'': STRING,\\
|
||
\> ''deviceName'': STRING, \\
|
||
\> ''sensors'': [\{ \= \\
|
||
\> \> ''type'': INT,\\
|
||
\> \> ''sensorAttributes'': [\{ \= \\
|
||
\> \> \> ''key'': STRING,\\
|
||
\> \> \> ''value'': STRING \\
|
||
\> \> \> \}] \\
|
||
\> \> \}]\\
|
||
\}\\
|
||
\end{tabbing}
|
||
\textbf{Format zum Senden der Daten (im Folgenden als Format 2 bezeichnet):}\\
|
||
Durch dieses Format werden die gemessenen Daten der Sensoren übermittelt. \\ \\
|
||
HTTP-Post-Parameter: flag=input\&source=smartphone bzw. waspmote\&json=JSON-Daten \\ \\
|
||
Beispiel: http://www.da-sense.de/api.php?flag=input\&source=smartphone\&json=\{''device'':''201288'',''measurementType'':1, ''user'':20, ''series'': [\{''name'':''newTableNames'', ''visibility'':0, ''timestamp'':123 , ''values'': [\{''timestamp'':1, ''value'':52.25234634, ''longitude'':0, ''latitude'':0, ''altitude'':0, ''accuracy'':0, ''speed'':null, ''provider'':''GPS'', ''tags'': [\{''key'': 1, ''value'':35\}]\}]\},\{ ''name'':''testseries5'', ''visibility'':0, ''timestamp'':2 , ''values'': [\{ ''timestamp'':1, ''value'':62.25234634, ''longitude'':0, ''latitude'':0, ''altitude'':0, ''accuracy'':0, ''speed'':null, ''provider'':''GPS'', ''tags'': [\{''key'': 1, ''value'':35\}]\}]\}]\} \\ \\
|
||
Das vereinbarte JSON Format sieht wie folgt aus:
|
||
\begin{tabbing}
|
||
\{\= ''device'': STRING, \\
|
||
\> ''measurementType'': INT, \\
|
||
\> ''user'': INT, \\
|
||
\> ''series'': [\{ \= \\
|
||
\> \> ''name'': STRING, \\
|
||
\> \> ''visibility'':INT, \\
|
||
\> \> ''timestamp'':LONG, \\
|
||
\> \> ''values'': [\{ \= \\
|
||
\> \> \> ''timestamp'': LONG, \\
|
||
\> \> \> ''value'': FLOAT, \\
|
||
\> \> \> ''latitude'': FLOAT, \\
|
||
\> \> \> ''longitude'': FLOAT, \\
|
||
\> \> \> ''altitude'': FLOAT, \\
|
||
\> \> \> ''accuracy'': FLOAT, \\
|
||
\> \> \> ''speed'': FLOAT bzw. NULL, \\
|
||
\> \> \> ''provider'': STRING, \\
|
||
\> \> \> ''tags'': [\{ \= \\
|
||
\> \> \> \> ''key'': STRING, \\
|
||
\> \> \> \> ''value'': STRING,\\
|
||
\> \> \> \>\}]\\
|
||
\> \> \>\}]\\
|
||
\> \>\}]\\
|
||
\}
|
||
\end{tabbing}
|
||
\newpage
|
||
\noindent
|
||
Auf den folgenden Seiten sind die verschiedenen Testprotokolle der einzelnen Tests f"ur diesen Use-Case zu finden. Zu jedem Test wird innerhalb dieses Dokuments eine eigene Tabelle geführt.
|
||
|
||
|
||
\paragraph{Test: MissingParameterException I}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & MissingParameterException I \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Der Parameter \glqq flag'' wird nicht gesetzt. Es wird überprüft ob eine MissingParameterException als Resultat des fehlenden Parameters geworfen wird.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & MissingParameterException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 20.12.2011 - Michael Scholz & Erster Test bereits erfolgreich.\newline Testende am 20.12.2011 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: MissingParameterException II}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 2 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & MissingParameterException II \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Der Parameter \glqq json'' wird nicht gesetzt. Es wird überprüft ob eine MissingParameterException als Resultat des fehlenden Parameters geworfen wird.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & MissingParameterException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 20.12.2011 - Michael Scholz & Erster Test bereits erfolgreich.\newline Testende am 20.12.2011 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: JSONException}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 3 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & JSONException \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Im übergebenen JSON Format wird eine fehlerhafte Klammerung des Arrays vorgenommen. Es wird überprüft ob eine JSONException geworfen wird.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & JSONException \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 20.12.2011 - Michael Scholz & Erster Test bereits erfolgreich.\newline Testende am 20.12.2011 erreicht. \\
|
||
\hline
|
||
\end{tabular}|
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: DataFormatException I}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 4 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Test: DataFormatException I \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird ein JSON Format zum Ändern der Sensorinformationen an die API gesendet. Hierbei wird \glqq deviceType'' durch \glqq device'' ersetzt. Es wird überprüft ob eine DataFormatException als Resultat auf die fehlerhafte Eingabe geworfen wird.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & DataFormatException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 20.12.2011 - Michael Scholz & Erster Test bereits erfolgreich.\newline Testende am 20.12.2011 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: DataFormatException II}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Test: DataFormatException II \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird ein JSON Format zum Senden der Daten an die API gesendet. Hierbei wird bei \glqq measurementType'': INT an Stelle eines Integer-Wertes ein String übergeben. Es wird überprüft ob eine DataFormatException als Resultat auf die fehlerhafte Eingabe geworfen wird.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & DataFormatException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 20.12.2011 - Michael Scholz & Erster Test bereits erfolgreich.\newline Testende am 20.12.2011 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: DataFormatException III}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 6 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Test: DataFormatException III \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 23.12.2011 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird ein JSON Format zum Ändern der Sensorinformationen an die API gesendet. Hierbei wird \glqq longitude'':FLOAT aus dem Format entfernt. Es wird überprüft ob eine DataFormatException als Resultat auf die fehlerhafte Eingabe geworfen wird.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & DataFormatException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 20.12.2011 - Michael Scholz & Test nicht erfolgreich. Es wird keine DataFormatException geworfen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 23.12.2011 - Michael Scholz & Fehlerquelle: Das korrekte Format wurde nicht in den Arrays geprüft.
|
||
\newline Test erfolgreich.
|
||
\newline Testende am 23.12.2011 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: Eingabe eines korrekten Datensatzes (Format 1) }
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 7 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Test: Eingabe eines korrekten Datensatzes (Format 1) I\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels gegebener Android-App und Eclipse-SDK\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 03.01.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 06.01.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird JSON Format 1 an die API gesendet. Das gesendete Format ist fehlerfrei.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Die übergebenen Informationen des Sensors werden korrekt in der Datenbank eingetragen. Hierbei werden keinerlei Exceptions geworfen und die Datenbank gibt keine fehlerhaften Fremdschlüsselabhängigkeiten zurück.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Korrektes Datenbankschema, alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 05.01.2012 - Michael Scholz & Test nicht erfolgreich. Die Datenbank liefert fehlerhafte Fremschlüsselabhängigkeiten als zurück.
|
||
\newline Fehlerquelle: Es wurden Felder, die als Fremdschlüssel dienen, zu spät eingetragen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 06.01.2012 - Michael Scholz & Test erfolgreich. Alle gesendeten Sensorinformationen werden korrekt eingetragen.\\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Eingabe eines korrekten Datensatzes (Format 2) I}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 8 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Test: Eingabe eines korrekten Datensatzes (Format 2) I\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels gegebener Android-App und Eclipse-SDK\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 03.01.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 10.01.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird JSON Format 2 an die API gesendet. Hierbei wird im \glqq values''-Array nur ein Eintrag übergeben. Das gesendete Format ist fehlerfrei.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Die übergebenen Daten werden korrekt in der Datenbank eingetragen. Hierbei werden keinerlei Exceptions geworfen und die Datenbank gibt keine fehlerhaften Fremdschlüsselabhängigkeiten zurück.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Korrektes Datenbankschema, alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 05.01.2012 - Michael Scholz & Test nicht erfolgreich. Die Datenbank liefert fehlerhafte Fremschlüsselabhängigkeiten als zurück. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 07.01.2012 - Michael Scholz & Test nicht erfolgreich. Die Datenbank liefert fehlerhafte Fremschlüsselabhängigkeiten als zurück.
|
||
\newline Fehlerquelle: Es wurden Felder, die als Fremdschlüssel dienen, zu spät eingetragen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 10.01.2012 - Michael Scholz & Test erfolgreich. Alle gesendeten Sensorinformationen werden korrekt eingetragen.\\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Test: Eingabe eines korrekten Datensatzes (Format 2) II}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 9 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Test: Eingabe eines korrekten Datensatzes (Format 2) II\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels gegebener Android-App und Eclipse-SDK\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 03.01.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 10.01.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird JSON Format 2 an die API gesendet. Hierbei werden im \glqq values''-Array drei Einträge übergeben. Das gesendete Format ist fehlerfrei.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Die übergebenen Daten werden korrekt in der Datenbank eingetragen. Hierbei werden keinerlei Exceptions geworfen und die Datenbank gibt keine fehlerhaften Fremdschlüsselabhängigkeiten zurück.\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Korrektes Datenbankschema, alle übrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 10.01.2012 - Michael Scholz & Test erfolgreich. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
|
||
|
||
|
||
\subsubsection{Use-Case: Aufruf von www.da-sense.de mit einem Browser}
|
||
Die Website www.da-sense.de wird mit drei verschiedenen Browsern (Mozilla Firefox, Opera, Internet Explorer) aufgerufen. Es wird sichergestellt, dass die Website in allen drei Browsern korrekt dargestellt wird. Desweiteren werden alle API-Anfragen der Website untersucht.:
|
||
\begin{itemize}
|
||
\item get\_markers API-Anfrage: Diese Anfrage liefert eine Liste aller Marker in dem selektierten Bereich.
|
||
\item Heatmap API-Anfrage: Diese Anfrage liefert ein Bild, welches die Marker in dem selektierten Bereich als Heatmap repr"asentiert.
|
||
\item Mapkey API-Anfrage: Diese Anfrage liefert ein Bild, welches als Legende der Karte eingeblendet wird und neben einem Farbverlauf auch zwei Markierungen enth"alt, welche den Wertebereich der Farben im Farbverlauf definieren.
|
||
\end{itemize}
|
||
|
||
\noindent
|
||
Die API-Anfragen, welche sich auf einen selektierten Bereich beziehen, sind relativ zu dem vom Nutzer ausgew"ahlten Bereich der Karte. Diese Daten werden in Form von x- und y-Werten mittels GET oder POST "ubertragen. Ung"ultige x- oder y-Werte f"uhren zu einer OutOfBoundsException.
|
||
|
||
\newpage
|
||
|
||
\noindent
|
||
Auf den folgenden Seiten sind die verschiedenen Testprotokolle der einzelnen Tests f"ur diesen Use-Case zu finden. Zu jedem Test wird innerhalb dieses Dokuments eine eigene Tabelle gef"uhrt.
|
||
|
||
\paragraph{Test: OutOfBoundsException f"ur Heatmap-Generierung}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & OutOfBoundsException f"ur Heatmap-Generierung \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Murat Batu \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 20.02.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 10.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Die URL zur Generierung einer Heatmap wird mit fehlerhaften x- und y-Koordinaten aufgerufen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & OutOfBoundsException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Alle "ubrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 10.03.2012 - Murat Batu & Erster Test bereits erfolgreich.\newline Testende am 10.03.2012 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Aufruf einer korrekten URL zur Heatmap-Generierung mit Heatmap-Punkten in dem selektierten Bereich}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 2 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Aufruf einer korrekten URL zur Heatmap-Generierung mit Heatmap-Punkten in dem selektierten Bereich \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Murat Batu \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 05.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 15.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Die URL zur Generierung einer Heatmap wird mit korrekten x- und y-Koordinaten aufgerufen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Bild mit eingezeichneten Heatmap-Punkten\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Die x- und y-Koordinaten sind so gewählt, dass sich Heatmap-Punkte in dem selektierten Bereich befinden. Alle "ubrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 15.03.2012 - Murat Batu & Erster Test bereits erfolgreich.\newline Testende am 15.03.2012 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Aufruf einer korrekten URL zur Heatmap-Generierung ohne Heatmap-Punkte in dem selektierten Bereich}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 3 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Aufruf einer korrekten URL zur Heatmap-Generierung ohne Heatmap-Punkte in dem selektierten Bereich \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 07.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 21.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Die URL zur Generierung einer Heatmap wird mit korrekten x- und y-Koordinaten aufgerufen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Bild ohne eingezeichnete Heatmap-Punkte \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Die x- und y-Koordinaten sind so gewählt, dass sich keine Heatmap-Punkte in dem selektierten Bereich befinden. Alle "ubrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 07.03.2012 - Michael Scholz & Test nicht erfolgreich. Es wird eine OutOfBoundsException geworfen. Fehlerquelle: Die x- und y-Koordinatenberechnung funktioniert nicht korrekt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 08.03.2012 - Michael Scholz & Test nicht erfolgreich: Es sind Heatmap-Punkte auf dem Bild zu sehen. Fehlerquelle: Das Caching des Clusterings f"uhrt zu zeitlich begrenzten Anomalien in der Generierung des Bildes. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 21.03.2012 - Michael Scholz & Test erfolgreich: Es wird ein leeres Bild generiert. \newline Testende am 21.03.2012 erreicht.\\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Mapkey (Legende) - Generierung f"ur Temperaturen}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 4 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Mapkey (Legende) - Generierung f"ur Temperaturen \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Lulzim Murati \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 17.02.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 24.02.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird eine Legende f"ur die Temperaturwerte auf der Karte erzeugt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Eine Legende in Form eines Farbverlaufs mit minimalen und maximalen Temperaturwerten \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Benutzer hat Temperatur-Daten im Filter ausgew"ahlt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 24.02.2012 - Lulzim Murati & Erster Test bereits erfolgreich.\newline Testende am 24.02.2012 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Mapkey (Legende) - Generierung f"ur Ger"auschpegel}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Mapkey (Legende) - Generierung f"ur Ger"auschpegel \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Lulzim Murati \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 25.02.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 28.02.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Es wird eine Legende f"ur die Ger"uschpegel auf der Karte erzeugt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Eine Legende in Form eines Farbverlaufs mit minimalen und maximalen Lautst"arkewerten \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Benutzer hat Lautst"arke-Daten im Filter ausgew"ahlt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 28.02.2012 - Lulzim Murati & Erster Test bereits erfolgreich.\newline Testende am 28.02.2012 erreicht. \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: OutOfBoundsException f"ur get\_marker}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 6 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & OutOfBoundsException f"ur get\_marker \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Ulf Gebhardt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 11.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 16.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Die URL zur Auflistung von Markern f"ur einen Kartenbereich wird mit fehlerhaften x- und y-Koordinaten aufgerufen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & OutOfBoundsException\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Alle "ubrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 11.03.2012 - Ulf Gebhardt & Test nicht erfolgreich: Es werden alle Marker ausgegeben. Fehlerquelle: Unbekannt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 16.03.2012 - Ulf Gebhardt & Test erfolgreich: Es wird eine OutOfBoundsException geworfen. \newline Testende am 16.03.2012 erreicht.\\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Aufruf einer korrekten URL zur Auflistung der Marker mit Marker-Punkte in dem selektierten Bereich}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 7 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Aufruf einer korrekten URL zur Auflistung der Marker mit Marker-Punkte in dem selektierten Bereich \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Ulf Gebhardt\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 12.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 17.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Die URL zur Auflistung der Marker mit Marker-Punkten in dem selektierten Bereich wird mit korrekten x- und y-Koordinaten aufgerufen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Eine Liste aller Marker in dem selektierten Bereich. (Format: JSON) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Die x- und y-Koordinaten sind so gew"ahlt, dass sich Marker-Punkte in dem selektierten Bereich befinden. Alle "ubrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 12.03.2012 - Ulf Gebhardt & Test nicht erfolgreich: Das JSON Format enthält Fehler. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 17.03.2012 - Ulf Gebhardt & Test erfolgreich: Die korrekten Daten werden in korrektem Format ausgegeben.\newline Testende am 17.03.2012 erreicht \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Test: Aufruf einer korrekten URL zur Auflistung der Marker ohne Marker-Punkte in dem selektierten Bereich}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testnummer & 8 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testname & Aufruf einer korrekten URL zur Auflistung der Marker ohne Marker-Punkte in dem selektierten Bereich \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teil von Userstorie Nr & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testkategorie & Funktionaler Test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testwerkzeug & Manueller Test mittels direktem URL-Aufruf\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Tester & Ulf Gebhardt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test erstellt am & 07.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Test abgeschlossen am & 07.03.2012 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Testbeschreibung & Die URL zur Auflistung der Marker ohne Marker-Punkte in dem selektierten Bereich wird mit korrekten x- und y-Koordinaten aufgerufen. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erwartetes Ergebnis & Eine leere Liste. (Format: JSON) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Vorbedingungen & Die x- und y-Koordinaten sind so gew"ahlt, dass sich keine Marker-Punkte in dem selektierten Bereich befinden. Alle "ubrigen Parameter sind korrekt gesetzt. \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Randbedingungen & - \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Nachbedingungen & - \\
|
||
\hline
|
||
\hline
|
||
\hline \rule[-2ex]{0pt}{5.5ex} 07.03.2012 - Ulf Gebhardt & Erster Test bereits erfolgreich. \newline Testende am 07.03.2012 erreicht.\\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
|
||
\subsection{Codereview der einzelnen Iterationen}
|
||
|
||
Auf den folgenden Seiten sind die einzelnen teaminternen Codereviews aufgelistet. Jedes einzelne Treffen wird in einer eigenen Tabelle gef"uhrt.
|
||
|
||
\paragraph{Teaminterner Codereview - 21.11.2011}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 1 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & Einlesen in den Code \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & - Code sehr un"ubersichtlich \newline - fehlende Kommentare \newline - doppelte Klassen auf mehrere Ordner verteilt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & der Alle Dateien innerhalb des Projekts \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & Ausfindig machen, welche Klassen weggelassen werden k"onnen \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Batu, Gebhardt, Murati, Scholz \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 01.12.2011}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 2 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & Aufr"aumen des Codes \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & Das Projekt beinhaltet nicht verwendete Klassen \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & Alle Dateien innerhalb der Ordner Classes und Templates \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & Verbesserung der Projektstruktur durch entfernen von nicht verwendeten Klassen \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Batu, Gebhardt, Murati, Scholz \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 15.12.2011}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 3 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & SQL-Abfragen und JSON Format \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & - Code enth"alt SQL-Abfragen, die mit Hilfe von Propel ersetzt werden sollen \newline - JSON Format entspricht nicht dem neuen Datenformat \newline - in den Templates sind HTML-, JavaScript- und PHP-Code nicht getrennt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & Alle Dateien innerhalb der Ordner Templates und Classes \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & SQL-Abfragen aus den betroffenen Dateien rausschreiben (Aufgabe 1) \newline rausgeschriebene SQL-Abfragen mit Propel realisieren (Aufgabe 2) \newline JSON Format anpassen (Aufgabe 3) \newline Strukturieren des Codes in den Templates mit Hilfe von Platzhaltern (Aufgabe 4) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Aufgabe 1: Batu und Murati \newline Aufgabe 2: Gebhardt \newline Aufgabe 3: Scholz \newline Aufgabe 4: Batu und Murati \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 09.01.2012}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 4 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & JSON, View \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & - Umsetzung des neuen JSON Formats noch nicht abgeschlossen \newline - View kommt mit den Platzhaltern in den Template Dateien nicht zurecht \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & Alle Dateien innerhalb der Ordner Templates, view und json \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & neues JSON Format umsetzen (Aufgabe 1) \newline neue View schreiben, die mit Platzhaltern umgehen kann (Aufgabe 2) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Aufgabe 1: Scholz \newline Aufgabe 2: Batu, Gebhardt, Murati \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 23.01.2012}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 5 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & API \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & API ist mit der neuen Datenbank nicht kompatibel \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & Alle Dateien im Ordner api \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & API an die neue Datenbankstruktur anpassen \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Batu, Gebhardt, Murati, Scholz \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 07.02.2012}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 6 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & API, Propel und Datenbank, Benutzerbereich \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & - Propel kann mit den Tabellennamen nicht umgehen \newline - der Benutzerbereich enth"alt Fehler (Daten editieren und l"oschen) \newline - die Heatmap wird nicht geclustert \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & Alle Dateien innerhalb der Ordner propel, user und cluster \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & Tabellennamen in der Datenbank um"andern und Propel neu generieren (Aufgabe 1) \newline Fehler im Benutzerbereich beseitigen (Aufgabe 2) \newline Heatmap geclustert anzeigen (Aufgabe 3) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Aufgabe 1: Gebhardt und Scholz \newline Aufgabe 2: Batu und Murati \newline Aufgabe 3: Batu, Murati und Scholz \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
\paragraph{Teaminterner Codereview - 21.02.2012}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 7 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & Fehler auf der Webseite \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & - Sensor-Diagramme werden nicht mehr angezeigt \newline - Bedienung des Isolationsmodus nicht benutzerfreundlich \newline - nicht alle Pfade in den Templates sind korrekt gesetzt \newline - es sind nicht genutzte Codeteile vorhanden \newline - die Heatmap wird nicht gecached \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & Alle Dateien innerhalb des Projekts \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & Sensor-Diagramme wieder einblenden (Aufgabe 1) \newline Isolationsmodus leichter bedienbar machen (Aufgabe 2) \newline Pfade in den Templates anpassen (Aufgabe 3) \newline Code strukturieren (Aufgabe 4) \newline Caching erm"oglichen (Aufgabe 5) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Aufgabe 1: Batu und Murati \newline Aufgabe 2: Scholz \newline Aufgabe 3: Batu, Gebhardt und Murati \newline Aufgabe 4: Gebhardt \newline Aufgabe 5: Gebhardt \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 07.03.2012}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 8 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & Fehler auf der Webseite \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & Filteroption f"ur die "offentlichen Daten mit Propel nicht ohne weiteres m"oglich (Propel klammert die Ausdr"ucke innerhalb eines SQL-Statements selbstst"andig) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & get\_markers.php und QuerySelect.php \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & Umsetzung der Filterm"oglichkeiten mit Propel \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Scholz \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
\paragraph{Teaminterner Codereview - 27.03.2012}
|
||
\vspace{1cm}
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{5.4cm}||p{11cm}||}
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Reviewnummer & 9 \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Thema & Abschlussreview \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Teilnehmer & Murat Batu, Ulf Gebhardt, Lulzim Murati, Michael Scholz \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Erkannte Probleme & - abfrage sensibler Daten mit Hilfe der Filter in der API \newline - "Andern des Zeitfilters hat keine Auswirkungen auf die Ergebnisse der Heatmap \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Betroffene Datei & api.php und heatmap.php \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Aufgabe & Abschalten der Filter in der API (Aufgabe 1) \newline Kooperation des Zeitfilters mit der Heatmap sicherstellen (Aufgabe 2) \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} Zust"andige Person & Aufgabe 1 und 2: Gebhardt \\
|
||
\hline
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
\newpage
|
||
|
||
|
||
|
||
|
||
|
||
% % % % % % % % % % % % % % % %% % % % % % % % % % % VERSIONSHISTORIE % % % % % % % % % % % % % % % %% % % % % % % % % % % % % % % %
|
||
\newpage
|
||
\section{Versionshistorie}
|
||
Für eine bessere Nachvollziehbarkeit sind die Änderungen in diesem Dokument tabellarisch festgehalten.
|
||
|
||
\begin{tabbing}
|
||
\begin{tabular}{||p{6cm}||p{11cm}||}
|
||
%\hline \rule[-2ex]{0pt}{5.5ex} Noch eine version & test \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.1.0 - 01.12.2011 - MS & Dokument angelegt\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.1.6 - 09.12.2011 - MS & Einleitung, Qualitätsziele (Codequalität, Funktionalität)\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.2.1 - 11.12.2011 - MS, UG & Qualitätswerkzeuge hinzugefügt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.2.9 - 14.12.2011 - MS & Benutzerstudie \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.3.4 - 17.12.2011 - MB, LM & Fehlerkorrekturen \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.4.0 - 18.12.2011 - LM, MB, MS & Fehlerkorrekturen, Details hinzugefügt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.4.8 - 11.01.2012 - MS & Fehlerkorrekturen, Dokument überarbeitet \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.5.1 - 12.01.2012 - LM, UG, MB, MS & Fragebogen: Fragen überarbeitet \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.7.0 - 13.01.2012 - LM, UG, MB, MS & Dokument nach Feedback komplett überarbeitet\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.7.5 - 15.01.2012 - MS & Logfile Analyse entfernt \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.8.1 - 18.01.2012 - MS & Rechtschreibfehler, Kommasetzung \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.9.0 - 24.01.2012 - LM, UG, MB, MS & Erste Abgabeversion ohne Anhang \\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.9.3 - 18.02.2012 - MS & Anhang: Use-Case: 4.2.1 Use-Case: Parsen der JSON-Pakete erstellt\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.9.5 - 27.02.2012 - LM, UG, MB, MS & Anhang: 4.2.2 Use-Case: Abfrage der API erstellt\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.9.8 - 05.03.2012 - LM, UG, MB, MS & Anhang: 4.3 Erweiterbarkeit erstellt und kleine Korrekturen des restlichen Anhangs\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 0.9.9 - 05.03.2012 - MS & Anhang: Text weshalb die Benutzerstudie nicht durchgeführt werden kann erstellt\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 1.0.1 - 15.03.2012 - LM, UG, MB, MS & Kleinere Korrekturen (Rechtschreibung und Kommasetzung)\\
|
||
\hline \rule[-2ex]{0pt}{5.5ex} v. 1.0.3 - 29.03.2012 - LM, UG, MB, MS & Finale Korrekturen (Rechtschreibung und Kommasetzung). Abgabeversion erstellt\\
|
||
%\hline \rule[-2ex]{0pt}{5.5ex} ... - .... & ... \\
|
||
\hline
|
||
\end{tabular}
|
||
\end{tabbing}
|
||
|
||
\newpage
|
||
%fügt elemenmte dem toc hinzu
|
||
\addcontentsline{toc}{section}{Glossar}
|
||
|
||
% \glsaddall %somit werden alle Glossareinträge geprinted. Ansonten nur die, die auch im Text verwendet werden.
|
||
\printglossary[title=Glossar]
|
||
|
||
|
||
|
||
\newpage
|
||
%fügt elemenmte dem toc hinzu
|
||
\addcontentsline{toc}{section}{Literatur}
|
||
\begin{thebibliography}{------}
|
||
|
||
\bibitem[FBBOR+1999]{fowler} Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts: \emph{Refactoring: Improving the Design of Existing Code}, Written: 1999
|
||
|
||
\bibitem[ISO/IEC 9126]{ISO/IEC 9126} International Organization for Standardization \emph{ISO/IEC 9126} \\Auszug: Wikipedia, \href{http://de.wikipedia.org/wiki/ISO/IEC_9126}{http://de.wikipedia.org/wiki/ISO/IEC\_9126}
|
||
|
||
\bibitem[OSI]{opensource.org} Open Source Initiative: \href{http://www.opensource.org/}{http://www.opensource.org/}
|
||
|
||
|
||
|
||
|
||
% \bibitem[BSS+2008]{bss+:2008} Helmut Balzert, Christian Schäfer, Marion Schröder, Uwe Kern: \emph{Wissenschaftliches Arbeiten - Wissenschaft, Quellen, Artefakte, Organisation, Präsentation}, Witten: W3L, 2008
|
||
% \bibitem[ISO9001]{iso:9001} International Organization for Standardization. \emph{ISO 9001}, 12.2008
|
||
% \bibitem[WIKI2011]{wiki:2011} Wikipedia, die freie Enzyklopädie. \emph{WIKIPEDIA}, Stand: 12.12.2011
|
||
\end{thebibliography}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
\end{document}
|