Projektbericht Naukanu Sailing Maßgeschneiderte Softwarelösungen für Ihr Unternehmen Projektarbeit Naukanu Sailing School Endbericht Planung und Realisierung der Kursverwaltungssoftware für die Naukanu Sailing School Projektteam: Jan Bartsch René Debus Hardy Kübler Annemarie Seifert Hochschule Wismar Semesterprojekt Sommersemester 2014 1 Projektbericht Naukanu Sailing Projektendbericht Semesterprojekt Sommersemester 2014 erstellt von: Jan Bartsch René Debus Hardy Kübler Annemarie Seifert Abgabe 01.08.2014 Auftraggeber Naukanu Sailing School Prüfer Prof. Dr. Dr. H. Neunteufel Hochschule Wismar Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 i Projektbericht Naukanu Sailing Impressum S4B – Software 4 Business GmbH Kübaseden Allee 4 80331 München www.S4B.de Auflage: 07/2014 Autoren: Jan Bartsch, René Debus, Hardy Kübler, Annemarie Seifert © Copyright: Das Werk ist urheberrechtlich geschützt. Alle Rechte sind vorbehalten. Das Kopieren oder Verändern des Werkes ist ohne schriftliche Einwilligung der S4B GmbH untersagt. Kein Teil des Werkes darf in irgendeiner Form (Druck, Fotokopie oder die Speicherung und/oder Verbreitung in elektronischer Form) ohne schriftliche Genehmigung der S4B GmbH reproduziert oder vervielfältigt werden. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 ii Projektbericht Naukanu Sailing Inhaltsverzeichnis Abbildungsverzeichnis...............................................................................................................................................iv Tabellenverzeichnis ....................................................................................................................................................iv Abkürzungsverzeichnis .............................................................................................................................................. v 1. Ausgangssituation/ Problemstellung (Bartsch) .......................................................................... 1 2. Zielsetzung (Bartsch) ............................................................................................................................. 1 3. Anforderungen (Seifert) ....................................................................................................................... 3 4. Organisation (Seifert) ............................................................................................................................ 4 5. GUI (Debus) ............................................................................................................................................... 5 5.1 Schaltflächen und Funktionen ..........................................................................................................................6 5.1.1 Schaltflächen ........................................................................................................................................................6 5.1.2 Funktionen ............................................................................................................................................................7 6. Theoretische Grundlagen Joomla (Kübler und Debus) .......................................................... 10 6.1 Lösungsansatz für die Naukanu Sailing School (Kübler) ................................................................... 10 6.1.1 Webbasierte Anwendungen ....................................................................................................................... 10 6.1.2 Einsatzgebiete Webbasierter Anwendungen ...................................................................................... 11 6.1.3 Infrastruktur Webbasierter Anwendungen ......................................................................................... 11 6.1.4 Datenbank MySQL........................................................................................................................................... 12 6.2 Content Management System Joomla (Kübler) ...................................................................................... 16 6.2.1 Warum Joomla.................................................................................................................................................. 16 6.2.2 Kurzer Streifzug durch Joomla .................................................................................................................. 17 6.2.2.1 Frontend und Backend .............................................................................................................................. 17 6.2.2.2 Komponenten................................................................................................................................................ 17 6.2.2.3 Module ............................................................................................................................................................. 17 6.2.2.4 Plugins.............................................................................................................................................................. 18 6.2.2.5 Templates ....................................................................................................................................................... 18 6.2.2.6 Sprachen.......................................................................................................................................................... 18 6.2.2.7 Beiträge ........................................................................................................................................................... 18 6.2.2.8 Kategorien ...................................................................................................................................................... 18 6.2.2.9 Menüs ............................................................................................................................................................... 19 6.2.2.10 Benutzer und Rechte ............................................................................................................................... 19 6.3 Realisierung mit Joomla (Debus) ................................................................................................................. 20 6.3.1 Der geschlossene Administrationsbereich ........................................................................................... 20 6.3.2 Die Berechtigungsrichtlinien ..................................................................................................................... 23 6.3.3 Die Verwaltungsbereiche............................................................................................................................. 24 7. Qualitätsmanagement (Seifert) ...................................................................................................... 27 7.1 Qualitätsplanung ................................................................................................................................................. 27 7.2 Qualitätslenkung ................................................................................................................................................. 31 7.3 Qualitätssicherung ............................................................................................................................................. 34 7.4 Qualitätsverbesserung ...................................................................................................................................... 37 8. Zusammenfassung und Ausblick (Bartsch) ................................................................................ 37 8.1 Zusammenfassung .............................................................................................................................................. 37 8.2 Ausblick .................................................................................................................................................................. 39 Anhang .............................................................................................................................................................. 40 Literaturverzeichnis ................................................................................................................................................. 40 Autorentabelle ............................................................................................................................................................. 41 Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 iii Projektbericht Naukanu Sailing Abbildungsverzeichnis Abbildung 1: Magisches Dreieck ..................................................................................................................................2 Abbildung 2: Projektaufteilung ....................................................................................................................................5 Abbildung 3: Layout Modul im Backend ..................................................................................................................6 Abbildung 4: Eingabefelder ...........................................................................................................................................7 Abbildung 5: Auswahlfelder ..........................................................................................................................................8 Abbildung 6: Bestimmungsfelder................................................................................................................................8 Abbildung 7: Datum und Zeiteingabe über Kalenderfunktion ........................................................................9 Abbildung 8: Möglichkeit um eine Datei hochzuladen .......................................................................................9 Abbildung 9: Eingabefeld mit Syntaxüberprüfung ..............................................................................................9 Abbildung 10: Funktionsschaltfläche ..................................................................................................................... 10 Abbildung 11: Schema Webbasiertes System ..................................................................................................... 10 Abbildung 12: Sichtenmodell der Anwendung für die Naukanu Sailing School [S4B]....................... 12 Abbildung 13: SQL Quelltext Ticketverwaltungstabelle der Ohanah Extension .................................. 13 Abbildung 14: MySQL Workbench Zentraler Steuerbildschirm .................................................................. 14 Abbildung 15: Darstellung Tabellendetails in der MySQL Workbench .................................................... 15 Abbildung 16: Darstellung zentraler Managementbereich in der MySQL Workbench ..................... 15 Abbildung 17: Zentraler Bereich in der MySQL Workbench für das Monitoring ................................. 16 Abbildung 18: Schichtensystem der Joomla Rechteverwaltung [Joomla2] ............................................ 20 Abbildung 19: Anmeldung als Administrator am Backend ........................................................................... 21 Abbildung 20: Kontrollzentrum nach der Anmeldung als Administrator............................................... 22 Abbildung 21: Inhalt eines Bereiches bearbeiten.............................................................................................. 22 Abbildung 22: Login Bereich mit Registrierfunktion ....................................................................................... 23 Abbildung 23: Verwaltungsmenü............................................................................................................................. 24 Abbildung 24: Budgetverwaltung ............................................................................................................................ 26 Abbildung 25: Invoice Manager ................................................................................................................................ 26 Abbildung 26: Rechnungsübersicht ........................................................................................................................ 27 Abbildung 27: Allgemeine Qualitätsziele .............................................................................................................. 28 Abbildung 28: Qualitätsmerkmale der Software ............................................................................................... 29 Abbildung 29: Ereignisprozesskette - Verwaltung der freien Mitarbeiter ............................................. 31 Abbildung 30: GUI-Skizze - Verwaltung der freien Mitarbeiter .................................................................. 32 Abbildung 31: Erweitere Wasserfallmodell ......................................................................................................... 33 Abbildung 32: Testfallbeschreibung ....................................................................................................................... 35 Abbildung 33: Testverfahren ..................................................................................................................................... 36 Abbildung 34: Soll/Ist-Vergleich .............................................................................................................................. 38 Abbildung 35: Neues Funktionsmenü .................................................................................................................... 39 Abbildung 36: EPK – Verwaltung der freien Mitarbeiter ............................................................................... 42 Abbildung 37: EPK – Kursverwaltung .................................................................................................................... 42 Abbildung 38: EPK – Materialverwaltung ............................................................................................................ 43 Abbildung 39: EPK –Kundenverwaltung............................................................................................................... 43 Tabellenverzeichnis Tabelle 1: Übersicht Aufwandsschätzung [S4B] ...................................................................................................2 Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 iv Projektbericht Naukanu Sailing Abkürzungsverzeichnis CMS Content Management System EPK Ereignisprozesskette GPL General Public License GUI Graphical User Interface HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure HTML Hypertext Markup Language IBAN International Bank Account Number IIS Internet Information Server iOS iPhone Operating System JSN JoomlaShine LAN Local Area Network Mac Macintosh PHP Personal Hypertext Preprocessor SSL Secure Sockets Layer SQL Structured Query Language TLS Transport Layer Security TP Teilprojekt UMTS Universal Mobile Telecommunications System UML Unified Modeling Language WLAN Wireless Local Area Network WYSIWYG What You See Is What You Get Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 v Projektbericht Naukanu Sailing 1. Ausgangssituation/ Problemstellung (Bartsch) Die Naukanu Sailing School ist ein Kleinunternehmen, das Segel- und Surfkurse für Gruppen und Einzelpersonen in Bardolino am Gardasee anbietet. Die Naukanu Sailing School benötigt eine individuelle Softwarelösung für die Kurs-, Material und Kundenverwaltung. Der benötigte Prozess von der Kursbuchung bis zur Durchführung soll damit ebenso unterstützt werden, wie die Erleichterung der Informationsbeschaffung für potentielle Kunden. Zur Festlegung dieses Vorhabens wurde ein Projekt definiert, welches ein befristetes Vorhaben für ein einmaliges Produkt oder Dienstleistung darstellt. Ein Projekt beinhaltet dabei einen definierten Start- und Endzeitpunkt mit genau prüfbaren Zielen. [Dictionary] Anschließend wurde ein Projektmanagement ins Leben gerufen. Projektmanagement ist die Anwendung von Wissen, Können, Werkzeugen und Techniken auf Projektaktivitäten, um Projektanforderungen zu erfüllen. [Dictionary] Am 01.03.2014 wurde der Auftrag ausgeschrieben und von der Software 4 Business GmbH gesichtet. Da S4B auf maßgenschneiderte Softwarelösungen spezialisiert ist, war der Auftrag eine reizvolle Aufgabe, der sich mit Abgabe eines individuellen Angebots gestellt wurde. Mit dem freien Content Management System Joomla lassen sich auch komplexe Websites ohne großes Vorwissen bauen [Joomla]. Daher wurde im Angebot diese Umsetzungsvariante als Ausgangsbasis für weitere Überlegungen verwendet. Nach Abgabe des Angebots wurde am 01.04.2014 der Zuschlag für Software 4 Business GmbH erteilt und somit wurde das im Angebot angedachte Konzept weiter konkretisiert und umgesetzt. 2. Zielsetzung (Bartsch) Die Zielsetzung des Projekts war im Wesentlichen von den geplanten Meilensteinen (Zwischenpräsentation, Endpräsentation und der Abgabe des Endberichts) geprägt, daher wurde die Einhaltung der vereinbarten Termine zum wichtigsten Teilziel des magischen Dreiecks festgelegt. Auf die Präsentationen nach Erreichung der Meilensteine und die Abgabe der Dokumentation hatten Software 4 Business keine Einflussmöglichkeiten, da dieser terminliche Rahmen vom Auftraggeber vorgegeben war, wurde die Planung entsprechend aufgesetzt. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 1 Projektbericht Naukanu Sailing Zeit (Termineinhaltung) Kosten Qualität (Ressourceneinhaltung) (Ergebniserreichung) Abbildung 1: Magisches Dreieck Ausgehend von dem gegebenen Rahmen wurden durch ein geeignetes Team-Schätzverfahren (planning poker) die Aufwände für die Arbeitspakete ermittelt. Planning poker basiert auf der Delphi-Methode, welche in den 60er Jahren von RAND Corporation entwickelt wurde und seinen Namen aus der Antike vom Orakel von Delphi erhalten hat.[Wiki3] Es wurde sich für diese Methode entschieden, da im Team realistische, unbeeinflussbare Ergebnisse erwartet werden im Vergleich zu einer einzelnen Expertenschätzung. Dadurch wird eine einheitliche, gemeinsame Sicht auf die Themen gewährleistet und jedes Teammitglied kann sich mit den ermittelten Aufwänden identifizieren. So wurde die Grundlage für entstandene Aufwandstabelle geschaffen. Projekt „Naukanu“ Aufwand auf Stundenbasis Content/Funktionalität 148 Organisation 75 GUI/Design 32 Modellierung 10 Qualitätssicherung 67 GESAMT 332 Stunden Tabelle 1: Übersicht Aufwandsschätzung [S4B] Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 2 Projektbericht Naukanu Sailing 3. Anforderungen (Seifert) Es gibt bei Anforderungen eine Unterteilung in funktionale und nicht funktionale Anforderungen. Die nicht funktionalen Anforderungen stellen Eigenschaften für die Qualität des Produktes dar. Die funktionalen Anforderungen beschreiben gewünschte Funktionalitäten eines Systems bzw. Softwareprodukts, dessen Daten oder Verhalten. Funktionale Anforderungen unterscheiden sich von Produkt zu Produkt. Nicht funktionale Anforderungen hingegen können für viele Produkte vorgegeben oder genormt werden. Nicht funktionale Anforderungen haben Auswirkungen auf die gesamte Architektur, das gesamte Design des Produktes. Die funktionellen Anforderungen haben nur beschränkte Auswirkungen. Dieses Kapitel beschränkt sich auf die nicht funktionellen Anforderungen. Die funktionalen Anforderungen und Merkmale werden in den nachfolgenden Kapiteln detailliert dargestellt und beschrieben. Der Verwaltungsprozess Ihrer Segel und Surfschule soll vereinfacht werden, um Ihnen die Arbeit soweit wie nur möglich zu erleichtern. Die Anwendung muss nicht nur in Ihrer Bedienung und Handhabung einfach gehalten werden, sondern sie soll den gesamten Prozess transparenter und übersichtlicher gestalten. Um dieses zu erreichen, wurden folgende nicht funktionale Anforderungen festgelegt. Diese werden in folgenden näher erläutert. Benutzerfreundlichkeit Benutzerfreundlichkeit umfasst die vom Benutzer erfahrene Nutzungsqualität bei der Interaktion mit dem System bzw. Softwareprodukt. Die Software soll einfach gehalten werden in Ihrer Bedienung, in der Art der Dateneingabe, bei Auswertungen von Ergebnissen sowie beim Wiederaufsetzen nach Benutzerfehlern. Kurz und knapp ist es die Einfachheit, mit der die Benutzung von Software erlernt werden kann. Zuverlässigkeit Unter Zuverlässigkeit ist die Fähigkeit der Software, ihr Leistungsniveau unter festgelegten Bedienungen in einem festgelegten Zeitraum zu entfalten, zu verstehen. Die Software soll eine bestimmte Systemreife aufweisen, sie soll auf Fehler reagieren können, das heißt sie soll Fehlertolerant und schnell und einfach Wiederherstellbar sein. Leistung und Effizienz Beschreibt das Verhältnis zwischen Leistungsniveau der Software und dem Umgang der eingeHochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 3 Projektbericht Naukanu Sailing setzten Betriebsmittel unter festgelegten Bedingungen. Hierunter zählen schnelle Antwortzeiten für Anwender, denn wer wartet schon gerne lange auf ein Ergebnis. Dieses bietet eine gewisse Wirtschaftlichkeit für ihr Unternehmen. Wartbarkeit Die Software soll einfach zu warten sein, um schnell Fehler beheben zu können und die Performance zu verbessern. Portierbarkeit Unter Portierbarkeit bzw. Übertragbarkeit versteht man die Eignung der Software, von einer Umgebung in eine andere übertragen zu werden. Umgebungen können organisatorische Umgebung, Hardware- oder Softwareumgebungen einschließen. Kurz und knapp gesagt sie soll Installierbar und Anpassungsfähig auf andere Zielsysteme sein. Korrektheit Beschreibt die Übereinstimmung von Realisierung und Anforderung. Hierbei wird von einer exakten Erfüllung, der mit dem Kunden definierten Anforderungen, gesprochen. Beschreibt das Vorhandensein von Funktionen mit festgelegten Eigenschaften, welche die definierten Anforderungen erfüllen. Die Anforderungen sollen richtig, angemessen, ordnungsgemäß implementiert werden. 4. Organisation (Seifert) Damit das Projekt erfolgreich Umgesetzt werden kann, bedarf es einer Struktur, Regeln und Hilfsmitteln. Die Organisation gilt für die gesamte Dauer des Projektes. Im Vorfeld wurde ein Projektleiter für das Projekt ermittelt. Der Projektleiter übernimmt die Koordination und Kommunikation zwischen den Projektbeteiligten und dem Auftraggeber. Zusätzlich übernimmt er die Aufgabe auftretende Konflikte zu klären und zu lösen. Der Projektleiter ist für die operative Planung und Steuerung des Projektes verantwortlich. Er kann bei kleinen Projekten neben der leitenden auch ausführende Tätigkeiten übernehmen. In diesem speziellen Projekt gibt es keine Aufteilung nach Verantwortlichkeiten. Jeder ist für alles Zuständig. Somit übernimmt der Projektleiter die Einplanung der Ressourcen gemäß ihrer Fähigkeiten und des zeitlich definierten Fertigstellungstermins. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 4 Projektbericht Naukanu Sailing Damit das Projekt in seiner Gesamtheit nicht zu umfangreich und unübersichtlich wird, wurde es in Teilprojekte, kurz TP, auf geteilt. Abbildung 2: Projektaufteilung Die Teilprojekte wurden in sogenannte Arbeitspakete unterteilt. Jedes der Arbeitspakete wurde mit Zeiten und Terminen versehen. Des Weiteren wurden die Arbeitspakete nach Projektbeteiligten und Mitwirkenden aufgeteilt. So konnte durch die Projektbeteiligten parallel an unterschiedlichen Aufgaben gearbeitet, werden. Der aktuelle Stand des Projektes wird wöchentlich festgehalten um Verzögerungen frühzeitig zu erkennen. Ebenfalls wird jede Besprechung schriftlich in Form eines Protokolls festgehalten. Im Protokoll werden Festlegungen, Informationen und Aufgaben festgehalten. Das Protokoll dient als Leitfaden für die nächste Besprechung. An Hand dessen wird die Erfüllung der Aufgaben durch den Projektleiter kontrolliert. In der Planungsphase wurde eine Projektstruktur-, Termin- und Basisplan erstellt. An Hand dieser wird das Projekt vorranggetrieben. Die klar geregelten Strukturen ermöglichten einen sehr guten Projektverlauf. 5. GUI (Debus) Die Umsetzung der benutzerfreundlichen grafischen Benutzeroberfläche, wurde zu 100% mit Joomla realisiert. Diese Softwaretechnologie mit Ihren bereits vorhandenen Optionen, Funktionen und möglichen Erweiterungen, macht die Internetpräsenz praktisch zu einem Alleskönner. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 5 Projektbericht Naukanu Sailing Durch mehr als 40 im Template verankerte Parameter, die in ihrem Zusammenspiel dafür sorgen, dass Bildschirmgrößen praktisch keine Rolle mehr spielen, wird die Seite auf jeglichem Endgerät optimal dargestellt. Dazu gehören Smartphones, egal ob mit Android oder dem iOS von Apple, Tablet PCs mit jeglichem vorinstallierten Browser und natürlich Notebooks und Desktops, ebenfalls ohne Belang ob mit Windows, Linux oder Mac Betriebssystem. Die flexible Positionierung der einzelnen „Inhaltsmodule“ macht es möglich, die Seite immer wieder in einem neuen Layout darzustellen. Somit ist die Seite alles andere als starr und kann jederzeit auf die Bedürfnisse des Kunden oder die Eigenen angepasst werden (siehe Abbildung 3). Abbildung 3: Layout Modul im Backend 5.1 Schaltflächen und Funktionen Eine grafische Benutzeroberfläche (GUI) lebt in erster Linie durch Ihre Schaltflächen, mit denen Sie sich durch die Inhalte der Internetseite navigieren können. Der zweite und wichtige Bestandteil einer GUI sind die verschiedenen Funktionen, um Eingaben und Daten des Anwenders entgegenzunehmen. 5.1.1 Schaltflächen Bei Schaltflächen wird zwischen einfachen Verlinkungen in Textform und Verlinkungen in Form einer Grafik, sprich einem anklickbaren Bild unterschieden. Bei den Verlinkungen in Textform, unterscheidet man nochmal zwischen offensichtlichen Links wie z.B. www.google.de und Links in einfacher Textform. Es gibt auch Mischformen, wobei ein dynamischer Text vor einer Grafik sein kann. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 6 Projektbericht Naukanu Sailing Links in Textform können noch dynamische Effekte hinzugefügt werden wie, die Schrift beim Überfahren oder Aktivieren des Links mit der Maus, Fett oder Kursiv erscheinen zu lassen. Auf der Internetpräsenz der Naukanu Sailing School, wurden alle Grundvarianten entsprechend dem Bedarf implementiert. 5.1.2 Funktionen Zu den Funktionen der GUI gehören die Grundfunktionen, wie Sie auch in Formularen zu finden sind. Dazu zählt man Eingabefelder, welche in Einzeilige und Mehrzeilige unterschieden werden, Auswahlfelder, die es in einer sog. „Drop-Down“- und Listenvariante gibt und Bestimmungsfelder, bei denen zwischen einfach- und mehrfach Auswahl unterschieden wird (Radio Buttons und Checkboxes). In der folgenden Abbildung 4 bis Abbildung 6 werden die Grundfunktionen einer GUI dargestellt. Abbildung 4: Eingabefelder Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 7 Projektbericht Naukanu Sailing Abbildung 5: Auswahlfelder Abbildung 6: Bestimmungsfelder Speziellere Funktionen sind Datum ein Zeiteingabe über eine Kalenderfunktion, Die Möglichkeit eine Datei hochzuladen und Spezielle Eingabefelder, welche nur bestimmte Zeichen zulassen bzw. den Syntax überprüfen, z.B. ein Feld für eine E-Mail Adresse oder eine Telefonnummer. Beispiele für speziellere Funktionen sieht man in der Abbildung 7 bis Abbildung 9. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 8 Projektbericht Naukanu Sailing Abbildung 7: Datum und Zeiteingabe über Kalenderfunktion Abbildung 8: Möglichkeit um eine Datei hochzuladen Abbildung 9: Eingabefeld mit Syntaxüberprüfung Als „Funktionsschaltfläche“ können Sie diejenige bezeichnen, über die Sie z.B. den gerade gezeigten Inhalt per E-Mail weiterempfehlen oder Drucken können (siehe Abbildung 10). Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 9 Projektbericht Naukanu Sailing Abbildung 10: Funktionsschaltfläche Alle gezeigten Funktionen sind auch auf der Internetpräsenz der Naukanu Sailing School zu finden. 6. Theoretische Grundlagen Joomla (Kübler und Debus) 6.1 Lösungsansatz für die Naukanu Sailing School (Kübler) 6.1.1 Webbasierte Anwendungen Abbildung 11: Schema Webbasiertes System Eine webbasierte Anwendung ist ein Programm, das auf einem Webserver ausgeführt wird. Der Benutzer interagiert mit dieser Anwendung über einen gängigen Webbrowser (Microsoft Internet Explorer, Mozilla Firefox, Google Chrome…). Der Vorteil dieser Technologie besteht darin, dass die Entfernung zwischen Client und Server unerheblich ist. Der Anwender ist mit seinem Computer (Client) und dem Anbieter (Server) über ein Netzwerk verbunden. Das kann ein LAN/WLAN/UMTS oder das Internet sein. Normalerweise kommuniziert der Anwender über Port 80 mit dem Webserver. Der Aufruf erfolgt über das HTTP Protokoll. Dieser liefert das gewünschte Ergebnis im HTML Format zurück. Dadurch ist es möglich, die grafische Benutzeroberfläche darzustellen. Diese Verbindung ist durch die Verwendung eines public ports offen. Es Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 10 Projektbericht Naukanu Sailing besteht darüber hinaus die Möglichkeit, alternativ über SSL (beispielsweise Port 8080) zu kommunizieren. Das Verfahren wird neu auch als Transport Layer Security (TLS) Verfahren bezeichnet. Es handelt sich eigentlich um ein sogenanntes hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet. Der Aufruf erfolgt hier über das HTTPS Protokoll, das die Verwendung eines Zertifikats und eines public/private Schlüsselpaars notwendig macht. Die Manipulation der Daten, die durch die Interaktion des Anwenders mit dem Webserver abläuft, erfolgt in der dafür angelegten MySQL - Datenbank auf dem Server. 6.1.2 Einsatzgebiete webbasierter Anwendungen In den vergangenen zwei bis drei Jahren konnte im Bereich der Unternehmenslösungen ein Paradigmenwechsel beobachtet werden. Aufgrund der intensiven Durchdringung aller Lebensbereiche durch das Internet und einem zunehmenden Vernetzungsgrad wurden neue und vor allem smartere Kommunikationswege geschaffen. Diese finden sowohl innerhalb eines Unternehmens, als auch zwischen diesem und seiner Umwelt (Kunden, Lieferanten…) statt. Im Zuge dessen setzten sich in Unternehmen Smartphones und Tablets mehr und mehr durch, auf denen mittlerweile betriebliche Anwendungssoftware abgebildet wird. Als exemplarisches Beispiel wird die weltweit eingesetzte Software SAP® genannt, die Dateneingaben für die Module LE und MM im Bereich der Lagerverwaltung auch über Smartphones ermöglicht. Standen also bislang Client-Server-Anwendungen im Mittelpunkt, um betriebliche Funktionen auf stationär eingerichteten Arbeitsplatzrechnern abzubilden, führt die zunehmende Prozessorientierung und die damit einhergehende Flexibilisierung bislang starrer Abläufe zur Notwendigkeit, Software flexibel zu gestalten. Ausdruck für diese Notwendigkeit ist die Tatsache, dass auf modernen Endgeräten keine Möglichkeit mehr besteht, Software direkt aufzuspielen, sondern über sog. Apps oder Browseranwendungen zu implementieren. Hierbei muss die Plattformunabhängigkeit gewährleistet werden, damit der Einsatz auf allen Geräten, egal von welchem Hersteller, möglich wird. Die starke Einbindung des Internets bzw. die Kopplung an das Internet macht es darüber hinaus notwendig, in Softwareumgebungen für die Endanwender, aber auch bei der Umsetzung von Zugriffen auf eine im Hintergrund mitlaufende Datenbank Webfunktionalitäten einzubetten. 6.1.3 Infrastruktur webbasierter Anwendungen Grundlage eines Webservers ist ein Betriebssystem auf einer geeigneten Hardwareplattform. Zum Einsatz im Unternehmensbereich kommt häufig ein Microsoft Windows Server, auf dem ein Internet-Information Server (IIS) für die Bereitstellung der Webservices sorgt. Es handelt sich Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 11 Projektbericht Naukanu Sailing hierbei um kommerzielle, proprietäre Software. Alternativ dazu kann ein Apache Webserver mit MySQL auf Unix Basis verwendet werden. Lokale Testumgebungen können mittels des OpenSource Pakets XAMPP nachvollzogen werden. Dies wurde für die Website der Naukanu Sailing School so umgesetzt. Der Webserver vermittelt die Anwendung in das Internet/Intranet. Das CMS Joomla stellt über die Corekomponenten bzw. (angepasste) Extensions alle Funktionen, Abfragen, Prüfungen und Scripts zur Verfügung, die für die Client-Applikation notwendig sind. Joomla selbst und alle Extensions beruhen auf der Programmiersprache PHP. Javascript Funktionalität kann über Einbettung in Joomla realisiert werden. Im Überblick gestaltet sich die Naukanu Businesslösung wie nachfolgend dargestellt. Abbildung 12: Sichtenmodell der Anwendung für die Naukanu Sailing School [S4B] Wir sprechen von der Unternehmenssicht, wenn wir uns auf die benötigte Technologie für den Betrieb der Softwarelösung auf einer geeigneten Infrastruktur beziehen. Ob Sie die Infrastruktur im Haus vorhalten wollen oder als SaaS bei einem Provider, spielt für die Funktionalität keine Rolle. Aus der Kundensicht ist lediglich eine Internet-/Intranetverbindung notwendig und ein beliebiges Endgerät, das einen modernen Browser zur Verfügung stellt. 6.1.4 Datenbank MySQL Die Datenbank MySQL, die wir für die Naukanu Sailing School einsetzen, ist eine Open-SourceSoftware. Dadurch werden Lizenzgebühren eingespart, da MySQL für jeden kostenlos zur VerfüHochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 12 Projektbericht Naukanu Sailing gung steht. MySQL wurde seit 1994 vom schwedischen Unternehmen MySQL AB entwickelt. Im Februar 2008 wurde MySQL AB vom Unternehmen Sun Microsystems übernommen, das seinerseits im Januar 2010 von Oracle gekauft wurde. [Wiki], [MySQL] MySQL steht für verschiedene Betriebssysteme zur Verfügung. MySQL bietet somit eine Grundlage für dynamische Webauftritte. Da wir unsere Lösung auf Basis einer Unix-basierten Webumgebung erstellt haben, und sie damit überall und zu jeder Zeit nutzbar ist, stellt dies in Verbindung mit Joomla die ideale Lösung dar. MySQL ist ein relationales Datenbanksystem, das mittels SQL zugänglich ist [SQL]. Wir nutzen das Standardschema des Joomla Content Management Systems, das sich mittels SQL Skripts in eine leere MySQL Datenbank installiert. Als Beispiel wird der Skriptausschnitt für die Tabelle Tickets des Materialverwaltungssystems gezeigt. Es handelt sich um Standard SQL Befehle, die hierfür eingesetzt werden. Abbildung 13: SQL Quelltext Ticketverwaltungstabelle der Ohanah Extension Jede von uns genutzte Erweiterung implementiert ihre eigenen Relationen als Erweiterung des MySQL-Joomla Standardschemas. Administriert wird die Datenbank über ein externes Verwaltungsprogramm, die MySQL Workbench. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 13 Projektbericht Naukanu Sailing Abbildung 14: MySQL Workbench Zentraler Steuerbildschirm Über diese grafische Oberfläche wird es dem Fachpersonal möglich, die gesamte Datenbank über eine einzige GUI vollständig zu verwalten. Der Strukturbaum ermöglicht es, manuell bis auf die Datenebene hinab bei Bedarf bzw. bei Individualerweiterungen des Verwaltungsprogramms der Naukanu Sailing School Anpassungen bzw. Korrekturen in der Datenbank vorzunehmen. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 14 Projektbericht Naukanu Sailing Abbildung 15: Darstellung Tabellendetails in der MySQL Workbench Im Managementbereich der Workbench ist vor allem die Möglichkeit der Datensicherung direkt aus der Datenbank heraus hervorzuheben. Abbildung 16: Darstellung zentraler Managementbereich in der MySQL Workbench Das Performance Dashboard ermöglicht eine lückenlose Überwachung der zentralen Parameter für die Sicherstellung der optimalen Performance der Datenbank. Hier können Stellschrauben justiert werden, um beispielsweise Schreib-Lesezugriffe auf das Filesystem zu optimieren. Erweiterungen, welche schlechtes SQL absetzen, können auf diese Weise ermittelt werden. Dadurch ist es möglich, durch Codeoptimierung zu besseren Leistungen zu gelangen. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 15 Projektbericht Naukanu Sailing Abbildung 17: Zentraler Bereich in der MySQL Workbench für das Monitoring 6.2 Content Management System Joomla (Kübler) 6.2.1 Warum Joomla Wir haben uns bereits im Vorfeld zusammen mit dem Kunden entschieden, konsequent auf Open-Source Software zu setzen und für unsere Lösung zu verwenden. Daher ist es konsequent, neben der Quellcode-offenen Datenbank ein ebenfalls offenes Content-Management-System zu verwenden. Mit Joomla haben wir ein System eingeführt, das in erster Linie der Erstellung von Webseiten mit veränderlichen, d.h. dynamischen Inhalten dient. Dabei wird innerhalb von Joomla zwischen drei Ebenen streng unterschieden: der funktionellen Struktur, den eigentlichen Seiteninhalten und dem Layout. [Wiki2] Die Inhalte sind von mehreren Personen gleichzeitig bearbeitbar und können mittels eines WYSIWYG Editors auch ohne tiefgreifendes Fachwissen realisiert werden. Des Weiteren gibt es für Joomla mehr als 1.000 frei zugängliche Extensions, die den Kern des CMS funktional ausweiten [Joomla]. Viele dieser Erweiterungen sind ebenfalls Quellcode-offen und unter Der GNU GPL-Lizenz auch kommerziell einsetzbar. Kommerzielle Extensions sind gegen eine meist geringe Gebühr für den Support leicht erhältlich. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 16 Projektbericht Naukanu Sailing Joomla wird zusammen mit der MySQL Datenbank auf einem Unix OS und einem Apache Webserver bei einem großen deutschen Host-Provider für die Naukanu Sailing School eingesetzt. 6.2.2 Kurzer Streifzug durch Joomla 6.2.2.1 Frontend und Backend Das Frontend ist vereinfacht ausgedrückt die Vorderseite des CMS, also die Webseite, welche normale Besucher im Browser zu Gesicht bekommen. Für gewöhnlich stellt Joomla über das Frontend nur rudimentäre administrative Funktionen bereit, primär für das Erstellen und die Bearbeitung von Inhalten. Als Backend bezeichnet man den Administrationsbereich einer mit Joomla gebauten Seite. Über das Backend werden das System sowie Nutzerkonten, Inhalte, Menüs und Erweiterungen verwaltet. Die Administrationsoberfläche des CMS steht in der Regel nur einem begrenzten Benutzerkreis zur Verfügung und ist per Login geschützt. Im alltäglichen Betrieb dient das Backend oft als Plattform für Redakteure. 6.2.2.2 Komponenten Komponenten sind vollwertige Anwendungen innerhalb einer Joomla Installation, die für gewöhnlich spezifische und teils sehr komplexe Funktionen bereitstellen. Beispiele dafür sind die vorinstallierte Komponente zur Beitragsverwaltung sowie Content Management Kits, eCommerce Lösungen, Online-Event/Ticketing Komponenten oder Galerien. Charakteristisches Merkmal fast aller Komponenten ist die Möglichkeit eigene Inhalte erstellen, verwalten und ausgeben zu können. Die Ausgabe dieser Inhalte erfolgt dabei in den allermeisten Fällen im HauptAusgabebereich der Webseite. 6.2.2.3 Module Module folgen prinzipiell dem bekannten und beliebten Konzept der Widgets. Sie sind in der Regel weniger komplex als Komponenten und zeigen in erster Linie lediglich aufbereitete Informationen an. Beispiele dafür sind die mitgelieferten Module zum Anzeigen von beliebten bzw. zuletzt veröffentlichten Inhalten. Module werden oft zur Verbreitung von nutzergenerierten Inhalten eingesetzt. Die Ausgabe erfolgt an verschiedenen, vorgegebenen Stellen (Modulpositionen) innerhalb der Webseite, jedoch nicht im Haupt-Ausgabebereich der Seite. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 17 Projektbericht Naukanu Sailing 6.2.2.4 Plugins Plugins sind „fleißige Helfer“ innerhalb des CMS und agieren in den meisten Fällen im Hintergrund. Sie übernehmen wichtige Aufgaben wie die Verarbeitung von (Login-)Anfragen oder helfen beim Durchsuchen von Inhalten. Plugins können keine eigene Inhalte ausgeben, jedoch bestehende Inhalte verändern. Weiter können sie das Verhalten von Erweiterungen beeinflussen. Sie stellen damit sehr mächtige und flexible Werkzeuge dar 6.2.2.5 Templates Templates bestimmen das Design und Layout der Seite und sind für die Gestaltung der von Komponenten und Modulen ausgegebenen Inhalte verantwortlich. Sie bestimmen daher die Optik und stellen eine Art Design-Gerüst dar - mit Formatierungen aber ohne eigene Inhalte. Stattdessen stellen Templates Platzhalter für die dynamische Ausgabe von Komponenten -und Modulinhalten bereit. 6.2.2.6 Sprachen Das CMS kann systemeigene Meldungen, Texte und Beschriftungen sowohl im Frontend als auch im Backend in verschiedenen Sprachen ausgeben. Sprachen werden analog zu anderen Erweiterungen in das System eingebunden und können daher auf einfache Weise verwaltet werden. 6.2.2.7 Beiträge Ein Beitrag ist im einfachsten Fall ein Fließtext. Komplexere Beiträge bestehen aus mehreren Absätzen und können Bilder, Tabellen, Listen usw. enthalten. Ein Beitrag entspricht im Grunde einem Textdokument. Im Gegensatz zu Textdokumenten wird der Beitrag jedoch nicht als Datei, sondern als Datenbankinhalt abgespeichert und oft thematisch bedingt einer Kategorie zugeordnet. 6.2.2.8 Kategorien Das in Joomla integrierte Kategoriensystem ermöglicht es Beiträge nach bestimmten Merkmalen zu kategorisieren. Es erlaubt Baumstrukturen mit unbegrenzter Tiefe und ermöglicht damit eine komplexe Hierarchisierung von Inhalten in (mehrfach) geschachtelten Unter- und Oberkategorien. Das rechts eingeblendete Diagramm zeigt ein einfaches Beispiel einer in Joomla umgesetzten Kategorie- und Beitragsstruktur. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 18 Projektbericht Naukanu Sailing 6.2.2.9 Menüs In Joomla wird die Navigation innerhalb einer Website mit Hilfe von Menüs realisiert. Menüs sind eine Besonderheit von Joomla, in diesem Punkt unterscheidet es sich von anderen CMS wie TYPO3 oder Drupal. Innerhalb einer Joomla Installation ist die Navigation prinzipiell unabhängig von der Strukturierung der Inhalte, da Joomla im Gegensatz zu vielen anderen Systemen nicht mit einem festen Seitenbaum arbeitet. Das sorgt für Flexibilität, ist aber gerade für Einsteiger ungewohnt. 6.2.2.10 Benutzer und Rechte Bedingt durch die zahlreichen Möglichkeiten ist die Benutzer- und Rechteverwaltung nicht trivial zu Bedienen und erfordert gerade von Einsteigern Einarbeitungszeit. Die folgende kurze Erklärung der einzelnen Puzzle Teile welche gemeinsam die Benutzer- und Rechteverwaltung ergeben, dient dabei nur als grobe Begriffserklärung. Benutzer nehmen im Frontend oft die Rolle eines Autors und Lektors wahr, sie schreiben und editieren Beiträge. Im Backend treten Benutzer als CMS-Manager auf und sind für die Verwaltung sämtlicher Inhalte (nicht nur Beiträge) verantwortlich. Backend Benutzer unterstützen weiter als Administratoren den „Super-Benutzer“ bei der täglichen Arbeit. Benutzergruppen ergeben sich aus der Tatsache dass Berechtigungen in Joomla nicht für einzelne Benutzer sondern ausschließlich für Gruppen von Benutzern vergeben werden. Will man also nun einem bestimmten Benutzer eine bestimmte Berechtigung einräumen, geht das nur wenn man der gesamten Benutzergruppe dieses Benutzers die gewünschte Berechtigung zuweist. Das Gruppensystem ist dabei hierarchisch angelegt und ermöglicht Vererbung. Zugriffsebenen legen fest welche Benutzergruppen welche Inhalte (Beiträge, Kategorien, Menüs Menüeinträge, Module, Inhalte von Komponenten, usw.) im Frontend der Seite einsehen dürfen. Sie funktionieren unabhängig von sonstigen Berechtigungen, welche für die Rechteverwaltung aller anderen Aktionen (Inhalte erzeugen, editieren, löschen usw.) zuständig sind. Berechtigungen legen fest ob die Benutzer aus einer bestimmten Gruppe, eine bestimmte Aktion durchführen dürfen. Sie sind ebenfalls vererbbar - auf diese Weise wird es möglich grundsätzliche Rechte auf Systemebene festzulegen und darauf basierend dann Ausnahmen für andere Berechtigungsebenen zu erlauben [Joomla] Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 19 Projektbericht Naukanu Sailing Abbildung 18: Schichtensystem der Joomla Rechteverwaltung [Joomla2] 6.3 Realisierung mit Joomla (Debus) Folgend wird beschrieben, wie die Inhaltlichen Anforderungen mit Joomla umgesetzt wurden. Dazu gehören ein geschlossener Passwortgeschützter Bereich (Administrationsebene) verschiedene durch Berechtigungsrichtlinien gesteuerte Inhalte und Ansichten Aufteilung der Verwaltungsbereiche in o Personalverwaltung o Kundenverwaltung o Kursverwaltung o Rechnungs- und Budgetverwaltung o Materialverwaltung 6.3.1 Der geschlossene Administrationsbereich Der Zugang zum sog. Backend ist nur mit einem Administrationszugang möglich. Hier haben Sie die Möglichkeit, jegliche Anpassungen, ob inhaltliche oder gestalterische vorzunehmen. Dazu gehören beispielsweise Ändern des Farbschemas der Seite Änderung der Positionen der Inhalte Textliche Inhalte aktualisieren Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 20 Projektbericht Naukanu Sailing Bildliche Inhalte aktualisieren Weitere Administratoren hinzufügen oder entfernen Datenwiederherstellung über das Backupsystem Extensions installieren oder austauschen Einstellungen an den Extensions vornehmen Wie das aussehen kann, wird in der Abbildung 19 bis Abbildung 21 exemplarisch dargestellt. Abbildung 19: Anmeldung als Administrator am Backend Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 21 Projektbericht Naukanu Sailing Abbildung 20: Kontrollzentrum nach der Anmeldung als Administrator Abbildung 21: Inhalt eines Bereiches bearbeiten Über die Extension „JSN UniForm“, welche ebenfalls nur über das Backend aufgerufen werden kann, lassen sich zudem noch weitere Formulare erstellen. So kann beispielsweise nach jedem Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 22 Projektbericht Naukanu Sailing Event, das die Naukanu Sailing School veranstaltet hat, ein individueller Feedbackbogen zu diesem Event erstellt werden. 6.3.2 Die Berechtigungsrichtlinien Berechtigungen werden über verschiedene Benutzergruppen verwaltet. Es kann in erster Linie zwischen den Benutzergruppen Public (Ohne Registrierung) Registrierter Benutzer (Selbst registriert) Administrator Custom Benutzergruppen (Mitglieder werden von Administrator registriert) unterschieden werden. Zur Benutzergruppe „Public“ gehört jeder, der einfach nur die Seite besucht, ohne sich zu registrieren. Der Besucher sieht dann nur das, was auch für diese Benutzergruppe freigegeben ist. Benutzer, die sich registrieren wollen, können dies direkt auf der Seite im Login Bereich machen (siehe Abbildung 22). Hier wird die Gruppenzugehörigkeit automatisch vom System vergeben. Danach wechselt dann der Status von „Public“ zu „Registrierter Benutzer“. Diese haben dann z.B. die Möglichkeit, bestimmte Inhalte zu sehen oder Buchungen vorzunehmen. Abbildung 22: Login Bereich mit Registrierfunktion Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 23 Projektbericht Naukanu Sailing Ein Administrator ist derjenige, der das System (Joomla) auf dem Webserver installiert hat. Dieser kann wiederum zusätzliche Benutzer anlegen, die der Benutzergruppe „Administrator“ zugehörig sind. „Custom Benutzergruppen“ können ebenfalls nur von Administratoren angelegt werden und lassen sich sehr flexibel gestalten. So ist es z.B. möglich, jeweils eine eigene Benutzergruppe für Kursleiter und Materialwarte zu erstellen, mit völlig unterschiedlichen Berechtigungen. 6.3.3 Die Verwaltungsbereiche Die bereits erwähnten fünf Verwaltungsbereiche (Personalverwaltung, Kundenverwaltung, Kursverwaltung, Rechnungs- / Budgetverwaltung und Materialverwaltung), haben wir über die in Abbildung 23 gezeigten Menüpunkte, welche im Verwaltungsmenü erreichbar sind, abgebildet. Abbildung 23: Verwaltungsmenü Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 24 Projektbericht Naukanu Sailing Zum Bereich „Personalverwaltung“, gehört einerseits der Menüpunkt „Personal anlegen“, mit dem Sie die Möglichkeit haben einen Mitarbeiter mit allen relevanten Daten im System zu erfassen und andererseits der Menüpunkt „Budgetverwaltung“, in der das Honorar des Mitarbeiters verbucht werden kann. Zur „Kundenverwaltung“ gehört im Verwaltungsmenü nur der Menüpunkt „Kunden anlegen“. Darüber wird ein Formular aufgerufen, mit dem ein Mitarbeiter der Naukanu Sailing School einen Kunden direkt in einen Kurs buchen kann. Der Bereich „Kursverwaltung“ beinhaltet aus dem Verwaltungsmenü nur den Punkt „Kurs anlegen“. Über eine Eingabemaske lässt sich hier ein neuer Kurs oder Event hinzufügen. Muss ein Termin bearbeitet werden, muss dies als Administrator über das Backend erfolgen. Zur „Rechnungs- und Budgetverwaltung“ gehört der bereits erwähnte Menüpunkt „Budgetverwaltung“, der Punkt „Rechnungen anlegen“ und „Rechnungsübersicht“. Neben den Honoraren, die für die Mitarbeiter verbucht werden können, können in der Budgetverwaltung jegliche Ein- und Ausgaben verbucht werden. Neben der Möglichkeit nach bestimmten Buchungen zu filtern, um beispielsweise verschiedene Auswertungen zu erstellen, wird Ihnen das Gesamtsaldo in der gleichen Ansicht angezeigt (siehe Abbildung 24). Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 25 Projektbericht Naukanu Sailing Abbildung 24: Budgetverwaltung Über den Menüpunkt „Rechnungen anlegen“, öffnet sich der sog. „Invoice Manager“. Mit diesem lassen sich Rechnungen anlegen und verwalten (siehe Abbildung 25). Abbildung 25: Invoice Manager Der Menüpunkt „Rechnungsübersicht“ zeigt Ihnen eine vereinfachte Übersicht aller Rechnungen (siehe Abbildung 26). Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 26 Projektbericht Naukanu Sailing Abbildung 26: Rechnungsübersicht Der letzte Bereich „Materialverwaltung“, beinhaltet die Menüpunkte „Materialbestellung“ und „Reparaturmeldung“. Dort können über ein Warenkorbsystem neue Materialen bestellt und über ein Ticketsystem Materialien zur Reparatur gemeldet werden. 7. Qualitätsmanagement (Seifert) Das Qualitätsmanagement umfasst alle Tätigkeiten, um die Qualität von Prozessen und Produkten sicherzustellen. Was bedeutet Qualität? Qualität definiert die Gesamtheit von Eigenschaften und Merkmalen eines Produktes oder Tätigkeit, die sich auf deren Eignung zur Erfüllung gegebener Erfordernisse bezieht. [Qualität] Um Qualität zu erreichen bedarf es einer Qualitätsplanung, -lenkung, -sicherung und -verbesserung. 7.1 Qualitätsplanung Während der Qualitätsplanung werden überprüfbare Qualitätsziele definiert und Maßnahmen zur Erreichung dieser Ziele festgelegt. Dies wird alles im Qualitätssicherungsplan dokumentiert. Welche allgemeinen Qualitätsziele wurden festgelegt und was soll damit erreicht werden? Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 27 Projektbericht Naukanu Sailing Zum einen eine bessere Kommunikation mit unseren Kunden, eine höhere Produktivität unserer Mitarbeiter und mit wenig Aufwand und geringen Kosten profitable Produkte zu erreichen. Schnelle Produktinnovationen spielen eine große Rolle, um Wettbewerbsvorteile gegenüber anderen Mitbewerbern ausnutzen zu können. Ein weiteres Ziel ist es Verkaufserfolge zu erzielen. Unser oberstes Unternehmensziel ist die hohe Qualität unserer Produkte und Leistungen um somit zufriedene Kunden zu gewinnen. Abbildung 27: Allgemeine Qualitätsziele Welche Qualitätsmerkmale wurden für die Software definiert? Vorweg, im Qualitätsmanagement stehen Qualitätsmerkmale im Mittelpunkt. Qualitätsmerkmale sind Ziele, ihnen gilt alles Planen und Erfolgsbemühen. Ein Qualitätsmerkmal ist in erster Linie ein Prüfmerkmal und damit ein Mittel zur Bewertung der Qualität eines Softwareproduktes. In technischen und kommerziellen Softwaresystemen spielt die Qualität der Software eine entscheidende Rolle für den Erfolg von Produkten oder Unternehmen. Daher wurde für das Softwareprodukt folgende Qualitätsmerkmale nach der Norm ISO 9126 [ISO Norm] ausgewählt. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 28 Projektbericht Naukanu Sailing Abbildung 28: Qualitätsmerkmale der Software Die Abbildung zeigt die Qualitätsmerkmale, welche für das Produkt ausgewählt wurden. In folgendem werden die Qualitätsmerkmale kurz beschrieben. Benutzerfreundlichkeit Ist die Einfachheit, mit der die Benutzung von Softwaresystemen (z.B. Bedienung, Art der Dateneingabe, Auswertung von Ergebnissen, Wiederaufsetzen nach Benutzerfehlern) erlernt werden kann. Zuverlässigkeit Unter Zuverlässigkeit ist die Fähigkeit der Software, ihr Leistungsniveau unter festgelegten Bedienungen in einem festgelegten Zeitraum zu entfalten, zu verstehen Leistung und Effizienz Beschreibt das Verhältnis zwischen Leistungsniveau der Software und dem Umgang der eingesetzten Betriebsmittel unter festgelegten Bedingungen. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 29 Projektbericht Naukanu Sailing Wartbarkeit Ist ein Kriterium bei der Softwareentwicklung welches besagt wie schnell Fehler behoben, die Performanz verbessert werden kann oder wie schnell Anpassungen der Software vorgenommen werden können um diese an neue Systemumgebung anzupassen. Übertragbarkeit Ist die Einsetzbarkeit erstellter Software auf anderen Zielsystemen (andere Hard- und Software). Korrektheit Ist die Übereinstimmung von Realisierung und Anforderung, das heißt die exakte Erfüllung der Anforderungen. Robustheit Ist das Verhalten gegen außergewöhnliche Bedienungen wie z.B. gegenüber Fehlprogrammierung, Fehlbedienung und Fehlerbehandlung. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 30 Projektbericht Naukanu Sailing 7.2 Qualitätslenkung Die Qualitätslenkung umfasst alle konstruktiven Maßnahmen, mit welchen mehr Qualität erzeugt werden kann. Hier heißt das Motto „Vorbeugen ist besser als heilen“. Konstruktive Maßnahmen sorgen von vornherein für ein gewisses Maß an Qualität durch Vorgabe von Konstruktionstechniken und Richtlinien wie strukturiertes Vorgehen und werkzeuggestützte Entwicklung. Die Maßnahmen für die Qualitätslenkung teilen sich auf in technische und organisatorische Maßnahmen. Die technischen Maßnahmen umfassen die Festlegung von Methoden, Sprachen und Werkzeuge. Technische Qualitätssicherungsmaßnahmen Zum einen wurde eine ausführliche und intensive Analyse Ihrer Anforderungen durchgeführt. Es wurde eine Anforderungsanalyse- und –design mit UML Diagrammen ungesetzt. Hierbei hat man sich für das Anwendungsfalldiagramm, auch Use-Case-Diagramm bezeichnet, entschieden. Nach der Modellierung der Diagramme wurde zu jedem Geschäftsprozess (Use-Case) eine ausführliche Arbeitspaketbeschreibung erstellt. Die Hauptgeschäftsprozesse wurden in Form eines Workflows (Ereignisprozessketten) abgebildet, um beim Testen so genannte Komplettestes durchzuführen. Sie folgende Abbildung. Hier sehen Sie ein Beispiel für eine Ereignisprozesskette für die Verwaltung der freien Mitarbeiter. Abbildung 29: Ereignisprozesskette - Verwaltung der freien Mitarbeiter Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 31 Projektbericht Naukanu Sailing Die Ereignisprozesskette für die Kursverwaltung, Materialverwaltung und Kundenverwaltung finden Sie im Anhang. Das Problem welches immer auftritt, ist die exakte Beschreibung der Anforderungen. Meist hat der Kunde eine andere Vorstellung über die Umsetzung der Anforderungen als der Entwickler. Um diese Fehlerquelle vorzubeugen, wurde im Vorfeld eine bildliche Beschreibung der Anforderungen vorgenommen in Form so genannter GUI- Skizzen. Abbildung 30: GUI-Skizze - Verwaltung der freien Mitarbeiter Eine weitere Maßnahme ist die Auswahl der Programmiersprache, hier hat man sich für PHP in Kombination mit JavaScript entschieden, da es die Sprache ist welche durch Joomla unterstützt wird. Es wurden Testwerkzeuge im Vorfeld festgelegt mit dem das Produkt in der Qualitätssicherung getestet wird. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 32 Projektbericht Naukanu Sailing Organisatorische Qualitätssicherungsmaßnahmen Die organisatorischen Maßnahmen umfassen Richtlinien, Standards und Checklisten. Die organisatorischen Maßnahmen umfassen zum einen die Auswahl eines Vorgehensmodells zur Softwareentwicklung. Man hat sich für das erweiterte Wasserfallmodell entschieden. Das Wasserfallmodell ist für Projekte geeignet bei denen sich Anforderungen, Leistungen und Abläufe in der Planungsphase relativ präzise beschreiben lassen und sich auch im Laufe der Entwicklung wenig ändert. An Hand dieses Modells wird Beschrieben wie mit Anforderungen umgegangen wird. Der Softwareentwicklungsprozess wird in einzelne, feste Phasen organisiert. Jede der Phasen muss komplett abgeschossen sein, damit mit der nächsten Phase begonnen werden kann. Beim erweiterten Modell sind Rücksprünge in vorherige Phasen möglich. Rücksprünge gab es in der Phase des Tests. Nach dem Test gab es einen Rücksprung in die Phase der Codierung. Die Phase der Codierung kann man in diesem Projekt auch als Customizing Phase bezeichnen. Alle Arbeiten der aktuellen laufenden Testphase mussten hierzu verworfen werden. Abbildung 31: Erweitere Wasserfallmodell Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 33 Projektbericht Naukanu Sailing 7.3 Qualitätssicherung Die Qualitätssicherung umfasst die Umsetzung der Maßnahmen, welche im Qualitätssicherungsplan festgelegt wurden. Diese nennt man auch analytische Maßnahmen. Analytische Maßnahmen stellen nur sicher, dass ein Qualitätsstandard erreicht ist. Das Ziel der Qualitätssicherung ist das Entdecken von Fehlern. Hier wird die Qualität der Software geprüft und bewertet. Analytische Qualitätssicherungsmaßnahmen Damit die Software getestet werden kann, wurden im Vorfeld sogenannte Testfälle erstellt. Hierbei handelt es sich um eine textuelle Beschreibung der zu Testenden Funktionen. Die Testfälle wurden in sogenannte Testkriterien eingeteilt. Ein Testkriterium wird als Einheit oder Ereignis definiert, die durch einen oder mehrere Testfälle validiert werden kann. Dieses können zum Beispiel Funktionen, Transaktionen, Qualitätsmerkmal oder ein strukturelles Element sein. Jedes Testkriterium beinhaltet ein oder mehrere Testfälle. Testfälle Ein Testfall besteht aus einer fortlaufenden Testfallnummer, einer Testfallbeschreibung, Eingabewerten, Vorbedingungen die für die Ausführung notwendig sind, die erwarteten Sollwerte und die erwarteten Nachbedingungen. Vorbedingungen sind nötig um einen Testfall zu starten. Sie besagen was muss vorher geschehen, damit ein Testfall gestartet werden kann. Die Eingabe beschreibt die Werte, die der Benutzer eingeben soll. Das erwartete Ergebnis bzw. die Sollwerte geben das Ergebnis an welches unter den eingegebenen Werten erwartet wird. Das erwartete Ergebnis – Nachbedingungen ist beschrieben welche Nachbedingungen noch für diesen Testfall ausstehend sind. Es wurden für dieses Projekt zum Testen 26 Testfälle erstellt. Zu jedem Testfall wurde ein negativer Testfall erstellt. Der negative Testfall ist analog zum positiven Testfall aufgebaut. Die negativen Testfälle beschreiben Funktionen welche eine fehlerhafte Eingabe einer Benutzer beschreibt und wie damit umgegangen werden soll. Negative Testfälle beinhalten in der Testfallnummer als Kennzeichen ein „F“. Die Testfälle wurden zusätzlich in Form einer Testfall Checkliste aufgeführt. In dieser Checkliste wird der Status eines jeden einzelnen Testfalls festgehalten. Der Tester kann über jeden Testfall bestimmen, ob das System sich wie erwartet, sich nicht wie erwartet verhält oder ob der Test noch aussteht und der Status dazu noch offen ist. Der Sinn dieser Checkliste ist es keinen Testfall zu vergessen beim Testen. In der folgenden Abbildung sehen Sie ein Beispiel für einen Testfall. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 34 Projektbericht Naukanu Sailing Abbildung 32: Testfallbeschreibung Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 35 Projektbericht Naukanu Sailing Testverfahren Testverfahren können erst angewendet werden, wenn das zu prüfende Produkt bereits entwickelt wurde. Es gibt drei Verfahren an Hand Software getestet werden kann. Hier wird unterscheiden zwischen White-Box, Black-Box und Grey-Box Testverfahren. Abbildung 33: Testverfahren Das für uns wichtigste Testverfahren ist der Black-Box Test. Warum hat man sich für den Black-Box Test entscheiden? Da es sich bei Ihren Produkt um keine Eigenentwicklung handelt. Hier wurde hauptsächlich Customizing betrieben. Deshalb wurde der Black-Box Test priorisiert. Für die Black-Box Tests ist der Quellcode nicht einsehbar – getestet wird auf Grundlage der Anforderungen und den daraus abgeleiteten Testfällen. Nutzertest Es wurden sogenannte Nutzertests durchgeführt, diese umfassen das Testen der Bedienbarkeit der Software. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 36 Projektbericht Naukanu Sailing Korrekturlesen in Form von Textreviews Es wurden Textreviews durchgeführt um die Qualität des textuellen Inhalts z.B. der Artikel und Beiträge zu kontrollieren und zu verbessern. Bei Reviews handelt es sich um eine statische Testmethode. Die Texte der Webseite wurden manuell geprüft. Jedes Arbeitsergebnis in diesen Bereich wurde durch eine andere Person eine Durchsicht unterzogen. Dieses Verfahren ist eine Art Vier-Augen-Prinzip. Linkprüfung Die Links der kompletten Webseite wurden ordnungsgemäß uns sorgfältig überprüft. Es soll zu keinen fehlerhaften Verlinkungen kommen. Farbabstimmung Des Weiteren wurde auf die Farbabstimmung der einzelnen Seiten geachtet. Damit diese sich nicht von der Farbgebung der anderen Seiten unterscheiden. 7.4 Qualitätsverbesserung Um die Qualität stätig zu verbessern, bedarf es Verbesserungsmaßnamen. Diese umfassen Wiederkehrende Tätigkeiten zum Erhöhen der Fähigkeiten um Anforderungen zu erfüllen. Qualität ist kein Ziel, sondern ein Prozess der nie zu Ende geht. 8. Zusammenfassung und Ausblick (Bartsch) 8.1 Zusammenfassung An dieser Stelle möchte ich als Projektleiter das Projekt kurz evaluieren. Unsere ursprünglich gesetzten Ziele zur Einhaltung aller vorgegebenen Termine wurden erfolgreich eingehalten. Der zeitliche Rahmen wurde, wie vom Auftraggeber gefordert, eingehalten. Die Qualität der entwickelten Webseite ist durch ein bereits bei der Konzeption beteiligtes umfangreiches Testmanagement gewährleistet worden. Die entstandenen Kosten bzw. der personelle Aufwand waren höher als geplant, aber immer noch im wirtschaftlichen Rahmen. Maßgeblich für diesen Erfolg war die kontinuierliche und konsequente Mitarbeit aller Teammitglieder. Es wurden wöchentliche Statusmeetings durchgeführt um die Verteilung neuer Aufgaben zu organisieren. Bei Bedarf und vor Meilensteinterminen wurde die Taktung auf zweimal pro Woche erhöht. Diese enge Kommunikation führte zu einer gemeinsamen Sicht auf das Projekt. Jedes Teammitglied war stets darüber informiert, welche Tätigkeiten bis zum nächsten Statusmeeting anfallen. Außerdem dienten die Absprachen ebenfalls dazu, das Wissen zu vermehren, da bei Bedarf Schulungen zu aktuellen Themen durchgeführt worden sind. Lessions learned Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 37 Projektbericht Naukanu Sailing wurde während der Umsetzung durchgeführt. Somit konnten wir bereits im späteren Verlauf des Projektes davon profitieren. Lessions learned sind dokumentierte Informationen, die für gewöhnlich bei Meetings, Diskussionen oder schriftlichen Berichten gesammelt werden. Diese geben Auskunft darüber wie man bei herkömmlichen und nicht herkömmlichen Projekten darauf reagieren kann. Diese Informationen können von anderen Projektmanagern als Referenz für nachfolgende Projekte hilfreich sein. [Dictionary] Die eingetretenen Änderungswünsche (Stöberecke, IBAN-Rechner, Logoanpassungen etc.), die während der Zwischenpräsentation aufgetreten sind, haben den Plan für die Funktionalität zwar etwas nach hinten verschoben. Allerdings war bei der Ausgangsplanung ein Puffer vorgesehen, der für diesen Zweck vorgesehen war. Im Nachhinein war es eine gute Entscheidung, diese Puffer-Zeit einzuplanen, da alles bis zum finalen Abgabetermin abgeschlossen werden konnte. Abbildung 34: Soll/Ist-Vergleich Abschließend lässt sich festhalten, dass wir ein sehr gutes Team gebildet haben. Die Teammitglieder sind trotz der räumlichen Entfernung schnell zu einem „Gefüge“ geworden, das sich gut organisiert hat. Wir konnten alle von den unterschiedlichen Erfahrungen jedes Einzelnen profitieren und haben viel für unseren beruflichen und privaten Werdegang dazu lernen können. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 38 Projektbericht Naukanu Sailing 8.2 Ausblick Im Zuge der Umsetzung sind weitere Ideen entstanden, die in diesem Abschnitt aus der Sicht S4B genauer erläutert werden. Für ein Unternehmen mit internationalem Publikum ist es von essentieller Bedeutung, dass Ihre potentiellen Kunden auch verstehen, welche Leistungen Sie erbringen. Daher ist es für Ihre Webseite unumgänglich, dass sie in mehreren Sprachen zur Verfügung steht. Der Internetauftritt wurde so konzipiert, dass diese Erweiterung bedenkenlos integriert werden kann. Wir empfehlen Ihnen die Sprachen Englisch, Französisch und Italienisch. Um den Wechsel der Sprache so intuitiv wie möglich zu gestalten, sollte das Funktionsmenü um die Flagge der jeweiligen Sprache erweitert werden (siehe Abbildung 35). Abbildung 35: Neues Funktionsmenü Eine weitere Möglichkeit, die wir Ihnen empfehlen, sind Erweiterungen für zusätzliche Auswertungen und Statistiken. Die Naukanu Sailing School benötigt, wie jedes andere Unternehmen auch, Entscheidungsgrundlagen für das weitere Geschäftsumfeld und zukünftige Planungen. Welche Kurse laufen gut und bringen viel Umsatz? Welcher Trainer ist beliebt und hat Stammkundschaft? Wie wirtschaftlich läuft Ihre Unternehmung? Diese und viele Fragen mehr können wir mit der Hilfe zusätzlicher Statistik-Module beantworten. Außerdem bieten wir Ihnen eine Analyse darüber an, welcher Teil Ihrer Seite am häufigsten aufgerufen wird. Wir setzen geeignete Maßnahmen ein, Ihre Webseite beim SuchmaschinenRanking auf die vorderen Plätze zu setzen. Sie können also erkennen, dass wir noch viele weitere Möglichkeiten haben, Ihr Unternehmen auf Erfolgskurs zu halten. Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 39 Projektbericht Naukanu Sailing Anhang Literaturverzeichnis [Dictionary] J. LeRoy, dictionary of project management terms, third edtion 2008, ESI International Ward, Seiten 245, 342, 348 (Übersetzt durch Bartsch aus dem englischen) [ISO Norm] http://de.wikipedia.org/wiki/ISO/IEC_9126 [Joomla] L. M. Dubowy: Schalthebel der Macht. Das Open-Source-CMS Joomla 3; in c’t 2014 Heft 5, S. 182 ff. [Joomla2] A. Ebersbach, M. Glaser, R. Kubani: Joomla, das umfassende Handbuch. 2., aktualisierte und erweiterte Auflage 2008, Galileo Press [MySQL] http://www.mysql.com/why-mysql/. Zugriff: 22. Juli 2014 [Qualität] [S4B] H. Kübler, J. Bartsch, A. Seifert, R. Debus: Auftrag für Semesterprojekt Großes Fremdwörterbuch, Bibliographisches Institut Leipzig, 1984 Sommersemester 2014 Team S4B an der Hochschule Wismar, Studiengang Dipl. Wirtschaftsinformatik (FH), 2014 [Wiki] http://en.wikipedia.org/wiki/MySQL. Zugriff: 20. Juli 2014 [Wiki2] http://en.wikipedia.org/wiki/Joomla . Zugriff: 22. Juli 2014 [Wiki3] http://de.wikipedia.org/wiki/Delphi-Methode Zugriff 28. Juli 2014 Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 40 Projektbericht Naukanu Sailing Autorentabelle Autor Jan Bartsch René Debus Hardy Kübler Kapitel Seiten 1. Ausgangssituation / Problemstellung 1 2. Zielsetzung 1–2 8. Zusammenfassung und Ausblick 37 – 39 5. GUI 5 – 10 6. Theoretische Grundlagen Joomla 20 – 27 6.3 Realisierung mit Joomla 20 – 27 6. Theoretische Grundlagen Joomla 6.1 Lösungsansatz für die Naukanu Sailing School 6.2 Content Management System Joomla Annemarie Seifert 3. Anforderungen 4. Organisation 7. Qualitätsmanagement Testfälle Diese befinden sich in einem separaten Dokument (Testfälle.pdf). Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 41 Projektbericht Naukanu Sailing Ereignisprozessketten Abbildung 36: EPK – Verwaltung der freien Mitarbeiter Abbildung 37: EPK – Kursverwaltung Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 42 Projektbericht Naukanu Sailing Abbildung 38: EPK – Materialverwaltung Abbildung 39: EPK –Kundenverwaltung Hochschule Wismar Semesterprojekt Sommersemester 2014 04.07.15 43