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