Angebot¶
Inhaltsverzeichnis¶
Anhänge:
1.1 Zeitplanung
1.2 Lizenzen (fremde)
1.3 Lizenzen (eigene)
2.1 Grundfunktionen
2.1.1 Registrierung und Anmeldung
2.1.2 Termine eintragen und löschen
2.2 Zusatzfunktionen
2.2.1 Termine nachtragen
2.2.2 Zeitpläne drucken
2.3 Administration
2.4 Datenschutz
2.5 Design
2.5.1 Usability
2.5.2 Barrierefreiheit
2.5.3 Prototyp der Hauptseite
Angebot¶
ESTA GbR | Rheinstraße 15 | 65795 Hattersheim | USt-IdNr.: DE 100000001
Brühlwiesenschule
Herr Nobert Wild
Gartenstraße 28
65719 Hofheim
Angebot: A130001
Kundennummer: K130001
Datum: 08.02.2013
Das Angebot ist vier Wochen gültig
Stundensatz: 60 €
Position | Anzahl | Einheit | Beschreibung | Netto |
1 | 40 | Stunden | Erstellung des Pflichtenhefts | 2400 |
2 | 8 | Stunden | Erstellung eines Angebots | 480 |
3 | 16 | Stunden | Benutzerhandbuch (mehrsprachig) | 960 |
4 | 8 | Stunden | Erstellen einer Installationsanweisung | 480 |
4 | 32 | Stunden | Erstellung einer Dokumentation | 1920 |
5 | 8 | Stunden | Datenbankmodellierung | 480 |
6 | 16 | Stunden | Benutzerverwaltung | 960 |
7 | 32 | Stunden | Terminverwaltung | 1920 |
8 | 16 | Stunden | Administrationsbereich | 960 |
9 | 8 | Stunden | Datenimport | 480 |
10 | 16 | Stunden | Rechteverwaltung | 960 |
11 | 24 | Stunden | Erstellen von mock ups | 1440 |
12 | 24 | Stunden | Erstellen von Prototypen | 1440 |
13 | 16 | Stunden | Lehrerfiltererstellung | 960 |
14 | 8 | Stunden | Formelementanpassung | 480 |
15 | 32 | Stunden | Integration von Prototypen | 1920 |
16 | 48 | Stunden | Systemtest | 2880 |
2% sKonto bei Zahlung innerhalb von 14 Tagen | 352 | Stunden | Gesamt | |
Gesamt Netto | 21120,00 | |||
19 % Umsatzsteuer | 4012,80 | |||
Gesamt Brutto | 25132,80 |
Vielen Dank für Ihr Interesse an dem Produkt. Für weitere Rückfragen stehen wir Ihnen gerne zur Verfügung.
Im Anhang finden sie eine Auflistung der verwendeten Lizenzen und eine Visualisierung über einen möglichen Projektablauf.
1 Planung¶
1.1 Zeitplanung¶
Abb. 1: GANTT-Diagramm
1.2 Lizenzen (fremde)¶
Bei der Erstellung der Software wird darauf geachtet, alle weiteren Kosten so gering wie möglich zu halten. Es werden für die Entwicklung und den Betrieb der Software keine weiteren Lizenzen benötigt. Der Hauptgrund dafür ist das verwendete Yii Framework. Das Framework hat die BSD Lizenz und ist Opensource. Daher kann dieses Framework ohne Bedenken und ohne zusätzliche Kosten verwendet werden.
Des Weiteren wird als Programmiersprache PHP verwendet, die die unter der PHP Lizenz läuft und ebenfalls Opensource ist. Die weiteren verwendeten Sprachen wie HTML und JavaScript sind Lizenzfrei.
Das relationale Datenbankverwaltungssystem MySQL, welche die GPL Lizenz inne hat, ist ebenfalls Opensource. Wir verwenden als freie Storage-Engine für MySQL InnoDB.
Es werden auch mehrere Icons verwendet, die alle zu der CC-BY-SA 3.0 Lizenz gehören. Diese Icons sind also frei nutzbar und es entstehen ebenfalls keine zusätzlichen kosten.
1.3 Lizenzen (eigene)¶
Die Elternsprechtagssoftware wird mit GPL v3 Lizenz lizensiert. Das bedeutet der Endbenutzer kann die Software nutzen, verbreiten und ändern ohne, dass zusätzliche Kosten auf ihn zukommen. Die Software darf für alle Zwecke (auch kommerzielle) benutzt werden.
2 Umfang¶
Die Software besitzt eine Startseite auf welcher man sich anmelden und registrieren kann. Nach dem Anmelden besteht die Möglichkeit die Zeitpläne der Lehrer einzusehen und Termine zu reservieren. Der Lehrer kann diese Liste einsehen und eventuell Termine löschen. Termine können auch manuell eingetragen werden. Die Rechte werden über Rollen verwaltet, die von der Verwaltung zugewiesen werden können. Die Rollen und die Datenbankanbindung wird vom Administrator verwaltet.
2.1 Grundfunktionen¶
Im folgenden Abschnitt werden die Grundfunktionen beschrieben, die die Software benötigt, um ohne Einschränkung zu funktionieren.
2.1.1 Registrierung und Anmeldung
Die Benutzer des Systems sollen die Möglichkeit erhalten, sich mit ihrer E-Mail Adresse zu registrieren. An die eingetragene E-Mail Adresse wird eine E-Mail mit einem Bestätigungslink geschickt, der angeklickt werden muss, um den Account zu aktivieren.
Wenn die Registrierung erfolgreich abgeschlossen wurde und der Account aktiviert ist, können sich die Benutzer auf der Seite anmelden. Nachdem der Benutzer sich erfolgreich angemeldet hat, muss, sofern es sich um einen Account mit der Rolle Eltern handelt, ein Schülername eingegeben werden.
2.1.2 Termine eintragen und löschen
Die Eltern können sich eine Liste der Lehrer anzeigen lassen und sich darüber die Zeitpläne der Lehrer ansehen. Bei den Zeitplänen können sie klar erkennen, welche Termine belegt und welche frei sind. Sollten sie den Wunsch haben, mit diesem Lehrer zu sprechen, können sie einen freien Termin reservieren. Falls der Gesprächswunsch nicht mehr bestehen sollte, kann der Termin im Nachhinein auch wieder gelöscht werden. Termine können nur eingetragen und gelöscht werden, wenn die Bearbeitungsfrist noch nicht verstrichen ist.
2.2 Zusatzfunktionen¶
2.2.1 Termine nachtragen
Termine sollen auf per Hand nachgetragen werden können, falls es zu Problemen kommen sollte. Das Nachtragen von Terminen können Benutzer mit der Rolle Verwaltung. Das Nachtragen funktioniert ähnlich wie der Weg, den die Eltern normalerweise benutzen. Die Verwaltung kann auch den Zeitplan der Lehrer aufrufen und einen Termin auswählen. Die kann zusätzlich noch den Namen der Person eingeben, die den Termin wahrnimmt.
2.2.2 Zeitpläne drucken
Ein Drucken der Pläne ist an mehreren Stellen möglich. Die erste Möglichkeit gibt es für Eltern, die ihre eigenen reservierten Termine drucken können. Ferner haben die Lehrer die Möglichkeit ihren Zeitplan zu drucken. Die letzte Druckfunktion steht den Benutzer mit der Rolle Verwaltung und Administrator zu. Diese können die Zeitpläne aller Lehrer drucken.
2.3 Administration¶
Die Administratoren haben alle Rechte wie die anderen Rollen und noch einige zusätzliche Rechte. Die Administratoren können einen oder mehrere Tage für den Elternsprechtag bestimmen. Außerdem können die Administratoren die Startzeit und die Endzeit der Elternsprechtage bestimmen. Des Weiteren können sie die Gesprächsdauer bestimmen, die die Eltern mit den Lehrern zur Verfügung haben.
2.4 Datenschutz¶
Ein sehr wichtiger Punkt ist der Datenschutz der Schüler, Eltern und Lehrer. Deshalb werden die Zeitpläne der Lehrer den Eltern nicht komplett angezeigt, um nicht jedem alle Informationen zugänglich zu machen. Die belegten Termine werden nur als belegt gekennzeichnet und nicht genau angezeigt wer welchen Termin belegt hat.
Außerdem werden die Passwörter in der Datenbank verschlüsselt gespeichert. Dabei werden gesalzene sha512 Hashes verwendet.
Da die Daten maskiert werden, ist eine SQL-Injection nicht möglich. Da alle Ausgaben maskiert werden ist Cross Site Scripting ebenfalls nicht möglich.
2.5 Design¶
2.5.1 Usability
Die Benutzerfreundlichkeit soll auf jeden Fall gewährleistet sein. Dazu trägt vor allem ein schlichtes Design der Seite bei, wobei vor allem auf klare Kontraste geachtet wird. Außerdem wird eine sehr einfache Menüstruktur verwendet.
Beim ersten Login werden die Eltern direkt aufgefordert ein Kind einzugeben und es muss nicht erst im Profil mühselig nachgetragen werden. Des Weiteren werden, falls Termine gemacht wurden, diese direkt im Startbildschirm angezeigt und es muss nicht jeder Lehrer, bei dem Termine gemacht wurden, einzeln überprüft werden.
2.5.2 Barrierefreiheit
Eine weitere Anforderung ist die Barrierefreiheit. Dabei ist es sehr wichtig, dass jeder, auch Menschen mit Behinderungen, die Webseite in vollem Umfang nutzen können. Dabei kann vor allem mit einem einfachen Design, mit möglichst starken Kontrasten darauf geachtet werden, dass auch Menschen mit einen Sehschwäche die Website in vollem Umfang benutzen können.
Ein weiterer Punkt der Barrierefreiheit ist die Verwendung von JavaScript.
JavaScript ist ein Tool, was der Benutzer aktiv installieren muss und die Anforderungen an die Benutzer erhöht. Daher funktioniert die gesamte Webseite auch ohne JavaScript. JavaScript stellt dabei für die Benutzer lediglich einige zusätzliche Funktionen zur Verfügung. Ein Beispiel dafür ist das zusätzlich einblendbare Menü, welches ein besseres Design hat. Da es nicht immer eingeblendet ist, steht der zusätzliche Platz für den Rest der Website zur Verfügung.
Ein weiteres Feature, welches nur mit JavaScript genutzt werden kann, gibt es bei der Termineintragung. Mit aktivierten JavaScript können freie Termine angeklickt werden, worauf die Felder Datum und Uhrzeit automatisch ergänzt werden. Wenn kein JavaScript aktiviert ist müssen diese Felder mit Hilfe von Drop Down Menüs manuell ausgefüllt werden.
2.5.3 Prototyp der Hauptseite
Abb. 2: Hauptseite