Abschlussprüfung Sommer 2019 Fachinformatiker für Anwendungsentwicklung Dokumentation zur betrieblichen Projektarbeit Tierbestandsbuch Erweiterung der Webapplikation zum Führen eines Tierbestandsbuchs für den Argenhof – Lebenswürde für Tiere e.V. Abgabedatum: Ravensburg, den 30.05.2019 Prüfungsbewerber: Julia Haggenmiller Mauerstraße 10 88212 Ravensburg Ausbildungsbetrieb: Liebenau Berufsbildungswerk gemeinnützige GmbH Pfannenstiel 16 88214 Ravensburg
39
Embed
Tierbestandsbuch - s3.eu-central-1.amazonaws.com · 2.2 Terminplanung Basierend auf der Zeitplanung in Anhang A1 (Detaillierte Zeitplanung) wurde das Gantt-Diagramm 5 in Anhang A2
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Abschlussprüfung Sommer 2019
Fachinformatiker für Anwendungsentwicklung
Dokumentation zur betrieblichen Projektarbeit
Tierbestandsbuch
Erweiterung der Webapplikation zum Führen eines Tierbestandsbuchs für den Argenhof –
Lebenswürde für Tiere e.V.
Abgabedatum: Ravensburg, den 30.05.2019
Prüfungsbewerber:
Julia Haggenmiller
Mauerstraße 10
88212 Ravensburg
Ausbildungsbetrieb:
Liebenau Berufsbildungswerk gemeinnützige GmbH
Pfannenstiel 16
88214 Ravensburg
TIERBESTANDSBUCH
Inhaltsverzeichnis
Julia Haggenmiller I
Inhaltsverzeichnis
Inhaltsverzeichnis ..................................................................................................................................... I
Abbildungsverzeichnis ............................................................................................................................ IV
Tabellenverzeichnis ................................................................................................................................. V
Verzeichnis der Listings ........................................................................................................................... VI
Abkürzungsverzeichnis .......................................................................................................................... VII
Anhang ...................................................................................................................................................... i
A1 Detaillierte Zeitplanung ............................................................................................................ i
A2 Gantt-Diagramm ....................................................................................................................... ii
A3 Personalkosten ......................................................................................................................... ii
A4 Sachmittelkosten ...................................................................................................................... ii
A5 EPK ........................................................................................................................................... iii
A6 Lastenheft (Auszug) ................................................................................................................. iv
A7 Dialogstruktur ........................................................................................................................... v
A8 Mockups .................................................................................................................................. vi
A9 Entity-Relationship-Modell ..................................................................................................... vii
A10 Tabellenmodell ....................................................................................................................... vii
TIERBESTANDSBUCH
Inhaltsverzeichnis
Julia Haggenmiller III
A11 Klassendiagramm der Controller ........................................................................................... viii
A12 Aktivitätsdiagramme .............................................................................................................. viii
A13 Pflichtenheft (Auszug) .............................................................................................................. ix
A14 Filterung der Tierliste nach dem Status .................................................................................... x
A15 Test für die Filterung nach dem Status .................................................................................... xi
A16 Ausdrucken mehrerer Tierseiten ............................................................................................ xii
A17 Test der automatisierten Backups .......................................................................................... xii
A18 Eingabeformular für eine neue Behandlung .......................................................................... xiii
A19 Benutzerdokumentation (Auszug) ......................................................................................... xiii
A20 Entwicklerdokumentation (Auszug) ....................................................................................... xiv
A21 Soll-/Ist-Vergleich ................................................................................................................... xiv
A22 Abnahmeprotokoll .................................................................................................................. xv
TIERBESTANDSBUCH
Abbildungsverzeichnis
Julia Haggenmiller IV
Abbildungsverzeichnis
Abbildung 1: Gantt-Diagramm .................................................................................................................. ii
Abbildung 2: EPK ...................................................................................................................................... iii
Abbildung 3: Dialogstruktur der Pflegeseite ............................................................................................. v
Abbildung 4: Mockup der Tierliste ........................................................................................................... vi
Abbildung 5: Mockup des Formulars für neue Behandlungen ................................................................. vi
Abbildung 6: Entity-Relationship-Modell ................................................................................................ vii
Abbildung 7: Tabellenmodell .................................................................................................................. vii
Abbildung 8: Klassendiagramm der Controller ...................................................................................... viii
Abbildung 9: Aktivitätsdiagramm für die Druckfunktion ........................................................................ viii
Abbildung 10: Aktivitätsdiagramm für die Speicherung einer neuen Behandlung ................................ viii
Abbildung 11: Screenshot der Testdurchführung .................................................................................... xi
Abbildung 12: Screenshot der erstellten Backups .................................................................................. xii
Abbildung 13: Screenshot des Restores .................................................................................................. xii
Abbildung 14: Screenshot des Eingabeformulars .................................................................................. xiii
Abbildung 15: Screenshot der Online-Hilfe............................................................................................ xiii
Abbildung 16: Abnahmeprotokoll ........................................................................................................... xv
Das Projekt wurde von der Autorin in den Räumlichkeiten des Berufsfeldes „Büro & IT“ des Liebenau
Berufsbildungswerk gemeinnützige GmbH durchgeführt, wo die Ausbildung für die Kaufleute für Büro-
management und Fachinformatiker stattfindet. Das Berufsbildungswerk ist eine Tochtergesellschaft der
Stiftung Liebenau und bildet junge Menschen mit erhöhtem Förderbedarf in 54 Berufen aus. Daneben
bietet es auch berufliche Wiedereingliederung, Weiterbildung und Umschulung an.1
In Auftrag gegeben wurde das Projekt vom Argenhof – Lebenswürde für Tiere e.V. Der Argenhof ist ein
Gnadenhof in Amtzell, der über 170 Tieren auf einer Fläche von 7,5 ha eine Heimat bietet. Großteils
stammen sie aus Beschlagnahmungen oder aus anderen Tierheimen und Tierschutzorganisationen. Der
Schwerpunkt liegt auf der Resozialisierung von verhaltensauffälligen Hunden, Pferden und anderen Tie-
ren. Der Argenhof finanziert sich als gemeinnütziger Verein nahezu vollständig aus privaten Spenden
und wird neben 14 fest angestellten Mitarbeitern von über 50 ehrenamtlichen Helfern unterstützt. 2
1.2 Projektziele
Unser Kunde, der Argenhof – Lebenswürde für Tiere e.V., ist dazu verpflichtet, ein Tierbestandsbuch zu
führen, welches alle notwendigen Daten zu jedem einzelnen Tier beinhaltet, das dort lebt. Ziel des Pro-
jekts ist es, das Führen des Tierbestandsbuchs zu vereinfachen und dadurch Fehler zu vermeiden und
Zeit einzusparen.
Deshalb soll zum vorläufigen Tierbestandsbuch (siehe Abschnitt 1.5 Projektabgrenzung) eine Möglich-
keit zur Speicherung der Pflegedaten3 hinzugefügt werden. Dabei soll es möglich sein, eine bestimmte
Eintragung für mehrere Tiere gleichzeitig vornehmen zu können. Für einen besseren Überblick sollen
die Behandlungen in einer Übersicht gesammelt werden, mit der Möglichkeit, die Pflegedaten nach
mehreren Kriterien zu filtern. Außerdem sollen die Tierdaten4 auf einer eigenen Seite in Tabellenform
dargestellt und ebenfalls nach mehreren Kriterien gefiltert werden können. Da das Tierbestandsbuch
dem Veterinäramt regelmäßig bei unangekündigten Kontrollen ausgedruckt vorgelegt werden muss,
soll es möglich sein, die einzelnen Seiten mit den Daten zum jeweiligen Tier gesammelt ausdrucken zu
können. Zudem soll die Datenbank in regelmäßigen Abständen automatisch gesichert werden. Die Pro-
jektziele sind in Abschnitt 3.2 (Soll-Konzept) noch einmal genauer erläutert.
1.3 Projektbegründung
Durch das Projekt werden Eingabefehler vermieden, die z.B. dadurch entstehen, dass eine große Menge
an Pflegedaten wiederholt eingetragen werden muss. Außerdem werden durch die Reduzierung auf
eine einmalige Eingabe auch Arbeitszeit und dadurch Kosten eingespart. Dies ist für den Argenhof von
großer Bedeutung, da er von Spenden lebt und dadurch darauf angewiesen ist, das vorhandene Geld
und die Zeit möglichst effizient einzusetzen. Zudem ermöglicht die Filterung der Daten eine bessere
1 (Aufgabenfeld Bildung, 2019) 2 (Der Argenhof, 2019) 3 Zu den Pflegedaten gehören z.B. Behandlungen vom Tierarzt/Hufschmied, Impfungen, Entwurmungen etc. 4 Zu den Tierdaten gehören z.B. der Name, das Geschlecht, die Tierart etc.
TIERBESTANDSBUCH
Projektplanung
Julia Haggenmiller 2
Übersichtlichkeit und erleichtert die Suche nach bestimmten Informationen. Durch die Automatisierung
der Backups wird außerdem eine höhere Datensicherheit gewährleistet.
1.4 Projektschnittstellen
Für die Datenverarbeitung ist der Zugriff auf eine PostgreSQL-Datenbank notwendig. Diese befindet sich
auf dem Server, auf dem auch die Webapplikation veröffentlicht wird. Ansonsten ist das Projekt unab-
hängig von anderen technischen Schnittstellen.
Genehmigt wurde das Projekt von der Betriebsleiterin des Bereichs „Büro und IT“ des Berufsbildungs-
werks. Die Endbenutzer sind die Verwaltungsmitarbeiter des Argenhofs, die von der Autorin für die Ver-
wendung geschult wurden. Nach Beendigung des Projekts wurde das Tierbestandsbuch zur weiteren
Betreuung an zwei Mitauszubildende übergeben, da die Autorin das Berufsbildungswerk verlassen hat.
Der Einstieg in das Projekt erfolgte durch die gemeinsame Erstellung des Lastenhefts mit dem Argenhof
und die Abnahme der Webapplikation bildete den Ausstieg.
1.5 Projektabgrenzung
Um den Verwaltungsmitarbeitern den Umstieg auf das Online-Tierbestandsbuch zu erleichtern, wurde
von der Autorin bereits eine vorläufige Version eingeführt. Diese wurde in Abstimmung mit dem Argen-
hof implementiert und ist seit Februar 2019 in Benutzung.
Dieses Grundgerüst beinhaltet eine Startseite, auf der ein Passwort eingetragen werden muss, um das
System zu entsperren. Außerdem sind Formulare vorhanden, um eine neue Tierübersicht zu erstellen
oder die bestehenden Daten zu ändern, sowie zu löschen. Dem Benutzer steht eine Online-Hilfe zur
Verfügung, in der die Antworten auf die häufigsten Fragen zu finden sind.
2 Projektplanung
2.1 Zeitplanung
Der Autorin stand ein Durchführungszeitraum von 70 Stunden zur Verfügung. Eine grobe Zeitplanung
findet sich in Tabelle 1: grobe Zeitplanung. Eine detailliertere Übersicht mit den einzelnen Teilaufgaben
kann in Anhang A1 (Detaillierte Zeitplanung) eingesehen werden. Die Projektphasen basieren auf dem
Wasserfallmodell. Näheres dazu ist in Abschnitt 2.5 (Entwicklungsprozess) zu finden.
Tabelle 1: grobe Zeitplanung
TIERBESTANDSBUCH
Projektplanung
Julia Haggenmiller 3
2.2 Terminplanung
Basierend auf der Zeitplanung in Anhang A1 (Detaillierte Zeitplanung) wurde das Gantt-Diagramm5 in
Anhang A2 (Gantt-Diagramm) zur Terminplanung erstellt, wobei von einer durchschnittlichen täglichen
Arbeitszeit von 7 Stunden ausgegangen wurde. Da die Zeitangaben nur in Tagen und nicht in Stunden
möglich waren, wurden die einzelnen Teilschritte zu größeren Paketen zusammengenommen. Für die
Dokumentation, die parallel zum Entwicklungsprozess erfolgt, wurde zu jedem Paket Dokumentations-
zeit hinzugerechnet. Der detaillierte Ablauf ist in Abschnitt 2.5 (Entwicklungsprozess) genauer beschrie-
ben. Die Einführungsphase wurde auf den 24.05.2019 festgelegt, da an diesem Tag die Übergabe des
Tierbestandsbuchs an den Argenhof stattfand. Das Projektende wurde auf den nachfolgenden Werktag
gelegt, um die Abnahme etc. noch dokumentieren zu können.
2.3 Personalplanung
Die Personalplanung ist in Anhang A3 (Personalkosten) zu sehen. Die Autorin war als Projektleiterin für
die Durchführung des Projekts zuständig. Bei der Schulung für die Verwaltungsmitarbeiter des Argen-
hofs wurde sie von einem der Mitauszubildenden, an den das Projekt übergeben wurde, begleitet. Der
Ausbilder stand bei organisatorischen Fragen zur Verfügung. Die Stundensätze sind Pauschalsätze, die
sich unter anderem aus dem Bruttostundenlohn, den Sozialaufwendungen des Arbeitgebers und der
Ressourcennutzung zusammensetzen.
2.4 Sachmittelplanung
Um die anfallenden Kosten möglichst gering zu halten, wurde bei der Auswahl der Software darauf ge-
achtet, dass diese kostenfrei zur Verfügung stehen, z.B. als Open-Source-Software oder durch bereits
vorhandene Lizenzen. Deshalb wurde die folgende kostenfreie Software zur Durchführung des Projekts
ausgewählt:
• Oracle VM Virtual Box (virtuelle Maschine)
• Ubuntu (Betriebssystem für die virtuelle Maschine)
• Pencil (Software für Mockups)
• Sublime Text (Texteditor)
• SQLite und PostgrSQL (DBMS)
• Ruby on Rails (Web-Framework)
Die einmaligen Kosten sind in Anhang A4 (Sachmittelkosten) zu sehen. Dort wurden die Bustickets für
die Fahrt zum Argenhof miteinkalkuliert, wo die Schulung der Mitarbeiter durchgeführt wird. Zusätzlich
zum Notebook, das zur Planung und Dokumentierung verwendet wird, wurde für die Durchführung des
Projekts ein Desktop-PC angeschafft, auf dem eine virtuelle Maschine mit der Entwicklungsumgebung
installiert wurde. Dadurch steht ausreichend Arbeitsspeicher zur Verfügung und durch eine direkte An-
bindung ans Internet können Probleme durch die Firewall verhindert werden. Außerdem wurden die
laufenden Kosten berechnet, die ebenfalls in Anhang A4 (Sachmittelkosten) zu sehen sind.
2.5 Entwicklungsprozess
Aufgrund des geringen Zeitaufwands und, weil alle Anforderungen bereits im Vorfeld im Lastenhaft sehr
genau definiert wurden, wurde das Projekt nach dem erweiterten Wasserfallmodell durchgeführt. Die
5 Das Diagramm wurde mit dem Tool GanttProject erstellt.
TIERBESTANDSBUCH
Analysephase
Julia Haggenmiller 4
Reihenfolge der einzelnen Teilschritte ist in Anhang A1 (Detaillierte Zeitplanung) aufgelistet. Bei der
Festlegung der Reihenfolge wurden die im Lastenheft in Anhang A6 (Lastenheft (Auszug)) festgelegten
Priorisierungen miteinbezogen. Es wurden zunächst die Funktionen implementiert, die viele Must-Kri-
terien enthalten und ganz am Ende die automatischen Backups, da sie nur Could-Kriterien enthalten.
Dadurch wurde sichergestellt, dass die essentiellen Funktionen zum Übergabetermin alle implementiert
wurden, auch wenn es zu Zeitverzögerungen kommen sollte.
Die Implementierungsphase wurde in iterativen Zyklen durchgeführt, wobei immer ein Feature kom-
plett entwickelt wurde. Parallel zur Implementierung fand auch die Testphase statt. Für jede Funktion
wurde entweder schon vor der Implementierung oder direkt im Anschluss ein Test erstellt.
3 Analysephase
3.1 Ist-Analyse
Auf dem Argenhof werden zwei Mitarbeiter in der Verwaltung beschäftigt, deren Aufgabe es unter an-
derem ist, das Tierbestandsbuch aktuell zu halten. Dort müssen die Daten aller Tiere enthalten sein, die
auf dem Hof leben, wie z.B. die Rasse, das Geschlecht und die Kennzeichnung (Chipnummer oder ähn-
liches). Der Argenhof besitzt für jedes Tier eine Word-Datei, in der diese Daten lokal auf einem Notebook
gespeichert werden. Zusätzlich werden Excel-Tabellen geführt, in denen die Tiere nach Tierart geordnet
gesammelt werden. Das Tierbestandsbuch muss dem Veterinäramt regelmäßig bei unangekündigten
Kontrollen ausgedruckt vorgelegt werden.
Mit dem Webframework Ruby on Rails wurde bereits eine Webapplikation entwickelt, die das Speichern
der Tierdaten erleichtert. Dort werden sie mithilfe von Textfeldern und grafischen Interaktionselemen-
ten in Eingabeformulare eingetragen. Alle Tiere werden in einer einfachen Liste gesammelt. Um unbe-
fugte Zugriffe zu verhindern wird das Tierbestandsbuch mit einem Passwort geschützt. Die Bereitstel-
lung erfolgt über Git auf der Cloud Plattform Heroku. Über das Internet kann darauf mittels eines Brow-
sers zugegriffen werden. Heroku stellt außerdem eine PostgreSQL-Datenbank zur Verfügung, in der die
Daten gespeichert werden.
Allerdings kann die Webapplikation die ursprünglichen Word-Dokumente noch nicht voll ersetzen, da
keine Pflegedaten eingetragen werden können. Die Tiere erhalten unterschiedliche Behandlungen, wie
Impfungen, Tierarztbehandlungen oder Behandlungen beim Hufschmied. Die Daten dazu (Art der Be-
handlung, Datum und Bemerkungen) werden derzeit noch in den Word-Dokumenten für jedes Tier ein-
zeln eingetragen. Diese Vorgehensweise ist jedoch sehr zeitaufwendig und fehleranfällig. Wenn bei-
spielsweise der Hufschmied da war, müssen für 30 bis 40 Pferde und Esel, sowie für etwa 30 Schafe und
Ziegen die Behandlungen eingetragen werden. Dabei nimmt schon die Suche nach der richtigen Word-
Datei viel Zeit in Anspruch, da auf dem Argenhof durchschnittlich 170 Tiere leben. Dazu kommen die
Dateien verstorbener und vermittelter Tiere, die weiterhin aufbewahrt werden müssen. Obwohl die
Eintragungen für eine Hufbehandlung bei den meisten Tieren gleich ausfallen, ist die Fehlerquote bei
einer derart großen Anzahl dennoch hoch. Die parallele Nutzung der Webapplikation und der Word-
Dateien birgt außerdem die Gefahr einer Inkonsistenz in den Daten. Auch gibt es bisher keine Übersicht
über die Pflegedaten, um z.B. überprüfen zu können, welche Tiere demnächst geimpft werden müssen.
Dazu müssen alle Word-Dateien einzeln geöffnet werden.
TIERBESTANDSBUCH
Analysephase
Julia Haggenmiller 5
Auch andere Eintragungen, die direkt in der Webapplikation vorgenommen werden, sind trotz der ver-
einfachten Eingabe aufwendig, da das jeweilige Tier in der unsortierten Liste erst gesucht werden muss.
Eine Übersicht wie in den Excel-Tabellen ist dort noch nicht vorhanden.
Da das Tierbestandsbuch dem Veterinäramt vorgelegt werden muss, müssen die Daten regelmäßig aus-
gedruckt werden. Da auch dies für jede Datei einzeln erfolgt, ist der Aufwand sehr hoch und es kann
leicht etwas vergessen werden. Werden Dateien aus der Webapplikation heraus ausgedruckt, werden
zudem nicht benötigte Komponenten wie das Menü und das Logo mitabgebildet.
Um die Daten zu sichern, werden die Word- und Excel-Dateien in unregelmäßigen Abständen auf einen
USB-Stick kopiert. Für die Datenbank der Webapplikation gibt es derzeit keine Sicherung. Bei einem
Ausfall sind also unter Umständen nicht alle Daten wiederherstellbar und der USB-Stick bietet wenig
Sicherheit. Aus diesen Gründen soll die Webapplikation erweitert werden.
3.2 Soll-Konzept
Im Zuge des Projekts soll die Speicherung der Pflegedaten ergänzt werden. Dabei soll es möglich sein,
eine bestimmte Eintragung für mehrere Tiere gleichzeitig vornehmen zu können. Dadurch werden die
Fehleranfälligkeit und der zeitliche Aufwand reduziert. Für einen besseren Überblick sollen die Behand-
lungen in einer Übersicht gesammelt werden, mit der Möglichkeit, die Pflegedaten nach mehreren Kri-
terien zu filtern.
Die Excel-Tabellen sollen durch eine eigene Seite in der Webapplikation ersetzt werden. Dort sollen die
Daten in Tabellenform dargestellt und ebenfalls nach mehreren Kriterien gefiltert werden können.
Um das Ausdrucken zu erleichtern, soll eine Komponente eingebaut werden, über die mehrere Tiere
ausgewählt und anschließend in einem Zug die jeweiligen Daten ausgedruckt werden können. Dafür
wird ein eigenes Druck-Layout angefertigt. Außerdem sollen automatische Backups eingeführt werden,
mit denen tägliche und zusätzlich wöchentliche Sicherungen vorgenommen werden.
Die Erweiterung der Webapplikation wird mit Ruby on Rails umgesetzt. Für die Durchführung des Pro-
jekts steht ein Desktop-PC zur Verfügung, auf dem eine virtuelle Maschine mit Ruby installiert ist.
Das Oberflächenlayout wird mit Bootstrap erstellt und anschließend mit HTML, SCSS und eRuby ange-
passt und gestaltet.
Während der Entwicklung wird zu Testzwecken eine SQLite-Datenbank genutzt. Nach der Veröffentli-
chung der Webapplikation auf Heroku werden die Echtdaten dann in einer von der Plattform bereitge-
stellten PostgreSQL-Datenbank gespeichert. Zur Qualitätssicherung werden automatisierte Tests ver-
wendet.
Für die Schulung stehen die Verwaltungsmitarbeiter des Argenhofs zur Verfügung. Außer der Entwick-
lerin wird kein weiteres Personal benötigt.
Um das Projekt optimal planen zu können, wurde bereits gemeinsam mit Argenhof ein Lastenheft an-
gefertigt.
TIERBESTANDSBUCH
Analysephase
Julia Haggenmiller 6
3.3 Wirtschaftlichkeitsanalyse
Die angebotenen Hilfen zum Führen eines Tierbestandsbuchs beschränken sich hauptsächlich auf Excel-
Tabellen, die zum Download bereitstehen. Diese bieten jedoch keinen Mehrwert gegenüber den bereits
vorhandenen Excel-Tabellen des Argenhofs.
Es gibt aktuell lediglich eine Software6 für Hundeschulen und Pensionen, die unter anderem ein Tierbe-
standsbuch enthält. Allerdings sind daneben viele weitere Features vorhanden, die vom Argenhof nicht
benötigt werden, wie z.B. die Erstellung von Rechnungen für Pensionshunde. Die Software kann zudem
nur Hunde erfassen, während auf dem Argenhof etwa 16 verschiedene Tierarten leben. Auch für die
große Menge an Tieren ist die Software nicht ausgelegt, was die Arbeit unübersichtlich und zeitaufwen-
dig machen würde. Aufgrund dessen wurde entschieden, die vorhandene Webapplikation zu erweitern,
damit die Software genau auf die Bedürfnisse des Argenhofs angepasst werden kann.
Bei dem Projekt müssen Kosten für das Personal, sowie für die Sachmittel aufgebracht werden. Die Be-
rechnung der einzelnen Posten ist in Kapitel 2 (Projektplanung) genauer aufgeführt. Die Gesamtkosten,
die sich daraus ergeben, finden sich in Tabelle 2: Kostenaufstellung.
Tabelle 2: Kostenaufstellung
Da das Berufsbildungswerk eine gemeinnützige Organisation ist und es sich um ein soziales Projekt han-
delt, wurden die Kosten dafür dem Argenhof in Absprache mit der Betriebsleiterin nicht in Rechnung
gestellt. Allerdings ist geplant, das Tierbestandsbuch in Zukunft auch anderen Tierschutzorganisationen
zur Verfügung zu stellen. Das Tierbestandsbuch soll dabei zu einem Preis von 400 € pro einmalige Lizenz
verkauft werden.
Dadurch liegt die Gewinnschwelle bei ca.: 2.030,12 €
400,00 €≈ 5 Lizenzen
Ab dem Verkauf der fünften Lizenz hat sich das Projekt also amortisiert.
6 (Schnatz, 2019)
TIERBESTANDSBUCH
Entwurfsphase
Julia Haggenmiller 7
Das Projekt lohnt sich vor allem aufgrund der nicht-monetären Vorteile: Zum einen kann das Projekt
den Grundstein für eine weitere Zusammenarbeit mit dem Argenhof legen. Der Argenhof arbeitet näm-
lich auch im pädagogischen Bereich mit Menschen mit Behinderungen, psychischen Erkrankungen und
ähnlichem, wovon die Teilnehmer des Berufsbildungswerks profitieren können.
Zum anderen kann das Berufsbildungswerk durch das soziale Projekt sein Image verbessern und der
Bekanntheitsgrad steigt. In Folge dessen können mehr Spender gewonnen werden.
3.4 Prozessanalyse
Um die Prozesse bezüglich des Tierbestandsbuchs zu analysieren, wurde für das Eintragen der Pflege-
daten eine EPK entworfen, welche in Anhang A5 (EPK) zu sehen ist. Das Online-Tierbestandsbuch soll
vor allem den Prozessabschnitt der Verwaltung effizienter gestalten, indem mehrere gleiche Einträge in
einem Schritt gemacht werden können.
3.5 Lastenheft
Das Lastenheft wurde bereits im Voraus des Projekts von der Autorin gemeinsam mit Verwaltungsmit-
arbeitern des Argenhofs erstellt. Dadurch wurden die Anforderungen schon früh klar definiert, weswe-
gen die weitere Planung schneller und präziser gemacht werden konnte.
Ein Auszug des Lastenhefts mit den gewünschten Funktionen sind aus Anhang A6 (Lastenheft (Aus-
zug))zu entnehmen. Dabei wurden die Funktionen mithilfe der MoSCoW-Methode priorisiert und je
nach Wichtigkeit in verschiedenen Farben dargestellt. Der Aufbau erfolge nach Balzert.7
4 Entwurfsphase
4.1 Zielplattform
Bereits das Grundgerüst des neuen Tierbestandsbuchs wurde als Webapplikation erstellt, welches nun
auch in dieser Form erweitert werden soll. Der Vorteil davon ist, dass auf Seiten des Clients lediglich ein
Webbrowser nötig ist. Die Software muss nicht extra installiert werden, was die Benutzerfreundlichkeit
erhöht. Außerdem kann durch die Client-Server-Architektur von mehreren Geräten aus gleichzeitig auf
die Software zugegriffen werden. Auch die Wartung wird vereinfacht, da das Wartungspersonal über
das Internet einfach auf die Webapplikation zugreifen und z.B. eine neue Version hochladen kann, die
anschließend sofort vom User genutzt werden kann. 8
Auch die Veröffentlichung der Webapplikation auf der Cloud Plattform Heroku soll beibehalten werden.
Die Installation und die Wartung eines Webanwendungsservers auf dem Notebook des Argenhofs wäre
sehr aufwendig und der PC würde mit großer Wahrscheinlichkeit nicht die nötige Rechenleistung auf-
bringen können. Extra dafür einen eigenen Server zu kaufen, wäre für den Argenhof zu kostspielig.
7 (Krypczyk & Bochkor, 2018, S. 222) 8 (Krypczyk & Bochkor, 2018, S. 250-258)
TIERBESTANDSBUCH
Entwurfsphase
Julia Haggenmiller 8
Die Autorin hat sich für Heroku als Plattform entschieden, da dort das Tierbestandsbuch in dem nötigen
Umfang kostenlos bereitgestellt werden kann. Dies ist für den Argenhof sehr wichtig, da er sich aus-
schließlich über Spenden finanziert. Außerdem sind das Setup und die Bedienbarkeit bei Heroku sehr
einfach, wodurch bei der Einführungsphase und der Wartung Zeit eingespart werden kann.
Als DBMS wurde PostgreSQL gewählt, da die Autorin bereits in früheren Projekten gute Erfahrungen
damit gesammelt hat. Weitere Gründe dafür sind die Plattformunabhängigkeit und die freie Nutzung,
weil es sich um eine Open-Source-Software handelt.
4.2 Architekturdesign
Auch das Webframework Ruby on Rails (RoR) wurde beibehalten, da es sich sehr gut für die Webappli-
kation eignet. RoR ist ein Open-Source Web-Framework, das auf der Programmiersprache Ruby basiert.
Für die Implementierung standen außerdem Java und PHP zur Auswahl. Die Autorin hat sich für Ruby
entschieden, da es gegenüber Java und PHP einige Vorteile bietet. Bei Ruby ist z.B. viel weniger Code
notwendig als für Java. Außerdem ist der Entwicklungsaufwand mit Ruby wesentlich geringer, da es sich
zusätzlich noch um eine interpretierte Skriptsprache handelt. Ein Problem von PHP ist die Objektorien-
tierung, da diese erst nachträglich entwickelt wurde und deshalb entsprechende Frameworks benötigt
werden. RoR hingegen ist vollständig objektorientiert. Auch, dass die Autorin bereits Erfahrungen mit
RoR hat im Gegensatz zu PHP, spielte eine Rolle. 9
RoR ist nach dem Model-View-Controller Paradigma konzipiert. Dabei werden die Schichten Datenhal-
tung (Model), Präsentation (View) und Steuerung (Controller) voneinander getrennt. Dadurch können
die Interaktionen eines Benutzers sauber von den dadurch veränderten Daten und deren Darstellung
getrennt werden. 10 RoR ist geprägt von zwei Prinzipien: „Don’t Repeat Yourself“ (DRY) und „Convention
Over Configuration“. Das bedeutet, dass Redundanz im Code vermieden werden und das Standardver-
halten für zu konfigurierende Aspekte genutzt werden soll. Dies bewirkt, dass die Entwicklung mit RoR
sehr schnell und effizient erfolgen kann. 11
Die Oberflächen wurden als Webinterface mit HTML und Sass umgesetzt. Sass wurde anstelle von CSS
gewählt, da Sass mehr Möglichkeiten bietet und die Arbeit vor allem bei Änderungen vereinfacht. Es
lassen sich z.B. Variablen, Nestings und Mixins einsetzen und im Gegensatz zu Less sind auch Schleifen
und Fallunterscheidungen möglich. Aufgrund der Nähe zu CSS wurde als Syntax für Sass SCSS einge-
setzt.12
4.3 Entwurf der Benutzeroberfläche
Zuerst wurde die Dialogstruktur entworfen, die auszugsweise in Anhang A7 (Dialogstruktur) zu sehen
ist. Diese wurde nach der Erstellung des Pflichtenhefts mit den entsprechenden Identifikationsnum-
mern für jede Funktion ergänzt, um sicherzustellen, dass alle vereinbarten Funktionen enthalten sind.
Für die Planung der Oberflächengestaltung wurden mit der Open-Source-Software Pencil Mockups an-
gefertigt, die auszugsweise in Anhang A8 (Mockups) einsehbar sind. Bei der Gestaltung der Entwürfe
wurde unter Miteinbeziehung des Auftraggebers darauf geachtet, das Layout an die schon bestehenden
9 (Ruby on Rails oder php, 2019) 10 (Lahres & Rayman, 2015) 11 (Schätzlein, 2019) 12 (SASS: CSS auf dem nächsten Level?, 2019)
TIERBESTANDSBUCH
Entwurfsphase
Julia Haggenmiller 9
Seiten anzupassen, um Einheitlichkeit zu schaffen. Im Vordergrund stand eine möglichst intuitive Bedie-
nung und eine übersichtliche Gestaltung, da die Verwaltungsmitarbeiter des Argenhofs hauptsächlich
andere Aufgabengebiete haben und dadurch teilweise wenig Erfahrung im Umgang mit PCs. Da bereits
die vorläufige Version des Tierbestandsbuchs in Verwendung ist, konnten sich die Endbenutzer schon
an den Aufbau gewöhnen. Dies erleichtert den Umgang mit den neuen, etwas komplexeren Seiten.
In Absprache mit dem Auftraggeber wurde die Farbgestaltung an das Corporate Design des Argenhofs
angepasst, sowie das Logo eingebunden.
4.4 Datenmodell
Für das Datenmodell wurde zunächst ein ERM erstellt, das in Anhang A9 (Entity-Relationship-Modell)
einzusehen ist. Dort sind die wichtigsten Entitäten, die schon vorhanden waren, leicht transparent dar-
gestellt. Die Entitäten, die im Rahmen des Projekts hinzugefügt wurden, wurden optisch hervorgeho-
ben. Das ERM wurde auf Grundlage des Lastenhefts in Anhang A6 (Lastenheft (Auszug)) erstellt.
Anschließend wurde das ERM normalisiert und in ein Tabellenmodell überführt. Dabei wurde die m:n-
Beziehung zwischen den Entitäten Tier und Behandlung aufgelöst, um Redundanzen und Anoma-
lien zu vermeiden. In Anhang A10 (Tabellenmodell) sind die wichtigsten Relationen mit ihren wesentli-
chen Attributen zu sehen. Die Benennung der Tabellen und der Fremd- bzw. Primärschlüssel erfolgte
nach den Namenskonventionen von RoR.
Da die Daten einer Behandlung (Art, Datum und Beschreibung) in der Regel für mehrere Tiere gleich ist,
wurden sie in einer Relation zusammengefasst. Außerdem wurde eine Änderung an der Relation ani-
mals vorgenommen. Ursprünglich wurden dort alle Kennzeichnungsmöglichkeiten der Tiere (Chip, Tä-
towierung, Equidenpass) als eigene Attribute dargestellt. Da jedoch jedes Tier nur eine Kennzeichnung
besitzt und diese alle vom Datentyp String sind, wurden sie in dem neuen Attribut mark zusammen-
gefasst.
4.5 Geschäftslogik
Für die Planung der Geschäftslogik wurde mit der Software Violet UML Editor zunächst ein grobes Klas-
sendiagramm der Controller erstellt. In Anhang A11 (Klassendiagramm der Controller) sind die geplan-
ten Controller-Klassen zu sehen, die zum Tierbestandsbuch hinzugefügt werden sollen. Diese enthalten
Methoden nach dem CRUD-Prinzip und erben alle von ApplicationController, was wiederum
eine Unterklasse von ActionController::Base ist. Action Controller hilft durch Konventionen
bei der Erstellung der Controller. 13
Für die Druckfunktion wurde außerdem das Aktivitätsdiagramm in Anhang A12 (Aktivitätsdiagramme)
erstellt, um den Ablauf grafisch darzustellen. Aufgrund der Komplexität war vor der Implementierung
noch nicht absehbar, welche konkreten Methoden für die Umsetzung benötigt werden. Deshalb wurde
erst im Nachhinein der Controller DownloadsController mit den zugehörigen Methoden im Klas-
sendiagramm ergänzt. Das zweite Aktivitätsdiagramm in Anhang A12 (Aktivitätsdiagramme) zeigt den
Ablauf bei der Speicherung einer neuen Pflegebehandlung.
13 (Action Controller Overview, 2019)
TIERBESTANDSBUCH
Implementierungsphase
Julia Haggenmiller 10
4.6 Maßnahmen zur Qualitätssicherung
Um eine möglichst hohe Qualität der Webapplikation sicherzustellen, wurde jede Funktion, wie schon
in Abschnitt 2.5 (Entwicklungsprozess) beschrieben, bereits während der Implementierungsphase ge-
testet. Dies geschah durch Unit- und Integrationstests.
Mithilfe des Tools Guard wurden die Tests automatisch ausgeführt. Dieses Vorgehen stellt eine hohe
Qualität der Software sicher, da Fehler frühzeitig erkannt werden und regelmäßig überprüft wird, ob
Änderungen an einer Stelle Probleme im restlichen Code bewirken.
Die Grundlage für die automatisierten Tests bildeten die im Pflichtenheft in Anhang A13 (Pflichtenheft
(Auszug)) definierten globalen Testfälle. Da die Testung der Webapplikation also parallel zur Implemen-
tierung erfolgte, war eine zusätzliche Testphase nicht mehr notwendig.
4.7 Pflichtenheft/Datenverarbeitungskonzept
Zum Abschluss der Entwurfsphase wurde ein Pflichtenheft erstellt, das auf dem Lastenheft in Anhang
A6 (Lastenheft (Auszug)) basiert. Ausschnitte des Pflichtenhefts sind in Anhang A13 (Pflichtenheft (Aus-
zug)) zu sehen. Wie das Lastenhaft, basiert auch die Gliederung des Pflichtenhefts auf Balzert.
5 Implementierungsphase
5.1 Erstellen der Datenbanktabellen
Die erforderlichen Datenbanktabellen wurden mithilfe von Rails generiert. In den generierten Migrati-
onsdateien wurden anschließend manuell die Fremdschlüssel eingetragen. Außerdem wurden die Rela-
tionen in den Models definiert. Über die seed-Datei wurde die Datenbank mit den Werten für die Pfle-
gebehandlungen gefüllt.
5.2 Implementierung und Test der Pflegedaten
Um die Oberflächen zu gestalten, wurden zunächst die Controller generiert. In diesem Schritt wurden
auch die zugehörigen Views automatisch erstellt. Das Formular wurde in ein Partial14 ausgelagert, damit
es sowohl für das Formular zur Eingabe der neuen Daten, als auch zum Ändern der bestehenden Daten
genutzt werden kann. Dadurch wird Redundanz im Code vermieden. Mithilfe von eRuby15 wurde eine
If-Verzweigung eingebunden, damit nur dann ein Button zum Löschen der Behandlung angezeigt wird,
wenn es sich um das Änderungsformular handelt.
Ursprünglich sollte die Auswahl der Tiere über das Gem16 nested_form17 erfolgen, weil dafür Ja-
vaScript-Kenntnisse nötig, jedoch nicht vorhanden sind. Dies war technisch aber nicht umsetzbar. Des-
halb wurde als Alternative das Gem chosen-rails18 verwendet, wie in Abschnitt 8.1 (Multiple-
Drop-Down anstelle von Textfeldern) genauer beschrieben wurde.
14 Sub-Template, das in andere Templates eingebunden werden können 15 Template-Mechanismus zum Einfügen von Ruby-Code in Textdateien 16 Plugin für Ruby 17 (Bates, 2019) 18 (Ho, 2019)
TIERBESTANDSBUCH
Implementierungsphase
Julia Haggenmiller 11
Nachdem die Methoden zum Speichern, Ändern und Löschen der Pflegedaten implementiert wurden,
wurden für die Controller und Models Unit-Tests erstellt. Damit wird sichergestellt, dass eine Fehler-
meldung erfolgt, wenn Pflichtangaben fehlen und dass nur auf die Funktionen zugegriffen werden kann,
wenn das System entsperrt ist.
Im Anschluss wurde die Oberfläche erstellt, auf der die Pflegedaten in Tabellenform dargestellt und
gefiltert werden können. Die Filterfunktion wurde mithilfe von named scopes19 implementiert, die
von RoR bereitgestellt werden. Mit diesen scopes können durch Lambdas Datenbankabfragen erstellt
und miteinander verkettet werden. Um SQL Injections zu verhindern, wurden Parametrisierungen ver-
wendet. Ein Beispiel dafür ist in Listing 1: Beispiel für named scope zu sehen.
scope :name_like, ->(animal) {joins(:animal).where("animals.name LIKE ?", "%#{animal}%" )}
Listing 1: Beispiel für named scopes
5.3 Implementierung und Test der Tierliste
Für die Erstellung der Oberfläche der Tierliste konnten Teile der Übersicht für die Pflegedaten übernom-
men werden. Auch hier wurden für die Filterung scopes eingesetzt. Bei der Filterung des Jahres wird
unterschieden, ob sie in der Entwicklungs- oder der Produktivumgebung ausgeführt wird. In der Pro-
duktivumgebung kommt eine PostgreSQL-Datenbank zum Einsatz, während in der Entwicklungsumge-
bung eine SQLite-Datenbank verwendet wird. Deshalb muss der scope angepasst werden, da die bei-
den DBMS nicht dieselben Datumsfunktionen kennen.
Eine Ausnahme bildet jedoch die Filterung des Status, um die verstorbenen, vermittelten und/oder auf
dem Hof lebenden Tiere anzuzeigen. Dafür wurde aus den folgenden Gründen eine Klassenmethode
erstellt: Da es in der Datenbank keine eigenen Spalten für den Status gibt, muss überprüft werden, ob
ein Sterbe- oder Abgabedatum eingetragen ist. Ein Tier lebt dann aktuell auf dem Hof, wenn diese Daten
fehlen. Deshalb finden für jeden Status bestimmte Datenbankabfragen statt, die mit einem OR ver-
knüpft werden müssen. Scopes können die Abfragen jedoch nur mit einem AND verknüpfen, was zu
Fehlern bei der Filterung führt, wenn mehrere Status ausgewählt werden. Aus diesem Grund wurde
eine Klassenmethode erstellt, bei der die SQL-Abfrage abhängig von den Übergabewerten korrekt zu-
sammengesetzt wird. Der Source Code dieser Methode ist in Anhang A14 (Filterung der Tierliste nach
dem Status) zu sehen.
Um zu überprüfen, ob die richtigen Datensätze für die jeweilige Filterung zurückgegeben werden, wur-
den Unit-Tests des Models erstellt. Ein Ausschnitt der Testklasse, sowie das Testergebnis sind Anhang
A15 (Test für die Filterung nach dem Status) zu sehen.
5.4 Implementierung der Druckfunktion
Um die Tierliste auszudrucken, wurde ein eigenes Stylesheet erstellt, das beim Ausdrucken zum Einsatz
kommt. Dabei werden alle Komponenten außer der Tabelle mit den Tierdaten ausgeblendet. Außerdem
wird angezeigt, welche Tierarten und Status bei der Filterung ausgewählt wurden, damit die Ausdrucke
auch nach längerer Zeit noch nachvollziehbar sind. Diese Angaben werden nur beim Ausdrucken ange-
Sterrett, M. Z. (22. Mai 2019). Wicked PDF. Von GitHub: https://github.com/mileszs/wicked_pdf
abgerufen
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller i
Anhang
A1 Detaillierte Zeitplanung
Tabelle 3: detaillierte Zeitplanung
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller ii
A2 Gantt-Diagramm
Abbildung 1: Gantt-Diagramm
A3 Personalkosten
Tabelle 4: Personalkosten
A4 Sachmittelkosten
Tabelle 5: einmalige Sachmittelkosten
Tabelle 6: laufende Sachmittelkosten
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller iii
A5 EPK
Abbildung 2: EPK
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller iv
A6 Lastenheft (Auszug) 28
1. Produktfunktionen Um auf das System zugreifen zu können, muss es vorher entsperrt werden.
1.1. Pflegedaten Die Tiere erhalten unterschiedliche Behandlungen. Dazu gehören z.B.:
o Impfungen, o Tierarztbehandlungen, o Zeckenschutz, o Behandlungen beim Hufschmied und o Entwurmungen.
/LF010/ Der Benutzer kann Pflegedaten für ein Tier abspeichern. /LF020/ Der Benutzer kann einen Eintrag für mehrere Tiere gleichzeitig machen. /LF030/ Der Benutzer kann bereits gespeicherte Pflegedaten ändern und erweitern. /LF040/ Der Benutzer kann bereits gespeicherte Pflegedaten löschen. /LF050/ Der Benutzer kann sich die gespeicherten Pflegedaten anzeigen lassen. /LF060/ Der Benutzer kann die gespeicherten Pflegedaten nach mehreren Kriterien filtern. Dazu gehören z.B.
o der Name eines Tiers, o die Tierart, o die Art der Pflegebehandlung und o das Jahr, in dem die Behandlung stattfand.
1.2. Tierliste Die Tierliste enthält die wichtigsten Daten der Tiere übersichtlich dargestellt. /LF110/ Der Benutzer kann sich eine Übersicht der Tierdaten in einer Tabelle anzeigen lassen. Zu diesen Daten gehören z.B.:
o der Name des Tiers, o die Rasse, o die Farbe, o das Geburtsjahr, o das Geschlecht, o die Kennzeichnung (Chip/Tätowierung/Equidenpass oder ähnliches) und o das Sterbedatum.
/LF120/ Der Benutzer kann die Daten nach einem oder mehreren Kriterien filtern. Dazu gehö-ren z.B.:
o die Tierart, o der Name eines Tiers, o ob die Tiere bereits vermittelt wurden und o ob die Tiere bereits verstorben sind.
1.3. Drucken
Um das Tierbestandsbuch dem Veterinäramt vorlegen zu können, muss es ausgedruckt werden. /LF210/ Der Benutzer kann die Übersichtsseiten der einzelnen Tiere ausdrucken. /LF220/ Der Benutzer kann mehrere Übersichtsseiten auf einmal ausdrucken.
/LF230/ Der Benutzer kann die Tierlisten ausdrucken. /LF240/ Beim Drucken werden nur die Daten ausgegeben und keine weiteren Komponenten. Dazu gehören z.B.:
o das Menü, o die Fußzeile und o die Filterung.
1.4. Backups
Die Datenbank wird in regelmäßigen Abständen gesichert. /LF310/ Von der Datenbank wird einmal täglich ein Backup erstellt. /LF320/ Von der Datenbank wird zusätzlich zum täglichen Backup ein wöchentliches Backup erstellt. /LF330/ Die Backups werden automatisch erstellt. /LF340/ Die Backups erfolgen außerhalb der Geschäftszeiten.
2. Produktdaten Es sollen (mindestens) folgende Daten persistent gespeichert werden. /LD10/ Pflegedaten: Alle Informationen zur Pflege:
o Art der Behandlung (Text) o Datum (Datum) o Bemerkungen (Text) o Behandeltes Tier (Text)
A7 Dialogstruktur29
Abbildung 3: Dialogstruktur der Pflegeseite
29 Die Funktionen referenzieren auf die im Pflichtenheft angegeben Produktfunktionen in Anhang A13 (Pflichtenheft (Auszug)).
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller vi
A8 Mockups
Abbildung 4: Mockup der Tierliste
Abbildung 5: Mockup des Formulars für neue Behandlungen
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller vii
A9 Entity-Relationship-Modell
Hier ist ein Ausschnitt des ERM zu sehen. Der hervorgehobene Teil wurde von der Autorin zum beste-
henden Modell hinzugefügt.
Abbildung 6: Entity-Relationship-Modell
A10 Tabellenmodell30
Abbildung 7: Tabellenmodell
30 Von der Autorin wurden die folgenden Tabellen hinzugefügt: types, cares und animals_cares
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller viii
A11 Klassendiagramm der Controller
Abbildung 8: Klassendiagramm der Controller
A12 Aktivitätsdiagramme
Abbildung 9: Aktivitätsdiagramm für die Druckfunktion
Abbildung 10: Aktivitätsdiagramm für die Speicherung einer neuen Behandlung
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller ix
A13 Pflichtenheft (Auszug)
Funktionen
/F010/ Speichern der Pflegedaten: Der Benutzer kann eine neue Pflegebehandlung für ein Tier abspei-
chern. Die Art der Behandlung wird durch ein Drop-Down-Menü ausgewählt. Zur Auswahl stehen die
folgenden Arten: Hufschmied, Tierarzt, Impfung, Zeckenschutz und Entwurmung.
Die Angabe der Behandlungsart ist verpflichtend, sowie die Angabe des Datums, an dem die Behandlung
stattfand. Das Datum kann über einen Kalender ausgewählt werden. Die Eingabe einer Bemerkung in
einem Textfeld ist optional. Es muss mindestens ein Tier angegeben werden, für das der Eintrag gemacht
werden soll. Dafür wird der Name eingetragen, wobei der Benutzer durch Autovervollständigung unter-
stützt wird. Vor dem Speichern muss überprüft werden, ob alle Pflichtangaben gemacht wurden und
das angegebene Tier bekannt ist.
/F020/ Speichern einer Pflegebehandlung für mehrere Tiere gleichzeitig: Der Benutzer kann mehrere
Tiere für das Abspeichern einer Pflegebehandlung angeben. Dafür kann er über einen Link weitere Text-
felder hinzufügen und auch wieder löschen.
/F030/ Ändern und Erweitern der Pflegedaten: Der Benutzer kann die bestehenden Pflegedaten ändern
und erweitern. Dies geschieht über ein Eingabeformular, das wie das Formular für die neuen Behand-
lungen aufgebaut ist. Die bestehenden Daten sind bereits voreingetragen.
/F040/ Löschen der Pflegedaten: Der Benutzer kann die bestehenden Pflegedaten löschen. Dabei wird
unterschieden zwischen dem Löschen der Behandlung für ein einzelnes Tier und dem Löschen der je-
weiligen Behandlung bei allen betroffenen Tieren.
Beim Löschen für ein einzelnes Tier, wird der betroffene Datensatz aus der Tierbehandlungstabelle
(siehe /D010/) entfernt.
Beim Löschen einer kompletten Behandlung wird der betroffene Datensatz aus der Behandlungstabelle
(siehe /D030/) entfernt und gleichzeitig alle damit verknüpften Datensätze aus der Tierbehandlungsta-
belle (CASCADE). Wird ein Tier gelöscht, werden alle Datensätze aus der Tierbehandlungstabelle mitge-
löscht, die mit dem jeweiligen Tier verknüpft sind. In der Behandlungstabelle bleiben sie jedoch erhal-
ten.
/F050/ Anzeige der Pflegedaten: Der Benutzer kann sich die bereits gespeicherten Pflegedaten auf zwei
Wegen anzeigen lassen. Zum einen werden sie in den Übersichten des jeweiligen Tiers angezeigt. Au-
ßerdem gibt es eine Übersicht in Tabellenform, in denen die Pflegedaten für alle Tiere angezeigt werden
können.
/F060/ Filterung der Pflegedaten: Der Benutzer kann die Pflegedaten in der Tabelle nach einem oder
mehreren Kriterien filtern. Dazu gehören: Tiername, Tierart, Art der Pflegebehandlung und Jahr.
Standardmäßig werden zunächst alle vorhandenen Daten angezeigt. Über Drop-Down-Menüs kann der
Benutzer die gewünschte Tierart und die Art der Pflegebehandlung auswählen. Über ein Textfeld kann
nach einem bestimmten Namen gefiltert werden und über einen Kalender kann das Jahr ausgewählt
werden. Die Filterung kann über einen Link wieder zurückgesetzt werden.
TIERBESTANDSBUCH
Anhang
Julia Haggenmiller x
Globale Testszenarien und Testfälle /T010/ Speichern der Pflegedaten: Max Mustermann erstellt die folgenden Behandlungen:
o Impfung am 01.01.2019 gegen Tollwut für Bello o Hufschmied am 02.02.2019 für Spirit
/T020/ Speichern einer Pflegebehandlung für mehrere Tiere gleichzeitig: Max Mustermann erstellt die folgende Behandlung:
o Zeckenschutz am 03.03.2019 mit Frontline für Bello, Rex und Lessie
/T030/ Ändern und Erweitern der Pflegedaten: Max Mustermann ändert die letztgenannte Behandlung folgendermaßen ab:
o Zeckenschutz am 03.03.2019 mit Zeckenhalsband für Bello, Rex und Lessie
/T040/ Löschen der Pflegedaten: Max Mustermann löscht die folgenden Behandlungen: o Zeckenschutz am 03.03.2019 mit Zeckenhalsband für Rex o Zeckenschutz am 03.03.2019 mit Zeckenhalsband für alle
/T050/ Anzeige der Pflegedaten: Max Mustermann lässt sich alle Pflegedaten anzeigen. /T060/ Filterung der Pflegedaten: Max Mustermann filtert die Pflegedaten nach den folgenden Kriterien: