feat: add pflichtenheft

This commit is contained in:
Leon Etienne 2023-02-01 12:41:42 +01:00
parent 927caa85ae
commit fb5b6326d1
Signed by: leonetienne
SSH Key Fingerprint: SHA256:hs2AZKjRTbd2kYg44u89rM19UT2LyBOpSbIShsdkkfg
8 changed files with 74 additions and 22 deletions

View File

@ -6,4 +6,5 @@
\input{appendix/interview-questions} \input{appendix/interview-questions}
\input{appendix/fragebogen-extern} \input{appendix/fragebogen-extern}
\input{appendix/interview-protokoll} \input{appendix/interview-protokoll}
\input{appendix/pflichtenheft}
\end{appendices} \end{appendices}

View File

@ -1,5 +1,5 @@
\chapter{Interview-Protokoll} \chapter{Interview-Protokoll}
\label{chap:interview-protokoll} \label{chap:anhang-interview-protokoll}
\begin{table}[htbp] \begin{table}[htbp]
\centering \centering
@ -21,25 +21,25 @@
- Wird aufgemacht - Wird aufgemacht
- Ziehen qr code raus - Ziehen qr code raus
- Haben entweder Handscanner oder handy und scannen den code ein - Haben entweder Handscanner oder handy und scannen den code ein
- system gibt an, welche Einlieferungsnummer aufgeklebt werden muss - system gibt an, welche \ac{ELN} aufgeklebt werden muss
- wein wird eingelagert - wein wird eingelagert
Die Einlieferungsnummer muss im Verein mit der Jahresauswahlprobe unique sein. Die \ac{ELN} muss im Verein mit der \ac{JAP} unique sein.
Die Einlieferungsnummer ist dann im Format {Einlieferungsnummer}-{Jahresauswahl\-probennummer} Die \ac{ELN} ist dann im Format {\ac{ELN}}-{Jahresauswahl\-probennummer}
z.b. 19-1 gesetzt. Das steht für Einlieferungsnummer 19, Jahresauswahlprobe 1. z.b. 19-1 gesetzt. Das steht für \ac{ELN} 19, \ac{JAP} 1.
Auf Datenkbankebene unique. Auf Datenkbankebene unique.
Es wird bei 1 angefangen zu zählen. Es wird bei 1 angefangen zu zählen.
\paragraph*{Mit was soll dieser Code gescannt werden? Soll der Scanner in der Applikation eingebaut sein, oder soll das System auch mit Drittanbieter-Apps funktionieren?} \paragraph*{Mit was soll dieser Code gescannt werden? Soll der Scanner in der Applikation eingebaut sein, oder soll das System auch mit Drittanbieter-Apps funktionieren?}
Smartphone ist am sinnvollsten, da feedback von Webseite Smartphone ist am sinnvollsten, da feedback von Webseite
Backup-Funktion die Einliefungsnummer händisch einzugeben. Das ginge dann auch mit einem Handscanner. Backup-Funktion die \ac{ELN} händisch einzugeben. Das ginge dann auch mit einem Handscanner.
\paragraph*{Von welchem Endgerät wird gescannt?} \paragraph*{Von welchem Endgerät wird gescannt?}
Es gibt dedizierte Scanhardware, die sich vor Ort befindet. Das genaue Gerät wird in Kürze festgestellt. Es gibt dedizierte Scanhardware, die sich vor Ort befindet. Das genaue Gerät wird in Kürze festgestellt.
\paragraph*{Welche Fallbacks soll es geben, sollte ein Code nicht scanbar sein? Z.B.: Der Code- Inhalt in Text unter dem Code, der auch von Hand eintippbar sei.} \paragraph*{Welche Fallbacks soll es geben, sollte ein Code nicht scanbar sein? Z.B.: Der Code- Inhalt in Text unter dem Code, der auch von Hand eintippbar sei.}
Einlieferungsnummer händisch eingeben. \ac{ELN} händisch eingeben.
Die ELN (Einlieferungsnummer) muss also auch unter dem qr code stehen, aber das ist für uns out-of-scope. Die \ac{ELN} muss also auch unter dem qr code stehen, aber das ist für uns out-of-scope.
Das ist nicht der QR-Code, den wir generieren, sondern der, der beim Einlagern auf die Flasche geklebt wird. Diese lässt Das ist nicht der QR-Code, den wir generieren, sondern der, der beim Einlagern auf die Flasche geklebt wird. Diese lässt
Weinland Mosel im Voraus drucken. Weinland Mosel im Voraus drucken.
@ -51,9 +51,9 @@ Gespeichert in der Datenbank.
\paragraph*{Gibt es im Lager Wlan?} \paragraph*{Gibt es im Lager Wlan?}
Out of scope Out of scope
Es gibt eine Liste mit Jahrsauswahlproben Es gibt eine Liste mit \acp{JAP}
Da werden verschiedene aufgelistet Da werden verschiedene aufgelistet
Backenduser können die Anmeldung (Weine an Proben anmelden) an-und-abschalten. Backenduser können die Anmeldung (Weine an \acp{JAP} anmelden) an-und-abschalten.
Vergangene Proben werden nicht angezeigt. Vergangene Proben werden nicht angezeigt.
Die Probe gilt als vergangen, wenn die Proben probiert wurden. Die Probe gilt als vergangen, wenn die Proben probiert wurden.
Die Anmeldemöglichkeit und Probenanzeige im Anmeldetool ist ein Clone vom „active until“ im „access-„panel. Mit dateselector. Die Anmeldemöglichkeit und Probenanzeige im Anmeldetool ist ein Clone vom „active until“ im „access-„panel. Mit dateselector.
@ -67,10 +67,10 @@ Wenn Nichtmitglied:
Ggf account erstellen ohne Mitgliedsnummer <muss händisch freigeschalten werden> Ggf account erstellen ohne Mitgliedsnummer <muss händisch freigeschalten werden>
Eine Jahresauswahlprobe auswählen Eine \ac{JAP} auswählen
Einen Wein anmelden, Webform zu Weindaten ausfüllen. Einen Wein anmelden, Webform zu Weindaten ausfüllen.
PDF downloaden, ausdrucken im Paket dem Wein beilegen. PDF downloaden, ausdrucken im Paket dem Wein beilegen.
Das PDF muss Daten zum Wein beinhalten, und den qr-code mit der Einlieferungsnummer. (zur Zuordnung) Das PDF muss Daten zum Wein beinhalten, und den qr-code mit der \ac{ELN}. (zur Zuordnung)
Nummernschwund, falls Weine gelöscht werden, ist kein Problem. 196 darf auf 194 folgen. Nummernschwund, falls Weine gelöscht werden, ist kein Problem. 196 darf auf 194 folgen.
Adressierung wird selbst gemacht. Adressierung wird selbst gemacht.
@ -89,12 +89,12 @@ Frankierung auch.
\paragraph*{Soll auch ein Kunde in der Lage sein, seine eigene Weinsendung(en) aus dem System zu löschen oder zu verändern? (Eventuell vertippt man sich) Wenn ja, bis wann? Bis zur Eingangsbestätigung?} \paragraph*{Soll auch ein Kunde in der Lage sein, seine eigene Weinsendung(en) aus dem System zu löschen oder zu verändern? (Eventuell vertippt man sich) Wenn ja, bis wann? Bis zur Eingangsbestätigung?}
Nach Einreichung (nicht Eingang bei WM) nicht mehr veränderbar und auch nicht löschbar. Nach Einreichung (nicht Eingang bei WM) nicht mehr veränderbar und auch nicht löschbar.
\paragraph*{Die Einlieferungsnummer ist eine inkrementell erhöhte Ganzzahl. Ist der tatsäch- liche Wert dieser wichtig, oder ist es lediglich wichtig, dass sie eindeutig ist? Der einfachste/günstigste Weg wäre es, sie in der Datenbank als “auto\_increment” zu deklarieren. Dann hätte man niemals, auch über x Auswahlproben hinweggehend, die selbe Einlieferungsnummern- zwei mal. Das verkürzt und vereinfacht die Entwick- lung, den entstehenden Code, und die Nutzererfahrung auf Seiten von Weinland Mosel.} \paragraph*{Die \ac{ELN} ist eine inkrementell erhöhte Ganzzahl. Ist der tatsäch- liche Wert dieser wichtig, oder ist es lediglich wichtig, dass sie eindeutig ist? Der einfachste/günstigste Weg wäre es, sie in der Datenbank als “auto\_increment” zu deklarieren. Dann hätte man niemals, auch über x Auswahlproben hinweggehend, die selbe \acp{ELN}- zwei mal. Das verkürzt und vereinfacht die Entwick- lung, den entstehenden Code, und die Nutzererfahrung auf Seiten von Weinland Mosel.}
- siehe oben - siehe oben
\paragraph*{Weiteres} \paragraph*{Weiteres}
Es soll einen single-view für weine geben, der anhand einer Einlieferungsnummer aufrufbar ist. Es soll einen single-view für weine geben, der anhand einer \ac{ELN} aufrufbar ist.
\paragraph*{Zum Formular, das Winzer ausfüllen:} \paragraph*{Zum Formular, das Winzer ausfüllen:}
Das Formular besteht zwei Schritten: Das Formular besteht zwei Schritten:

