Word 2003

Werbung
Softwarepraktikum (Grundlagen der Informatik) 2004
OmniCleaner
Projektdokumentation
(Teilbeleg 1)
Teamleiter: Enrico Billich
Mitglieder des Projektteams:
Albert Kurz
Praktikumsbetreuer: Dr. Müller
Chemnitz, den 09.05.2004
-1-
1 Spezifikation der funktionellen Anforderungen
1.1 Produktbeschreibung
Leistungsumfang: Die Software OmniCleaner soll einen Einsatzplan für ein
Reinigungsunternehmen erstellen und am Ende eines Monats die Stundenabrechnung für die
Mitarbeiter durchführen. Dazu müssen die Mitarbeiter und die Objekte in je einer Datenbank
festgehalten und verwaltet werden, was die Software ebenfalls kann. Die Software setzt dabei
voraus, dass es in dem Unternehmen, in dem sie eingesetzt wird, feste Arbeitszeiten (typisch
wäre von 20 Uhr bis 4 Uhr) vorherrschen.
Nutzungsumgebung: Die Browserversion läuft auf einem zentralen Server und kann mit
jedem Computer, der mit dem Server verbunden ist und einen Browser besitzt, bedient
werden. So können auch Arbeiter von zu Hause aus ihre Daten und Dienstplan abfragen.
Alternativ wird auch an einer browserunabhängigen Version gearbeitet, die nur auf einem
Windowsrechner läuft und ohne Server auskommt. Es ist aber momentan noch ungewiss, ob
diese Version jemals wirklich realisiert wird. Eine spezielle Linuxversion ist derzeit nicht
geplant. Da bleibt nur die plattformunabhängige Onlineversion.
Nutzergruppen: Hauptsächlich wird die Verwaltung und die Firmenführung auf das System
uneingeschränkt zugreifen können. Mitarbeiter können ihre Daten überprüfen (nur
Lesezugriff) und ihren Einsatzplan anschauen.
1.2 Funktionelle Anforderungen
1.2.1 Umgebungsmodell
1.2.1.1 Ereignistabelle
(V = Verwaltung, M = Mitarbeiter) (Verwaltung kann auch alles was Mitarbeiter kann)
Nr. Ereignis
1. V bearbeitet Mitarbeiterdaten
Datenfluss zum System
Mitarbeiterdaten
2.
V bearbeitet Objektdaten
Objektdaten
3.
V erstellt Dienstplan
4.
5.
V erstellt Stundenabrechnung
M ruft Mitarbeiterdaten ab
6.
M ruft Dienstplan ab
Auftrag zur DienstplanErstellung
Auftrag zur Stundenabrechnung Stundenabrechnung
Informationsanforderung
Ausgabe
Mitgliederdaten
Dienstplananforderung
Ausgabe Dienstplan
-2-
Antwort des Systems
Bestätigung der
Änderung
Bestätigung der
Änderung
Dienstpläne
1.2.1.2 Kontextdiagramm
Bestätigung der Änderung
Verwaltung
Bestätigung der Änderung
Dienstpläne
Stundenabrechnung
Auftrag zur Stundenabrechnung
Auftrag zur Dienstplan-Erstellung
Objektdaten
Mitarbeiterdaten
0
OmniCleaner
System
Mitarbeiterdatenanforderung
Ausgabe Mitarbeiterdaten
Dienstplananforderung
Ausgabe Dienstplan
Mitarbeiter
-3-
1.2.2 Verhaltensmodell
1.2.2.1 Grobes Verhaltensmodell (vergröbertes primäres Verhaltensmodell)
Mitarbeiterdatenanforderung
Ausgabe Mitarbeiterdaten
Dienstplananforderung
Ausgabe Dienstplan
Mitarbeiterdaten
Bestätigung der Änderung
Objektdaten
Bestätigung der Änderung
.1 Datenbewegung
Mitarbeiter
Objekte
Dienstpläne
.2 Dienstplan/
Abrechnung
Auftrag zur Dienstplan-Erstellung
Dienstpläne
Auftrag zur Stundenabrechnung
Stundenabrechnung
-4-
1.2.2.2 Primäres Verhaltensmodell
1.2.2.2.1 Teilmodell Datenbewegung
Mitarbeiterdaten
Ergebnis Mitarbeiteränderung
Objektdaten
.1
Mitarbeiter
registrieren
Mitarbeiter
Ergebnis Objektänderung
.2
Objekt
registrieren
Dienstpläne
Objekte
.4
Dienstplan
ausgeben
.3
Mitarbeiterdaten
ausgeben
Dienstplananforderung
Mitarbeiterdatenanforderung
Ausgabe
Dienstplan
Ausgabe Mitarbeiterdaten
-5-
1.2.2.2.1.1 Verfeinerung des Prozesses Mitarbeiter registrieren
Name
Ausgabe Mitarbeiterdaten
Bestätigung der Änderung
Mitarbeiterdatensatz
.1
Mitarbeiterdaten
ausgeben
.2
Mitarbeiter
hinzufügen
Mitarbeiter
.4
Mitarbeiter löschen
.3
Mitarbeiterdaten
bearbeiten
Name
Mitarbeiterdatensatz
Bestätigung der Änderung
Bestätigung der Änderung
-6-
1.2.2.2.1.2 Verfeinerung des Prozesses Objekt registrieren
Objektname
Ausgabe Objektdaten
Bestätigung der Änderung
Objektdatensatz
.1
Objektdaten
ausgeben
.2
Objekt
hinzufügen
Objekte
.4
Objekt löschen
.3
Objektdaten
bearbeiten
Objektname
Objektdatensatz
Bestätigung der Änderung
Bestätigung der Änderung
-7-
1.2.2.2.2 Teilmodell Dienstplan/ Abrechnung
Auftrag zur Dienstplan-Erstellung
Dienstpläne
.1
Dienstplan-Erstellung
Mitarbeiter
Dienstpläne
Objekte
.2
Erstellung der
Stundenabrechnung
Auftrag zur Stundenabrechnung
-8-
Stundenabrechnung
1.2.2.3 Datenkatalog
Element
Mitarbeiter
Mitarbeiterdatensatz
=
=
Mitarbeiternummer
=
Name
Vorname
Nachname
Anschrift
Straße
PLZ
Stadt
Telefonnummer
Email
Monatsstunden
Rang
Qualifikation
=
=
=
=
=
=
=
=
=
=
=
=
Computer
Blumen
Öl
Säure
Medizin
Autos
Leichen
Objekte
Objektdatensatz
=
=
=
=
=
=
=
=
=
Objektnummer
=
Objektname
Einsatzzeitpunkt
Uhrzeit
Stunden
Minuten
Wochentag
=
=
=
=
=
=
Häufigkeit
Dauer
Personal
AnzTeamleiter
AnzNormal
AnzSpezial
=
=
=
=
=
=
AnzComputer
=
Strukturbeschreibung
{Mitarbeiterdatensatz}
@Mitarbeiternummer + Name + Anschrift +
Monatsstunden + Rang + Qualifikation
gZahl *Mitgliedsnummer >= 0, automatisch
festgelegt*
Vorname + Nachname
Zeichenkette30 *nur Buchstaben*
Zeichenkette30 *nur Buchstaben*
Straße + PLZ + Stadt + Telefonnummer + (Email)
Zeichenkette30 *besteht aus Straße und Hausnummer*
gZahl *5 stellig, PLZ >= 00000*
Zeichenkette30 *nur Buchstaben und Leerzeichen*
Zeichenkette20 *nur Ziffern*
Zeichenkette30 *keine Leerzeichen*
gZahl *0 <= Monatsstunden <= 170*
[“Chef’’ | “Teamleiter’’ | “Angestellter’’ | “Aushilfe’’]
(Computer) + (Blumen) + (Öl) + (Säure) + (Medizin) +
(Autos) + (Leichen)
[“0’’ | “1’’]
[“0’’ | “1’’]
[“0’’ | “1’’]
[“0’’ | “1’’]
[“0’’ | “1’’]
[“0’’ | “1’’]
[“0’’ | “1’’]
{Objektdatensatz}
@Objektnummer + Objektname + Anschrift +
Einsatzzeitpunkt + Personal *Anschrift wie bei
Mitarbeiter*
gZahl *Mitgliedsnummer >= 0, automatisch
festgelegt*
Zeichenkette30
Uhrzeit + Wochentag + Häufigkeit + Dauer
Stunden + Minuten
gZahl *00 <= Stunden <= 04, 20 <= Stunden <= 24*
gZahl *00 <= Minuten <= 60*
[“Montag’’ | “Dienstag’’ | “Mittwoch’’ | “Donnerstag’’ |
“Freitag’’]
[“täglich’’ | “wöchentlich’’ | “monatlich’’]
gZahl *0 <= Dauer <= 420, in Minuten*
AnzTeamleiter + (AnzNormal) + (AnzSpezial)
gZahl *AnzTeamleiter <= 5*
gZahl *AnzNormal <= 20*
(AnzComputer) + (AnzBlumen) + (AnzÖl) +
(AnzSäure) + (AnzMedizin) + (AnzAutos) +
(AnzLeichen) *Werte verschieden von Mitarbeiter*
gZahl *0 <= Computer <= 10*
-9-
AnzBlumen
AnzÖl
AnzSäure
AnzMedizin
AnzAutos
AnzLeichen
Dienstpläne
Dienstplansatz
Einsatz
=
=
=
=
=
=
=
=
=
Einsatzzeit
=
Tag
=
Position
=
Ergebnis
Mitarbeiteränderung
Ergebnis Objektänderung
Mitarbeiterdaten
Objektdaten
Bestätiung der Änderung
Mitarbeiterdatenanforderung
Ausgabe Mitarbeiterdaten
Ausgabe Objektdaten
Dienstplananforderung
Ausgabe Dienstplan
Auftrag zur DienstplanErstellung
Auftrag zur
Stundenabrechnung
Cheflohn
Angestelltenlohn
Aushilfenlohn
Stundenabrechnung
Lohn
Passwort
=
gZahl *0 <= Blumen <= 10*
gZahl *0 <= Öl <= 10*
gZahl *0 <= Säure <= 10*
gZahl *0 <= Medizin <= 10*
gZahl *0 <= Autos <= 10*
gZahl *0 <= Leichen <= 10*
{Dienstplansatz}
{Einsatz}
Objektname + Einsatzzeit + Position *Objektname siehe
Objekt*
Tag + Uhrzeit + Dauer *Uhrzeit und Dauer siehe
Objekt*
Zeichenkette15 *im Format Wochentag + Woche im
Monat*
[“Teamleiter’’ | “Normal’’ | “Computer’’ | “Blumen’’ |
“Öl’’ | “Säure’’ | “Medizin’’ | “Autos’’ | “Leichen’’]
[Mitarbeiterdatensatz | Bestätigung der Änderung]
=
=
=
=
=
=
=
=
=
=
[Objektdatensatz | Bestätigung der Änderung]
[Mitarbeiterdatensatz | Name]
[Objektdatensatz | Objektname]
[“Es hat geklappt’’ | “fehlgeschlagen]
Name *Name siehe Mitarbeiter*
[Mitarbeiterdatensatz | “Existiert nicht’’]
[Objektdatensatz | “Existiert nicht’’]
Name *Name siehe Mitarbeiter*
[Dienstplansatz | “Existiert nicht’’]
“1’’
= Cheflohn + Angestelltenlohn + Aushilfenlohn *=
Stundenlöhne*
= gZahl
= gZahl
= gZahl
= {Lohn}
= rZahl *Monatsstunden mal Stundenlohn*
= Zeichenkette20 *momentan belegok*
- 10 -
1.2.2.4 Beziehungen zwischen Speichern (Entity-Relationship-Diagramm)
Mitarbeiternummer
Rang
Name
Monatsstunden
Qualifikation
Anschrift
Mitarbeiter
1
n
besitzt
1
Dienstpläne
arbeiten
Objektname
Position
Einsatzzeit
m
Personal
Objekte
Einsatzzeitpunkt
Objektname
Anschrift
- 11 -
Objektnummer
1.2.2.5 Prozessspezifikationen
1.2.2.5.1 Mitarbeiter hinzufügen
Begin
Eingabe des Mitarbeiterdatensatz
If Mitarbeiterdatensatz vollständig und korrekt
Trage Daten in Datenbank „Mitarbeiter“ ein
Bestätigung der Änderung
Else
Weise auf die fehlenden oder fehlerhaften Einträge hin und zeige Fenster
wieder an
End.
1.2.2.5.2 Objekt hinzufügen
Begin
Eingabe des Objektdatensatz
If Objektdatensatz vollständig und korrekt
Trage Daten in Datenbank „Objekte“ ein
Bestätigung der Änderung
Else
Weise auf die fehlenden oder fehlerhaften Einträge hin und zeige Fenster
wieder an
End.
1.2.2.5.3 Mitarbeiterdaten ausgeben
Begin
Eingabe Name des Mitarbeiters
If Mitarbeiter vorhanden
Ausgabe Mitarbeiterdatensatz
Else
Ausgabe Mitarbeiter existiert nicht
End.
1.2.2.5.4 Objektdaten ausgeben
Begin
Eingabe Objektname des Objektes
If Objekt vorhanden
Ausgabe Objektdatensatz
Else
Ausgabe Objekt existiert nicht
End.
- 12 -
1.2.2.5.5 Mitarbeiter bearbeiten
Begin
Prozess Mitarbeiterdaten ausgeben
Veränderung der Daten
If Mitarbeiterdatensatz vollständig und korrekt
Aktualisiere Daten in Datenbank „Mitarbeiter“
Bestätigung der Änderung
Else
Weise auf die fehlenden oder fehlerhaften Einträge hin und zeige Fenster
wieder an
End.
1.2.2.5.6 Objekt bearbeiten
Begin
Prozess Objektdaten ausgeben
Veränderung der Daten
If Objektdatensatz vollständig und korrekt
Aktualisiere Daten in Datenbank „Objekte“
Bestätigung der Änderung
Else
Weise auf die fehlenden oder fehlerhaften Einträge hin und zeige Fenster
wieder an
End.
1.2.2.5.7 Mitarbeiter löschen
Begin
Eingabe Name des Mitarbeiters
If Mitarbeiter vorhanden
Lösche Mitarbeiterdatensatz
Bestätigung der Änderung
Else
Ausgabe Mitarbeiter existiert nicht
End.
1.2.2.5.8 Objekt löschen
Begin
Eingabe Objektname des Objektes
If Objekt vorhanden
Lösche Objektdatensatz
Bestätigung der Änderung
Else
Ausgabe Objekt existiert nicht
End.
- 13 -
1.2.2.5.9 Dienstplan ausgeben
Begin
Eingabe Name des Mitarbeiters
If Mitarbeiter vorhanden
While Einsatz
Ausgabe Einsatz
Else
Ausgabe Mitarbeiter existiert nicht
End.
1.2.2.5.10 Dienstplan-Erstellung
Begin
Betätigung des Startknopfes
While Objektdatensatz
While Personal *für jede Art Personal z.B. Teamleiter, AnzComputer, etc.*
While Mitarbeiterdatensatz und Anz der Qualifikation nicht erreicht
If Mitarbeiterdatensatz besitzt gesuchte Qualifikation
Neuer Einsatz im Dienstplansatz
Anz der Qualifikation wird erhöht
*Es werden zuerst die Angestellten, Chefs und
Teamleiter durch sucht, dann erst die Aushilfen, wenn
noch nicht genug*
Else
Gehe zum nächsten Mitarbeitersatz
If alle Anz erfüllt
Erfolgsmeldung
Else
Ausgabe Fehlgeschlagen
End.
1.2.2.5.11 Erstellung der Stundenabrechnung
Begin
Eingabe des Cheflohns, Angestelltenlohn, Aushilfenlohn *= Stundenlöhne*
While Mitarbeiterdatensatz
Monatsstunden mal Stundenlohn
End.
- 14 -
1.3 Definition der Nutzerschnittstelle
Browserversion:
Die Darstellung von Internetseiten wurde durchs W3C standardisiert und sollte mit jedem
Browser gleich aussehen. Im Endeffekt unterliegt sie aber den Eigenarten des Browsers,
deshalb sollte man über geringe Unterschiede hinwegsehen.
Die Seiten sollten noch mit einer Auflösung 640x480 gut sichtbar sein, wurden aber für
1024x768 entwickelt und optimiert. Die Browserfenster kann man normalerweise belieb in
der Größe ändern, ab einer gewissen Mindestgröße wird das Programm durch das viele
betätigen der Scrollbalken unbenutzbar. Verschieben und Minimieren gehört ebenfalls zum
Funktionsumfang aktueller Browser. Alle derartigen Modifikationen sind permanent bis sie
geändert werden.
Die oben genannten Bedingungen gelten sowohl für das Grundfenster, als auch für sämtliche
anderen Fenster des Programms. Alle Fenster werden im gleichen Browserfenster geöffnet.
Man kann aber auch über das Kontextmenü des Browser, wenn man mit der rechten
Maustaste auf einen Link klickt (bei den meisten Browsern so), das Fenster in einem neuen
Browserfenster öffnen. Das Programm ist jederzeit beendbar. Es gibt keinen Datenverlust, bei
den abgespeicherten Daten.
Die Farbwahl wird ebenfalls teilweise vom Browser bestimmt. Die Schrift ist in Schwarz, das
Logo ist grün, Links sind entweder Blau oder rot, und der Hintergrund ist einheitlich in weiß.
Die Bedienung erfolgt über Maus und Tastatur. Die Ausgabe über einen Bildschirm mit oben
genannter Auflösung. Wenn der Browser eine Druckfunktion und der Rechner einen Drucker
besitzt, kann man ebenfalls den Drucker zur Ausgabe benutzen.
Die Bilder unten sind Screenshots des Programms. Fenster ohne Eingabefelder haben nur
informierenden Charakter und werden nicht abgebildet.
Browserunabhängige Version:
Sollte diese Version jemals das Licht der Welt erblicken, wird sie bestmöglich der
Browserversion nachempfunden. Das Fenster kann ebenfalls in der Größe verändert,
minimiert und verschoben werden. Die Farbwahl würde mehr ins graue gehen. Bisweilen
stellt sich aber die grafische Ausgabe als sehr schwierig dar. Bei dem derzeitigen Stand ist es
ein Konsolenprogramm mit reiner Textausgabe. Durch geschickte Programmierung bleibt das
Programm aber bedienbar. Zur Verdeutlichung werden nur ein oder zwei Beispiele hier
gezeigt. Zur Eingabe werden ebenfalls Maus und Tastatur benutzt. Ausgabe ist wieder der
Monitor.
- 15 -
1.3.1 Layoutentwurf
1.3.1.1 Legende zur Layoutdarstellung
Text und
Eingabefelder
-
Ausgabebereich des Fensters
-
Ein- und Ausgabebereich mit Element des
Datenkatalog
-
Knopf, um Daten abzuschicken
-
Auswahlfeld als Pull-Down Menü
-
Checkbox, mit Häkchen ausgewählt
Eingabe
1.3.1.2 Grundfenster
Das ist das Grundfenster, was die Verwaltung sieht. Im Mitarbeiterbereich fehlt das Feld
„Objekte“. Das Browserfenster kann man sich drum herum denken. Das Logo und das
Hauptmenü bleiben für jedes Fenster sichtbar. So ist ein schnelles wechseln zwischen allen
Bereichen gewährleistet.
- 16 -
1.3.1.3 Menüs
Für jeden Menüpunkt des Hauptmenüs existiert ein Untermenü. Diese werden an der linken
Seite unterhalb von „Wir über uns“ angezeigt. Zum Untermenüpunkt „Manual“ des
Hauptmenüpunktes „Hilfe“ gibt es noch ein weiters Untermenü, das unterhalb des
Hauptmenüs abgebildet wird. Die Untermenüs von „Mitarbeiter“ und „Objekte“ sind
identisch. Alle Menüs bestehen aus Links.
Wir über uns
Mitarbeiter/Objekte
Dienstplan/Abrechnung
1.3.1.4 Fenster Mitarbeiterbereich
1.3.1.5 Fenster Mitarbeiter Anzeigen
- 17 -
Hilfe
1.3.1.6 Fenster Mitarbeiter Hinzufügen
1.3.1.7 Fenster Mitarbeiter Bearbeiten
Zu erst sieht man das Fenster „Mitarbeiter Anzeigen“, dann das Fenster „Mitarbeiter
Hinzufügen“, wenn der Mitarbeiter existiert. Siehe Screenshots oben.
1.3.1.8 Fenster Mitarbeiter Löschen
Siehe „Mitarbeiter Anzeigen“. Anstatt den Mitarbeiter anzuzeigen, wird er gelöscht.
- 18 -
1.3.1.9 Fenster Objekt Anzeigen
1.3.1.10 Fenster Objekt Hinzufügen
1.3.1.11 Fenster Objekt Bearbeiten
Zuerst wird das Fenster „Objekt Anzeigen“ angezeigt, dann das Fenster „Objekt Hinzufügen“,
wenn das Objekt existiert.
- 19 -
1.3.1.12 Fenster Objekt Löschen
Siehe Fenster „Objekt Anzeigen“. Anstatt das Objekt anzuzeigen, wird es gelöscht.
1.3.1.13 Fenster Dienstplan Anzeigen
1.3.1.14 Fenster Dienstplan Erstellen
1.3.1.15 Fenster Stundenabrechnung
1.3.1.16 Browserunabhängige Versionen
Konsolenprogramm
Grafische Oberfläche
- 20 -
2 Spezifikation der operationellen Anforderungen
2.1Operationelle Anforderungen an die Daten und die Datenbasen
Die Minimalanzahl an Daten in der Mitarbeiterdatenbank ist der gesamte Mitarbeiterdatensatz
ohne spezielle Qualifikationen und ohne Emailadresse, und eine Spalte für den
Dienstplandatensatz. Die Maximalanzahl besteht aus dem Mitarbeiterdatensatz und den
Dienstplandatensatz.
Für Minimalanzahl an Daten in der Objektdatenbank wird der gesamte Objektdatensatz ohne
Email Adresse und Anzahl der Spezialqualifikationen benötigt. Die Maximalzahl besteht aus
dem gesamten Objektdatensatz.
Alle Zahlen werden als ganze Zahlen in die Datenbanken eingetragen. Die Monatsstunden
werden Minutengenau eingetragen. Die Stunden beim Objektdatensatz werden vom Benutzer
als normale Uhrzeit eingetragen, vom Programm aber in eine Zahl zwischen 20 und 28
umgewandelt, weil sich die Uhrzeit nur zwischen 20 und 04 Uhr befinden darf. Die Anzahl
der Teamleiter ist eine ganze Zahl größer Null. Die Anzahl der Normalen Putzen und die
Anzahlen der Spezialqualifikationen kann eine beliebe Zahl größer gleich Null sein.
2.2Operationelle Anforderungen an die Datenströme
Datenflüsse finden immer statt, wenn eine Aktion mit dem Programm ausgeführt werden soll.
Dabei werden die Mitarbeiter wesentlich häufiger auf ihre Dienstpläne zugreifen, als die
Verwaltung neue Mitarbeiter und Objekte einträgt, oder einen Dienstplan/Stundenabrechnung
erstellt. Wenn man berücksichtigt, dass ein Mitarbeiter etwa dreimal wöchentlich auf seinen
Dienstplan zugreift und die Verwaltung vielleicht zweimal pro Woche, ergeben sich pro
Woche die Anzahl der Zugriffe aus Mitarbeiteranzahl mal 3 plus 2. Bei etwa 30 Mitarbeitern,
kann man mit 100 Datenflüssen rechnen.
2.3Operationelle Anforderungen an die Prozesse
Alle Prozesse, die Daten ausgeben, sollten innerhalb von 5 Sekunden ausgeführt worden sein,
um die Nerven der Benutzer nicht zu stark zu strapazieren. Die Prozesse DienstplanErstellung und Stundenabrechnung haben eine größere Toleranzspanne und können mehrere
Minuten dauern. Es ist aber anzunehmen, dass auch diese recht schnell in wenigen Sekunden
oder Bruchteile von Sekunden ausführbar sind.
- 21 -
3 Spezifikation wichtiger Qualitätsanforderungen
Das System erfüllt alle bei 1.1 erwähnten Anforderungen, mit den dort angesprochenen
Einschränkungen. Das System erstellt den Dienstplan nach einem vorgegebenen festen
Logarithmus und kann sich nicht selbst zur Optimierung anpassen. Es wurde deshalb der
Algorithmus gewählt, der in den meisten Fällen zu einem Erfolg führt.
3.1Benutzbarkeit
Für einfache Mitarbeiter ist die Bedienung sehr einfach zu erlernen, wenn sie schon vorher
mit einem Browser Erfahrungen gesammelt hatten. Mit Browsern unerfahrene Benutzter
werden nach wenigen Minuten Surfen im Internet ebenfalls problemlos das System für
Mitarbeiter bedienen können.
Benutzer in der Verwaltung, die ebenfalls die Datenbank direkt bedienen können sollten,
müssen sich mit wesentlich mehr Funktionen vertraut machen. Das Programm selber ist
selbsterklärend und mögliche Fragen werden in der integrierten Hilfe beantwortet. Nach
einmaliger Benutzung sollte ein durchschnittlicher Verwaltungsmitarbeiter damit umgehen
können. Die Benutzung von Software, um die Datenbank direkt zu bedienen, ist etwas
komplizierter und benötigt etwa eine halbe Stunde Einarbeitungszeit. Wer noch einen Schritt
weiter gehen möchte und die Datenbank über Textbefehle bedienen will, muss eine spezielle
Befehlssprache erlernen. Das nimmt mehrere Stunden in Anspruch und ist nicht
empfehlenswert, da man schwerwiegende Fehler in der Datenbank verursachen kann.
3.2Zuverlässigkeit
Die Software vermeidet bestmöglich Eingabefehler. Direkte Eingaben in der Datenbank
werden aber nicht korrigiert und man kann schwerwiegende Fehler verursachen. Abstürze des
Servers dürften keine Schäden in der Datenbank hinterlassen. Bei einem Festplattendefekt
sind aber Datenbankfehler nicht auszuschließen. Deshalb sollte man stets Backups von der
Festplatte anfertigen oder eine Kopie der Datenbank auf einem anderen Rechner sichern.
Diese Funktionen unterstützt die Software selbst nicht.
3.3Integrität
Um Manipulationen an der Datenbank vornehmen zu können, muss man das Passwort für den
Verwaltungsbereich kennen. Dieses ist einfach und schnell veränderbar, man muss nur ein
Wort in einer PHP Datei ändern und auf dem Server aktualisieren. Solange der Server nicht
mit dem Internet verbunden ist, kann man beinahe jede illegalen Einbrüche ausschließen.
Sollte man ihn doch verbinden, damit Mitarbeiter auf ihre Dienstpläne zu Hause zugreifen
können, kann jeder den Dienstplan eines Mitarbeiters abrufen, der seinen Namen kennt.
Deshalb bleibt als bedeutendes Risiko datenschutzrechtliche Bedenken.
3.4Flexibilität
Man kann problemlos weitere Funktionen hinzufügen und die Hilfe erweitern. Bestehende
Funktionen sollte man nur vorsichtig verändern. Der Logarithmus zur Dienstplanerstellung
wurde extra so gewählt, dass man ihn leicht modifizieren kann. So kann man auch
Dienstpläne für mehrere Monate oder zusätzliche Qualifikationen erstellen. Ebenso kann man
die Mitarbeiter- und Objektdatensätze beliebig erweitern.
- 22 -
3.5Portabilität
Das System ist plattformunabhängig. Man braucht nur einen Computer mit einem Webserver
mit PHP Unterstützung und MySQL Datenbank. Clientrechner brauchen nur einen
Webbrowser, der XHTML Dateien anzeigt, was so ziemlich jeder aktuelle kann.
4 Basismaschine und Entwicklungsumgebung
4.1Basismaschine
4.1.1 Hardwarekonfiguration
Die minimale Hardwarekonfiguration des Servers sollte etwa bei 500MHz, 8 GB Festplatte
und 256 MB Speicher liegen, damit auch sämtliche benötigte zusätzliche Software drauf läuft.
Es ist nicht auszuschließen, dass auch Rechner mit geringerer Ausstattung die nötige Leistung
aufbringen. Clientrechner brauchen nur einen Webbrowser, der XHTML Dateien anzeigen
kann. Somit kommen Selbst Rechner unter 100 MHz und webfähige Handys in Frage.
4.1.2 Betriebssystem
Heutzutage gibt es für alle verbreiteten Betriebssysteme Webserver mit PHP Unterstützung
und die MySQL Datenbank. Es wird aber empfohlen entweder Linux oder Windows XP
(Windows Server 2003) zu benutzen, da diese Systeme zu tausenden für diese Aufgabe
genutzt werden.
4.1.3 Sonstige Basissoftware
Man sollte sich zusätzlich einen Webserver, die PHP Unterstützung und die MySQL
Datenbank kostenlos aus dem Internet herunterladen und installieren.
Installationsanweisungen findet man rasch durch Suchmaschinen.
4.2Entwicklungsumgebung
Das System wurde auf einem Windows XP Rechner mit der Software HTML-Kit entwickelt.
Um es zu testen, wurde es zum einen auf den TU Chemnitz Webserver hochgeladen und zum
anderen mit einem selbst Konfigurierten System aus Apache 2 (2.0.49) Webserver, PHP
(4.3.6) Unterstützung, MySQL (4.0.18) Datenbank und phpMyAdmin (2.5.6) auf dem
Windows XP Rechner erfolgreich getestet. Es gibt keine Garantien, dass es noch mit dem
neuen, kommenden PHP 5 läuft.
- 23 -
5 Planung
Die Entwicklung des Systems OmniCleaner erfolgt nach folgendem Plan.
- 24 -
Herunterladen