generated from leonetienne/LaTeX-Paper-template
feat: feedback, and add mpdf gen
This commit is contained in:
parent
4679d06da6
commit
857340c635
@ -1,7 +1,7 @@
|
|||||||
\chapter{Anforderungserfassung}
|
\chapter{Anforderungserfassung}
|
||||||
\label{chap:anforderungserfassung}
|
\label{chap:anforderungserfassung}
|
||||||
Obwohl bereits ein grober Anriss des Zielsystems bekannt ist, ist es unabdinglich eine Anforderungsanalyse durchzuführen,
|
Obwohl bereits ein grober Anriss des Zielsystems bekannt ist, ist es unabdinglich eine Anforderungsanalyse durchzuführen,
|
||||||
um Details auszuarbeiten \cite{bib:christoph-ebert-vorwort-systematisches-re}.
|
dies um Details auszuarbeiten \cite{bib:christoph-ebert-vorwort-systematisches-re}.
|
||||||
Hierbei ist es wichtig, kein exzessives Pflichtenheft aufzubauen, denn letztendlich zählt nur, was dem Kunden geliefert wird.
|
Hierbei ist es wichtig, kein exzessives Pflichtenheft aufzubauen, denn letztendlich zählt nur, was dem Kunden geliefert wird.
|
||||||
Nicht, wie viele gar nicht benötigte Anforderungen umgesetzt wurden.
|
Nicht, wie viele gar nicht benötigte Anforderungen umgesetzt wurden.
|
||||||
\enquote{\textit{Zu viele oder falsche Anforderungen ruinieren Budgets, Termine und die Qualität.}}
|
\enquote{\textit{Zu viele oder falsche Anforderungen ruinieren Budgets, Termine und die Qualität.}}
|
||||||
@ -20,17 +20,17 @@ Wie oben erwähnt, sind bereits die Constraints und einige funktionale und nicht
|
|||||||
\hdashline
|
\hdashline
|
||||||
Constraint & Mitarbeiter-UI in TYPO3-Backend\\
|
Constraint & Mitarbeiter-UI in TYPO3-Backend\\
|
||||||
\hdashline
|
\hdashline
|
||||||
Constraint & Kunden-UI im Frontend\\
|
Constraint & Nutzer-UI im Frontend\\
|
||||||
\hdashline
|
\hdashline
|
||||||
\ac{NFA} & \makecell[l]{Aus dem Papierformular soll ein\\Webform werden}\\
|
\ac{NFA} & \makecell[l]{Aus dem Papierformular soll ein\\Webformular werden}\\
|
||||||
\hdashline
|
\hdashline
|
||||||
\ac{NFA} & \makecell[l]{Angaben zum Weingut des Weines\\sollen aus dem Accountdatensatz anstatt\\aus dem Webform kommen}\\
|
\ac{NFA} & \makecell[l]{Angaben zum Weingut des Weines\\sollen aus dem Accountdatensatz anstatt\\aus dem Webform kommen}\\
|
||||||
\hdashline
|
\hdashline
|
||||||
\ac{NFA} & \makecell[l]{Registrierte Weinteilnahmen\\bestehen aus einem Wein und einem Zustand\\(Ausstehend,Eingegangen).}\\
|
\ac{NFA} & \makecell[l]{Registrierte Weinteilnahmen\\bestehen aus einem Wein und einem Zustand\\(Ausstehend,Eingegangen,Abgelehnt).}\\
|
||||||
\hdashline
|
\hdashline
|
||||||
\ac{FA} & \makecell[l]{Beim Erstellen einer Weinteilnahme\\soll ein QR-Code als PDF generiert werden,\\der den Wein identifiziert}\\
|
\ac{FA} & \makecell[l]{Beim Erstellen einer Weinteilnahme\\soll ein QR-Code als PDF generiert werden,\\der den Wein identifiziert}\\
|
||||||
\hdashline
|
\hdashline
|
||||||
\ac{FA} & \makecell[l]{Durch scannen des QR-Codes soll\\dem Wein der Status \enquote{Eingegangen}\\ zugewiesen werden}\\
|
\ac{FA} & \makecell[l]{Durch scannen des QR-Codes auf dem\\mit einer Weinteilnahme erstellten PDFs soll\\dem Wein der Status \enquote{Eingegangen}\\ zugewiesen werden}\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{Initial bekannte Anforderungen}
|
\caption{Initial bekannte Anforderungen}
|
||||||
@ -44,13 +44,13 @@ Um nähere Anforderungen zu ermitteln, werden die Befragungstechniken \enquote{I
|
|||||||
Zunächst wird ein Interview mit dem \ac{PO} geführt. Ziel dieses Interviews ist
|
Zunächst wird ein Interview mit dem \ac{PO} geführt. Ziel dieses Interviews ist
|
||||||
es, konkrete Fragen zu Anforderungen zu beantworten und somit konkrete Anforderungen zu formulieren.
|
es, konkrete Fragen zu Anforderungen zu beantworten und somit konkrete Anforderungen zu formulieren.
|
||||||
Aufgrund der individuellen Gesprächsführung wurde sich für ein \enquote{Teil-standardisiertes Interview}
|
Aufgrund der individuellen Gesprächsführung wurde sich für ein \enquote{Teil-standardisiertes Interview}
|
||||||
entschieden. Bei einem Teil-standartisiertem Interview gibt es vordefinierte Fragen,
|
entschieden. Bei einem Teil-standardisiertem Interview gibt es vordefinierte Fragen,
|
||||||
aber auch Freiraum für Improvisation und Persönlichkeit.
|
aber auch Freiraum für Improvisation und Persönlichkeit.
|
||||||
Für ein gutes Interview ist gute Vorbereitung unabdinglich. Daher wurden bereits sämtliche wichtigen Fragen
|
Für ein gutes Interview ist gute Vorbereitung unabdinglich. Daher wurden bereits sämtliche wichtigen Fragen
|
||||||
in einem Fragebogen festgehalten. Dieser Interview-Fragebogen liegt in \fullref{chap:anhang-interview-fragebogen} anbei.
|
in einem Fragebogen festgehalten. Dieser Interview-Fragebogen liegt in \fullref{chap:anhang-interview-fragebogen} anbei.
|
||||||
Ebenso ist Vorbereitung auf Seiten des Interviewteilnehmers wichtig, weshalb das Interview einen Tag zuvor angesprochen wurde.
|
Ebenso ist Vorbereitung auf Seiten des Interviewteilnehmers wichtig, weshalb das Interview einen Tag zuvor angesprochen wurde.
|
||||||
Um möglichst objektive und unvorbeeinflusste Antworten zu gewährleisten wird darauf geachtet,
|
Um möglichst objektive und unvorbeeinflusste Antworten zu gewährleisten wird darauf geachtet,
|
||||||
keine Suggestivfragen oder ähnliches zu stellen
|
keine Suggestivfragen zu stellen
|
||||||
\cite{bib:kleine-re-fibel}.
|
\cite{bib:kleine-re-fibel}.
|
||||||
|
|
||||||
\section{Online-Fragebögen für Stakeholder}
|
\section{Online-Fragebögen für Stakeholder}
|
||||||
@ -59,18 +59,28 @@ Um Fragebögen für Stakeholder formulieren zu können, muss zunächst bekannt s
|
|||||||
Einfluss auf die Anforderungen des betrachteten Systems hat.} \cite{bib:basiswissen-re}.
|
Einfluss auf die Anforderungen des betrachteten Systems hat.} \cite{bib:basiswissen-re}.
|
||||||
Daraus ergeben sich die Stakeholdergruppen: \enquote{Mitarbeiter \ac{WM}} und \enquote{teilnehmende Weingüter}.
|
Daraus ergeben sich die Stakeholdergruppen: \enquote{Mitarbeiter \ac{WM}} und \enquote{teilnehmende Weingüter}.
|
||||||
Jede dieser Stakeholdergruppen sieht das System aus einer anderen Perspektive \cite{bib:kleine-re-fibel}.
|
Jede dieser Stakeholdergruppen sieht das System aus einer anderen Perspektive \cite{bib:kleine-re-fibel}.
|
||||||
Daher ist es wichtig für jede Stakeholdergruppe einen eigenen Fragebogen zu entwerfen
|
Daher ist es wichtig, Einblicke und Bedürfnisse aller Stakeholdergruppen einzuholen
|
||||||
und die bestimmten Perspektiven beim Entwurf der Fragebögen zu beachten.
|
und die individuellen Perspektiven und Bedürfnisse dieser beim Entwurf der Fragebögen zu berücksichtigen.
|
||||||
Ebenso ist es wichtig, die wichtigsten Fragen am Anfang zu stellen, da Formulare nicht immer vollständig ausgefüllt werden
|
Ebenso ist es wichtig, die wichtigsten Fragen am Anfang zu stellen, da Formulare nicht immer vollständig ausgefüllt werden
|
||||||
\cite{bib:kleine-re-fibel}.
|
\cite{bib:kleine-re-fibel}. Somit sind auch bei einem nur teilweise ausgefüllten Fragebogen die wichtigsten
|
||||||
|
Fragen beantwortet.
|
||||||
Sämtliche Fragen an die Stakeholdergruppe \enquote{Mitarbeiter \ac{WM}} wurden bereits im Interview mit dem \ac{PO}
|
Sämtliche Fragen an die Stakeholdergruppe \enquote{Mitarbeiter \ac{WM}} wurden bereits im Interview mit dem \ac{PO}
|
||||||
beantwortet und als Anforderungen festgehalten. Insofern gibt es schlichtweg keine offnen Fragen, die diese Stakeholdergruppe
|
beantwortet und als Anforderungen festgehalten. Der \ac{PO} repräsentiert in diesem Falle
|
||||||
beantworten könnte. Damit fällt ein Onlinefragebogen für \enquote{Mitarbeiter \ac{WM}} weg.
|
die Stakeholdergruppe \enquote{Mitarbeiter \ac{WM}} und steht seit geraumer Zeit mit \ac{WM} im
|
||||||
Der Fragebogen der Stakeholdergruppe \enquote{teilnehmende Weingüter} liegt in \fullref{chap:anhang-fragebogen-extern} bei.
|
persönlichen, engen Austausch. Daher gibt es keine offenen Fragen, die diese Stakeholdergruppe
|
||||||
|
beantworten könnte. Somit fällt ein Onlinefragebogen für die Stakeholdergruppe \enquote{Mitarbeiter \ac{WM}} weg.
|
||||||
|
Der Fragebogen der Stakeholdergruppe \enquote{teilnehmende Weingüter} liegt im Anhang unter
|
||||||
|
\fullref{chap:anhang-fragebogen-extern} bei.
|
||||||
|
Um den Aufwand und somit die Hemmschwelle des Ausfüllens
|
||||||
|
eines solchen Online-Fragebogens zu minimieren, gibt es lediglich sechs Ankreuz-Fragen
|
||||||
|
zuzüglich einem optionalen Freitextfeld, um sonstige Wünsche zum Ausdruck zu bringen.
|
||||||
|
Eine Anmeldung über Google ist nicht erforderlich.
|
||||||
|
Der Link zu diesem Online-Fragebogen wurde \ac{WM} mit der Bitte um Weiterleitung an
|
||||||
|
die Probenteilnehmer übergeben.
|
||||||
|
|
||||||
\section{Ergebnisse}
|
\section{Ergebnisse}
|
||||||
Aus dem Interview mit dem \ac{PO} und dem Fragebogen an die Winzer ergibt ein Pflichtenheft.
|
Aus dem Interview mit dem \ac{PO} ergibt sich ein Pflichtenheft.
|
||||||
Dieses ist im Anhang unter \fullref{chap:anhang-pflichtenheft} zu finden.
|
Das Pflichtenheft und das Protokoll zum Interview sind im Anhang unter je
|
||||||
Das Interviewprotokoll und Fragebogenergebnisse sind im Anhang unter
|
\fullref{chap:anhang-pflichtenheft} und \fullref{chap:anhang-interview-protokoll} zu finden.
|
||||||
\fullref{chap:anhang-interview-protokoll} und XXXX zu finden.
|
Der Online-Fragebogen für teilnehmende Weingüter wurde über einen Monat hinweg nicht beantwortet
|
||||||
|
und ermittelte bis auf das Desinteresse der Stakeholdergruppe keine näheren Informationen.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
\label{chap:einleitung}
|
\label{chap:einleitung}
|
||||||
Der Regionalverband für Weine \ac{WM} lässt Weine in organisierten Weinproben, sog. \acp{JAP}, von Juroren bewerten.
|
Der Regionalverband für Weine \ac{WM} lässt Weine in organisierten Weinproben, sog. \acp{JAP}, von Juroren bewerten.
|
||||||
Teilnehmende Weingüter registrieren ihre Weine in verschiedenen Kategorien und schicken diese auf dem Postweg ein.
|
Teilnehmende Weingüter registrieren ihre Weine in verschiedenen Kategorien und schicken diese auf dem Postweg ein.
|
||||||
Dieser Prozess bildet sich in Form von ausgedruckten Formularen, die von Hand ausgefüllt und von Hand in eine
|
Dieser Prozess bildet sich in Form ausgedruckter Formulare, die von Hand ausgefüllt und von Hand in eine
|
||||||
Excel-Tabelle übertragen werden, ab.
|
Excel-Tabelle übertragen werden, ab.
|
||||||
|
|
||||||
\section{Problemstellung}
|
\section{Problemstellung}
|
||||||
@ -23,7 +23,7 @@ könnte das unbemerkt bleiben, da der Prozess für das Weingut mit dem Versand e
|
|||||||
erst mit dem Erhalt des der Flasche beiliegendem Formulares beginnt.
|
erst mit dem Erhalt des der Flasche beiliegendem Formulares beginnt.
|
||||||
Der Postweg stellt somit eine Lücke zwischen diesen Prozessen dar.
|
Der Postweg stellt somit eine Lücke zwischen diesen Prozessen dar.
|
||||||
Kommt ein teilnehmender Wein bei \ac{WM} an, wird das beiliegende Formular von Hand in eine Excel-Tabelle übertragen.
|
Kommt ein teilnehmender Wein bei \ac{WM} an, wird das beiliegende Formular von Hand in eine Excel-Tabelle übertragen.
|
||||||
Diese Schnittstelle ist besonders resourcenaufwändig und fehleranfällig, weil es oft vorkommt, dass die zuteils
|
Diese Schnittstelle ist besonders resourcenaufwändig und fehleranfällig, da es oft vorkommt, dass die teils
|
||||||
dysgraphisch verfassten Formulare nur schwer, mehrdeutig, oder gar nicht dechiffriert werden können.
|
dysgraphisch verfassten Formulare nur schwer, mehrdeutig, oder gar nicht dechiffriert werden können.
|
||||||
In diesem Prozess wird der Teilnahme des Weines eine inkrementell aufsteigende \ac{ELN} zugewiesen,
|
In diesem Prozess wird der Teilnahme des Weines eine inkrementell aufsteigende \ac{ELN} zugewiesen,
|
||||||
die anschließend in Form eines Aufklebers an der Flasche befestigt wird. Anschließend wird die Flasche im Lager verstaut.
|
die anschließend in Form eines Aufklebers an der Flasche befestigt wird. Anschließend wird die Flasche im Lager verstaut.
|
||||||
|
@ -4,25 +4,25 @@ Infolge der Anforderungsanalyse befasst sich das Kapitel \enquote{Umsetzung} mit
|
|||||||
Brown-Field Projekt \cite{bib:schwarzer-vorlesung-swa} in Form einer TYPO3-Extension.
|
Brown-Field Projekt \cite{bib:schwarzer-vorlesung-swa} in Form einer TYPO3-Extension.
|
||||||
|
|
||||||
\section{Setup einer TYPO3-Extension}
|
\section{Setup einer TYPO3-Extension}
|
||||||
TYPO3-Extension werden via Composer installiert \cite{bib:typo3-docs-managing-extensions}.
|
TYPO3-Extensions werden via Composer installiert \cite{bib:typo3-docs-managing-extensions}.
|
||||||
Um eine TYPO3-Extension zu erstellen muss also ein Composer-Paket erstellt werden.
|
Um eine TYPO3-Extension zu erstellen, muss also ein Composer-Paket erstellt werden.
|
||||||
Um vermeidbare Komplexität zu verhindern wird das Composer-Paket das eine die hier betrachtete
|
Um vermeidbare Komplexität zu verhindern, wird das Composer-Paket, welches die hier betrachtete
|
||||||
TYPO3-Extension darstellt, lokal in den versionierten Ordner \enquote{packages} gelegt.
|
TYPO3-Extension darstellt, lokal in den versionierten Ordner \enquote{packages} gelegt.
|
||||||
Dieses Verzeichnis wird als Quelle für Composer-Pakete in der
|
Dieses Verzeichnis wird als Quelle für Composer-Pakete in der
|
||||||
Haupt-composer.json-Datei hinterlegt.
|
Haupt-composer.json-Datei hinterlegt.
|
||||||
Somit wird ein Composer-Paket nur für dieses Projekt bereitgestellt,
|
Somit wird ein Composer-Paket nur für dieses Projekt bereitgestellt,
|
||||||
ohne den Aufwand, der mit dem Bereitstellen eines Paketes einhergeht, zu haben.
|
ohne den Aufwand zu haben, der üblicherweise mit dem Bereitstellen eines Paketes einhergeht.
|
||||||
\\
|
\\
|
||||||
\\
|
\\
|
||||||
Um das grundlegende Setup einer Extension effizient durchzuführen wurde eine
|
Um das grundlegende Setup einer Extension effizient durchzuführen, wurde eine
|
||||||
existierende Extension vergleichbarem Funktionsumfanges kopiert, umbenannt, und eingefügt.
|
existierende Extension mit vergleichbarem Funktionsumfang kopiert, umbenannt und eingefügt.
|
||||||
Spezifisch ist der \enquote{vergleichbare Funktionsumfang}, dass es Datenmodelle und Plugins
|
Spezifisch ist der \enquote{vergleichbare Funktionsumfang}, dass es Datenmodelle und hochpersonalisierte
|
||||||
gibt.
|
Frontendlogik in Bezug auf die zuvor genannten Datenmodelle gibt.
|
||||||
|
|
||||||
\section{Digitization}
|
\section{Digitization}
|
||||||
Die Phase der Digitazion befasst sich mit der digitalen Abbildung von Objekten der realen Welt
|
Die Phase der Digitazion befasst sich mit der digitalen Abbildung von Objekten der realen Welt
|
||||||
in einer Art und Weise sodass diese elektronisch weiterverarbeitet werden können \cite{bib:dougherty, bib:loebbecke}.
|
in einer Art und Weise, sodass diese elektronisch weiterverarbeitet werden können \cite{bib:dougherty, bib:loebbecke}.
|
||||||
Das bedeutet, dass in diese Phase Datenobjekte definiert und implementiert werden.
|
Das bedeutet, dass in dieser Phase Datenobjekte definiert und implementiert werden.
|
||||||
Ein Datenobjekt besteht nach firmeninternen Konventionen aus zumindest
|
Ein Datenobjekt besteht nach firmeninternen Konventionen aus zumindest
|
||||||
vier Komponenten:
|
vier Komponenten:
|
||||||
\begin{description}
|
\begin{description}
|
||||||
@ -40,8 +40,8 @@ vier Komponenten:
|
|||||||
\end{description}
|
\end{description}
|
||||||
\cite{bib:typo3-docs-extbase-reference}.
|
\cite{bib:typo3-docs-extbase-reference}.
|
||||||
|
|
||||||
Im Folgenden wurde ein semiformales Diagramm der Objekte und ihren Relationen nach dem
|
Im Folgenden wurde ein semiformales Diagramm der Objekte und ihren Relationen
|
||||||
Pflichtenheft angefertigt und in Rücksprache mit dem \ac{PO} finalisiert.
|
angefertigt und in Rücksprache mit dem \ac{PO} finalisiert.
|
||||||
|
|
||||||
\begin{nicepic}
|
\begin{nicepic}
|
||||||
\includegraphics[width=1\textwidth]{images/objektrelationen-weinlandmosel-einlieferungswerkzeug.png}
|
\includegraphics[width=1\textwidth]{images/objektrelationen-weinlandmosel-einlieferungswerkzeug.png}
|
||||||
@ -56,11 +56,11 @@ formalen Klassendiagramm festgehalten und in Rücksprache mit dem \ac{PO}
|
|||||||
weiter bis zu festen Datentypen und Auswahlmöglichkeiten konkretisiert.
|
weiter bis zu festen Datentypen und Auswahlmöglichkeiten konkretisiert.
|
||||||
Beispielsweise, dass Wettbewerbskategorien durch TYPO3-Categories repräsentiert werden sollen.
|
Beispielsweise, dass Wettbewerbskategorien durch TYPO3-Categories repräsentiert werden sollen.
|
||||||
Das hat den Vorteil, dass TYPO3-Categories bereits native Bestandteile eines TYPO3-Redaktionssystemes sind
|
Das hat den Vorteil, dass TYPO3-Categories bereits native Bestandteile eines TYPO3-Redaktionssystemes sind
|
||||||
und bereits alle relevanten Attribute anbieten. Diese sind ein Titel,
|
und alle relevanten Attribute anbieten. Diese sind ein Titel,
|
||||||
eine Parentkategorie und eine Beschreibung.
|
eine Parentkategorie und eine Beschreibung.
|
||||||
Das Parent-Attribut ist benötigt, da $n$ dieser Attribute einen Attributbaum bilden
|
Das Parent-Attribut ist benötigt, da $n$ dieser Attribute einen Attributbaum bilden
|
||||||
\cite{bib:typo3-docs-sys-category}.
|
\cite{bib:typo3-docs-sys-category}.
|
||||||
Somit ist es möglich Unterkategorien zu erstellen. Beispiele hierfür sind die
|
Somit ist es möglich, Unterkategorien zu erstellen. Beispiele hierfür sind die
|
||||||
Unterkategorien \enquote{Trockener Riesling} und \enquote{Halbtrockener Riesling} für die Überkategorie
|
Unterkategorien \enquote{Trockener Riesling} und \enquote{Halbtrockener Riesling} für die Überkategorie
|
||||||
\enquote{Riesling}.
|
\enquote{Riesling}.
|
||||||
Rebsorten, Geschmack, Weineigenschaften und Qualität sollen eigene Datentypen
|
Rebsorten, Geschmack, Weineigenschaften und Qualität sollen eigene Datentypen
|
||||||
@ -92,7 +92,8 @@ Mit Abschluss der Digitization können alle Datenstrukturen im TYPO3-Backend hä
|
|||||||
eingesehen, gelöscht und bearbeitet werden.
|
eingesehen, gelöscht und bearbeitet werden.
|
||||||
|
|
||||||
|
|
||||||
\section{Teilnehmerregistrierung}
|
\section{Digitalization}
|
||||||
|
\subsection{Teilnehmerregistrierung}
|
||||||
Ein essenzieller Teil des Jahresauswahlprobenwerkzeuges ist die Registrierung von Teilnehmern.
|
Ein essenzieller Teil des Jahresauswahlprobenwerkzeuges ist die Registrierung von Teilnehmern.
|
||||||
Dieses Modul repräsentiert den ersten Berührungspunkt der Winzer mit dem System.
|
Dieses Modul repräsentiert den ersten Berührungspunkt der Winzer mit dem System.
|
||||||
Dem Pflichtenheft ist zu entnehmen, dass es zwei Kategorien von Teilnehmerregistrierungen gibt:
|
Dem Pflichtenheft ist zu entnehmen, dass es zwei Kategorien von Teilnehmerregistrierungen gibt:
|
||||||
@ -137,7 +138,7 @@ Grundlegend gibt es drei relevante Nutzerzustände vor der Registrierung:
|
|||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
|
||||||
Diese Prozesse sehen wie folgt aus:
|
Diese Prozesse sehen wie folgt aus:
|
||||||
\subsection*{Kein Mitglied}
|
\subsubsection*{Kein Mitglied}
|
||||||
Ist ein Nutzer kein Mitglied, so muss er zunächst einen Account erstellen.
|
Ist ein Nutzer kein Mitglied, so muss er zunächst einen Account erstellen.
|
||||||
Anfangs wählt dieser Nutzer \enquote{Ich bin kein Mitglied} auf der Registrierungsseite aus.
|
Anfangs wählt dieser Nutzer \enquote{Ich bin kein Mitglied} auf der Registrierungsseite aus.
|
||||||
Daraufhin navigiert der Browser zu einem Registrierungs-Formular.
|
Daraufhin navigiert der Browser zu einem Registrierungs-Formular.
|
||||||
@ -148,13 +149,13 @@ Nach erfolgreichem Login wird der Nutzer mit einem
|
|||||||
Stammdatenformular konfrontiert. Dabei handelt es sich um Angaben zum teilnehmenden Weingut.
|
Stammdatenformular konfrontiert. Dabei handelt es sich um Angaben zum teilnehmenden Weingut.
|
||||||
Wird dieses Formular abgeschickt, ist die Teilnehmerregistrierung abgeschlossen.
|
Wird dieses Formular abgeschickt, ist die Teilnehmerregistrierung abgeschlossen.
|
||||||
|
|
||||||
\subsection*{Mitglied, mit Konto}
|
\subsubsection*{Mitglied, mit Konto}
|
||||||
Ist ein Nutzer ein Mitglied und hat bereits ein Mitgliedskonto, muss dieser auf der Registrierungsseite
|
Ist ein Nutzer ein Mitglied und hat bereits ein Mitgliedskonto, muss dieser auf der Registrierungsseite
|
||||||
\enquote{Ich bin ein Mitglied} auswählen. An dieser Stelle navigiert der Browser zu einem Login-Formular.
|
\enquote{Ich bin ein Mitglied} auswählen. An dieser Stelle navigiert der Browser zu einem Login-Formular.
|
||||||
Hier kann sich das Mitglied nun anmelden. Tut er dies erfolgreich, ist die Teilnehmerregistrierung
|
Hier kann sich das Mitglied nun anmelden. Tut er dies erfolgreich, ist die Teilnehmerregistrierung
|
||||||
abgeschlossen.
|
abgeschlossen.
|
||||||
|
|
||||||
\subsection*{Mitglied, ohne Konto}
|
\subsubsection*{Mitglied, ohne Konto}
|
||||||
Ist ein Nutzer ein Mitglied und hat noch kein Mitgliedskonto, muss dieser auf der Registrierungsseite
|
Ist ein Nutzer ein Mitglied und hat noch kein Mitgliedskonto, muss dieser auf der Registrierungsseite
|
||||||
\enquote{Ich bin ein Mitglied} auswählen. An dieser Stelle navigiert der Browser zu einem Login-Formular.
|
\enquote{Ich bin ein Mitglied} auswählen. An dieser Stelle navigiert der Browser zu einem Login-Formular.
|
||||||
Auf diesem Login-Formular existiert ein Button \enquote{Jetzt registrieren}, sowie ein Hinsweistext dazu.
|
Auf diesem Login-Formular existiert ein Button \enquote{Jetzt registrieren}, sowie ein Hinsweistext dazu.
|
||||||
@ -166,7 +167,7 @@ freigegeben und es öffnet sich ein Login-Formular.
|
|||||||
Nach erfolgreichem Login wird das Mitgliedskonto um die notwendingen Teilnehmereigenschaften erweitert
|
Nach erfolgreichem Login wird das Mitgliedskonto um die notwendingen Teilnehmereigenschaften erweitert
|
||||||
und ist somit erfolgreich als Teilnehmer registriert.
|
und ist somit erfolgreich als Teilnehmer registriert.
|
||||||
|
|
||||||
\subsection*{Umsetzung}
|
\subsubsection*{Umsetzung}
|
||||||
Um das umzusetzen wurde zunächst ein simples Weichen-Content-Element erstellt.
|
Um das umzusetzen wurde zunächst ein simples Weichen-Content-Element erstellt.
|
||||||
Dieses Content-Element hat die Parameter \enquote{question}, \enquote{answ-1-link}, \enquote{answ-1-text},
|
Dieses Content-Element hat die Parameter \enquote{question}, \enquote{answ-1-link}, \enquote{answ-1-text},
|
||||||
\enquote{answ-2-link} sowie \enquote{answ-2-text}.
|
\enquote{answ-2-link} sowie \enquote{answ-2-text}.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
\label{chap:stand-der-forschung}
|
\label{chap:stand-der-forschung}
|
||||||
Der Stand der Forschung beleuchtet verschiedene Erkenntnisse zur Digitalisierung und zur digitalen Transformation.
|
Der Stand der Forschung beleuchtet verschiedene Erkenntnisse zur Digitalisierung und zur digitalen Transformation.
|
||||||
|
|
||||||
\section{Modell nach Parviainen et al}
|
\section{Modell nach Parviainen et al.}
|
||||||
\quotecite{The importance of digitalization is becoming understood,
|
\quotecite{The importance of digitalization is becoming understood,
|
||||||
but the question now is how to do it in practice in order to best benefit from it.}
|
but the question now is how to do it in practice in order to best benefit from it.}
|
||||||
\cite{bib:Parviainen_Tihinen_Kaariainen_Teppola_2022}.
|
\cite{bib:Parviainen_Tihinen_Kaariainen_Teppola_2022}.
|
||||||
@ -16,13 +16,13 @@ Dieses Rahmenwerk sieht anhand des \ac{PDCA}-Prinzips vier Schritte vor:
|
|||||||
das Unternehmen dabei anstrebt. Dieser Schritt kann in vier Teilschritte unterteilt werden: Ausmaße, Treiber, Szenarien und
|
das Unternehmen dabei anstrebt. Dieser Schritt kann in vier Teilschritte unterteilt werden: Ausmaße, Treiber, Szenarien und
|
||||||
Ziele. Für die Bestimmung der Ausmaße ist die Analyse aktueller Trends und deren Relevanz für die Domäne des Unternehmens
|
Ziele. Für die Bestimmung der Ausmaße ist die Analyse aktueller Trends und deren Relevanz für die Domäne des Unternehmens
|
||||||
wichtig. Ebenfalls ist wichtig, wie weit diese Trends bereits im Fachgebiet verankert sind. Zur Einordnung eignen sich
|
wichtig. Ebenfalls ist wichtig, wie weit diese Trends bereits im Fachgebiet verankert sind. Zur Einordnung eignen sich
|
||||||
\ac{SWOT} -Analysen. Diese Analysen sind die Grundlage um ein Unternehmen in der Digitalisierung aufzustellen.
|
\ac{SWOT} -Analysen. Diese Analysen sind die Grundlage, um ein Unternehmen in der Digitalisierung aufzustellen.
|
||||||
\\
|
\\
|
||||||
\\
|
\\
|
||||||
Aus den Ergebnissen der Trendanalysen sollten dann Treiber identifiziert werden. Diese Treiber sollten auf der Grundlage zukünftiger Ergebnisse skalierbar sein: Beispielsweise könnten drastische Maßnahmen erforderlich sein, um drastische Auswirkungen zu verhindern oder drastische Verbesserungen zu erreichen.
|
Aus den Ergebnissen der Trendanalysen sollten dann Treiber identifiziert werden. Diese Treiber sollten auf der Grundlage zukünftiger Ergebnisse skalierbar sein: Beispielsweise könnten drastische Maßnahmen erforderlich sein, um drastische Auswirkungen zu verhindern oder drastische Verbesserungen zu erreichen.
|
||||||
\\
|
\\
|
||||||
\\
|
\\
|
||||||
Für die relevantesten Treiber sollten Zukunftsszenarien untersucht werden. Dies ist wichtig, um zu wissen, welche Auswirkungen bestimmte Trends in welcher Ausprägung haben werden. Relevant sind hier die Vorteile der Umsetzung des Szenarios, die Kosten der Umsetzung sowie die Risiken, das Szenario nicht umzusetzen oder doch umzusetzen. Auf dieser Basis kann das beste Szenario ausgewählt werden.
|
Für die relevantesten Treiber sollten Zukunftsszenarien untersucht werden. Dies ist wichtig, um zu wissen, welche Auswirkungen bestimmte Trends in welcher Ausprägung haben werden. Relevant sind hier die Vorteile der Umsetzung des Szenarios, die Kosten der Umsetzung, sowie die Risiken, das Szenario nicht umzusetzen oder doch umzusetzen. Auf dieser Basis kann das beste Szenario ausgewählt werden.
|
||||||
\\
|
\\
|
||||||
\\
|
\\
|
||||||
Aus diesem Szenario werden schließlich die Ziele der Digitalisierung abgeleitet. Diese Ziele müssen so formuliert sein, dass sie mit der Ausgangssituation verglichen werden können.
|
Aus diesem Szenario werden schließlich die Ziele der Digitalisierung abgeleitet. Diese Ziele müssen so formuliert sein, dass sie mit der Ausgangssituation verglichen werden können.
|
||||||
@ -42,7 +42,7 @@ Aus diesem Szenario werden schließlich die Ziele der Digitalisierung abgeleitet
|
|||||||
\end{nicepic}
|
\end{nicepic}
|
||||||
|
|
||||||
\paragraph*{Im zweiten Schritt} wird der Ist-Zustand des Unternehmens ermittelt. Dazu wird die aktuelle
|
\paragraph*{Im zweiten Schritt} wird der Ist-Zustand des Unternehmens ermittelt. Dazu wird die aktuelle
|
||||||
Positionierung des Unternehmens im Hinblick auf den Zielzustand mit Fokus auf den Digitalisierungszielen betrachtet. Dazu wird
|
Positionierung des Unternehmens im Hinblick auf den Zielzustand mit Fokus auf die Digitalisierungsziele betrachtet. Dazu wird
|
||||||
der Ist-Zustand im Kontext des Soll-Zustandes anhand definierter Fragen bewertet. Die Auswahl der Fragen unterscheidet sich je
|
der Ist-Zustand im Kontext des Soll-Zustandes anhand definierter Fragen bewertet. Die Auswahl der Fragen unterscheidet sich je
|
||||||
nach Art der Ziele. Der gesamte Fragenkatalog kann im Detail der Ausarbeitung von Parviainen et al. entnommen werden.
|
nach Art der Ziele. Der gesamte Fragenkatalog kann im Detail der Ausarbeitung von Parviainen et al. entnommen werden.
|
||||||
|
|
||||||
@ -56,13 +56,13 @@ Kosten-Nutzen-Analysen, Analysen der Umsetzbarkeit, des Wartungsaufwands und der
|
|||||||
|
|
||||||
\paragraph*{Der vierte Schritt} befasst sich mit der Umsetzung der in Schritt 3 geplanten Maßnahmen und
|
\paragraph*{Der vierte Schritt} befasst sich mit der Umsetzung der in Schritt 3 geplanten Maßnahmen und
|
||||||
der Bewertung der erzielten Ergebnisse. Diese Bewertung der Ergebnisse sollte z.B. soziokulturelle Barrieren berücksichtigen,
|
der Bewertung der erzielten Ergebnisse. Diese Bewertung der Ergebnisse sollte z.B. soziokulturelle Barrieren berücksichtigen,
|
||||||
die sich aus den Reaktionen bestimmter Stakeholder ergeben, die möglicherweise negativ auf bestimmte Veränderungen reagieren
|
die sich aus den Reaktionen bestimmter Stakeholder ergeben, die möglicherweise negativ auf Veränderungen reagieren
|
||||||
oder Schwierigkeiten bei der Einführung neuer Technologien haben. Wenn diese Analyse zeigt, dass die Ziele der Digitalisierung
|
oder Schwierigkeiten bei der Einführung neuer Technologien haben. Wenn diese Analyse zeigt, dass die Ziele der Digitalisierung
|
||||||
nicht erreicht wurden, sollten Korrekturmaßnahmen in früheren Phasen ergriffen
|
nicht erreicht wurden, sollten Korrekturmaßnahmen in früheren Phasen ergriffen
|
||||||
werden \cite{bib:Parviainen_Tihinen_Kaariainen_Teppola_2022}.
|
werden \cite{bib:Parviainen_Tihinen_Kaariainen_Teppola_2022}.
|
||||||
|
|
||||||
\section{Modell nach Verhoef et al}
|
\section{Modell nach Verhoef et al.}
|
||||||
Nach Verhoef et al lässt sich der hier so genannte \enquote{Prozess der Digitalisierung} in drei Phasen unterteilen.
|
Nach Verhoef et al. lässt sich der hier sogenannte \enquote{Prozess der Digitalisierung} in drei Phasen unterteilen.
|
||||||
Diese drei Phasen sind \textit{Digitization}, \textit{Digitalization} und \textit{Digital Transformation}
|
Diese drei Phasen sind \textit{Digitization}, \textit{Digitalization} und \textit{Digital Transformation}
|
||||||
\cite{bib:verhoef}.
|
\cite{bib:verhoef}.
|
||||||
|
|
||||||
@ -75,23 +75,35 @@ Die letzte Phase, die \textit{Digitale Transformation} beschreibt eine firmenwei
|
|||||||
Ergründungen neuer Geschäftsmodelle mit sich bringen könnte \cite{bib:pagani}.
|
Ergründungen neuer Geschäftsmodelle mit sich bringen könnte \cite{bib:pagani}.
|
||||||
|
|
||||||
\section{Abwägung in Bezug auf die Problemstellung}
|
\section{Abwägung in Bezug auf die Problemstellung}
|
||||||
\subsection {Parviainen et al}
|
In Bezug auf die hier betrachteten Methoden ist es wichtig zu erwähnen, dass der betrachtete Kontext
|
||||||
Das Modell nach Parviainen et al wird vom Autor als überwiegend methodisch und für diesen Problemstellungskontext
|
lediglich die Digitalisierungs \textbf{eines} Geschäftsprozesses behandelt.
|
||||||
als unverhältinsmäßig Resourcenaufwändig befunden, da der Umfang der Problemstellung überschaubar ist.
|
Diese Ausarbeitung befasst sich nicht
|
||||||
|
mit firmenweiten Veränderungen, wie sie von den nahegelegten Modellen abgedeckt ist.
|
||||||
|
Daher sind geringfügige Anpassungen der Methoden unabdinglich.
|
||||||
|
Des Weiteren ist Resourcenintensivität ein relevanter Gesichtspunkt einer Abwägung, da es ein
|
||||||
|
Projektbudget einzuhalten gilt.
|
||||||
|
|
||||||
\subsection {Verhoef et al}
|
\subsection{Parviainen et al.}
|
||||||
Im Modell nach Verhoef et al stellt die hier behandelte Problemstellung lediglich Phase eins
|
Der Autor stellt fest, dass das Modell nach Parviainen et al. hauptsächlich methodisch ausgerichtet ist
|
||||||
und Phase zwei der drei Phasen dar. Das ist so, da sich diese Phasen mit der Digitalisierung bestimmter
|
und für den betrachteten Kontext der Problemstellung unverhältnismäßig ressourcenintensiv ist,
|
||||||
|
da der Umfang der Anforderungen geringfügig ist. Dieses Modell legt den Fokus auf firmenweite Veränderungen
|
||||||
|
anstatt auf einzelne Prozesse und könnte daher in Bezug auf diese Problemstellung als \enquote{überdimensioniert} bezeichnet werden.
|
||||||
|
|
||||||
|
\subsection{Verhoef et al.}
|
||||||
|
Im Modell nach Verhoef et al. stellt die hier behandelte Problemstellung lediglich Phase eins
|
||||||
|
und Phase zwei der drei Phasen \textit{Digitization}, \textit{Digitalization} und
|
||||||
|
\textit{Digital Transformation} dar. Das ist so, da sich die ersten zwei Phasen mit der
|
||||||
|
Digitalisierung bestimmter
|
||||||
Geschäftsprozesse befassen. Phase drei befasst sich mit firmenweiten Veränderungen,
|
Geschäftsprozesse befassen. Phase drei befasst sich mit firmenweiten Veränderungen,
|
||||||
die über Geschäftsprozesse hinausgehen \cite{bib:verhoef}.
|
die über Geschäftsprozesse hinausgehen \cite{bib:verhoef}.
|
||||||
Firmenweite Veränderungen befinden außerhalb des Rahmens dieser Ausarbeitung.
|
Firmenweite Veränderungen befinden sich außerhalb des Rahmens dieser Ausarbeitung.
|
||||||
Der Autor empfindet das Modell nach Verhoef et al als agiler und unrestriktiver.
|
Der Autor empfindet das Modell nach Verhoef et al. als agiler und unrestriktiver.
|
||||||
|
|
||||||
\subsection {Fazit}
|
\subsection{Fazit}
|
||||||
Aufgrund des kleinen Umfangs der Problemstellung und damit auch des kleinen Projektbudgets fällt die Entscheidung auf das
|
Aufgrund des kleinen Umfangs der Problemstellung und des kleinen Projektbudgets fällt die Entscheidung auf das
|
||||||
kleiner gefasste Modell nach Verhoef et al. Ziel dieser Entscheidung ist es vermeidbare Kosten, die keine eminenten
|
kleiner gefasste Modell nach Verhoef et al.. Ziel dieser Entscheidung ist es, vermeidbare Kosten, die keine eminenten
|
||||||
Vorteile erbringen, zu vermeiden.
|
Vorteile bringen, zu vermeiden.
|
||||||
Nachdem Phase drei des Verhoefer-Modells ausgeklammert wurde, sieht das zu verfolgende Modell wie folgt aus:
|
Nachdem Phase drei des Verhoefer-Modells ausgeklammert wurde, sieht das zu verfolgende Modell aus wie folgt:
|
||||||
|
|
||||||
\begin{nicepic}
|
\begin{nicepic}
|
||||||
\includegraphics[width=0.7\textwidth]{images/umsetzungsdiagramm.png}
|
\includegraphics[width=0.7\textwidth]{images/umsetzungsdiagramm.png}
|
||||||
|
@ -1,71 +1,76 @@
|
|||||||
\chapter{Stand der Technik}
|
\chapter{Stand der Technik}
|
||||||
\label{chap:stand-der-technik}
|
\label{chap:stand-der-technik}
|
||||||
Der Stand der Technik bezieht sich auf bestehende praktische Umsetzungen der erforderlichen Technologien.
|
Der Stand der Technik bezieht sich auf bestehende, praktische Umsetzungen der erforderlichen Technologien.
|
||||||
Im Wesentlichen gibt es zwei Arten von Technologien, die untersucht werden müssen: Die bestehende Website von \ac{WM} und
|
Im Wesentlichen gibt es drei Arten von Technologien, die untersucht werden müssen: Die bestehende Website von \ac{WM},
|
||||||
eine Bibliothek zur Erzeugung von QR-Codes.
|
Bibliotheken zur Erzeugung von QR-Codes und Bibliotheken zur Erzeugung von PDF-Dateien.
|
||||||
|
|
||||||
\section{Die bestehende Webseite}
|
\section{Die bestehende Webseite}
|
||||||
Als Mitentwickler des Projektes ist dem Author dieser Ausarbeitung bekannt, dass die bestehende Webseite von
|
Als Mitentwickler des Projektes ist dem Autor bekannt, dass die bestehende Webseite ein TYPO3-Redaktionssystem ist. Das Frontend der Webseite wird mit Webpack und Sass übersetzt.
|
||||||
\ac{WM} ein TYPO3-Redaktionssystem ist. Das Frontend der Webseite wird mit Webpack und Sass übersetzt.
|
|
||||||
Webpack ist ein Modulbundler \cite{bib:smashmagazine-webpack} und Sass ein CSS-Präprozessor \cite{bib:w3schools-sass}.
|
Webpack ist ein Modulbundler \cite{bib:smashmagazine-webpack} und Sass ein CSS-Präprozessor \cite{bib:w3schools-sass}.
|
||||||
|
TYPO3 ist ein Redaktionssystem und PHP-Rahmenwerk, das Daten- und Inhaltspflege in einem geschützten Bereich
|
||||||
|
ermöglicht, Frontend- und Backend-Nutzer und Berechtigungen steuert \cite{bib:typo3-docs-getting-started}
|
||||||
|
und über die Systemerweiterung
|
||||||
|
\enquote{Extbase} eine mächtige Entwicklerschnittstelle bereitstellt,
|
||||||
|
um hochindividualisierte Funktionalitäten zu ermöglichen \cite{bib:typo3-docs-extbase-reference}.
|
||||||
|
|
||||||
\section{QR-Codes erstellen}
|
\section{QR-Code-Bibliotheken}
|
||||||
Um mit QR-Codes zu arbeiten, ist es unabdinglich, QR-Codes zu erstellen, da dieselben sonst nicht vorhanden sind.
|
Um mit QR-Codes zu arbeiten, ist es unabdinglich, QR-Codes zu erstellen, da dieselben sonst nicht vorhanden sind.
|
||||||
Im Folgenden werden einige Implementationen von QR-Code-Generator-Bibliotheken im Detail betrachtet. Es wird sich
|
Im Folgenden werden einige Implementationen von QR-Code-Generator-Bibliotheken im Detail betrachtet. Es wird sich
|
||||||
auf bereits verwendete Programmiersprachen begrenzt.
|
auf bereits verwendete Programmiersprachen begrenzt.
|
||||||
|
|
||||||
\subsection{Javascript-Implementationen}
|
\subsection{Javascript-Implementationen}
|
||||||
\subsubsection*{jquery-qrcode}
|
\subsubsection*{Jquery-qrcode}
|
||||||
\textit{jquery-qrcode} ist ein Plugin für JQuery um dynamisch QR-Codes auf Browserseite zu generieren.
|
\textit{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
|
Jedoch verweist diese Bibliothek selbst auf ihren desolaten Zustand und empfielt stattdessen \enquote{kjua} zu verwenden
|
||||||
\cite{bib:larsjung-jquery-qrcode}. Somit scheidet jquery-qrcode für nähere Evaluationen aus, da die Software nicht mehr
|
\cite{bib:larsjung-jquery-qrcode}. Somit scheidet jquery-qrcode für nähere Evaluationen aus, da die Software nicht mehr
|
||||||
gepflegt wird. \textit{jquery-qrcode} wurde bis zum heutigen Tage 853 mal von Nutzern mit einem Stern
|
gepflegt wird. \textit{Jquery-qrcode} wurde bis Januar 2023 853 mal von Nutzern mit einem Stern
|
||||||
markiert \cite{bib:larsjung-jquery-qrcode}.
|
markiert \cite{bib:larsjung-jquery-qrcode}.
|
||||||
Wenn ein Nutzer ein Github-Repository mit einem Stern markiert, interessiert sich der Nutzer weit genug,
|
Wenn ein Nutzer ein Github-Repository mit einem Stern markiert, zeigt sich der Nutzer interessiert genug,
|
||||||
um über Neuigkeiten auf dem Laufenden gehalten werden zu wollen \cite{bib:github-stars}. Jquery-qrcode ist MIT-lizensiert
|
um über Neuigkeiten auf dem Laufenden gehalten werden zu wollen \cite{bib:github-stars}. Jquery-qrcode ist MIT-lizensiert
|
||||||
\cite{bib:larsjung-jquery-qrcode}.
|
\cite{bib:larsjung-jquery-qrcode}.
|
||||||
|
|
||||||
\subsubsection*{kjua}
|
\subsubsection*{Kjua}
|
||||||
\textit{Kjua} ist eine Javascript-Bibliothek, um dynamisch QR-Codes auf Browserseite zu generieren.
|
\textit{Kjua} ist eine Javascript-Bibliothek, um dynamisch QR-Codes auf der Browserebene zu generieren.
|
||||||
Im Gegensatz zu \textit{jquery-qrcode} funktioniert Kjua auch ohne JQuery. Es werden diverse Stilattribute für gestaltete
|
Im Gegensatz zu \textit{jquery-qrcode} funktioniert Kjua auch ohne JQuery. Es werden diverse Stilattribute für gestaltete
|
||||||
QR-Codes unterstützt \cite{bib:larsjung-kjua}. Kjua kann QR-Codes über HTML-Canvas, Bilder und Vektorgrafiken umsetzen. Das ist bei näherer Betrachtung der Kjua Tech Demo \enpointy{https://larsjung.de/kjua/latest/demo} ersichtlich, jedoch
|
QR-Codes unterstützt \cite{bib:larsjung-kjua}. Kjua kann QR-Codes über HTML-Canvas, Bilder und Vektorgrafiken umsetzen. Das ist bei näherer Betrachtung der Kjua Tech Demo \enpointy{https://larsjung.de/kjua/latest/demo} ersichtlich, jedoch
|
||||||
nicht explizit erwähnt. Nach dem aktuellen Stand wurde Kjua von 243 Nutzern mit einem Stern markiert.
|
nicht explizit erwähnt. Nach dem aktuellen Stand (Januar 2023) wurde Kjua von 243 Nutzern mit einem Stern markiert.
|
||||||
Kjuas letzte Codeänderung liegt circa zwei Jahre zurück. Es gibt eine unbeantwortete, sieben Jahre alte Pull-Request und
|
Kjuas letzte Codeänderung liegt circa zwei Jahre zurück. Es gibt eine unbeantwortete, sieben Jahre alte Pull-Request und
|
||||||
Issues scheinen ignoriert zu werden. Kjua ist MIT-lizensiert \cite{bib:larsjung-kjua}.
|
Issues scheinen ignoriert zu werden. Kjua ist MIT-lizensiert \cite{bib:larsjung-kjua}.
|
||||||
|
|
||||||
\subsubsection*{soldair/node-qrcode}
|
\subsubsection*{Soldair/node-qrcode}
|
||||||
\textit{Soldair/node-qrcode} ist eine node.js-basierte Implementation eines QR-Code Generators und bietet somit Funktionialität
|
\textit{Soldair/node-qrcode} ist eine node.js-basierte Implementation eines QR-Code-Generators und bietet somit Funktionialität
|
||||||
serverseitig, als CLI, sowohl als auch Browserseitig an. Die Readme-Datei zeugt von Länge, ist reich an Beispielen
|
serverseitig, als CLI, sowohl auch Browserseitig an. Die Readme-Datei zeugt von Länge, ist reich an Beispielen
|
||||||
und detailreichen Erklärungen. Der letzte Commit ist zu diesem Zeitpunkt knapp älter als ein halbes Jahr. Somit macht das
|
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
|
Projekt einen moderat gepflegten Eindruck. Die Readme-Datei verweist auf Unit Tests bei Travis, jedoch lief die letzte Pipeline
|
||||||
vor circa zwei Jahren, Februar 2021, durch und schlug zudem fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
|
vor circa zwei Jahren, Februar 2021, durch und schlug fehl. Einige Pull-Requests und Issues werden seit Jahren ignoriert
|
||||||
\cite{bib:soldair-node-qrcode}.
|
\cite{bib:soldair-node-qrcode}.
|
||||||
Die Bibliothek wurde 74 millionen mal heruntergeladen und mit 6308 Sternen markiert.
|
Die Bibliothek wurde 74 millionen mal heruntergeladen und mit 6308 Sternen markiert.
|
||||||
Soldair/node-qrcode ist MIT-lizensiert \cite{bib:npmjs-soldair-node-qrcode}.
|
Soldair/node-qrcode ist MIT-lizensiert \cite{bib:npmjs-soldair-node-qrcode}.
|
||||||
|
|
||||||
\subsection{PHP-Implementationen}
|
\subsection{PHP-Implementationen}
|
||||||
\subsubsection*{chillerlan/php-qrcode}
|
\subsubsection*{Chillerlan/php-qrcode}
|
||||||
Eine arrivierte Lösung für QR-Code Generierung in PHP ist \textit{chillerlan/php-qrcode}, umgesetzt durch
|
Eine arrivierte Lösung für QR-Code-Generierung in PHP ist \textit{chillerlan/php-qrcode}, umgesetzt durch
|
||||||
Eugen Rochko und weitere. Das zeigt sich durch den zu diesem Zeitpunkt auf 5 Millionen stehendem Downloadzähler,
|
Eugen Rochko et al.. \textit{Chillerlan/php-qrcode}s Etabliertheit zeigt sich durch den zu diesem
|
||||||
mehrere Entwickler und den letzten Commit, der zu diesem Zeitpunk nicht älter als einen Monat ist.
|
Zeitpunkt (Jahnuar 2023) auf 5 Millionen stehenden Downloadzähler,
|
||||||
|
mehreren Entwickler und den letzten Commit, der zu diesem Zeitpunk nicht älter als einen Monat ist.
|
||||||
Insgesamt erfolgten bis dato 808 Commits von 6 Entwicklern. Das Projekt verfügt über Unit-Tests,
|
Insgesamt erfolgten bis dato 808 Commits von 6 Entwicklern. Das Projekt verfügt über Unit-Tests,
|
||||||
die 90\% der Zeilen der Codebase abdecken. Rochko übernahm Teile der Codebase aus
|
die 90\% der Zeilen der Codebase abdecken. Rochko übernahm Teile der Codebase aus
|
||||||
dem Java-Projekt \enquote{ZXing} und übersetzte diese zu PHP.
|
dem Java-Projekt \enquote{ZXing} und übersetzte diese zu PHP.
|
||||||
Es gibt zu diesem Zeitpunkt keine unbeantworteten Issues oder Pull-Requests.
|
Es gibt zu diesem Zeitpunkt keine unbeantworteten Issues oder Pull-Requests.
|
||||||
\textit{chillerlan/php-qrcode} basiert auf einer angepassten Version von \textit{kazuhikoarase/qrcode-generator}.
|
\textit{Chillerlan/php-qrcode} basiert auf einer angepassten Version von \textit{kazuhikoarase/qrcode-generator}.
|
||||||
Einzig auffällig sind die Commitnachrichten, die zuteils nur aus einem (1) Emoji bestehen.
|
Einzig auffällig sind die Commitnachrichten, die zuteils nur aus einem (1) Emoji bestehen.
|
||||||
\textit{chillerlan/php-qrcode} wurde von 1212 Github-Nutzern mit einem Stern markiert. Die Bibliothek ist MIT-lizensiert
|
\textit{Chillerlan/php-qrcode} wurde von 1212 Github-Nutzern mit einem Stern markiert. Die Bibliothek ist MIT-lizensiert
|
||||||
\cite{bib:chillerlan-php-qrcode}.
|
\cite{bib:chillerlan-php-qrcode}.
|
||||||
|
|
||||||
\subsubsection*{kreativekorp/barcode}
|
\subsubsection*{Kreativekorp/barcode}
|
||||||
\textit{kreativekorp/barcode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von
|
\textit{kreativekorp/barcode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von
|
||||||
\textit{Kreative Software}, R.G. Bettencourt.
|
\textit{Kreative Software}, R.G. Bettencourt.
|
||||||
Diese Implementation umfasst eine Vielzahl an Barcode-Formaten und unterstützt eine Vielzahl an Anpassungsmöglichkeiten.
|
Diese Implementation umfasst etablierte Barcode-Formaten und unterstützt eine Vielzahl an Anpassungsmöglichkeiten.
|
||||||
Das Projekt wurde bis zum heutigen Tage 189 mal mit einem Stern markiert \cite{bib:kreativkorp-barcode}.
|
Das Projekt wurde bis zum heutigen Tage 189 mal mit einem Stern markiert \cite{bib:kreativkorp-barcode}.
|
||||||
Vier von den sechs vorhandenen Commits erfolgten innerhalb von zwei Tagen in 2016. Ein weiterer
|
Vier von den sechs vorhandenen Commits erfolgten innerhalb von zwei Tagen in 2016. Ein weiterer
|
||||||
Commit erfolte wenige Tage später. Der aktuellste Commit wurde knapp zwei Jahre später, 2018, veröffentlicht.
|
Commit erfolte wenige Tage später. Der aktuellste Commit wurde knapp zwei Jahre später, 2018, veröffentlicht.
|
||||||
Das liegt zu diesem Zeitpunkt vier Jahre in der Vergangenheit.
|
Das liegt zu diesem Zeitpunkt vier Jahre in der Vergangenheit.
|
||||||
Damit ist diese Bibliothek de-facto sechseinhalb Jahre alt und wurde seitdem ein mal um Featuers erweitert.
|
Damit ist diese Bibliothek de-facto sechseinhalb Jahre alt und wurde seitdem einmal um Featuers erweitert.
|
||||||
Issues und Pull-Requests werden weitestgehend ignoriert.
|
Issues und Pull-Requests werden weitestgehend ignoriert.
|
||||||
Die Bibliothek verwendet die MIT-Lizenz
|
Die Bibliothek verwendet die MIT-Lizenz
|
||||||
\cite{bib:kreativkorp-barcode}.
|
\cite{bib:kreativkorp-barcode}.
|
||||||
@ -73,23 +78,24 @@ Die Bibliothek verwendet die MIT-Lizenz
|
|||||||
\subsubsection*{Bacon/BaconQrCode}
|
\subsubsection*{Bacon/BaconQrCode}
|
||||||
\textit{Bacon/BaconQrCode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von Ben Scholzen, hinter
|
\textit{Bacon/BaconQrCode} ist eine PHP-Bibliothek zur Generierung von QR-Codes, bereitgestellt von Ben Scholzen, hinter
|
||||||
der Github-Organisation \enquote{Bacon}, dessen einziges Mitglied Scholzen darstellt. Verlinkt ist eine Homepage,
|
der Github-Organisation \enquote{Bacon}, dessen einziges Mitglied Scholzen darstellt. Verlinkt ist eine Homepage,
|
||||||
die zu einer Nginx-\enquote{Hello World}-Seite führt. Begleitet wird BaconQrCode von etlichen weiteren Bacon-Applikationen
|
die zu einer Nginx-\enquote{Hello World}-Seite führt. Begleitet wird \textit{BaconQrCode} von etlichen weiteren \enquote{Bacon-Projekten}
|
||||||
wie Beispielsweise \textit{BaconPdf}, \textit{BaconStringUtils} und \textit{BaconUser} um nur einige zu nennen.
|
wie Beispielsweise \textit{BaconPdf}, \textit{BaconStringUtils} und \textit{BaconUser} um nur einige zu nennen.
|
||||||
Insgesamt machen die stichprobenartig betrachteten Projekte einen desolaten Eindruck mit zuteils aktuellesten Commits
|
Insgesamt machen die stichprobenartig betrachteten Projekte einen desolaten Eindruck mit zuteils aktuellesten Commits
|
||||||
von vor zehn Jahren. BaconQrCode stellt das beliebteste und gepflegteste Projekt von Scholzen mit 1508 Sterne-Markierungen und
|
von vor zehn Jahren. BaconQrCode stellt das beliebteste und gepflegteste Projekt von Scholzen mit 1508 Sterne-Markierungen und
|
||||||
einem aktuellsten Commit von vor zwei Monaten dar. BaconQrCode erfreut sich an siebzehn Entwicklern, die jeweils zumindest
|
einem aktuellsten Commit von vor zwei Monaten dar. BaconQrCode fällt mit siebzehn Entwicklern auf, die jeweils zumindest
|
||||||
einen Commit beigetragen haben. Insgesamt fanden zu diesem Zeitpunkt 177 Commits statt. Githubs DependencyGraph verzeichnet
|
einen Commit beigetragen haben. Zu diesem Zeitpunkt fanden 177 Commits statt. Githubs DependencyGraph verzeichnet
|
||||||
nahezu 80.000 Projekte die BaconQrCode verwenden \cite{bib:bacon-baconqrcode} und Packagist spricht von 50 Millionen Downloads
|
nahezu 80.000 Projekte, die BaconQrCode verwenden \cite{bib:bacon-baconqrcode} und Packagist meldet 50 Millionen Downloads
|
||||||
\cite{bib:packagist-baconqrcode}. Eine Dokumentation neben der Readme-Datei existiert nicht und die
|
Wie \textit{chillerlan/php-qrcode} baut auch Scholzen auf existierende Technik von \enquote{ZXing} auf.
|
||||||
diese ist bescheiden. BaconQrCode kann QR-Codes als Rasterbilder und Vektorgrafiken (SVG und EPS) generieren.
|
\cite{bib:packagist-baconqrcode}. Eine Dokumentation neben der Readme-Datei existiert nicht und
|
||||||
|
diese ist sehr minimalistisch. \textit{BaconQrCode} kann QR-Codes als Rasterbilder und Vektorgrafiken (SVG und EPS) generieren.
|
||||||
Spezielle Styles sind nicht erwähnt. Ein Großteil der Issues und Pull-Requests wurden behandelt.
|
Spezielle Styles sind nicht erwähnt. Ein Großteil der Issues und Pull-Requests wurden behandelt.
|
||||||
BaconQrCode ist mit einer BSD-2-Clause-Lizenz lizensiert
|
BaconQrCode unterliegt einer BSD-2-Clause-Lizenz
|
||||||
\cite{bib:bacon-baconqrcode}.
|
\cite{bib:bacon-baconqrcode}.
|
||||||
|
|
||||||
\subsection{Subjektiver Vergleich in Bezug auf die Problemstellung}
|
\subsection{Subjektiver Vergleich im Bezug auf die Problemstellung}
|
||||||
Im Folgenden weden subjektive Einschätzungen und Meinungen des Autors über die Eignung der beleuchteten
|
Im Folgenden werden subjektive Einschätzungen und Meinungen des Autors über die Eignung der beleuchteten
|
||||||
Bibliotheken vorgestellt.
|
Bibliotheken vorgestellt.
|
||||||
Um eine Bibliothek als \enquote{am geeignetsten} für einen Anwendungsfall kurieren,
|
Um eine Bibliothek als \enquote{am geeignetsten} für einen Anwendungsfall zu kurieren,
|
||||||
müssen die konkreten Anforderungen und Constraints für diesen Anwendungsfall beachtet werden.
|
müssen die konkreten Anforderungen und Constraints 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 Auswirkung in Gewichtung und Richtung
|
||||||
je nach Anwendungsfall aufweisen.
|
je nach Anwendungsfall aufweisen.
|
||||||
@ -102,28 +108,30 @@ Hierfür werden die zuvor vorgestellten Bibliotheken zur Erstellung von QR-Codes
|
|||||||
\item [Gepflegtheit] \hfill \\
|
\item [Gepflegtheit] \hfill \\
|
||||||
Das Ausmaß, in dem das Projekt aktiv gepflegt wird und ordnungsgemäß entwickelt zu sein scheint.
|
Das Ausmaß, in dem das Projekt aktiv gepflegt wird und ordnungsgemäß entwickelt zu sein scheint.
|
||||||
Hierzu zählen beispielsweise: Bearbeitung von Issues, Bearbeitung von Pull-Requests, Präsenz von Tests,
|
Hierzu zählen beispielsweise: Bearbeitung von Issues, Bearbeitung von Pull-Requests, Präsenz von Tests,
|
||||||
Präsenz einer angemessenen Dokumentation, häufige Commits, mehr als nur ein Contributor, Anzahl der
|
Präsenz einer angemessenen Dokumentation, häufige Commits, mehrere Entwickler, Anzahl der
|
||||||
Sterne auf Github (Ausmaß an tieferem, öffentlichem Interesse \cite{bib:github-stars}), sowie der Anzahl der
|
Sterne auf Github (Ausmaß an tieferem, öffentlichem Interesse \cite{bib:github-stars}), sowie der Anzahl der
|
||||||
Downloads bzw Installationen, falls verfügbar.
|
Downloads bzw. Installationen, falls verfügbar.
|
||||||
|
|
||||||
\item [Workflow-Eignung] \hfill \\
|
\item [Workflow-Eignung] \hfill \\
|
||||||
Die Eignung einer Bibliothek in existierende Workflows und Constraints übernommen zu werden. Maßgeblich,
|
Die Eignung einer Bibliothek in existierende Workflows und Constraints übernommen zu werden. Maßgeblich,
|
||||||
ob und mit wie viel Aufwand eine Bibliothek in das Projekt übernommen werden kann. Ebenfalls ist relevant,
|
ob und mit wie viel Aufwand eine Bibliothek in das Projekt übernommen werden kann. Ebenfalls ist relevant,
|
||||||
ob die Lizenz einer Bibliothek überhaupt deren Einbundung gestattet, bzw. welche Bedingungen gelten.
|
ob die Lizenz einer Bibliothek eine Verwendung gestattet, bzw. welche Bedingungen gelten.
|
||||||
\end{description}
|
\end{description}
|
||||||
|
|
||||||
Dabei werden den verschiedenen Bibliotheken Punkte ($[0,10]$) in den drei zuvor genannten Kategorien vergeben.
|
Hierbei werden den verschiedenen Bibliotheken Punkte ($[0,10]$) in den drei zuvor genannten
|
||||||
|
Kategorien vergeben. Nicht ermittelte Werte werden in ihrer Kategorie durch $-$ repräsentiert, wodurch
|
||||||
|
eine weitere Verwendung ausgeschlossen wird.
|
||||||
Die Kumulativpunktzahl ($[0,30]$) einer Bibltiothek beschreibt deren Gesamteignung, nach subjektivem
|
Die Kumulativpunktzahl ($[0,30]$) einer Bibltiothek beschreibt deren Gesamteignung, nach subjektivem
|
||||||
Empfinden des Autors.
|
Empfinden des Autors.
|
||||||
|
|
||||||
\subsubsection*{kjua}
|
\subsubsection*{Kjua}
|
||||||
Kjua ist funktional für dieses Projekt gut aufgestellt, da es optisch ansprechende QR-Codes mit Logo unterstützt. Das wird
|
Kjua ist funktional für dieses Projekt gut aufgestellt, da es optisch ansprechende QR-Codes mit Logo unterstützt. Das wird
|
||||||
mit acht Punkten in \enquote{Funktionalität} bemessen.
|
mit acht Punkten in \enquote{Funktionalität} bemessen.
|
||||||
Kjua macht andererseits einen eher desolaten Eindruck und lässt somit begründete Zweifel an dessen Zukunftssicherheit zu.
|
Kjua macht andererseits einen eher desolaten Eindruck und lässt somit begründete Zweifel an dessen Zukunftssicherheit zu.
|
||||||
Eine knappe Dokumentation ist verfügbar. Für die Dokumentation werden zwei Punkte in \enquote{Gepflegtheit} angerechnet.
|
Eine knappe Dokumentation ist verfügbar. Für die Dokumentation werden zwei Punkte in \enquote{Gepflegtheit} angerechnet.
|
||||||
Kjua ist als Javascript-Bibliothek nur schwer mit den Anforderungen vereinbar,
|
Kjua ist als Javascript-Bibliothek nur schwer mit den Anforderungen vereinbar,
|
||||||
da der QR-Code in einem PDF eingebunden werden soll. Hierfür wäre ein serverseitiger Generator prädestiniert.
|
da der QR-Code in einem PDF eingebunden werden soll. Hierfür ist ein serverseitiger PDF-Generator vorgesehen.
|
||||||
Kjuas Lizenz erlaubt Verwendung in kommerziellen, Closed-Source Projekten \cite{bib:opensource-license-mit}.
|
Kjuas Lizenz erlaubt Verwendung in kommerziellen, Closed-Source-Projekten \cite{bib:opensource-license-mit}.
|
||||||
Die Exklusivität für Nutzung in Webbrowsern schließt eine Einbindung in den Workflow aus.
|
Die Exklusivität für Nutzung in Webbrowsern schließt eine Einbindung in den Workflow aus.
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\centering
|
\centering
|
||||||
@ -134,15 +142,16 @@ Die Exklusivität für Nutzung in Webbrowsern schließt eine Einbindung in den W
|
|||||||
8 & 2 & 0 & 10\\
|
8 & 2 & 0 & 10\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
\caption{Subjektive Evaluation: Kjua}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\subsubsection*{soldair/node-qrcode}
|
\subsubsection*{Soldair/node-qrcode}
|
||||||
Soldairs Lösung sieht dokumentativ und funktional vielversprechend aus.
|
Soldairs Lösung sieht dokumentativ und funktional vielversprechend aus.
|
||||||
Hieraus bilden sich 8 Punkte in \enquote{Funktionalität}.
|
Hieraus bilden sich acht Punkte in \enquote{Funktionalität}.
|
||||||
Da diese Bibliothek eine Node.js-Bibliothek ist und Node.js ohne Browser, als Kommandozeilenapplikation ausgeführt werden
|
Da diese Bibliothek eine Node.js-Bibliothek ist und Node.js ohne Browser, als Kommandozeilenapplikation, ausgeführt werden
|
||||||
kann \cite{bib:nodejs-api-cli}, böte sich
|
kann \cite{bib:nodejs-api-cli}, bietet sich
|
||||||
Soldair/node-qrcode als serverseitige Anwendung an. Auch die Lizenz spräche nicht gegen eine Verwendung. Dennoch wäre es
|
Soldair/node-qrcode als serverseitige Anwendung an. Die Lizenz spricht nicht gegen eine Verwendung. Dennoch wäre es
|
||||||
ein vermeidbarer Mehraufwand und ggf. imperformant generierte QR-Codes aus einer Node.JS-Applikation in eine PHP-Umgebung zu
|
ein vermeidbarer Mehraufwand generierte QR-Codes aus einer Node.JS-Applikation in eine PHP-Umgebung zu
|
||||||
übertragen. Das bildet sich mit vier Punkten in \enquote{Workflow-Eignung} ab.
|
übertragen. Das bildet sich mit vier Punkten in \enquote{Workflow-Eignung} ab.
|
||||||
Darüberhinaus macht Soldair/node-qrcode einen verbesserungswürdigen Eindruck der Projektpflege, wofür es lediglich
|
Darüberhinaus macht Soldair/node-qrcode einen verbesserungswürdigen Eindruck der Projektpflege, wofür es lediglich
|
||||||
drei Punkte gibt.
|
drei Punkte gibt.
|
||||||
@ -155,9 +164,10 @@ drei Punkte gibt.
|
|||||||
8 & 3 & 4 & 15\\
|
8 & 3 & 4 & 15\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
\caption{Subjektive Evaluation: Soldair/node-qrcode}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\subsubsection*{chillerlan/php-qrcode}
|
\subsubsection*{Chillerlan/php-qrcode}
|
||||||
Rochkos Lösung macht einen aktiv gepflegten Eindruck und wird von großen Downloadzahlen gestützt.
|
Rochkos Lösung macht einen aktiv gepflegten Eindruck und wird von großen Downloadzahlen gestützt.
|
||||||
Rochko stellt eine ausführliche Dokumentation und Codebeispiele bereit.
|
Rochko stellt eine ausführliche Dokumentation und Codebeispiele bereit.
|
||||||
Hierfür wird die volle Punktzahl in \enquote{Gepflegtheit} vergeben.
|
Hierfür wird die volle Punktzahl in \enquote{Gepflegtheit} vergeben.
|
||||||
@ -168,7 +178,7 @@ Bewertet wird das mit einer vollen Punktzahl in \enquote{Funktionalität}.
|
|||||||
Chillerlan/php-qrcode lässt sich nahtlos in das existierende Projekt eingliedern,
|
Chillerlan/php-qrcode lässt sich nahtlos in das existierende Projekt eingliedern,
|
||||||
da es als PHP-Bibliothek über Composer eingebunden werden kann und eine eigene API bereitstellt \cite{bib:chillerlan-php-qrcode}.
|
da es als PHP-Bibliothek über Composer eingebunden werden kann und eine eigene API bereitstellt \cite{bib:chillerlan-php-qrcode}.
|
||||||
Die von Rochko verwendete Lizenz gestattet eine unkomplizierte Verwendung. Chillerlan/php-qrcode funktioniert sowohl mit
|
Die von Rochko verwendete Lizenz gestattet eine unkomplizierte Verwendung. Chillerlan/php-qrcode funktioniert sowohl mit
|
||||||
PHP $7.x$ und $8.x$. Die Bibliothek benötigt zwei weitere Abhängigkeiten. Eine dieser Abhängigkeiten ist ebenfalls von Rochko
|
PHP $7.x$ als auch $8.x$. Die Bibliothek benötigt zwei weitere Abhängigkeiten. Eine dieser Abhängigkeiten ist ebenfalls von Rochko
|
||||||
bereitgestellt \cite{bib:chillerlan-php-qrcode-composerjson} und weist eine ähnlich gute Projektpflege auf
|
bereitgestellt \cite{bib:chillerlan-php-qrcode-composerjson} und weist eine ähnlich gute Projektpflege auf
|
||||||
\cite{bib:chillerlan-php-settings-container}. Das wird mit der Maximalwertung in \enquote{Workflow-Eignung} berechnet.
|
\cite{bib:chillerlan-php-settings-container}. Das wird mit der Maximalwertung in \enquote{Workflow-Eignung} berechnet.
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
@ -180,15 +190,17 @@ bereitgestellt \cite{bib:chillerlan-php-qrcode-composerjson} und weist eine ähn
|
|||||||
10 & 10 & 10 & 30\\
|
10 & 10 & 10 & 30\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
\caption{Subjektive Evaluation: Chillerlan/php-qrcode}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\subsubsection*{kreativekorp/barcode}
|
\subsubsection*{Kreativekorp/barcode}
|
||||||
Kreativekorp beeindruckt durch Nutzungsbeispiele und Dokumentation in der Readme-Datei, sowie einer Vielzahl unterstützter
|
Kreativekorp beeindruckt durch Nutzungsbeispiele und Dokumentation in der Readme-Datei,
|
||||||
Barcode-Formate, darunter auch QR-Codes und einiger improvisierter Tests.
|
sowie einer Vielzahl unterstützter Barcode-Formate, darunter auch QR-Codes und einiger improvisierter Tests.
|
||||||
Hierfür werden drei Punkte in \enquote{Gepflegtheit} vergeben.
|
In Anbetracht dessen, dass die Bibliothe de-facto sechseinhalb Jahre alt ist und seit vier Jahren nicht mehr
|
||||||
0 Punkte in \enquote{Workflow-Eignung} rechtfertigen sich durch die Abwesenheit jeglicher
|
angepasst wurde, wird eine geringe Wertung von drei Punkten in \enquote{Gepflegtheit} vergeben.
|
||||||
Unterstützung für Paketmanager, wodurch eine saubere Verwendung in dem Brownfield-Projekt Änderungen an der Bibliothek
|
Null Punkte in \enquote{Workflow-Eignung} rechtfertigen sich durch die Abwesenheit jeglicher
|
||||||
selbst erfordern würde.
|
Unterstützung für Paketmanager, wodurch eine saubere Verwendung in dem Brown-Field-Projekt
|
||||||
|
Änderungen an der Bibliothek selbst erfordern würde.
|
||||||
Die Funktionalität wurde aufgrund der desaströsen Gepflegtheit und Eignung nicht näher untersucht,
|
Die Funktionalität wurde aufgrund der desaströsen Gepflegtheit und Eignung nicht näher untersucht,
|
||||||
da eine Verwendung selbst mit guter Funktionalität nicht infrage käme.
|
da eine Verwendung selbst mit guter Funktionalität nicht infrage käme.
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
@ -197,21 +209,23 @@ da eine Verwendung selbst mit guter Funktionalität nicht infrage käme.
|
|||||||
\hline
|
\hline
|
||||||
\textbf{Funktionalität} & \textbf{Gepflegtheit} & \textbf{Workflow-Eignung} & \textbf{$\Sigma$}\\
|
\textbf{Funktionalität} & \textbf{Gepflegtheit} & \textbf{Workflow-Eignung} & \textbf{$\Sigma$}\\
|
||||||
\hline
|
\hline
|
||||||
0 & 3 & 4 & 7\\
|
- & 3 & 0 & -\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
\caption{Subjektive Evaluation: Kreativekorp/barcode}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\subsubsection*{Bacon/BaconQrCode}
|
\subsubsection*{Bacon/BaconQrCode}
|
||||||
BaconQrCode nennt keine speziellen Optionen um näheren Einfluss auf den generierten QR-Code auszuüben.
|
BaconQrCode nennt keine speziellen Optionen, um näheren Einfluss auf den generierten QR-Code auszuüben.
|
||||||
Es werden Rasterbilder und verschiedene Vektorformate als Renderziel unterstützt. Aufgrund der fehlenden Optionen,
|
Es werden Rasterbilder und verschiedene Vektorformate als Renderziel unterstützt. Aufgrund der fehlenden Optionen,
|
||||||
die andere Bibliotheken bereitstellen, werden lediglich fünf von 10 Punkten für \enquote{Funktionalität} vergeben.
|
die andere Bibliotheken bereitstellen, werden lediglich fünf von zehn Punkten für \enquote{Funktionalität} vergeben.
|
||||||
Die Projektgepflegtheit ist inkonsistent. Manche Stellen, beispielsweise die Mitwirkenden, Alter des neuesten Commits, Tests
|
Die Projektgepflegtheit ist inkonsistent. Manche Stellen, beispielsweise die Mitwirkenden, Alter des neuesten Commits, Tests
|
||||||
und Nutzerzahlen machen einen guten Eindruck, während Punkte wie die Dokumentation, die Organisationswebseite und andere
|
und Nutzerzahlen machen einen guten Eindruck, während Punkte wie die Dokumentation, die Organisationswebseite und andere
|
||||||
Projekte Sorgen begründen. Für die \enquote{Gepflegtheit} werden 8 Punkte vergeben.
|
Projekte Sorgen begründen. Weil der Programmcode an sich gut gepflegt aussieht und große Downloadzahlen von
|
||||||
|
häufiger Verwendung sprechen, werden für die \enquote{Gepflegtheit} acht Punkte vergeben.
|
||||||
Da es sich hierbei um eine PHP-Bibliothek handelt, die über Composer in PHP- $7.x$ und $8.x$ Projekte geladen werden kann
|
Da es sich hierbei um eine PHP-Bibliothek handelt, die über Composer in PHP- $7.x$ und $8.x$ Projekte geladen werden kann
|
||||||
und eine API bereitstellt, ist die \enquote{Workflow-Eignung} gut. Die BSD-2-Clause-Lizenz verkompliziert eine Integration,
|
und eine das Projekt API bereitstellt, ist die technische Workflow-Eignung gut. Die BSD-2-Clause-Lizenz verkompliziert eine Integration,
|
||||||
da dadurch eine Copyright-Notiz an Nutzer gezeigt werden muss \cite{bib:opensource-license-bsd-2}.
|
da somit eine Copyright-Notiz an Nutzer gezeigt werden muss \cite{bib:opensource-license-bsd-2}.
|
||||||
Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurch sieben Punkte vergeben werden.
|
Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurch sieben Punkte vergeben werden.
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\centering
|
\centering
|
||||||
@ -219,30 +233,42 @@ Dadurch werden drei Punkte einer vollkommenen Workflow-Eignung abgezogen, wodurc
|
|||||||
\hline
|
\hline
|
||||||
\textbf{Funktionalität} & \textbf{Gepflegtheit} & \textbf{Workflow-Eignung} & \textbf{$\Sigma$}\\
|
\textbf{Funktionalität} & \textbf{Gepflegtheit} & \textbf{Workflow-Eignung} & \textbf{$\Sigma$}\\
|
||||||
\hline
|
\hline
|
||||||
5 & 8 & 4 & 17\\
|
5 & 8 & 7 & 20\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
\caption{Subjektive Evaluation: Bacon/BaconQrCode}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
\subsection{Fazit}
|
\subsection{Fazit}
|
||||||
|
Nach Evaluation der verschiedenen QR-Code-Bibliotheken im Kontext der vorliegenden Problemstellung erweist sich aus Sicht des Autors
|
||||||
|
\textit{chillerlan/php-qrcode} mit 30 Gesamtpunkten als die am besten geeignetste Bibliothek.
|
||||||
|
Somit wird \textit{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet.
|
||||||
|
|
||||||
\begin{table}[htbp]
|
\begin{table}[htbp]
|
||||||
\centering
|
\centering
|
||||||
\begin{tabular}{|l||l|l||l|l|}
|
\begin{tabular}{|l||l|l||l|l|}
|
||||||
\hline
|
\hline
|
||||||
\textbf{Bib.} & \textbf{Funkt.} & \textbf{Gepflegtht.} & \textbf{WF.-Eignung} & \textbf{$\Sigma$}\\
|
\textbf{Bibliothek} & \textbf{Funkt.} & \textbf{Gepflegtht.} & \textbf{WF.-Eignung} & \textbf{$\Sigma$}\\
|
||||||
\hline
|
\hline
|
||||||
\hline
|
\hline
|
||||||
chillerlan/php-qrcode & 10 & 10 & 10 & 30\\\hdashline
|
chillerlan/php-qrcode & 10 & 10 & 10 & 30\\\hdashline
|
||||||
baconqrcode & 5 & 8 & 4 & 17\\\hdashline
|
baconqrcode & 5 & 8 & 7 & 20\\\hdashline
|
||||||
soldair/node-qrcode & 8 & 3 & 4 & 15\\\hdashline
|
soldair/node-qrcode & 8 & 3 & 4 & 15\\\hdashline
|
||||||
kjua & 8 & 2 & 0 & 10\\\hdashline
|
kjua & 8 & 2 & 0 & 10\\\hdashline
|
||||||
kreativekorp/barcode & 0 & 3 & 4 & 7\\
|
kreativekorp/barcode & - & 3 & 0 & -\\
|
||||||
\hline
|
\hline
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\caption{Subjektive Evaluation der QR-Code Bibliotheken}
|
\caption{Gesamtübersicht: Subjektive Evaluation der QR-Code Bibliotheken}
|
||||||
\label{tbl:qrlib-compare-barchart}
|
\label{tbl:qrlib-compare-barchart}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
Nach Evaluation der verschiedenen QR-Code-Bibliotheken im Kontext der vorliegenden Problemstellung erweist sich aus Sicht des Autors
|
\section{PDF-Generator}
|
||||||
\textit{chillerlan/php-qrcode} mit 30 Gesamtpunkten als die am besten geeignetste Bibliothek.
|
Firmenintern ist der PDF-Generator \textit{mpdf/mpdf} \cite{bib:mpdf} etabliert und wird bereits
|
||||||
Somit wird \textit{chillerlan/php-qrcode} als QR-Code Technologie in der Lösung dieser Problemstellung verwendet werden.
|
in zahlreichen Projekten verwendet.
|
||||||
|
Um die projektübergreifende Kontinuität der Technik zu wahren und um somit die
|
||||||
|
Wartbarkeit und Nachhaltigkeit des hier behandelten Softwareproduktes
|
||||||
|
zu fördern, wird sich für den PDF-Generator entschieden, der bereits firmeninterner Standard ist.
|
||||||
|
Unabhängig dessen ist \textit{mpdf} ein gut gepflegtes Projekt mit einem Alter von mehr als acht Jahren,
|
||||||
|
Sponsoren, 72 Entwicklern, über 31 Millionen Downloads, über 3.900 Sterne-Markierungen, über 800 Commits
|
||||||
|
und regelmäßigen Updates. Dadurch, dass \textit{mpdf} ein Composer-Paket für verschiede PHP-Versionen ist,
|
||||||
|
ist eine herausragende Workflow-Eignung gegeben \cite{bib:mpdf}.
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
\newcommand{\cfgDocClassification}{Abschlussarbeit}
|
\newcommand{\cfgDocClassification}{Abschlussarbeit}
|
||||||
|
|
||||||
% Document version
|
% Document version
|
||||||
\newcommand{\cfgDocVersion}{1.1}
|
\newcommand{\cfgDocVersion}{1.3}
|
||||||
|
|
||||||
% Last modification date
|
% Last modification date
|
||||||
\newcommand{\cfgDateLastModification}{22. Dezember 2022}
|
\newcommand{\cfgDateLastModification}{22. Dezember 2022}
|
||||||
|
@ -28,8 +28,8 @@
|
|||||||
\acro{TCA}[TCA]{Table configuration array}
|
\acro{TCA}[TCA]{Table configuration array}
|
||||||
\acroplural{TCA}[TCAs]{Table configuration arrays}
|
\acroplural{TCA}[TCAs]{Table configuration arrays}
|
||||||
|
|
||||||
\acro{PO}[PO]{Product owner}
|
\acro{PO}[PO]{Product Owner}
|
||||||
\acroplural{PO}[POs]{Product owner}
|
\acroplural{PO}[POs]{Product Owner}
|
||||||
%
|
%
|
||||||
%
|
%
|
||||||
\end{acronym}
|
\end{acronym}
|
||||||
|
@ -16,11 +16,11 @@
|
|||||||
languages and other information that determine how a site behaves are managed
|
languages and other information that determine how a site behaves are managed
|
||||||
via the backend. Tasks such as adding backend users and managing
|
via the backend. Tasks such as adding backend users and managing
|
||||||
third-party extensions also take place in the backend.
|
third-party extensions also take place in the backend.
|
||||||
} \cite{bib:typo3-docs-concepts}.
|
} \cite{bib:typo3-docs-getting-started}.
|
||||||
|
|
||||||
\item [TYPO3-Extension] \hfill \\
|
\item [TYPO3-Extension] \hfill \\
|
||||||
\quotecite{Developed by the community, extensions provide a range of solutions that
|
\quotecite{Developed by the community, extensions provide a range of solutions that
|
||||||
help extend TYPO3} \cite{bib:typo3-docs-concepts}.
|
help extend TYPO3} \cite{bib:typo3-docs-getting-started}.
|
||||||
|
|
||||||
\item [TYPO3-Plugin] \hfill \\
|
\item [TYPO3-Plugin] \hfill \\
|
||||||
\quotecite{Plugins are a specific type of content elements [...]
|
\quotecite{Plugins are a specific type of content elements [...]
|
||||||
|
@ -304,6 +304,14 @@
|
|||||||
note = {Zugriff: Januar 2023}
|
note = {Zugriff: Januar 2023}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{bib:mpdf,
|
||||||
|
author = {{Mpdf Contributors}},
|
||||||
|
howpublished = "\url{https://mpdf.github.io/}",
|
||||||
|
title = {{mPDF}},
|
||||||
|
year = {2023},
|
||||||
|
note = {Zugriff: März 2023}
|
||||||
|
}
|
||||||
|
|
||||||
@misc{bib:typo3-docs-managing-extensions,
|
@misc{bib:typo3-docs-managing-extensions,
|
||||||
author = {{TYPO3 Contributors}},
|
author = {{TYPO3 Contributors}},
|
||||||
howpublished = "\url{https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Extensions/Management.html}",
|
howpublished = "\url{https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Extensions/Management.html}",
|
||||||
@ -312,10 +320,10 @@
|
|||||||
note = {Zugriff: Februar 2023}
|
note = {Zugriff: Februar 2023}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{bib:typo3-docs-concepts,
|
@misc{bib:typo3-docs-getting-started,
|
||||||
author = {{TYPO3 Contributors}},
|
author = {{TYPO3 Contributors}},
|
||||||
howpublished = "\url{https://docs.typo3.org/m/typo3/tutorial-getting-started/main/en-us/Concepts}",
|
howpublished = "\url{https://docs.typo3.org/m/typo3/tutorial-getting-started/11.5/en-us/Index.html}",
|
||||||
title = {{TYPO3 Concepts}},
|
title = {{Getting started}},
|
||||||
year = {2023},
|
year = {2023},
|
||||||
note = {Zugriff: Februar 2023}
|
note = {Zugriff: Februar 2023}
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
<mxfile host="Electron" modified="2023-02-22T18:20:30.148Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.16 Chrome/106.0.5249.199 Electron/21.4.0 Safari/537.36" etag="WpAyGRx_wBmfOr-_yEHv" version="20.8.16" type="device"><diagram id="k7iwBMskrYiuqxr37yBD" name="Seite-1">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</diagram></mxfile>
|
<mxfile host="Electron" modified="2023-03-21T15:14:06.078Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.16 Chrome/106.0.5249.199 Electron/21.4.0 Safari/537.36" etag="3DaBP0dlD2vB6rGOEdhY" version="20.8.16" type="device"><diagram id="k7iwBMskrYiuqxr37yBD" name="Seite-1">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</diagram></mxfile>
|
Binary file not shown.
Before Width: | Height: | Size: 102 KiB After Width: | Height: | Size: 46 KiB |
@ -1 +1 @@
|
|||||||
<mxfile host="Electron" modified="2023-03-01T11:03:31.098Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.16 Chrome/106.0.5249.199 Electron/21.4.0 Safari/537.36" etag="laAJCASWoa5_Fc5WLaDG" version="20.8.16" type="device"><diagram name="Seite-1" id="4AvssoyQ3F2APBzfr0LI">7Vpbc9o4FP41zOw+dAfbYOCRQJJ2Zneb3Wzb7aOwD7aCbDGyuJhfX8mWbwiIKTFOMn1COpYs+Zzv07mIjjUJtvcMLf2/qAukY3bdbceadkzTMAaW+JGSOJUM7UEq8Bh21aBC8Ih3oIRdJV1hF6LKQE4p4XhZFTo0DMHhFRlijG6qw+aUVFddIg80waODiC79hl3uq68wB4X8I2DPz1Y27FH6JEDZYPUlkY9cuimJrNuONWGU8rQVbCdApPIyvaTz7o48zTfGIOR1JvzzdB9++vIvehqurdFX9/5+up59MPtqczzOvhhcoQDVpYz71KMhIreF9IbRVeiCfG1X9Ioxf1K6FEJDCJ+A81hZE604FSKfB0Q9FTtm8f9y/h/9rPtdvS7pTLeVXqx66V7lBo/qQIkiumIOnPpwhSXEPOAnxhnD3FQC40ADEBsSExkQxPG6uhGkwObl4wp7iIYyyTnmSd+7RmSlVnrwUQRCJNQ4Fj9T7GGOd2IrNNQsGW1wQFAoTbbxMYfHJUp0shFUrRpELQOMw/a0anVNqAlWhvN4r78paGN2lcwvUcYcdBvSnmG1DG7zpdF9CiTPQt6qC3nzQsgnU8eMobg0YElxyKPSmx+koMCPXYWPsX+anTVcNNL1C/DkH/LzeLJ0Ngp6rUKvI1e/S+iIPIaCABJ22kSo+WbGRMuTrc+zJ1jwVI00BEHYybFBgh8QRo6P5vzIuL9XfAds3plYnZuJz9JdrOUp0J0iMSmQrpjIyd3f/ouX1Ppwg5wFhO7vGimqkH+Jo+I4To+eH3vHR08/PQz7wOlhGI2dHvY7c40XHR5GbYfZb9NhZtsscfQOwJ0J6Avpw+c3gX1jUBP8VmPY77WB/etg+FLHprkio7dnvv6eWVLOqFmFZc71kNo69mkX+cz4Znyk0dcI+CWIgO9SB1V2TW+Ci+aBMPbKXBy8Mz9UN0Xr1/Q4l7L6IuvocB+Hc8pckBFZJAI0FEUJ9F9TbjaqmZoZo6ZAPWoF01vMS5AWve+lJwWgZScuo/uK8VhWj3mOHHZNcgzaJIetkeNTyIGtMWxkhQzzVmOyI4HqZflIc26gq+npF2XOosygJmVarfgNNMrcMeTBLMnzbS/J51XSz0TzkaMF+JQIf/MmaHTA81yXRkNNvw9zgh1fhKU+zPmbUKLR/mF0QI2qMG2WCtOIvMrStG3VjH8aVGA7AdC1S9MZTp6/junWPJzNF8nh32FxOtPgT1enDxWU2zkMj925XRaZNXbNlCe07yVBv5DKZl0q99oMtLJtvrZK8XngNw64suuGAmYrl6xXQnHzteL966umasXGNVxQT6NUufb7DdhiByuvtcLvmdQatk4tvX6Su+3Ma+cKjpa5tw+R4+v+/Sswn8Jc0kYCBZHkWllVYcbhMi1UygQznSm2nK+iWUzonlfNEnFGFzChhDIhCWkS288xIXsikRN4oeg6IEtBQiAtiR1ExupBgF2XHEsMqkipBYXTuUFuvbhqzJLRreHLGF10i397pZwr/jNn3f4A</diagram></mxfile>
|
<mxfile host="Electron" modified="2023-03-21T11:59:08.914Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.16 Chrome/106.0.5249.199 Electron/21.4.0 Safari/537.36" etag="Kqgo0UKfTNACEKGt90F_" version="20.8.16" type="device"><diagram name="Seite-1" id="4AvssoyQ3F2APBzfr0LI">7VpZk+I2EP41VCUPu+WDMfDIwEC2KslOMtnd7KPAja1BllyyOH/9Sli+MIdZMEcqT1jtliV3f193q03D7gXLIUeh/wdzgTQsw1027H7DskzbaskfJVnFko7pxAKPY1crZYI3vAYtNLR0hl2ICoqCMSJwWBSOGaUwFgUZ4pwtimoTRoqrhsiDkuBtjEhZ+g27wo+l7eS1lPw3wJ6frGw6nfhOgBJl/SaRj1y2yInsl4bd44yJ+CpY9oAo4yV2iecN9txNN8aBiioT/nof0k9f/kbv7bnd+eoOh/356IP1pDcnVskbgysNoIeMC595jCLykkmfOZtRF9RjDTnKdH5nLJRCUwrfQYiV9iaaCSZFvgiIvit3zFf/qvkfn5Lhd/24zaC/LIxWelR+ZW2FiM34GA69p4YO4h6IA3pmO1ZURsitoC06BBaA3JBU4ECQwPMiSpAGm5fqZf6QF9olp7gnfu4ckZle6dVHEUiRNGNX/vSxhwVey60wWvJktMABQVS5bOFjAW8h2hhpIaladMhew86BC1getIS+ayc4X22NFxltLEPL/BxlrJZRk/VM+8bgts5E9yFMHIW8XRXy1qUhv5na5Rytcgohw1REuSe/KkGGH6cIH3M7mp2kLi/i9TPwpC/y83iyy2yU9JpRr6FWH2zoiDyOggA27HSItPvziMsrT119Hr3DVMRmZBQkYXv7lCQ/gEZjH03EHr0/Z2INfNLo2Y3nns/jXcxVFDD6SE4KVComarLxyz+rkNkfntF4CtT9tUSKIuRPDhUHI1fl+LEVPprl6GE6O6KHadYWPZzHTo1nBY8kKByPHk93lTCTfec4OgBwRxL6Uvr6+SGwb7Yqgt+uDfvNW2C/JgxfOLGVUpHZ3HLf05ZbYhLpWZlnTs2QpXWcwynyiH49OTKJBzkCfgkiEOs4QeVT00Nw0dpRxl6Zi63HzkNVj2hPFTPOxVl9lnfKcO/SCeMuqIoskgUaiqIN9O/pbNapeDQzO3WBunMTTC+xyEFajr7n7mSAVoNVHt311WNJ++UYOZyK5GjdFTmcEjk+UQF8jmGhOmRYXK8mS3ha93mkvjRglOz0P2UOUaZVkTL31fFrlSgz4MiD0eac73ib87w+9HN5+SbQFHxGZL55CBrtyDzXpVG7ZN/XCcFjX5alPkzEQxjRvH0w2mFG3Zi2co1pRO6yNe3YFeufNOpf3oC3KYBqbk0nsDj+OcaoGJytes7w/8HmdGLSn+5O72oo7+g7D2Z0qigtuS2Ubrcpduqpe53eCPiIY+rF21Bfci1jCNHYj6dORBRytoYogugqoTcNXHXXge26Ikd6nn7QdsCZgcOqGjiad1XWJfu+aV/6bPDfvvCwbvJJty4UX70zbW35pa7OtH1iZ9q+RoJsliiY70x/Az5dw8y7Tlv6fCre/CRllbs7aRWQFAGpgaMwrUUoktm/VC58Be4zmChSKKAg8nFTVegmUZeGcR9VnX/jqXLP6TIll0mbiqJfIsHZFHqMMC4llG2OHhNMyJZIljUelcMxqE6VFCgP4TEiXX0jwK5L9p1bilApY+Hko0vqvlXRmzmv2+3LeF0Osz+jxaTL/tJnv/wA</diagram></mxfile>
|
Binary file not shown.
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 53 KiB |
Loading…
x
Reference in New Issue
Block a user