diff --git a/ws2011/BP/QS-Dokument/QS-Dokument.pdf b/ws2011/BP/QS-Dokument/QS-Dokument.pdf index 996305cd..4c85c957 100644 Binary files a/ws2011/BP/QS-Dokument/QS-Dokument.pdf and b/ws2011/BP/QS-Dokument/QS-Dokument.pdf differ diff --git a/ws2011/BP/QS-Dokument/QS-Dokument.tex b/ws2011/BP/QS-Dokument/QS-Dokument.tex index e603cdd8..f52fe759 100644 --- a/ws2011/BP/QS-Dokument/QS-Dokument.tex +++ b/ws2011/BP/QS-Dokument/QS-Dokument.tex @@ -126,7 +126,7 @@ Der Themenbereich umfasst die Umstellung der \gls{API} auf eine neue Datenbank u \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. 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. +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. @@ -197,7 +197,7 @@ Durch Punkt eins k 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. +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.