View File

@ -46,9 +46,9 @@ Wenn ja, bis wann? Bis zur Eingangsbestätigung?
Ist hierbei eine Bulk-Action wichtig? Ist hierbei eine Bulk-Action wichtig?
\\ \\
\\ \\
Die Einlieferungsnummer ist eine inkrementell erhöhte Ganzzahl. Die \ac{ELN} ist eine inkrementell erhöhte Ganzzahl.
Ist der tatsächliche Wert dieser wichtig, oder ist es lediglich wichtig, dass sie Ist der tatsächliche Wert dieser wichtig, oder ist es lediglich wichtig, dass sie
eindeutig ist? Der einfachste/günstigste Weg wäre es, sie in der Datenbank als \enquote{auto\_increment} zu deklarieren. eindeutig ist? Der einfachste/günstigste Weg wäre es, sie in der Datenbank als \enquote{auto\_increment} zu deklarieren.
Dann hätte man niemals, auch über x Auswahlproben hinweggehend, die selbe Einlieferungsnummer zwei mal. Dann hätte man niemals, auch über x Auswahlproben hinweggehend, die selbe \ac{ELN} zwei mal.
Das verkürzt und vereinfacht die Entwicklung, den entstehenden Code, und die Nutzererfahrung auf Seiten von Weinland Mosel. Das verkürzt und vereinfacht die Entwicklung, den entstehenden Code, und die Nutzererfahrung auf Seiten von Weinland Mosel.

