Browse Source

feat: init use cases sequence diagrams

develop
Apostolos Fanakis 3 years ago
parent
commit
71dbdb0b9a
Signed by: Apostolof GPG Key ID: 8600B4C4163B3269
  1. 72
      chapters/3.application-design/3.4.use-cases.tex
  2. 3
      packages.tex
  3. BIN
      thesis.pdf
  4. 19
      tikz/chapter-3/3-4-use-case-create-post-sequence-diagram.tex
  5. 28
      tikz/chapter-3/3-4-use-case-create-topic-alternate-flow-1-sequence-diagram.tex
  6. 19
      tikz/chapter-3/3-4-use-case-create-topic-sequence-diagram.tex
  7. 41
      tikz/chapter-3/3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram.tex
  8. 32
      tikz/chapter-3/3-4-use-case-fetch-topic-sequence-diagram.tex
  9. 26
      tikz/chapter-3/3-4-use-case-sign-up-sequence-diagram.tex
  10. 12
      tikz/chapter-3/3-4-use-case-vote-in-poll-sequence-diagram.tex
  11. 12
      tikz/chapter-3/3-4-use-case-vote-post-sequence-diagram.tex

72
chapters/3.application-design/3.4.use-cases.tex

@ -68,6 +68,13 @@
{Σενάριο χρήσης 1 - Εναλλακτική ροή 3} {Σενάριο χρήσης 1 - Εναλλακτική ροή 3}
{3-4-use-case-sign-up-alternate-flow-3} {3-4-use-case-sign-up-alternate-flow-3}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-4-use-case-sign-up-sequence-diagram}
\caption{Σενάριο χρήσης 1 - Διάγραμμα βασικής ροής}
\label{figure:3-4-use-case-sign-up-base-flow-sequence-diagram}
\end{figure}
% ===== ===== % ===== =====
% Use case 2 % Use case 2
% ===== ===== % ===== =====
@ -121,6 +128,20 @@
{Σενάριο χρήσης 2 - Εναλλακτική ροή 2} {Σενάριο χρήσης 2 - Εναλλακτική ροή 2}
{3-4-use-case-create-topic-alternate-flow-2} {3-4-use-case-create-topic-alternate-flow-2}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-4-use-case-create-topic-sequence-diagram}
\caption{Σενάριο χρήσης 2 - Διάγραμμα βασικής ροής}
\label{figure:3-4-use-case-create-topic-base-flow-sequence-diagram}
\end{figure}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-4-use-case-create-topic-alternate-flow-1-sequence-diagram}
\caption{Σενάριο χρήσης 2 - Διάγραμμα εναλλακτικής ροής 1}
\label{figure:3-4-use-case-create-topic-alternate-flow-1-sequence-diagram}
\end{figure}
% ===== ===== % ===== =====
% Use case 3 % Use case 3
% ===== ===== % ===== =====
@ -146,6 +167,34 @@
{Σενάριο χρήσης 3 - Βασική ροή} {Σενάριο χρήσης 3 - Βασική ροή}
{3-4-use-case-fetch-topic-base-flow} {3-4-use-case-fetch-topic-base-flow}
\useCaseAlternateFlowTable
{1}
{Το θέμα περιέχει ψηφοφορία.}
{Εφόσον το θέμα που ανακτήθηκε στη γραμμή 1 της Βασικής Ροής περιέχει ψηφοφορία ανακτώνται οι πληροφορίες της.}
{
1 & - & Το σύστημα ανακτά τα μηνύματα του θέματος αντιγράφοντας τις προσωπικές βάσεις OrbitDb των συγγραφέων. \\ [0.5ex]
2 & - & Το σύστημα ανακτά την ψηφοφορία από το blockchain. \\ [0.5ex]
3 & - & Το σύστημα ανακτά τις πληροφορίες της ψηφοφορίας αντιγράφοντας την προσωπική βάση OrbitDb του συγγραφέα. \\ [0.5ex]
4 & - & Το σύστημα επιβεβαιώνει τις πληροφορίες της ψηφοφορίας με βάση το hash που έχει ανακτηθεί από το blockchain. \\ [0.5ex]
}
{Το σενάριο χρήσης τερματίζεται.}
{Σενάριο χρήσης 3 - Εναλλακτική ροή 1}
{3-4-use-case-fetch-topic-alternate-flow-1}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-4-use-case-fetch-topic-sequence-diagram}
\caption{Σενάριο χρήσης 3 - Διάγραμμα βασικής ροής}
\label{figure:3-4-use-case-fetch-topic-base-flow-sequence-diagram}
\end{figure}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram}
\caption{Σενάριο χρήσης 3 - Διάγραμμα εναλλακτικής ροής 1}
\label{figure:3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram}
\end{figure}
% ===== ===== % ===== =====
% Use case 4 % Use case 4
% ===== ===== % ===== =====
@ -184,6 +233,13 @@
{Σενάριο χρήσης 4 - Εναλλακτική ροή 1} {Σενάριο χρήσης 4 - Εναλλακτική ροή 1}
{3-4-use-case-create-post-alternate-flow-1} {3-4-use-case-create-post-alternate-flow-1}
\begin{figure}[H]
\centering
\input{tikz/chapter-3/3-4-use-case-create-post-sequence-diagram}
\caption{Σενάριο χρήσης 4 - Διάγραμμα βασικής ροής}
\label{figure:3-4-use-case-create-post-base-flow-sequence-diagram}
\end{figure}
% ===== ===== % ===== =====
% Use case 5 % Use case 5
% ===== ===== % ===== =====
@ -207,6 +263,13 @@
{Σενάριο χρήσης 5 - Βασική ροή} {Σενάριο χρήσης 5 - Βασική ροή}
{3-4-use-case-vote-in-poll-base-flow} {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 - Διάγραμμα βασικής ροής}
\label{figure:3-4-use-case-vote-in-poll-base-flow-sequence-diagram}
\end{figure}
% ===== ===== % ===== =====
% Use case 6 % Use case 6
% ===== ===== % ===== =====
@ -228,4 +291,11 @@
} }
{Το σύστημα ανανεώνει τις ψήφους του μηνύματος.} {Το σύστημα ανανεώνει τις ψήφους του μηνύματος.}
{Σενάριο χρήσης 6 - Βασική ροή} {Σενάριο χρήσης 6 - Βασική ροή}
{3-4-3-4-use-case-vote-post-base-flow} {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 - Διάγραμμα βασικής ροής}
\label{figure:3-4-use-case-vote-post-base-flow-sequence-diagram}
\end{figure}

