diff --git a/chapters/3.application-design/3.4.use-cases.tex b/chapters/3.application-design/3.4.use-cases.tex index 551ed23..557c3d0 100644 --- a/chapters/3.application-design/3.4.use-cases.tex +++ b/chapters/3.application-design/3.4.use-cases.tex @@ -5,8 +5,11 @@ Παρατίθενται εδώ τα σενάρια χρήσης που δίνουν τις απαραίτητες πληροφορίες για την κατανόηση της λειτουργίας του συστήματος. \input{chapters/3.application-design/3.4.use-cases/3.4.1.use-case-sign-up} -\input{chapters/3.application-design/3.4.use-cases/3.4.2.use-case-create-topic} -\input{chapters/3.application-design/3.4.use-cases/3.4.3.use-case-fetch-topic} -\input{chapters/3.application-design/3.4.use-cases/3.4.4.use-case-create-post} -\input{chapters/3.application-design/3.4.use-cases/3.4.5.use-case-vote-in-poll} -\input{chapters/3.application-design/3.4.use-cases/3.4.6.use-case-vote-post} +\input{chapters/3.application-design/3.4.use-cases/3.4.2.use-case-sign-in} +\input{chapters/3.application-design/3.4.use-cases/3.4.3.use-case-create-topic} +\input{chapters/3.application-design/3.4.use-cases/3.4.4.use-case-fetch-topic} +\input{chapters/3.application-design/3.4.use-cases/3.4.5.use-case-create-post} +\input{chapters/3.application-design/3.4.use-cases/3.4.6.use-case-modify-post} +\input{chapters/3.application-design/3.4.use-cases/3.4.7.use-case-vote-in-poll} +\input{chapters/3.application-design/3.4.use-cases/3.4.8.use-case-vote-post} +\input{chapters/3.application-design/3.4.use-cases/3.4.9.delete-local-data} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.1.use-case-sign-up.tex b/chapters/3.application-design/3.4.use-cases/3.4.1.use-case-sign-up.tex index 24511cc..91d1ba1 100644 --- a/chapters/3.application-design/3.4.use-cases/3.4.1.use-case-sign-up.tex +++ b/chapters/3.application-design/3.4.use-cases/3.4.1.use-case-sign-up.tex @@ -8,8 +8,8 @@ \useCaseTable {Εγγράφομαι στο σύστημα} {Στόχος του σεναρίου χρήσης είναι ο επισκέπτης να μπορεί να εγγραφεί στο σύστημα ως χρήστης.} -{TODO} -{TODO} +{\ref{srs:functional-srs-sign-up}, \ref{srs:functional-srs-create-user-databases}} +{\ref{srs:non-functional-srs-minimize-fees}} {Ο επισκέπτης πατάει το κουμπί εγγραφή.} {Ο επισκέπτης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} {Σενάριο χρήσης 1, εγγραφή χρήστη στο σύστημα.} @@ -40,7 +40,7 @@ \label{figure:3-4-use-case-sign-up-base-flow-sequence-diagram} \end{figure} -% ===== Alternate flow ===== +% ===== Alternate flows ===== Το <ΣΧ-1> περιέχει επίσης τρεις εναλλακτικές ροές που μπορεί να προκύψουν βάσει των επιλογών του χρήστη και οι οποίες περιγράφονται στους πίνακες \ref{table:3-4-use-case-sign-up-alternate-flow-1}, \ref{table:3-4-use-case-sign-up-alternate-flow-2} και \ref{table:3-4-use-case-sign-up-alternate-flow-3}. diff --git a/chapters/3.application-design/3.4.use-cases/3.4.2.use-case-sign-in.tex b/chapters/3.application-design/3.4.use-cases/3.4.2.use-case-sign-in.tex new file mode 100644 index 0000000..b00c8bf --- /dev/null +++ b/chapters/3.application-design/3.4.use-cases/3.4.2.use-case-sign-in.tex @@ -0,0 +1,35 @@ +% ===== ===== +% Use case 1 +% ===== ===== +\subsection{Σενάριο χρήσης 2: Σύνδεση χρήστη} \label{subsection:3-4-use-case-signin} + +Το σενάριο χρήσης 2, <ΣΧ-2>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την σύνδεση ενός χρήστη στο σύστημα. Στους πίνακες \ref{table:3-4-use-case-sign-in} και \ref{table:3-4-use-case-sign-in-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-2> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-sign-in-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. + +\useCaseTable +{Συνδέομαι στο σύστημα} +{Στόχος του σεναρίου χρήσης είναι ο χρήστης να συνδέεται αυτόματα στο σύστημα.} +{\ref{srs:functional-srs-sign-in}} +{-} +{-} +{Ο χρήστης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} +{Σενάριο χρήσης 2, σύνδεση χρήστη στο σύστημα.} +{\label{table:3-4-use-case-sign-in}} + +% ===== Base flow ===== + +\useCaseBaseFlowTable +{ + 1 & - & Το σύστημα ανακτά τις πληροφορίες του χρήστη από το blockchain. \\ [0.5ex] + \midrule + 2 & - & Το σύστημα δημιουργεί τις προσωπικές βάσεις βάσεις δεδομένων OrbitDb του χρήστη. \\ [0.5ex] +} +{Το σύστημα παραμένει στην αρχική σελίδα της εφαρμογής.} +{Σενάριο χρήσης 2 - Βασική ροή} +{\label{table:3-4-use-case-sign-in-base-flow}} + +\begin{figure}[H] + \centering + \input{tikz/chapter-3/3-4-use-case-sign-in-sequence-diagram} + \caption{Σενάριο χρήσης 2 - Διάγραμμα βασικής ροής} + \label{figure:3-4-use-case-sign-in-base-flow-sequence-diagram} +\end{figure} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.2.use-case-create-topic.tex b/chapters/3.application-design/3.4.use-cases/3.4.3.use-case-create-topic.tex similarity index 87% rename from chapters/3.application-design/3.4.use-cases/3.4.2.use-case-create-topic.tex rename to chapters/3.application-design/3.4.use-cases/3.4.3.use-case-create-topic.tex index 9a5e833..19d82d0 100644 --- a/chapters/3.application-design/3.4.use-cases/3.4.2.use-case-create-topic.tex +++ b/chapters/3.application-design/3.4.use-cases/3.4.3.use-case-create-topic.tex @@ -1,18 +1,18 @@ % ===== ===== -% Use case 2 +% Use case 3 % ===== ===== -\subsection{Σενάριο χρήσης 2: Δημιουργία νέου θέματος} \label{subsection:3-4-use-case-create-topic} +\subsection{Σενάριο χρήσης 3: Δημιουργία νέου θέματος} \label{subsection:3-4-use-case-create-topic} -Το σενάριο χρήσης 2, <ΣΧ-2>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την δημιουργία ενός θέματος. Στους πίνακες \ref{table:3-4-use-case-create-topic} και \ref{table:3-4-use-case-create-topic-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-2> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-create-topic-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. +Το σενάριο χρήσης 3, <ΣΧ-3>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την δημιουργία ενός θέματος. Στους πίνακες \ref{table:3-4-use-case-create-topic} και \ref{table:3-4-use-case-create-topic-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-3> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-create-topic-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. \useCaseTable {Δημιουργώ νέο θέμα} {Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να δημιουργήσει νέο θέμα.} -{TODO} -{TODO} +{\ref{srs:functional-srs-create-topic}, \ref{srs:functional-srs-create-polls}} +{\ref{srs:non-functional-srs-minimize-fees}} {Ο χρήστης πατάει το κουμπί δημιουργίας νέου θέματος.} {Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην αρχική σελίδα.} -{Σενάριο χρήσης 2, δημιουργία νέου θέματος.} +{Σενάριο χρήσης 3, δημιουργία νέου θέματος.} {\label{table:3-4-use-case-create-topic}} % ===== Base flow ===== @@ -26,19 +26,19 @@ 3 & - & Το σύστημα εισάγει τις πληροφορίες του θέματος στην προσωπική βάση OrbitDb του χρήστη. \\ [0.5ex] } {Το σύστημα μεταβαίνει στην σελίδα του νέου θέματος.} -{Σενάριο χρήσης 2 - Βασική ροή} +{Σενάριο χρήσης 3 - Βασική ροή} {\label{table:3-4-use-case-create-topic-base-flow}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-create-topic-sequence-diagram} - \caption{Σενάριο χρήσης 2 - Διάγραμμα βασικής ροής} + \caption{Σενάριο χρήσης 3 - Διάγραμμα βασικής ροής} \label{figure:3-4-use-case-create-topic-base-flow-sequence-diagram} \end{figure} % ===== Alternate flow ===== -Το <ΣΧ-2> περιέχει επίσης δύο εναλλακτικές ροές που μπορεί να προκύψουν βάσει των επιλογών του χρήστη και οι οποίες περιγράφονται στους πίνακες \ref{table:3-4-use-case-create-topic-alternate-flow-1} και \ref{table:3-4-use-case-create-topic-alternate-flow-2}. Η εναλλακτική ροή 1 φαίνεται επίσης στο σχήμα \ref{figure:3-4-use-case-create-topic-alternate-flow-1-sequence-diagram} όπου παρουσιάζεται το διάγραμμα ροής της. +Το <ΣΧ-3> περιέχει επίσης δύο εναλλακτικές ροές που μπορεί να προκύψουν βάσει των επιλογών του χρήστη και οι οποίες περιγράφονται στους πίνακες \ref{table:3-4-use-case-create-topic-alternate-flow-1} και \ref{table:3-4-use-case-create-topic-alternate-flow-2}. Η εναλλακτική ροή 1 φαίνεται επίσης στο σχήμα \ref{figure:3-4-use-case-create-topic-alternate-flow-1-sequence-diagram} όπου παρουσιάζεται το διάγραμμα ροής της. \useCaseAlternateFlowTable {1} @@ -52,13 +52,13 @@ 3 & - & Το σύστημα εισάγει τις πληροφορίες του θέματος και της ψηφοφορίας στις προσωπικές βάσεις OrbitDb του χρήστη. } {Το σύστημα μεταβαίνει στην σελίδα του νέου θέματος.} -{Σενάριο χρήσης 2 - Εναλλακτική ροή 1} +{Σενάριο χρήσης 3 - Εναλλακτική ροή 1} {\label{table:3-4-use-case-create-topic-alternate-flow-1}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-create-topic-alternate-flow-1-sequence-diagram} - \caption{Σενάριο χρήσης 2 - Διάγραμμα εναλλακτικής ροής 1} + \caption{Σενάριο χρήσης 3 - Διάγραμμα εναλλακτικής ροής 1} \label{figure:3-4-use-case-create-topic-alternate-flow-1-sequence-diagram} \end{figure} @@ -70,5 +70,5 @@ 1 & Ο χρήστης πατάει το κουμπί ``Άκυρο'' & Το σύστημα επιστρέφει στην αρχική σελίδα της εφαρμογής. } {Το σενάριο χρήσης τερματίζεται.} -{Σενάριο χρήσης 2 - Εναλλακτική ροή 2} +{Σενάριο χρήσης 3 - Εναλλακτική ροή 2} {\label{table:3-4-use-case-create-topic-alternate-flow-2}} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.3.use-case-fetch-topic.tex b/chapters/3.application-design/3.4.use-cases/3.4.4.use-case-fetch-topic.tex similarity index 86% rename from chapters/3.application-design/3.4.use-cases/3.4.3.use-case-fetch-topic.tex rename to chapters/3.application-design/3.4.use-cases/3.4.4.use-case-fetch-topic.tex index 0044742..4210543 100644 --- a/chapters/3.application-design/3.4.use-cases/3.4.3.use-case-fetch-topic.tex +++ b/chapters/3.application-design/3.4.use-cases/3.4.4.use-case-fetch-topic.tex @@ -1,18 +1,18 @@ % ===== ===== -% Use case 3 +% Use case 4 % ===== ===== -\subsection{Σενάριο χρήσης 3: Ανάκτηση θέματος} \label{subsection:3-4-use-case-fetch-topic} +\subsection{Σενάριο χρήσης 4: Ανάκτηση θέματος} \label{subsection:3-4-use-case-fetch-topic} -Το σενάριο χρήσης 3, <ΣΧ-3>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την ανάκτηση ενός θέματος. Στους πίνακες \ref{table:3-4-use-case-fetch-topic} και \ref{table:3-4-use-case-fetch-topic-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-3> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-fetch-topic-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. +Το σενάριο χρήσης 4, <ΣΧ-4>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την ανάκτηση ενός θέματος. Στους πίνακες \ref{table:3-4-use-case-fetch-topic} και \ref{table:3-4-use-case-fetch-topic-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-4> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-fetch-topic-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. \useCaseTable {Ανακτώ ένα θέμα} {Στόχος του σεναρίου χρήσης είναι ο επισκέπτης ή ο χρήστης να μπορεί να ανακτήσει ένα θέμα.} -{TODO} -{TODO} +{\ref{srs:functional-srs-browse-topics}} +{-} {Ο επισκέπτης ή χρήστης πατάει σε ένα από τα θέματα.} {Ο επισκέπτης ή χρήστης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} -{Σενάριο χρήσης 3, ανάκτηση θέματος.} +{Σενάριο χρήσης 4, ανάκτηση θέματος.} {\label{table:3-4-use-case-fetch-topic}} % ===== Base flow ===== @@ -24,19 +24,19 @@ 2 & - & Το σύστημα ανακτά τα μηνύματα του θέματος αντιγράφοντας τις προσωπικές βάσεις OrbitDb των συγγραφέων. \\ [0.5ex] } {Το σύστημα μεταβαίνει στην σελίδα του θέματος.} -{Σενάριο χρήσης 3 - Βασική ροή} +{Σενάριο χρήσης 4 - Βασική ροή} {\label{table:3-4-use-case-fetch-topic-base-flow}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-fetch-topic-sequence-diagram} - \caption{Σενάριο χρήσης 3 - Διάγραμμα βασικής ροής} + \caption{Σενάριο χρήσης 4 - Διάγραμμα βασικής ροής} \label{figure:3-4-use-case-fetch-topic-base-flow-sequence-diagram} \end{figure} % ===== Alternate flow ===== -Το <ΣΧ-3> περιέχει επίσης μία εναλλακτική ροή που μπορεί να προκύψει βάσει των επιλογών του χρήστη και η οποία περιγράφεται στον πίνακα \ref{table:3-4-use-case-fetch-topic-alternate-flow-1}. Η εναλλακτική ροή 1 φαίνεται επίσης στο σχήμα \ref{figure:3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram} όπου παρουσιάζεται το διάγραμμα ροής της. +Το <ΣΧ-4> περιέχει επίσης μία εναλλακτική ροή που μπορεί να προκύψει βάσει των επιλογών του χρήστη και η οποία περιγράφεται στον πίνακα \ref{table:3-4-use-case-fetch-topic-alternate-flow-1}. Η εναλλακτική ροή 1 φαίνεται επίσης στο σχήμα \ref{figure:3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram} όπου παρουσιάζεται το διάγραμμα ροής της. \useCaseAlternateFlowTable {1} @@ -49,12 +49,12 @@ 4 & - & Το σύστημα επιβεβαιώνει τις πληροφορίες της ψηφοφορίας με βάση το hash που έχει ανακτηθεί από το blockchain. \\ [0.5ex] } {Το σενάριο χρήσης τερματίζεται.} -{Σενάριο χρήσης 3 - Εναλλακτική ροή 1} +{Σενάριο χρήσης 4 - Εναλλακτική ροή 1} {\label{table:3-4-use-case-fetch-topic-alternate-flow-1}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram} - \caption{Σενάριο χρήσης 3 - Διάγραμμα εναλλακτικής ροής 1} + \caption{Σενάριο χρήσης 4 - Διάγραμμα εναλλακτικής ροής 1} \label{figure:3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram} \end{figure} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.4.use-case-create-post.tex b/chapters/3.application-design/3.4.use-cases/3.4.5.use-case-create-post.tex similarity index 84% rename from chapters/3.application-design/3.4.use-cases/3.4.4.use-case-create-post.tex rename to chapters/3.application-design/3.4.use-cases/3.4.5.use-case-create-post.tex index aa37981..d8ec8e5 100644 --- a/chapters/3.application-design/3.4.use-cases/3.4.4.use-case-create-post.tex +++ b/chapters/3.application-design/3.4.use-cases/3.4.5.use-case-create-post.tex @@ -1,18 +1,18 @@ % ===== ===== -% Use case 4 +% Use case 5 % ===== ===== -\subsection{Σενάριο χρήσης 4: Δημιουργία νέου μηνύματος} \label{subsection:3-4-use-case-create-post} +\subsection{Σενάριο χρήσης 5: Δημιουργία νέου μηνύματος} \label{subsection:3-4-use-case-create-post} -Το σενάριο χρήσης 4, <ΣΧ-4>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την δημιουργία ενός μηνύματος. Στους πίνακες \ref{table:3-4-use-case-create-post} και \ref{table:3-4-use-case-create-post-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-4> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-create-post-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. +Το σενάριο χρήσης 5, <ΣΧ-5>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την δημιουργία ενός μηνύματος. Στους πίνακες \ref{table:3-4-use-case-create-post} και \ref{table:3-4-use-case-create-post-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-5> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-create-post-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. \useCaseTable {Δημιουργώ νέο μήνυμα} {Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να δημιουργήσει νέο μήνυμα.} -{TODO} -{TODO} +{\ref{srs:functional-srs-create-post}} +{\ref{srs:non-functional-srs-minimize-fees}} {Ο χρήστης πατάει το κουμπί δημιουργίας νέου μηνύματος.} {Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα ενός θέματος.} -{Σενάριο χρήσης 4, δημιουργία νέου μηνύματος.} +{Σενάριο χρήσης 5, δημιουργία νέου μηνύματος.} {\label{table:3-4-use-case-create-post}} % ===== Base flow ===== @@ -26,19 +26,19 @@ 3 & - & Το σύστημα εισάγει τις πληροφορίες του μηνύματος στην προσωπική βάση OrbitDb του χρήστη. \\ [0.5ex] } {Το σύστημα παραμένει στη σελίδα του θέματος εμφανίζοντας το νέο μήνυμα.} -{Σενάριο χρήσης 4 - Βασική ροή} +{Σενάριο χρήσης 5 - Βασική ροή} {\label{table:3-4-use-case-create-post-base-flow}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-create-post-sequence-diagram} - \caption{Σενάριο χρήσης 4 - Διάγραμμα βασικής ροής} + \caption{Σενάριο χρήσης 5 - Διάγραμμα βασικής ροής} \label{figure:3-4-use-case-create-post-base-flow-sequence-diagram} \end{figure} % ===== Alternate flow ===== -Το <ΣΧ-4> περιέχει επίσης μία εναλλακτική ροή που μπορεί να προκύψει βάσει των επιλογών του χρήστη και η οποία περιγράφεται στον πίνακα \ref{table:3-4-use-case-create-post-alternate-flow-1}. +Το <ΣΧ-5> περιέχει επίσης μία εναλλακτική ροή που μπορεί να προκύψει βάσει των επιλογών του χρήστη και η οποία περιγράφεται στον πίνακα \ref{table:3-4-use-case-create-post-alternate-flow-1}. \useCaseAlternateFlowTable {1} @@ -48,5 +48,5 @@ 1 & Ο χρήστης πατάει το κουμπί ``Άκυρο'' & Το σύστημα επιστρέφει στη σελίδα του θέματος. } {Το σενάριο χρήσης τερματίζεται.} -{Σενάριο χρήσης 4 - Εναλλακτική ροή 1} +{Σενάριο χρήσης 5 - Εναλλακτική ροή 1} {\label{table:3-4-use-case-create-post-alternate-flow-1}} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.6.use-case-modify-post.tex b/chapters/3.application-design/3.4.use-cases/3.4.6.use-case-modify-post.tex new file mode 100644 index 0000000..0ed9213 --- /dev/null +++ b/chapters/3.application-design/3.4.use-cases/3.4.6.use-case-modify-post.tex @@ -0,0 +1,50 @@ +% ===== ===== +% Use case 6 +% ===== ===== +\subsection{Σενάριο χρήσης 6: Τροποποίηση μηνύματος} \label{subsection:3-4-use-case-modify-post} + +Το σενάριο χρήσης 6, <ΣΧ-6>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για τη τροποποίηση ενός μηνύματος. Στους πίνακες \ref{table:3-4-use-case-modify-post} και \ref{table:3-4-use-case-modify-post-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-6> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-modify-post-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. + +\useCaseTable +{Τροποποιώ ένα μήνυμα} +{Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να τροποποιήσει τα μηνύματά του.} +{\ref{srs:functional-srs-modify-post}} +{-} +{Ο χρήστης πατάει το κουμπί τροποποίησης του μηνύματος.} +{Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα του θέματος που περιέχει το μήνυμά του.} +{Σενάριο χρήσης 6, τροποποίηση μηνύματος.} +{\label{table:3-4-use-case-modify-post}} + +% ===== Base flow ===== + +\useCaseBaseFlowTable +{ + 1 & Ο χρήστης πατάει το κουμπί τροποποίησης του μηνύματος. & Το σύστημα εμφανίζει την φόρμα ``Τροποποίηση Μηνύματος''. \\ [0.5ex] + \midrule + 2 & Ο χρήστης συμπληρώνει τα πεδία και πατάει το κουμπί ``Υποβολή''. & Το σύστημα τροποποιεί τις πληροφορίες του μηνύματος στην προσωπική βάση OrbitDb του χρήστη. \\ [0.5ex] +} +{Το σύστημα παραμένει στη σελίδα του θέματος εμφανίζοντας το τροποποιημένο μήνυμα.} +{Σενάριο χρήσης 6 - Βασική ροή} +{\label{table:3-4-use-case-modify-post-base-flow}} + +\begin{figure}[H] + \centering + \input{tikz/chapter-3/3-4-use-case-modify-post-sequence-diagram} + \caption{Σενάριο χρήσης 6 - Διάγραμμα βασικής ροής} + \label{figure:3-4-use-case-modify-post-base-flow-sequence-diagram} +\end{figure} + +% ===== Alternate flow ===== + +Το <ΣΧ-6> περιέχει επίσης μία εναλλακτική ροή που μπορεί να προκύψει βάσει των επιλογών του χρήστη και η οποία περιγράφεται στον πίνακα \ref{table:3-4-use-case-modify-post-alternate-flow-1}. + +\useCaseAlternateFlowTable +{1} +{Ο χρήστης πατάει το κουμπί ``Άκυρο''.} +{Εφόσον ο χρήστης στη γραμμή 2 της Βασικής Ροής επιλέξει ``Άκυρο'' το σύστημα επιστρέφει στη σελίδα του θέματος.} +{ + 1 & Ο χρήστης πατάει το κουμπί ``Άκυρο'' & Το σύστημα επιστρέφει στη σελίδα του θέματος. +} +{Το σενάριο χρήσης τερματίζεται.} +{Σενάριο χρήσης 6 - Εναλλακτική ροή 1} +{\label{table:3-4-use-case-modify-post-alternate-flow-1}} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.5.use-case-vote-in-poll.tex b/chapters/3.application-design/3.4.use-cases/3.4.7.use-case-vote-in-poll.tex similarity index 79% rename from chapters/3.application-design/3.4.use-cases/3.4.5.use-case-vote-in-poll.tex rename to chapters/3.application-design/3.4.use-cases/3.4.7.use-case-vote-in-poll.tex index a4ab259..4e9c5b5 100644 --- a/chapters/3.application-design/3.4.use-cases/3.4.5.use-case-vote-in-poll.tex +++ b/chapters/3.application-design/3.4.use-cases/3.4.7.use-case-vote-in-poll.tex @@ -1,18 +1,18 @@ % ===== ===== -% Use case 5 +% Use case 7 % ===== ===== -\subsection{Σενάριο χρήσης 5: Ψήφιση σε ψηφοφορία} \label{subsection:3-4-use-case-vote-in-poll} +\subsection{Σενάριο χρήσης 7: Ψήφιση σε ψηφοφορία} \label{subsection:3-4-use-case-vote-in-poll} -Το σενάριο χρήσης 5, <ΣΧ-5>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την ψήφιση σε μία ψηφοφορία. Στους πίνακες \ref{table:3-4-use-case-vote-in-poll} και \ref{table:3-4-use-case-vote-in-poll-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-5> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-vote-in-poll-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. +Το σενάριο χρήσης 7, <ΣΧ-7>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την ψήφιση σε μία ψηφοφορία. Στους πίνακες \ref{table:3-4-use-case-vote-in-poll} και \ref{table:3-4-use-case-vote-in-poll-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-7> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-vote-in-poll-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. \useCaseTable {Ψηφίζω σε ψηφοφορία} {Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να ψηφίσει σε μία ψηφοφορία.} -{TODO} -{TODO} +{\ref{srs:functional-srs-vote-polls}} +{\ref{srs:non-functional-srs-minimize-fees}} {Ο χρήστης πατάει το κουμπί ψηφοφορίας.} {Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα ενός θέματος το οποίο περιλαμβάνει ψηφοφορία.} -{Σενάριο χρήσης 5, ψήφιση σε ψηφοφορία.} +{Σενάριο χρήσης 7, ψήφιση σε ψηφοφορία.} {\label{table:3-4-use-case-vote-in-poll}} % ===== Base flow ===== @@ -22,12 +22,12 @@ 1 & Ο χρήστης πατάει το κουμπί της επιλογής που επιθυμεί να ψηφίσει και πατάει το κουμπί ``Υποβολή''. & Το σύστημα εισάγει νέα ψήφο στο blockchain. \\ [0.5ex] } {Το σύστημα ανανεώνει τις πληροφορίες της ψηφοφορίας.} -{Σενάριο χρήσης 5 - Βασική ροή} +{Σενάριο χρήσης 7 - Βασική ροή} {\label{table:3-4-use-case-vote-in-poll-base-flow}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-vote-in-poll-sequence-diagram} - \caption{Σενάριο χρήσης 5 - Διάγραμμα βασικής ροής} + \caption{Σενάριο χρήσης 7 - Διάγραμμα βασικής ροής} \label{figure:3-4-use-case-vote-in-poll-base-flow-sequence-diagram} \end{figure} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.6.use-case-vote-post.tex b/chapters/3.application-design/3.4.use-cases/3.4.8.use-case-vote-post.tex similarity index 79% rename from chapters/3.application-design/3.4.use-cases/3.4.6.use-case-vote-post.tex rename to chapters/3.application-design/3.4.use-cases/3.4.8.use-case-vote-post.tex index 828afcb..a3552c0 100644 --- a/chapters/3.application-design/3.4.use-cases/3.4.6.use-case-vote-post.tex +++ b/chapters/3.application-design/3.4.use-cases/3.4.8.use-case-vote-post.tex @@ -1,18 +1,18 @@ % ===== ===== -% Use case 6 +% Use case 8 % ===== ===== -\subsection{Σενάριο χρήσης 6: Ψήφιση μηνύματος} \label{subsection:3-4-use-case-vote-post} +\subsection{Σενάριο χρήσης 8: Ψήφιση μηνύματος} \label{subsection:3-4-use-case-vote-post} -Το σενάριο χρήσης 6, <ΣΧ-6>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την ψήφιση σε ένα μήνυμα. Στους πίνακες \ref{table:3-4-use-case-vote-post} και \ref{table:3-4-use-case-vote-post-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-6> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-vote-post-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. +Το σενάριο χρήσης 8, <ΣΧ-8>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για την ψήφιση σε ένα μήνυμα. Στους πίνακες \ref{table:3-4-use-case-vote-post} και \ref{table:3-4-use-case-vote-post-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-8> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-vote-post-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. \useCaseTable {Ψηφίζω σε μήνυμα} {Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να υπερψηφίσει ή καταψηφίσει ένα μήνυμα.} -{TODO} -{TODO} +{\ref{srs:functional-srs-vote-posts}} +{\ref{srs:non-functional-srs-minimize-fees}} {Ο επισκέπτης πατάει το κουμπί υπερψήφισης ή καταψήφισης.} {Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα ενός θέματος το οποίο περιλαμβάνει τουλάχιστον ένα μήνυμα το οποίο δεν έχει δημιουργήσει ο ίδιος.} -{Σενάριο χρήσης 6, ψήφιση μηνύματος.} +{Σενάριο χρήσης 8, ψήφιση μηνύματος.} {\label{table:3-4-use-case-vote-post}} % ===== Base flow ===== @@ -22,12 +22,12 @@ 1 & Ο χρήστης πατάει στο κουμπί υπερψήφισης μηνύματος. & Το σύστημα εισάγει νέα ψήφο μηνύματος στο blockchain. \\ [0.5ex] } {Το σύστημα ανανεώνει τις ψήφους του μηνύματος.} -{Σενάριο χρήσης 6 - Βασική ροή} +{Σενάριο χρήσης 8 - Βασική ροή} {\label{table:3-4-use-case-vote-post-base-flow}} \begin{figure}[H] \centering \input{tikz/chapter-3/3-4-use-case-vote-post-sequence-diagram} - \caption{Σενάριο χρήσης 6 - Διάγραμμα βασικής ροής} + \caption{Σενάριο χρήσης 8 - Διάγραμμα βασικής ροής} \label{figure:3-4-use-case-vote-post-base-flow-sequence-diagram} \end{figure} diff --git a/chapters/3.application-design/3.4.use-cases/3.4.9.delete-local-data.tex b/chapters/3.application-design/3.4.use-cases/3.4.9.delete-local-data.tex new file mode 100644 index 0000000..715abf7 --- /dev/null +++ b/chapters/3.application-design/3.4.use-cases/3.4.9.delete-local-data.tex @@ -0,0 +1,35 @@ +% ===== ===== +% Use case 9 +% ===== ===== +\subsection{Σενάριο χρήσης 9: Διαγραφή τοπικών δεδομένων} \label{subsection:3-4-use-case-delete-local-data} + +Το σενάριο χρήσης 9, <ΣΧ-9>, περιγράφει τις διαδοχικές ενέργειες που εκτελούνται για τη διαγραφεί των τοπικών δεδομένων. Στους πίνακες \ref{table:3-4-use-case-delete-local-data} και \ref{table:3-4-use-case-delete-local-data-base-flow} παρατίθενται οι βασικές πληροφορίες του <ΣΧ-9> και οι ενέργειες της βασικής ροής αντίστοιχα, ενώ στο σχήμα \ref{figure:3-4-use-case-delete-local-data-base-flow-sequence-diagram} φαίνεται το διάγραμμα της βασικής ροής. + +\useCaseTable +{Διαγράφω τα τοπικά δεδομένα} +{Στόχος του σεναρίου χρήσης είναι ο επισκέπτης να μπορεί να διαγράψει τα τοπικά δεδομένα που αποθηκεύονται στο σύστημά του από την εφαρμογή.} +{\ref{srs:functional-srs-delete-local-data}} +{-} +{Ο επισκέπτης πατάει το κουμπί διαγραφής των τοπικών δεδομένων.} +{Ο επισκέπτης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} +{Σενάριο χρήσης 9, διαγραφή τοπικών δεδομένων.} +{\label{table:3-4-use-case-delete-local-data}} + +% ===== Base flow ===== + +\useCaseBaseFlowTable +{ + 1 & Ο επισκέπτης πατάει το κουμπί διαγραφής των τοπικών δεδομένων. & Το σύστημα εμφανίζει την φόρμα ``Επιβεβαίωση Διαγραφής Τοπικών Δεδομένων''. \\ [0.5ex] + \midrule + 2 & Ο επισκέπτης συμπληρώνει το πεδίο και πατάει το κουμπί ``Υποβολή''. & Το σύστημα διαγράφει όλες τις τοπικές βάσεις OrbitDb που χρησιμοποιούνται από την εφαρμογή. \\ [0.5ex] +} +{Το σύστημα παραμένει πραγματοποιεί ανανέωση της σελίδας.} +{Σενάριο χρήσης 9 - Βασική ροή} +{\label{table:3-4-use-case-delete-local-data-base-flow}} + +\begin{figure}[H] + \centering + \input{tikz/chapter-3/3-4-use-case-delete-local-data-sequence-diagram} + \caption{Σενάριο χρήσης 9 - Διάγραμμα βασικής ροής} + \label{figure:3-4-use-case-delete-local-data-base-flow-sequence-diagram} +\end{figure} diff --git a/thesis.pdf b/thesis.pdf index 6d69fae..37b8f6c 100644 Binary files a/thesis.pdf and b/thesis.pdf differ diff --git a/tikz/chapter-3/3-4-use-case-delete-local-data-sequence-diagram.tex b/tikz/chapter-3/3-4-use-case-delete-local-data-sequence-diagram.tex new file mode 100644 index 0000000..b9edcdd --- /dev/null +++ b/tikz/chapter-3/3-4-use-case-delete-local-data-sequence-diagram.tex @@ -0,0 +1,16 @@ +\begin{sequencediagram} + \newthread{actor}{Actor}{} + \newinst[4]{concordia}{:Concordia}{} + \newinst[1]{eth}{:Ethereum}{} + \newinst[1]{orbit}{:OrbitDb}{} + + \begin{call}{actor}{Delete local data}{concordia}{Delete confirmation form} + \end{call} + + \begin{call}{actor}{Submit}{concordia}{} + + \begin{call}{concordia}{Delete local DBs}{orbit}{} + \end{call} + + \end{call} +\end{sequencediagram} diff --git a/tikz/chapter-3/3-4-use-case-modify-post-sequence-diagram.tex b/tikz/chapter-3/3-4-use-case-modify-post-sequence-diagram.tex new file mode 100644 index 0000000..c37303b --- /dev/null +++ b/tikz/chapter-3/3-4-use-case-modify-post-sequence-diagram.tex @@ -0,0 +1,16 @@ +\begin{sequencediagram} + \newthread{actor}{Actor}{} + \newinst[4]{concordia}{:Concordia}{} + \newinst[1]{eth}{:Ethereum}{} + \newinst[2]{orbit}{:OrbitDb}{} + + \begin{call}{actor}{Modify post}{concordia}{Post modification form} + \end{call} + + \begin{call}{actor}{Submit}{concordia}{Updated topic page} + + \begin{call}{concordia}{Save modified post information}{orbit}{} + \end{call} + + \end{call} +\end{sequencediagram} diff --git a/tikz/chapter-3/3-4-use-case-sign-in-sequence-diagram.tex b/tikz/chapter-3/3-4-use-case-sign-in-sequence-diagram.tex new file mode 100644 index 0000000..9473ffb --- /dev/null +++ b/tikz/chapter-3/3-4-use-case-sign-in-sequence-diagram.tex @@ -0,0 +1,16 @@ +\begin{sequencediagram} + \newthread{actor}{Actor}{} + \newinst[2]{concordia}{:Concordia}{} + \newinst[2]{eth}{:Ethereum}{} + \newinst[1]{orbit}{:OrbitDb}{} + + \begin{call}{actor}{Fetch page}{concordia}{} + + \begin{call}{concordia}{Get user}{eth}{User information} + \end{call} + + \begin{call}{concordia}{Create databases}{orbit}{} + \end{call} + + \end{call} +\end{sequencediagram}