% ===== ===== % Use case 1 % ===== ===== \subsection{Σενάριο χρήσης 1: Εγγραφή χρήστη} \label{subsection:3-6-use-case-signup} Το σενάριο χρήσης 1 (<ΣΧ-1>) περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την εγγραφή ενός χρήστη στο σύστημα. Στους πίνακες \ref{table:3-6-use-case-sign-up} και \ref{table:3-6-use-case-sign-up-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-1> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \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}} {Ο επισκέπτης πατάει το κουμπί "Sign Up".} {Ο επισκέπτης πρέπει να έχει ανοίξει τη σελίδα της εφαρμογής.} {Σενάριο χρήσης 1, εγγραφή χρήστη στο σύστημα} {\label{table:3-6-use-case-sign-up}} % ===== Base flow ===== \useCaseBaseFlowTable { 1 & Ο χρήστης πατάει το κουμπί "Εγγραφή". & Το σύστημα εμφανίζει τη φόρμα "Εγγραφή Χρήστη". \\ [0.5ex] \midrule 2 & Ο χρήστης συμπληρώνει τα πεδία και πατάει το κουμπί "Υποβολή". & Το σύστημα εισάγει νέο χρήστη στο blockchain. \\ [0.5ex] \midrule 3 & - & Το σύστημα δημιουργεί τις προσωπικές OrbitDB βάσεις δεδομένων του χρήστη. \\ [0.5ex] \midrule 4 & - & Το σύστημα εμφανίζει τη φόρμα "Πληροφορίες Χρήστη". \\ [0.5ex] \midrule 5 & Ο χρήστης συμπληρώνει τις προσωπικές του πληροφορίες και πατάει το κουμπί "Υποβολή". & Το σύστημα εισάγει τις πληροφορίες χρήστη στην προσωπική του 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 ===== Το <ΣΧ-1> περιέχει επίσης τρεις εναλλακτικές ροές που μπορεί να προκύψουν βάσει των επιλογών του χρήστη και οι οποίες περιγράφονται στους πίνακες \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 & - & Το σύστημα εμφανίζει μήνυμα σφάλματος. } {Το σύστημα επιστρέφει στη γραμμή 1 της βασικής ροής.} {Σενάριο χρήσης 1 - Εναλλακτική ροή 1} {\label{table:3-6-use-case-sign-up-alternate-flow-1}} \useCaseAlternateFlowTable {2} {Ο χρήστης πατάει το κουμπί "Άκυρο".} {Εφόσον ο χρήστης στη γραμμή 2 της Βασικής Ροής επιλέξει "Άκυρο" το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.} { 1 & Ο χρήστης πατάει το κουμπί "Άκυρο" & Το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής. } {Το σενάριο χρήσης τερματίζεται.} {Σενάριο χρήσης 1 - Εναλλακτική ροή 2} {\label{table:3-6-use-case-sign-up-alternate-flow-2}} \useCaseAlternateFlowTable {3} {Ο χρήστης πατάει το κουμπί "Παράληψη".} {Εφόσον ο χρήστης στη γραμμή 5 της Βασικής Ροής επιλέξει "Παράληψη" το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής.} { 1 & Ο χρήστης πατάει το κουμπί "Παράληψη" & Το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής. } {Το σενάριο χρήσης τερματίζεται.} {Σενάριο χρήσης 1 - Εναλλακτική ροή 3} {\label{table:3-6-use-case-sign-up-alternate-flow-3}}