3
packages.tex

@ -25,6 +25,9 @@
\usepackage{tabularx} % Support for break lines inside table cells \usepackage{tabularx} % Support for break lines inside table cells
\usepackage{booktabs} % Useful table styling commands \usepackage{booktabs} % Useful table styling commands
% --- TikZ and UML diagrams
\usepackage{pgf-umlsd}
% --- Bibliography --- % --- Bibliography ---
\usepackage[sorting=none]{biblatex} % Make sure to have biber as default bibliography tool (e.g. in Texstudio's build configuration) \usepackage[sorting=none]{biblatex} % Make sure to have biber as default bibliography tool (e.g. in Texstudio's build configuration)

BIN
thesis.pdf

Binary file not shown.

19
tikz/chapter-3/3-4-use-case-create-post-sequence-diagram.tex

@ -0,0 +1,19 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[3]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\newinst[1]{orbit}{:OrbitDb}{}
\begin{call}{actor}{Create post}{concordia}{Post creation form}
\end{call}
\begin{call}{actor}{Submit}{concordia}{Updated topic page}
\begin{call}{concordia}{Create post}{eth}{New post ID}
\end{call}
\begin{call}{concordia}{Save post information}{orbit}{}
\end{call}
\end{call}
\end{sequencediagram}

28
tikz/chapter-3/3-4-use-case-create-topic-alternate-flow-1-sequence-diagram.tex

@ -0,0 +1,28 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[4]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\newinst[1]{orbit}{:OrbitDb}{}
\begin{call}{actor}{Create topic}{concordia}{Topic creation form}
\end{call}
\begin{call}{actor}{Add poll}{concordia}{Poll creation form}
\end{call}
\begin{call}{actor}{Submit}{concordia}{New topic-poll page}
\begin{call}{concordia}{Create topic}{eth}{New topic ID}
\end{call}
\begin{call}{concordia}{Add poll to topic}{eth}{}
\end{call}
\begin{call}{concordia}{Save topic information}{orbit}{}
\end{call}
\begin{call}{concordia}{Save poll information}{orbit}{}
\end{call}
\end{call}
\end{sequencediagram}

