You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
6.0 KiB

% ===== =====
% Use case 3
% ===== =====
\newpage
\subsection{Σενάριο χρήσης 3: Δημιουργία νέου θέματος} \label{subsection:3-6-use-case-create-topic}
Το σενάριο χρήσης 3 (<ΣΧ-3>) περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για τη δημιουργία ενός θέματος. Στους πίνακες \ref{table:3-6-use-case-create-topic} και \ref{table:3-6-use-case-create-topic-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-3> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-6-use-case-create-topic-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής.
\useCaseTable
{Δημιουργώ νέο θέμα}
{Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να δημιουργήσει νέο θέμα.}
{\ref{srs:functional-srs-create-topic}, \ref{srs:functional-srs-create-polls}}
{\ref{srs:non-functional-srs-minimize-fees}}
{Ο χρήστης πατάει το κουμπί δημιουργίας νέου θέματος.}
{Ο χρήστης πρέπει να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην αρχική σελίδα.}
{Σενάριο χρήσης 3, δημιουργία νέου θέματος}
{\label{table:3-6-use-case-create-topic}}
% ===== Base flow =====
\useCaseBaseFlowTable
{
1 & Ο χρήστης πατάει το κουμπί δημιουργίας νέου θέματος. & Το σύστημα εμφανίζει τη φόρμα "Δημιουργία Θέματος". \\ [0.5ex]
\midrule
2 & Ο χρήστης συμπληρώνει τα πεδία και πατάει το κουμπί "Υποβολή". & Το σύστημα εισάγει νέο θέμα στο blockchain. \\ [0.5ex]
\midrule
3 & - & Το σύστημα εισάγει τις πληροφορίες του θέματος στην προσωπική OrbitDB βάση του χρήστη. \\ [0.5ex]
}
{Το σύστημα μεταβαίνει στη σελίδα του νέου θέματος.}
{Σενάριο χρήσης 3 - Βασική ροή}
{\label{table:3-6-use-case-create-topic-base-flow}}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-6-use-case-create-topic-sequence-diagram}
\caption{Σενάριο χρήσης 3 - Διάγραμμα βασικής ροής}
\label{figure:3-6-use-case-create-topic-base-flow-sequence-diagram}
\end{figure}
\vspace{\baselineskip}
% ===== Alternate flow =====
Το <ΣΧ-3> περιέχει επίσης δύο εναλλακτικές ροές που μπορεί να προκύψουν βάσει των επιλογών του χρήστη και οι οποίες περιγράφονται στους πίνακες \ref{table:3-6-use-case-create-topic-alternate-flow-1} και \ref{table:3-6-use-case-create-topic-alternate-flow-2}. Η εναλλακτική ροή 1 φαίνεται επίσης στο σχήμα \ref{figure:3-6-use-case-create-topic-alternate-flow-1-sequence-diagram}, όπου παρουσιάζεται το διάγραμμα ροής της.
\useCaseAlternateFlowTable
{1}
{Ο χρήστης δημιουργεί ψηφοφορία.}
{Εφόσον ο χρήστης στη γραμμή 2 της Βασικής Ροής επιλέξει "Προσθήκη Ψηφοφορίας" το σύστημα ανανεώνει τη σελίδα προσθέτοντας τα επιπλέον πεδία της φόρμας "Δημιουργία Ψηφοφορίας".}
{
1 & Ο χρήστης, αφού συμπληρώσει τη φόρμα "Δημιουργία Θέματος", πατάει το κουμπί "Προσθήκη ψηφοφορίας" & Το σύστημα ανανεώνει τη σελίδα με τα πεδία της φόρμας "Δημιουργία Ψηφοφορίας". \\ [0.5ex]
\midrule
2 & Ο χρήστης συμπληρώνει τα πεδία και πατάει το κουμπί "Υποβολή". & Το σύστημα εισάγει το νέο θέμα καθώς και τη νέα ψηφοφορία στο blockchain. \\ [0.5ex]
\midrule
3 & - & Το σύστημα εισάγει τις πληροφορίες του θέματος και της ψηφοφορίας στις προσωπικές OrbitDB βάσεις του χρήστη.
}
{Το σύστημα μεταβαίνει στη σελίδα του νέου θέματος.}
{Σενάριο χρήσης 3 - Εναλλακτική ροή 1}
{\label{table:3-6-use-case-create-topic-alternate-flow-1}}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-6-use-case-create-topic-alternate-flow-1-sequence-diagram}
\caption{Σενάριο χρήσης 3 - Διάγραμμα εναλλακτικής ροής 1}
\label{figure:3-6-use-case-create-topic-alternate-flow-1-sequence-diagram}
\end{figure}
\useCaseAlternateFlowTable
{2}
{Ο χρήστης πατάει το κουμπί "Άκυρο".}
{Εφόσον ο χρήστης στη γραμμή 2 της Βασικής Ροής ή στη γραμμή 2 της Εναλλακτικής Ροής 1 επιλέξει "Άκυρο" το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.}
{
1 & Ο χρήστης πατάει το κουμπί "Άκυρο" & Το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.
}
{Το σενάριο χρήσης τερματίζεται.}
{Σενάριο χρήσης 3 - Εναλλακτική ροή 2}
{\label{table:3-6-use-case-create-topic-alternate-flow-2}}