View File

@ -0,0 +1,37 @@
\chapter{Pflichtenheft}
\label{chap:anhang-pflichtenheft}
\begin{table}[htbp]
\centering
\begin{tabular}{|l|l|}
\hline
\textbf{Art} & \textbf{Beschreibung}\\
\hline
\hline
Constraint & Einbau in brown-field TYPO3\\\hdashline
Constraint & Kunden-UI im Frontend\\\hdashline
\ac{FA} & \makecell[l]{Mitglieder bei \ac{WM} können sich einen Nutzeraccount erstellen}\\\hdashline
\ac{FA} & \makecell[l]{Nicht-Mitglieder bei \ac{WM} können sich einen Nutzeraccount\\erstellen}\\\hdashline
\ac{FA} & \makecell[l]{Angemeldete Nutzer sehen eine Übersicht aller\\aktiven \acp{JAP}}\\\hdashline
\ac{FA} & \makecell[l]{Angemeldete Nutzer können mehrere Weine bei aktiven\\\acp{JAP} anmelden}\\\hdashline
\ac{FA} & \makecell[l]{Eine Weinanmeldung frägt Weindaten mit einem Webform ab}\\\hdashline
\ac{FA} & \makecell[l]{Vor Abschluss des Formulars wird eine Übersicht der\\Daten gezeigt}\\\hdashline
\ac{FA} & \makecell[l]{Das Formular lässt sich mit einem \enquote{Jetzt verbindlich anmelden}\\abschicken}\\\hdashline
\ac{FA} & \makecell[l]{Angemeldete Nutzer sehen angemeldete Weine für\\\acp{JAP} inklusive Versandstatus}\\\hdashline
\ac{FA} & \makecell[l]{Für angemeldete Weine lassen sich PDF-Dateien herunterladen, die\\die \ac{ELN} als Barcode und eine Beschreibung des Weines enthalten}\\\hdashline
\ac{NFA} & \makecell[l]{Das Formular mit Weindaten und dem QR-Code lässt sich\\auch direkt nach Anmeldung eines Weines herunterladen}\\\hdashline
\ac{FA} & \makecell[l]{Mitarbeiter von \ac{WM} können eingetragene Weine als\\TYPO3-Objekte manipulieren}\\\hdashline
\ac{FA} & \makecell[l]{Mitarbeiter von \ac{WM} können \acp{JAP} im Backend\\zeitgesteuert für Anmeldungen freigeben}\\\hdashline
\ac{FA} & \makecell[l]{Mitarbeiter von \ac{WM} können \acp{JAP} im Backend\\zeitgesteuert für die Einsicht freigeben}\\\hdashline
\ac{FA} & \makecell[l]{Mitarbeiter von \ac{WM} können einen gesicherten API-Link anhand\\einer \ac{ELN} aufrufen um einen Wein als \enquote{eingegangen}\\zu markieren}\\\hdashline
\ac{NFA} & \makecell[l]{Der API-Link ist mittels eines API-Keys gesichert}\\\hdashline
\ac{NFA} & \makecell[l]{Der API-Key wird in POST-Daten übergeben}\\\hdashline
\ac{NFA} & \makecell[l]{Die \ac{ELN} wird url-kodiert übergeben}\\\hdashline
\ac{FA} & \makecell[l]{Mitarbeiter von \ac{WM} können diesen API-Key im Backend\\verändern}\\\hdashline
\ac{NFA} & \makecell[l]{Nach Aufruf eines API-Links wird gezeigt, weilcher Wein\\gescannt wurde}\\\hdashline
\ac{FA} & \makecell[l]{Nach Aufruf eines API-Links gibt es einen Button die\\Buchung zurückzuziehen}\\\hdashline
\ac{FA} & \makecell[l]{Es gibt eine Weboberfläche um \acp{ELN} händisch einzugeben}\\\hdashline
\ac{NFA} & \makecell[l]{Der Prozess soll auf ein GERÄT\_XYZ spezialisiert sein}\\
\hline
\end{tabular}
\end{table}

