Compare commits

..

3 Commits

Author SHA1 Message Date
2a8951ccc1 --amend 2023-03-29 22:50:04 +02:00
f71dc2433b fix: page- and linebreaks 2023-03-29 22:49:46 +02:00
fc43ee2dae feat: feedback außer schlussteil 2023-03-29 21:59:19 +02:00
8 changed files with 26 additions and 28 deletions

View File

@@ -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}

View File

@@ -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.

View File

@@ -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 zustande gekommene Ergebnis wird wiederum händisch in die Excel-Tabelle aus vorherigen Schritten übertragen.
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.

View File

@@ -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,

View File

@@ -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}

View File

@@ -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}

View File

@@ -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}

BIN
main.pdf

Binary file not shown.