19
tikz/chapter-3/3-4-use-case-create-topic-sequence-diagram.tex

@ -0,0 +1,19 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[4]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\newinst[1]{orbit}{:OrbitDb}{}
\begin{call}{actor}{Create topic}{concordia}{Topic creation form}
\end{call}
\begin{call}{actor}{Submit}{concordia}{New topic page}
\begin{call}{concordia}{Create topic}{eth}{New topic ID}
\end{call}
\begin{call}{concordia}{Save topic information}{orbit}{}
\end{call}
\end{call}
\end{sequencediagram}

41
tikz/chapter-3/3-4-use-case-fetch-topic-alternate-flow-1-sequence-diagram.tex

@ -0,0 +1,41 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[2]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\newinst[1]{orbit}{:OrbitDb}{}
\begin{call}{actor}{Fetch topic}{concordia}{Topic}
\begin{call}{concordia}{Get topic}{eth}{Topic}
\end{call}
\begin{call}{concordia}{Get poll}{eth}{Poll}
\end{call}
\begin{call}{concordia}{Get topic post IDs}{eth}{Post IDs}
\end{call}
\begin{call}{concordia}{Get posts loop}{concordia}{Posts}
\begin{call}{concordia}{Get post}{eth}{Post}
\end{call}
\end{call}
\begin{call}{concordia}{Retrieve topic information}{orbit}{}
\end{call}
\begin{call}{concordia}{Retrieve poll information}{orbit}{}
\end{call}
\begin{call}{concordia}{Validate poll information}{concordia}{}
\end{call}
\begin{call}{concordia}{Retrieve posts information loop}{concordia}{Posts information}
\begin{call}{concordia}{Retrieve post information}{orbit}{}
\end{call}
\end{call}
\end{call}
\end{sequencediagram}

32
tikz/chapter-3/3-4-use-case-fetch-topic-sequence-diagram.tex

@ -0,0 +1,32 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[2]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\newinst[1]{orbit}{:OrbitDb}{}
\begin{call}{actor}{Fetch topic}{concordia}{Topic}
\begin{call}{concordia}{Get topic}{eth}{Topic}
\end{call}
\begin{call}{concordia}{Get topic post IDs}{eth}{Post IDs}
\end{call}
\begin{call}{concordia}{Get posts loop}{concordia}{Posts}
\begin{call}{concordia}{Get post}{eth}{Post}
\end{call}
\end{call}
\begin{call}{concordia}{Retrieve topic information}{orbit}{}
\end{call}
\begin{call}{concordia}{Retrieve posts information loop}{concordia}{Posts information}
\begin{call}{concordia}{Retrieve post information}{orbit}{}
\end{call}
\end{call}
\end{call}
\end{sequencediagram}

26
tikz/chapter-3/3-4-use-case-sign-up-sequence-diagram.tex

@ -0,0 +1,26 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[4]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\newinst[1]{orbit}{:OrbitDb}{}
\begin{call}{actor}{Sign up}{concordia}{Sign up form}
\end{call}
\begin{call}{actor}{Submit}{concordia}{Personal information form}
\begin{call}{concordia}{Create user}{eth}{New user ID}
\end{call}
\begin{call}{concordia}{Create databases}{orbit}{}
\end{call}
\end{call}
\begin{call}{actor}{Submit}{concordia}{Home page}
\begin{call}{concordia}{Save personal information}{orbit}{}
\end{call}
\end{call}
\end{sequencediagram}

12
tikz/chapter-3/3-4-use-case-vote-in-poll-sequence-diagram.tex

@ -0,0 +1,12 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[3]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\begin{call}{actor}{Submit poll vote}{concordia}{Updated topic page}
\begin{call}{concordia}{Add poll vote}{eth}{}
\end{call}
\end{call}
\end{sequencediagram}

12
tikz/chapter-3/3-4-use-case-vote-post-sequence-diagram.tex

@ -0,0 +1,12 @@
\begin{sequencediagram}
\newthread{actor}{Actor}{}
\newinst[3]{concordia}{:Concordia}{}
\newinst[2]{eth}{:Ethereum}{}
\begin{call}{actor}{Submit post vote}{concordia}{Updated topic page}
\begin{call}{concordia}{Add post vote}{eth}{}
\end{call}
\end{call}
\end{sequencediagram}
Loading…
Cancel
Save