View File

@ -22,11 +22,11 @@ Wie oben erwähnt, sind bereits die Constraints und einige funktionale Anforderu
\hdashline \hdashline
Constraint & Kunden-UI im Frontend\\ Constraint & Kunden-UI im Frontend\\
\hdashline \hdashline
\ac{FA} & Aus dem Papierformular soll ein Webform werden\\ \ac{NFA} & Aus dem Papierformular soll ein Webform werden\\
\hdashline \hdashline
\ac{FA} & \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{FA} & \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).}\\
\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
@ -68,3 +68,10 @@ Sämtliche Fragen an die Stakeholdergruppe \enquote{Mitarbeiter \ac{WM}} wurden
beantwortet und als Anforderung festgehalten. Insofern gibt es schlichtweg keine offnen Fragen, die diese Stakeholdergruppe beantwortet und als Anforderung festgehalten. Insofern gibt es schlichtweg keine offnen Fragen, die diese Stakeholdergruppe
beantworten könnten. Damit fällt ein Onlinefragebogen für \enquote{Mitarbeiter \ac{WM}} weg. beantworten könnten. Damit fällt ein Onlinefragebogen für \enquote{Mitarbeiter \ac{WM}} weg.
Der Fragebogen zur Stakeholdergruppe \enquote{teilnehmende Weingüter} liegt in \fullref{chap:anhang-fragebogen-extern} bei. Der Fragebogen zur Stakeholdergruppe \enquote{teilnehmende Weingüter} liegt in \fullref{chap:anhang-fragebogen-extern} bei.
\section{Ergebnisse}
Aus dem Interview mit dem Product Owner und dem Fragebogen an die Winzer ergibt ein Pflichtenheft.
Dieses ist im Anhang unter \fullref{chap:anhang-pflichtenheft} zu finden.
Das Interviewprotokoll und Fragebogenergebnisse sind im Anhang unter
\fullref{chap:anhang-interview-protokoll} und XXXX zu finden.

View File

@ -1,8 +1,9 @@
\chapter{Einleitung} \chapter{Einleitung}
\label{chap:einleitung} \label{chap:einleitung}
Der Regionalverband für Weine \ac{WM} lässt Weine in organisierten Weinproben von Juroren bewerten. Der Regionalverband für Weine \ac{WM} lässt Weine in organisierten Weinproben, sog. \ac{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 Excel-Tabelle übertragen werden, ab. Dieser Prozess bildet sich in Form von ausgedruckten Formularen, die von Hand ausgefüllt und von Hand in eine
Excel-Tabelle übertragen werden, ab.
\section{Problemstellung} \section{Problemstellung}
\label{chap:einleitung-problemstellung} \label{chap:einleitung-problemstellung}
@ -24,7 +25,7 @@ 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, weil es oft vorkommt, dass die zuteils
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 Einlieferungsnummer 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.
\section{Zielsetzung} \section{Zielsetzung}

View File

@ -18,6 +18,12 @@
\acro{NFA}[NFA]{Nichtfunktionale Anforderung} \acro{NFA}[NFA]{Nichtfunktionale Anforderung}
\acroplural{NFA}[FAs]{Nichtfunktionale Anforderungen} \acroplural{NFA}[FAs]{Nichtfunktionale Anforderungen}
\acro{ELN}[ELN]{Einlieferungsnummer}
\acroplural{ELN}[ELNs]{Einlieferungsnummern}
\acro{JAP}[JAP]{Jahresauswahlprobe}
\acroplural{JAP}[JAPs]{Jahresauswahlproben}
% %
% %
\end{acronym} \end{acronym}

BIN
main.pdf

Binary file not shown.