generated from leonetienne/LaTeX-Paper-template
Compare commits
3 Commits
5aba8eb989
...
2a8951ccc1
| Author | SHA1 | Date | |
|---|---|---|---|
|
2a8951ccc1
|
|||
|
f71dc2433b
|
|||
|
fc43ee2dae
|
@@ -14,9 +14,9 @@ Hierbei werden sämtliche auf das Weingut bezogene Daten redundant ausgefüllt.
|
||||
Eigenschaften der Weine, sondern die des Weingutes selbst sind.
|
||||
Da sich das Weingut zwischen den Weinen nicht ändert,
|
||||
ändern sich die darauf bezogenen Daten auch nicht. Sie müssen aber für jeden Wein erneut ausgefüllt werden.
|
||||
Abgesehen davon, dass solche Redundanzen auf Weinguts- und Verbandsseite die hedonische Qualität schädigen,
|
||||
Abgesehen davon, dass solche Redundanzen auf Weinguts- und verbandsseite die hedonische Qualität schädigen,
|
||||
bietet ein solcher Workflow Freiraum für Fehler und Inkonsistenzen.
|
||||
Dieser Workflow, mit den zuvor genannten Nachteilen, wird auf Verbandsseite, nach Zustellung der Weine, weiter fortgeführt:
|
||||
Dieser Workflow, mit den zuvor genannten Nachteilen, wird auf verbandsseite, nach Zustellung der Weine, weiter fortgeführt:
|
||||
\ac{WM} erfährt erstmalig mit der Zustellung eines Weines von dessen Teilnahme. Das erschwert die Planung der Logistik,
|
||||
da im Voraus keine konkrete Zahl der zu erwartenden Flaschen bekannt ist. Geht eine Flasche auf dem Postweg verloren,
|
||||
könnte das unbemerkt bleiben, da der Prozess für das Weingut mit dem Versand endet und der Prozess für \ac{WM}
|
||||
|
||||
@@ -38,7 +38,7 @@ Umsetzung gewährleisten zu können.
|
||||
Um ein Pflichtenheft für die hier beleuchtete TYPO3-Erweiterung zu erarbeiten, wurde eine Anforderungsanalyse in Form eines Interviews mit dem \ac{PO}
|
||||
durchgeführt. Dieses Pflichtenheft zeigt unter anderem auf, dass Mitglieder sowie Nichtmitglieder Teilnehmer sein können,
|
||||
wie die Nutzerführung aussieht, welche Werkzeuge \ac{WM}-Mitarbeitern zur Verfügung stehen und wie verschiedene Schnittstellen aussehen.
|
||||
Das vollständige Ergebnis dieser Anforderungsanalyse ist im Anhang anbei, unter \fullref{chap:anhang-pflichtenheft}.
|
||||
Das vollständige Ergebnis dieser Anforderungsanalyse liegt im Anhang anbei, unter \fullref{chap:anhang-pflichtenheft}.
|
||||
|
||||
\paragraph*{Welche QR-Code-Bibliothek ist für das behandelte Projekt gut geeignet?}
|
||||
Um die Anmeldung und Zustellung von Weinen digital umsetzen zu können, ist lt. Anforderungen ein QR-Code-Generator notwendig.
|
||||
@@ -73,12 +73,12 @@ fördert und kurzfristige Änderungen der Anforderungen effizient gestaltet \cit
|
||||
Es muss jedoch berücksichtigt werden, dass sich diese Literaturrecherche explizit auf die in dieser Bachelorarbeit beleuchtete Problemstellung bezieht.
|
||||
Bei Einbezug anderer Projekttypen und -beschaffenheiten weichen die geeigneten Entwicklungsmethodiken wahrscheinlich ab.
|
||||
Eine Empfehlung für weitere Forschung ist es daher, ähnliche Literaturrecherchen bezüglich
|
||||
angemessenen Entwicklungsmethodiken für abweichende Projekttypen und -beschaffenheiten durchzuführen.
|
||||
angemessener Entwicklungsmethodiken für abweichende Projekttypen und -beschaffenheiten durchzuführen.
|
||||
|
||||
\paragraph*{Welche Anforderungen sind an die TYPO3-Erweiterung gestellt?}
|
||||
Um detaillierte Anforderungen an die TYPO3-Erweiterung in Erfahrung zu bringen, wurde eine Anforderungsanalyse durch verschiedene
|
||||
Befragunstechniken durchgeführt. Die verwendeten Befragunstechniken sind \enquote{Interview} und \enquote{Online-Fragebogen}.
|
||||
Es ist erwähnenswert, dass der Online-Fragebogen unbeantwortet blieb.
|
||||
Es ist wichtig, dass der Online-Fragebogen unbeantwortet blieb.
|
||||
Das Ergebnis dieser Anforderungsanalyse ist ein detailliertes Pflichtenheft, das die Anforderdungen an die TYPO3-Erweiterung detailliert beschreibt.
|
||||
Dieses zeigt unter anderem auf, dass Mitglieder und Nichtmitglieder Teilnehmer sein können,
|
||||
wie detaillierte Konzepte der Nutzerführung und verschiedene Schnittstellen aussehen und welche Werkzeuge \ac{WM}-Mitarbeitern zur Verfügung stehen.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
Die vorliegende Bachelorarbeit befasste sich mit der Frage: \enquote{Wie kann die Anmeldung und Zustellung von Weinen für Weinproben
|
||||
des Regionalverbunds für Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden?}
|
||||
Für die Beantwortung wurde eine Literaturrecherche bezüglich Entwicklungsmethodiken, eine Gegenüberstellung existierender Technik
|
||||
zur Erstellung von QR-Codes, verschiedene Befragungstechniken zur Anforderungserfassung, sowie der praktischen Umsetzung der
|
||||
zur Erstellung von QR-Codes, verschiedene Befragungstechniken zur Anforderungserfassung sowie die praktischen Umsetzung der
|
||||
TYPO3-Erweiterung angestrengt.
|
||||
\\
|
||||
\\
|
||||
@@ -16,9 +16,9 @@ Es wurde begründet, dass die Durchführung einer Anforderungsanalyse wichtig is
|
||||
\\
|
||||
\\
|
||||
Durch diese Forschung wurde somit erwiesen, dass die Anmeldung und Zustellung von Weinen für Weinproben des Regionalverbunds für
|
||||
Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden kann, indem für die technische
|
||||
Weine in der Weinregion Mosel effizient und profitabel durch eine TYPO3-Erweiterung realisiert werden kann. Dies indem für die technische
|
||||
Umsetzung \enquote{extreme-programming}-Entwicklungsmethodiken herangezogen werden, durch eine Anforderungsanalyse ein Pflichtenheft ausarbeitet wird,
|
||||
\break\textit{chillerlan/php-qrcode} als QR-Code-Bibliothek verwendet wird und die Schnittstelle zu den verbleibenden Teilprozessen geschützt wird.
|
||||
\textit{chillerlan/php-qrcode} als QR-Code-Bibliothek verwendet wird und die Schnittstelle zu den verbleibenden Teilprozessen geschützt wird.
|
||||
|
||||
\section{Ausblick}
|
||||
\label{chap:ausblick}
|
||||
@@ -37,12 +37,10 @@ Der vom Kunden langfristig erwünschte Zustand ist, dass der gesamte Geschäftsp
|
||||
Das betrifft auch, aber nicht nur, das Aufteilen von Jahresauswahlproben in Tische und Flights, das sichere Sammeln und Auswerten
|
||||
der Bewertungen und das Publizieren der daraus resultierenden Ergebnisse. Ein Flight ist eine weitere Unterteilung eines Tisches in der Zeit.
|
||||
So werden pro Tisch immer sechs Weine auf einmal probiert und bewertet.
|
||||
|
||||
Die Bewertung eines Weines erfolg derzeit über eine Bepunktung, die im Wertebereich $[0,100]$ auf Papier notiert wird.
|
||||
Die Bewertung eines Weines erfolgt derzeit über eine Bepunktung, die im Wertebereich $[0,100]$ auf Papier notiert wird.
|
||||
Anschließend wird mithilfe eines Taschenrechners das arithmetische Mittel der für diesen Wein vergebenen Punkte ausgerechnet.
|
||||
Das so zustandegekommene Ergebnis wird wiederum händisch in die Excel-Tabelle aus vorherigen Schritten übertragen.
|
||||
Ein solch umständliches Verfahren lenkt nicht nur von der eigentlichen Aufgabe der Bewertung ab, sondern stellt eine beachtliche Fehlerquelle dar.
|
||||
|
||||
Auch ist es angedacht, die Weinanmeldung zu Jahresauswahlproben um komplexe Funktionalität zu erweitern, die sicherstellen soll, dass
|
||||
nicht gegen Restriktionen der jeweiligen Probenkategorien verstoßen werden kann. Somit soll vermieden werden, dass Weinanmeldungen
|
||||
aufgrund von Formfehlern abgelehnt werden.
|
||||
@@ -50,7 +48,7 @@ Ein triviales Beispiel hierfür wäre ein Wein mit zu hohem Restzuckeranteil,
|
||||
der in einer Jahresauswahlprobenkategorie für trockene Weine antreten soll.
|
||||
Ziel ist es, dass das Weinanmeldeformular fehlerhafte
|
||||
Anmeldeversuche als solche erkennt und verhindert.
|
||||
Kompliziert wird diese Technik dadurch, dass Kategorien beliebig viele Restriktionen haben sollen,
|
||||
und diese von Redakteuren, im TYPO3-Backend, gepflegt können werden können. Ein komplexeres, realistischeres Beispiel wäre eine
|
||||
Kategorie, die nur vegane Barriqueweine der Rebsorte Merlot zulässt, die einen Mindest- und Maximalrestzuckeranteil, einen Maximalalkoholanteil,
|
||||
Kompliziert wird diese Technik dadurch, dass Kategorien beliebig viele Restriktionen haben können
|
||||
und diese von Redakteuren, im TYPO3-Backend, gepflegt können werden sollen. Ein komplexeres, realistisches Beispiel wäre eine
|
||||
Kategorie, die nur vegane Barriqueweine der Rebsorte Merlot zulässt, die einen Mindest- und Maximalrestzuckeranteil, einen Maximalalkoholanteil und
|
||||
einen Maximalpreis erfüllen.
|
||||
|
||||
@@ -59,7 +59,7 @@ Nachdem in Erfahrung gebracht wurde, welche konkreten Datenobjekte benötigt wer
|
||||
wurden Attribute dieser Objekte dem Pflichtenheft entnommen. Diese wurden in einem
|
||||
formalen Klassendiagramm festgehalten und in Rücksprache mit dem \ac{PO}
|
||||
weiter bis zu festen Datentypen und Auswahlmöglichkeiten konkretisiert.
|
||||
Beispielsweise, dass Wettbewerbskategorien durch TYPO3-Categories repräsentiert werden.
|
||||
Beispielsweise dass Wettbewerbskategorien durch TYPO3-Categories repräsentiert werden.
|
||||
Das hat den Vorteil, dass TYPO3-Categories bereits native Bestandteile eines TYPO3-Redaktionssystemes sind
|
||||
und alle relevanten Attribute anbieten. Diese sind Titel,
|
||||
Parentkategorie und Beschreibung.
|
||||
@@ -199,7 +199,7 @@ werden jedoch nach dem \enquote{Inversion of Control}-Prinzip via Dependency Inj
|
||||
der ActionController-Klasse über eine Methode übergeben \cite{bib:typo3-docs-di}.
|
||||
Als problematisch erweisen sich hierbei bidirektionale Verbindungen zwischen Datenmodellen, wenn die Foreign Keys
|
||||
über das SQL-Schlüsselwort \enquote{AUTO\_INCREMENT} in der Datenbank generiert werden.
|
||||
Beispielsweise, muss ein Masterrecord, der Betriebsinformationen speichert, bidirektional an ein Teilnehmerobjekt
|
||||
Beispielsweise muss ein Masterrecord, der Betriebsinformationen speichert, bidirektional an ein Teilnehmerobjekt
|
||||
gebunden werden. Hierzu wird jedem der Elemente jeweils der Foreign Key des anderen übergeben.
|
||||
Als Foreign Keys werden hierfür die jeweiligen \acp{UID} herangezogen, da diese Werte durch
|
||||
\enquote{AUTO\_INCREMENT} auf der Datenbankebene erzeugt werden und garantiert einzigartig je Datenbanktabelle sind
|
||||
@@ -276,7 +276,7 @@ Eine komplexe Ausnahme stellt das SelectSingle-Formfeld \enquote{Category} dar,
|
||||
als Baumstrukturen abgebildet werden
|
||||
\break\cite{bib:typo3-docs-sys-category}.
|
||||
Um die Eltern-Kind-Beziehungen der
|
||||
\break{}Baumstruktur erstichtlich zu machen, werden die Option-HTML-Tags rekursiv gerendert. Zunächst werden sämtliche Kategorien, deren
|
||||
\break{}Baumstruktur ersichtlich zu machen, werden die Option-HTML-Tags rekursiv gerendert. Zunächst werden sämtliche Kategorien, deren
|
||||
\ac{PID} 0 ist, dargestellt. Diese Elemente sind direkte Kinder des unsichtbaren Wurzelelementes. Für jede dieser Kategorien $a$ wird nun ein
|
||||
Fluid-Partial aufgerufen,
|
||||
das alle Kategorien $b$ darstellt, für die gilt: $b.pid = a.uid$. Diese Darstellung erfolgt durch einen erneuten rekursiven Aufruf dieses Partials.
|
||||
@@ -467,7 +467,7 @@ Array zu einer Reihe kompatibler Array konvertiert. Hierbei werden durch \enquot
|
||||
in die Zieldatei geschrieben. Als Zieldatei wird eine temporäre Datei im Arbeitsspeicher angegeben,
|
||||
um das fertig erzeugte CSV-Dokument als Zeichenkette in PHP zu erhalten. Das spart vermeidbare Festplattenschreib- und Lesezugriffe.
|
||||
Im Fluid-Template des Backendmoduls wird das generierte CSV-Dokument in einem nicht beschreibbaren Textarea-Feld präsentiert.
|
||||
Um \ac{WM} weitere Arbeitszeit zu ersparen wird eine Download-Funktion für CSV-Dateien
|
||||
Um \ac{WM} weitere Arbeitszeit zu ersparen, wird eine Download-Funktion für CSV-Dateien
|
||||
angeboten. Das erspart das manuelle Kopieren und Abspeichern von CSV-Zeichenketten durch IT-Fachfremde, reduziert damit die Anzahl
|
||||
an benötigten Übergangsschritten in weitere Prozesse und reduziert somit die Komplexität der Umstellung.
|
||||
Auch im Interesse, Arbeitszeit in der Umsetzung zu sparen,
|
||||
|
||||
@@ -98,7 +98,7 @@ Digitalisierung bestimmter
|
||||
Geschäftsprozesse befassen. Phase drei befasst sich mit firmenweiten Veränderungen,
|
||||
die über Geschäftsprozesse hinausgehen \cite{bib:verhoef}.
|
||||
Firmenweite Veränderungen befinden sich außerhalb des Rahmens dieser Ausarbeitung.
|
||||
Der Autor empfindet das Modell nach Verhoef et al. als agiler, unrestriktiver, weniger overheadlastig und somit als effizienter.
|
||||
Der Autor empfindet das Modell nach Verhoef et al. als agiler, unrestriktiver, weniger overheadlastig und somit effizienter.
|
||||
|
||||
\subsection{Fazit}
|
||||
Aufgrund des kleinen Projektumfanges und der großen Wahrscheinlichkeit, dass sich Anforderungen ändern werden,
|
||||
@@ -109,7 +109,7 @@ die nahelegen, dass Projekte dieser Art idealerweise nach \enquote{extreme progr
|
||||
Nachdem Phase drei des Verhoef-Modells ausgeklammert wurde, sieht das zu verfolgende Modell aus wie folgt:
|
||||
|
||||
\begin{nicepic}
|
||||
\includegraphics[width=0.55\textwidth]{images/umsetzungsdiagramm.png}
|
||||
\includegraphics[width=0.45\textwidth]{images/umsetzungsdiagramm.png}
|
||||
\captionof{figure}{Umsetzungsplanung}
|
||||
\caption*{Quelle: Eigene Darstellung}
|
||||
\label{fig:umsetzungsplanung}
|
||||
|
||||
@@ -12,7 +12,7 @@ TYPO3 ist ein Redaktionssystem und PHP-Rahmen\-werk, das Daten- und Inhaltspfleg
|
||||
ermöglicht.
|
||||
Außerdem steuert TYPO3 Frontend-, Backend-Nutzer und deren Berechtigungen \cite{bib:typo3-docs-getting-started}.
|
||||
Über die Systemerweiterung
|
||||
\enquote{Extbase} wird eine mächtige Entwicklerschnittstelle bereitstellt,
|
||||
\enquote{Extbase} wird eine mächtige Entwicklerschnittstelle bereitgestellt,
|
||||
um hochindividualisierte Funktionalitäten zu ermöglichen.
|
||||
\\\cite{bib:typo3-docs-extbase-reference}
|
||||
|
||||
@@ -23,7 +23,7 @@ auf bereits vom System verwendete Programmiersprachen begrenzt.
|
||||
|
||||
\subsection{Javascript-Implementationen}
|
||||
\subsubsection*{Jquery-qrcode}
|
||||
\enquote{Jquery-qrcode} ist ein Plugin für JQuery um dynamisch QR-Codes auf Browserseite zu generieren.
|
||||
\enquote{Jquery-qrcode} ist ein Plugin für JQuery, um dynamisch QR-Codes auf Browserseite zu generieren.
|
||||
Jedoch verweist diese Bibliothek selbst auf ihren desolaten Zustand und empfielt stattdessen \enquote{kjua} zu verwenden
|
||||
\cite{bib:larsjung-jquery-qrcode}. Somit scheidet \enquote{jquery-qrcode} für nähere Evaluationen aus, da die Software nicht mehr
|
||||
gepflegt wird. \enquote{Jquery-qrcode} wurde bis Januar 2023 853 mal von Nutzern mit einem Stern
|
||||
@@ -46,7 +46,7 @@ Issues scheinen ignoriert zu werden. \enquote{Kjua} ist MIT-lizensiert \cite{bib
|
||||
serverseitig, als Kommandozeilenwerkzeug, sowohl auch browserseitig an. Die Readme-Datei ist umfangreich, reich an Beispielen
|
||||
und detailreichen Erklärungen. Der letzte Commit ist zu diesem Zeitpunkt knapp älter als ein halbes Jahr. Somit macht das
|
||||
Projekt einen moderat gepflegten Eindruck. Die Readme-Datei verweist auf Unit-Tests bei Travis, jedoch lief die letzte Pipeline
|
||||
vor etwa zwei Jahren, Februar 2021, durch und schlug fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
|
||||
vor etwa zwei Jahren durch, Februar 2021 und schlug fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
|
||||
\cite{bib:soldair-node-qrcode}.
|
||||
Die Bibliothek wurde 74 Millionen mal heruntergeladen und mit 6.308 Sternen markiert.
|
||||
\enquote{Soldair/node-qrcode} ist MIT-lizensiert \cite{bib:npmjs-soldair-node-qrcode}.
|
||||
@@ -103,13 +103,13 @@ Im Folgenden werden subjektive Einschätzungen und Meinungen des Autors über di
|
||||
Bibliotheken vorgestellt.
|
||||
Um eine Bibliothek als \enquote{am geeignetsten} für einen Anwendungsfall unter den betrachtenen Bibliotheken zu kurieren,
|
||||
müssen die konkreten Anforderungen für diesen Anwendungsfall beachtet werden.
|
||||
Das ist so, da verschiedene Eigenschaften der Bibliotheken verschiedene Auswirkung in Gewichtung und Richtung
|
||||
Das ist so, da verschiedene Eigenschaften der Bibliotheken verschiedene Auswirkungen in Gewichtung und Richtung
|
||||
je nach Anwendungsfall aufweisen.
|
||||
Hierfür werden die zuvor vorgestellten Bibliotheken zur Erstellung von QR-Codes in den folgenden Attributen gegenübergestellt:
|
||||
\begin{description}
|
||||
\item [Funktionialität] \hfill \\
|
||||
Der Umfang, der unterstützten Funktionen, in Annahme dessen, dass die Bibliothek
|
||||
syntaktisch und pragmatisch korrekt \cite{bib:heinemann-vorlesung-re} ist.
|
||||
syntaktisch und pragmatisch korrekt ist\\\cite{bib:heinemann-vorlesung-re}.
|
||||
|
||||
\item [Gepflegtheit] \hfill \\
|
||||
Das Ausmaß, in dem das Projekt aktiv gepflegt wird und ordnungsgemäß entwickelt zu sein scheint.
|
||||
@@ -121,7 +121,7 @@ Hierfür werden die zuvor vorgestellten Bibliotheken zur Erstellung von QR-Codes
|
||||
\item [Workflow-Eignung] \hfill \\
|
||||
Die Eignung einer Bibliothek in existierende Workflows und Constraints übernommen zu werden. Maßgeblich ist,
|
||||
ob und mit wie viel Aufwand eine Bibliothek in das Projekt übernommen werden kann.
|
||||
Beispielsweise ist es deutlich aufwänder eine JavaScript-Bibliothek in einem PHP-Projekt zu verwenden, als eine native PHP-Bibliothek.
|
||||
Beispielsweise ist es deutlich aufwändiger eine JavaScript-Bibliothek in einem PHP-Projekt zu verwenden, als eine native PHP-Bibliothek.
|
||||
Ebenfalls ist relevant, ob die Lizenz einer Bibliothek eine Verwendung gestattet, bzw. welche Bedingungen gelten.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
\newcommand{\cfgDocClassification}{Abschlussarbeit}
|
||||
|
||||
% Document version
|
||||
\newcommand{\cfgDocVersion}{2.4}
|
||||
\newcommand{\cfgDocVersion}{2.5.1}
|
||||
|
||||
% Last modification date
|
||||
\newcommand{\cfgDateLastModification}{30. März 2023}
|
||||
|
||||
Reference in New Issue
Block a user