<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">% ===== =====
% Use case 1
% ===== =====
\subsection{Σενάριο χρήσης 1: Εγγραφή χρήστη} \label{subsection:3-6-use-case-signup}

Το σενάριο χρήσης 1, &lt;ΣΧ-1&gt;, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την εγγραφή ενός χρήστη στο σύστημα. Στους πίνακες \ref{table:3-6-use-case-sign-up} και \ref{table:3-6-use-case-sign-up-base-flow} παρατίθενται οι βασικές πληροφορίες του &lt;ΣΧ-1&gt; και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-6-use-case-sign-up-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής.

\useCaseTable
{Εγγράφομαι στο σύστημα}
{Στόχος του σεναρίου χρήσης είναι ο επισκέπτης να μπορεί να εγγραφεί στο σύστημα ως χρήστης.}
{\ref{srs:functional-srs-sign-up}, \ref{srs:functional-srs-create-user-databases}}
{\ref{srs:non-functional-srs-minimize-fees}}
{Ο επισκέπτης πατάει το κουμπί εγγραφή.}
{Ο επισκέπτης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.}
{Σενάριο χρήσης 1, εγγραφή χρήστη στο σύστημα.}
{\label{table:3-6-use-case-sign-up}}

% ===== Base flow =====

\useCaseBaseFlowTable
{
    1 &amp; Ο χρήστης πατάει το κουμπί εγγραφή.                                                    &amp; Το σύστημα εμφανίζει την φόρμα ``Εγγραφή Χρήστη''. \\ [0.5ex]
    \midrule
    2 &amp; Ο χρήστης συμπληρώνει τα πεδία και πατάει το κουμπί ``Υποβολή''.                       &amp; Το σύστημα εισάγει νέο χρήστη στο blockchain. \\ [0.5ex]
    \midrule
    3 &amp; -                                                                                      &amp; Το σύστημα δημιουργεί τις προσωπικές βάσεις βάσεις δεδομένων OrbitDb του χρήστη. \\ [0.5ex]
    \midrule
    4 &amp; -                                                                                      &amp; Το σύστημα εμφανίζει την φόρμα ``Πληροφορίες Χρήστη''. \\ [0.5ex]
    \midrule
    5 &amp; Ο χρήστης συμπληρώνει τις προσωπικές του πληροφορίες και πατάει το κουμπί ``Υποβολή''. &amp; Το σύστημα εισάγει τις πληροφορίες χρήστη στην προσωπική του βάση OrbitDb. \\ [0.5ex]
}
{Το σύστημα μεταβαίνει στην αρχική σελίδα της εφαρμογής.}
{Σενάριο χρήσης 1 - Βασική ροή}
{\label{table:3-6-use-case-sign-up-base-flow}}

\begin{figure}[H]
    \centering
    \input{tikz/chapter-3/3-6-use-case-sign-up-sequence-diagram}
    \caption{Σενάριο χρήσης 1 - Διάγραμμα βασικής ροής}
    \label{figure:3-6-use-case-sign-up-base-flow-sequence-diagram}
\end{figure}

% ===== Alternate flows =====

Το &lt;ΣΧ-1&gt; περιέχει επίσης τρεις εναλλακτικές ροές που μπορεί να προκύψουν βάσει των επιλογών του χρήστη και οι οποίες περιγράφονται στους πίνακες \ref{table:3-6-use-case-sign-up-alternate-flow-1}, \ref{table:3-6-use-case-sign-up-alternate-flow-2} και \ref{table:3-6-use-case-sign-up-alternate-flow-3}.

\useCaseAlternateFlowTable
{1}
{Τα στοιχεία χρήστη είναι λανθασμένα.}
{Εφόσον ο χρήστης στη γραμμή 2 δεν συμπληρώσει το πεδίο ονόματος χρήστη ή συμπληρώσει ένα όνομα χρήστη το οποίο είναι ήδη σε χρήση στο σύστημα, το σύστημα πρέπει να επιστρέψει σχετικό μήνυμα σφάλματος.}
{
    1 &amp; - &amp; Το σύστημα εμφανίζει μήνυμα σφάλματος.
}
{Το σύστημα επιστρέφει στη γραμμή 1 της βασικής ροής.}
{Σενάριο χρήσης 1 - Εναλλακτική ροή 1}
{\label{table:3-6-use-case-sign-up-alternate-flow-1}}

\useCaseAlternateFlowTable
{2}
{Ο χρήστης πατάει το κουμπί ``Άκυρο''.}
{Εφόσον ο χρήστης στη γραμμή 2 της Βασικής Ροής επιλέξει ``Άκυρο'' το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.}
{
    1 &amp; Ο χρήστης πατάει το κουμπί ``Άκυρο'' &amp; Το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.
}
{Το σενάριο χρήσης τερματίζεται.}
{Σενάριο χρήσης 1 - Εναλλακτική ροή 2}
{\label{table:3-6-use-case-sign-up-alternate-flow-2}}

\useCaseAlternateFlowTable
{3}
{Ο χρήστης πατάει το κουμπί ``Παράληψη''.}
{Εφόσον ο χρήστης στη γραμμή 5 της Βασικής Ροής επιλέξει ``Παράληψη'' το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.}
{
    1 &amp; Ο χρήστης πατάει το κουμπί ``Παράληψη'' &amp; Το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.
}
{Το σενάριο χρήσης τερματίζεται.}
{Σενάριο χρήσης 1 - Εναλλακτική ροή 3}
{\label{table:3-6-use-case-sign-up-alternate-flow-3}}
</pre></body></html>