diff --git a/chapters/3.application-design/3.4.use-cases.tex b/chapters/3.application-design/3.4.use-cases.tex index 32bbfc7..fba985a 100644 --- a/chapters/3.application-design/3.4.use-cases.tex +++ b/chapters/3.application-design/3.4.use-cases.tex @@ -1,4 +1,110 @@ \section{Σενάρια χρήσης} \label{section:3-4-use-cases} -Βασικό μέρος την σχεδίασης της πλατφόρμας ήταν η καταγραφή των απαιτήσεων η οποία έγινε στο προηγούμενο κεφάλαιο (\ref{section:3-3-requirements}) καθώς και η σχεδίαση και ανάπτυξη των σεναρίων χρήσης. +Βασικό μέρος της σχεδίασης της πλατφόρμας ήταν η καταγραφή των απαιτήσεων η οποία έγινε στο προηγούμενο κεφάλαιο (\ref{section:3-3-requirements}) καθώς και η σχεδίαση και ανάπτυξη των σεναρίων χρήσης. Τα σενάρια χρήσης αντιστοιχίζουν πιθανές ενέργειες των χρηστών με αποκρίσεις του συστήματος. Μέσω της αντιστοίχισης αυτής παρουσιάζεται η λειτουργικότητα του συστήματος και περιγράφονται τόσο οι λειτουργικές όσο και οι μη λειτουργικές απαιτήσεις του συστήματος. +Παρατίθενται εδώ τα σενάρια χρήσης που δίνουν τις απαραίτητες πληροφορίες για την κατανόηση της λειτουργίας του συστήματος. + +% ===== ===== +% Use case 1 +% ===== ===== +\subsection{Σενάριο χρήσης 1: Εγγραφή χρήστη} \label{subsection:3-4-use-case-signup} + +\useCaseTable +{Εγγράφομαι στο σύστημα} +{Στόχος του σεναρίου χρήσης είναι ο επισκέπτης να μπορεί να εγγραφεί στο σύστημα ως χρήστης.} +{TODO} +{TODO} +{Ο επισκέπτης πατάει το κουμπί εγγραφή.} +{Ο επισκέπτης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} +{Σενάριο χρήσης 1, εγγραφή χρήστη στο σύστημα.} +{3-4-use-case-sign-up} + +% ===== ===== +% Use case 2 +% ===== ===== +\subsection{Σενάριο χρήσης 2: Περιήγηση στα θέματα} \label{subsection:3-4-use-case-browse-topics} + +\useCaseTable +{Περιηγούμαι στα θέματα} +{Στόχος του σεναρίου χρήσης είναι ο επισκέπτης ή ο χρήστης να μπορεί να περιηγηθεί στη λίστα με τα θέματα.} +{TODO} +{TODO} +{Δεν απαιτείται πυροδότηση.} +{Ο επισκέπτης ή χρήστης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} +{Σενάριο χρήσης 2, περιήγηση στα θέματα.} +{3-4-use-case-browse-topics} + +% ===== ===== +% Use case 3 +% ===== ===== +\subsection{Σενάριο χρήσης 3: Δημιουργία νέου θέματος} \label{subsection:3-4-use-case-create-topic} + +\useCaseTable +{Δημιουργώ νέο θέμα} +{Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να δημιουργήσει νέο θέμα.} +{TODO} +{TODO} +{Ο χρήστης πατάει το κουμπί δημιουργίας νέου θέματος.} +{Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην αρχική σελίδα.} +{Σενάριο χρήσης 3, δημιουργία νέου θέματος.} +{3-4-use-case-create-topic} + +% ===== ===== +% Use case 4 +% ===== ===== +\subsection{Σενάριο χρήσης 4: Ανάκτηση θέματος} \label{subsection:3-4-use-case-fetch-topic} + +\useCaseTable +{Ανακτώ ένα θέμα} +{Στόχος του σεναρίου χρήσης είναι ο επισκέπτης ή ο χρήστης να μπορεί να ανακτήσει ένα θέμα.} +{TODO} +{TODO} +{Ο επισκέπτης ή χρήστης πατάει σε ένα από τα θέματα.} +{Ο επισκέπτης ή χρήστης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} +{Σενάριο χρήσης 4, ανάκτηση θέματος.} +{3-4-use-case-fetch-topic} + +% ===== ===== +% Use case 5 +% ===== ===== +\subsection{Σενάριο χρήσης 5: Δημιουργία νέου μηνύματος} \label{subsection:3-4-use-case-create-post} + +\useCaseTable +{Δημιουργώ νέο μήνυμα} +{Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να δημιουργήσει νέο μήνυμα.} +{TODO} +{TODO} +{Ο χρήστης πατάει το κουμπί δημιουργίας νέου μηνύματος.} +{Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα ενός θέματος.} +{Σενάριο χρήσης 5, δημιουργία νέου μηνύματος.} +{3-4-use-case-create-post} + +% ===== ===== +% Use case 6 +% ===== ===== +\subsection{Σενάριο χρήσης 6: Ψήφιση σε ψηφοφορία} \label{subsection:3-4-use-case-vote-in-poll} + +\useCaseTable +{Ψηφίζω σε ψηφοφορία} +{Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να ψηφίσει σε μία ψηφοφορία.} +{TODO} +{TODO} +{Ο χρήστης πατάει το κουμπί ψηφοφορίας.} +{Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα ενός θέματος το οποίο περιλαμβάνει ψηφοφορία.} +{Σενάριο χρήσης 6, ψήφιση σε ψηφοφορία.} +{3-4-use-case-vote-in-poll} + +% ===== ===== +% Use case 7 +% ===== ===== +\subsection{Σενάριο χρήσης 7: Ψήφιση μηνύματος} \label{subsection:3-4-use-case-vote-post} + +\useCaseTable +{Ψηφίζω σε μήνυμα} +{Στόχος του σεναρίου χρήσης είναι ο χρήστης να μπορεί να υπερψηφίσει ή καταψηφίσει ένα μήνυμα.} +{TODO} +{TODO} +{Ο επισκέπτης πατάει το κουμπί υπερψήφισης ή καταψήφισης.} +{Ο χρήστης να έχει συνδεθεί στην εφαρμογή και να βρίσκεται στην σελίδα ενός θέματος το οποίο περιλαμβάνει τουλάχιστον ένα μήνυμα το οποίο δεν έχει δημιουργήσει ο ίδιος.} +{Σενάριο χρήσης 7, ψήφιση μηνύματος.} +{3-4-use-case-vote-post} diff --git a/custom-commands/use-case-commands.tex b/custom-commands/use-case-commands.tex new file mode 100644 index 0000000..8e1f0ab --- /dev/null +++ b/custom-commands/use-case-commands.tex @@ -0,0 +1,19 @@ +\newcommand{\useCaseTable}[8] {{ + \begin{table}[H] + \begin{center} + \begin{tabularx}{\textwidth}{l X} + \toprule + \multicolumn{2}{c}{\textbf{#1}} \\ [0.5ex] + \midrule + Σύντομη περιγραφή & #2 \\ [0.5ex] + Αναφορά ΛΑ & #3 \\ [0.5ex] + Αναφορά ΜΛΑ & #4 \\ [0.5ex] + Πυροδότηση δραστηριότητας & #5 \\ [0.5ex] + Προϋπόθεση & #6 \\ [0.5ex] + \bottomrule + \end{tabularx} + \end{center} + \caption{#7.} + \label{table:#8} + \end{table} +}} diff --git a/packages.tex b/packages.tex index cd2f7d8..d7a03a5 100644 --- a/packages.tex +++ b/packages.tex @@ -31,6 +31,7 @@ % --- Custom commands --- \input{custom-commands/custom-title-page} \input{custom-commands/custom-lists} +\input{custom-commands/use-case-commands} % --- Custom styles --- \renewcommand{\arraystretch}{1.2} % Streches the table row height so text is not crammed between the lines diff --git a/thesis.pdf b/thesis.pdf index ff3c62b..90092fc 100644 Binary files a/thesis.pdf and b/thesis.pdf differ