Browse Source

feat: add missing use cases

develop
Apostolos Fanakis 3 years ago
parent
commit
c8c46ddd29
Signed by: Apostolof GPG Key ID: 8600B4C4163B3269
  1. 13
      chapters/3.application-design/3.4.use-cases.tex
  2. 6
      chapters/3.application-design/3.4.use-cases/3.4.1.use-case-sign-up.tex
  3. 35
      chapters/3.application-design/3.4.use-cases/3.4.2.use-case-sign-in.tex
  4. 24
      chapters/3.application-design/3.4.use-cases/3.4.3.use-case-create-topic.tex
  5. 22
      chapters/3.application-design/3.4.use-cases/3.4.4.use-case-fetch-topic.tex
  6. 20
      chapters/3.application-design/3.4.use-cases/3.4.5.use-case-create-post.tex
  7. 50
      chapters/3.application-design/3.4.use-cases/3.4.6.use-case-modify-post.tex
  8. 16
      chapters/3.application-design/3.4.use-cases/3.4.7.use-case-vote-in-poll.tex
  9. 16
      chapters/3.application-design/3.4.use-cases/3.4.8.use-case-vote-post.tex
  10. 35
      chapters/3.application-design/3.4.use-cases/3.4.9.delete-local-data.tex
  11. BIN
      thesis.pdf
  12. 16
      tikz/chapter-3/3-4-use-case-delete-local-data-sequence-diagram.tex
  13. 16
      tikz/chapter-3/3-4-use-case-modify-post-sequence-diagram.tex
  14. 16
      tikz/chapter-3/3-4-use-case-sign-in-sequence-diagram.tex

13
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}

6
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}.

35
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}

24
chapters/3.application-design/3.4.use-cases/3.4.2.use-case-create-topic.tex → 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}}

22
chapters/3.application-design/3.4.use-cases/3.4.3.use-case-fetch-topic.tex → 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}

20
chapters/3.application-design/3.4.use-cases/3.4.4.use-case-create-post.tex → 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}}

50
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}}

16
chapters/3.application-design/3.4.use-cases/3.4.5.use-case-vote-in-poll.tex → 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}

16
chapters/3.application-design/3.4.use-cases/3.4.6.use-case-vote-post.tex → 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}

35
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}

BIN
thesis.pdf

Binary file not shown.

16
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}

16
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}

16
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}
Loading…
Cancel
Save