Skip to content

Commit

Permalink
Completed chapters 5 & 6
Browse files Browse the repository at this point in the history
  • Loading branch information
efthimispegas committed May 10, 2019
1 parent d9e95f3 commit b03f131
Show file tree
Hide file tree
Showing 19 changed files with 728 additions and 278 deletions.
Binary file removed Thesis.pdf
Binary file not shown.
Binary file added Thesis.zip
Binary file not shown.
11 changes: 3 additions & 8 deletions abbreviations.tex
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

\chapter*{\selectlanguage{greek}Κατάλογος Ακρονύμων}
\chapter*{\selectlanguage{greek}Κατάλογος Ακρωνύμων}
\label{abbreviations}

\addcontentsline{toc}{chapter}{\selectlanguage{greek}Κατάλογος Ακρονύμων}
\addcontentsline{toc}{chapter}{\selectlanguage{greek}Κατάλογος Ακρωνύμων}
\begin{acronym}[WWWDC] % Give the longest label here so that the list is nicely aligned

\acro{IT}{Information Technology}
Expand Down Expand Up @@ -45,10 +45,5 @@ \chapter*{\selectlanguage{greek}Κατάλογος Ακρονύμων}
\acro{OAuth}{Open Authentication}
\acro{JWT}{JSON Web Token}
\acro{FAB}{Floating Action Button}
\acro{OO}{Object Oriented}
\acro{OO}{Object Oriented}
\acro{OO}{Object Oriented}
\acro{OO}{Object Oriented}
\acro{OO}{Object Oriented}
\acro{OO}{Object Oriented}
\acro{KM}{kilometer}
\end{acronym}
50 changes: 15 additions & 35 deletions abstract.tex

Large diffs are not rendered by default.

37 changes: 21 additions & 16 deletions chapter1.tex

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions chapter3.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ \chapter{Ανάλυση Απαιτήσεων Συστήματος}
\section{Γενική Περιγραφή}
Η εφαρμογή αποτελείται από τρία μέρη: (α) τον \tl{client}, (β) τον \tl{server} και (γ) τη βάση δεδομέων. Ο \tl{client} είναι η διεπιφάνεια όπου δρα ο χρήστης, ενώ ο \tl{server} αποτελείται από το σύνολο των μεθόδων υπεύθυνων για την εκτέλεση αιτημάτων από τον \tl{client} (βλ. Σχ. \ref{appecosystem}).

Ο \tl{client} αποτελείται από ένα δρομολογητή (\tl{router}) που συνίσταται από τις διεπιφάνειες της εφαρμογής με τις οποίες μπορεί να αλληλεπιδράσει ο χρήστης. Η κεντρική διεπιφάνεια αποτελείται από μια διεπαφή χάρτη (\tl{Apple Maps API}) για την προβολή σημείων ενδιαφέροντος, τα οποία από εδώ και στο εξής θα αποκαλούνται \tl{\textit{hotspots}}. Ο \tl{router} απαρτίζεται ακόμη από τις σελίδες \tl{\textit{comments, hotspots, profile, new hotspot}}. Καθεμία από αυτες θα αναλυθεί σε επόμενη ενότητα (βλ. ενότητα 3.3.1). Η υλοποίηση και ο έλεγχος του \tl{client} έγιναν με τη βοήθεια φυσικής συσκευής με λειτουργικό \tl{iOS} 12, καθώς και ειδικού \tl{SDK} για αυτό το σκοπό (περισσότερες λεπτομέρειες θα δωθούν στο Κεφ. \ref{chap6}).
Ο \tl{client} αποτελείται από ένα δρομολογητή (\tl{router}) που συνίσταται από τις διεπιφάνειες της εφαρμογής με τις οποίες μπορεί να αλληλεπιδράσει ο χρήστης. Η κεντρική διεπιφάνεια αποτελείται από μια διεπαφή χάρτη (\tl{Apple Maps API}) για την προβολή σημείων ενδιαφέροντος, τα οποία από εδώ και στο εξής θα αποκαλούνται \tl{\textit{hotspots}}. Ο \tl{router} απαρτίζεται ακόμη από τις σελίδες \tl{\textit{comments, hotspots, profile, new hotspot}}. Καθεμία από αυτες θα αναλυθεί σε επόμενη ενότητα (βλ. ενότητα 3.3.1). Η υλοποίηση και ο έλεγχος του \tl{client} έγιναν με τη βοήθεια φυσικής συσκευής με λειτουργικό \tl{iOS} 12, καθώς και ειδικού \tl{SDK} για αυτό το σκοπό (περισσότερες λεπτομέρειες θα δωθούν στο Κεφ. \ref{chap5}).

Ο \tl{server} καθορίζει τις λειτουργίες προς εκτέλεση που αντιστοιχούν στις αιτήσεις που δημιουργεί ο χρήστης μέσω του \tl{UI} της εφαρμογής. Οι λειτουργίες αυτές συνοπτικά είναι η αποθήκευση των διαπιστευτηρίων και των προσωπικών πληροφοριών του χρήστη, η δημιουργία λογαριασμού (\tl{profile}), η δημιουργία και επεξεργασία δημοσιεύσεων (\tl{create/update hotspot}), η δημιουργία σχολίων (\tl{create comment}), η λήψη και αποθήκευση φωτογραφιών κλπ. Η κατασκευή του \tl{server} έχει δομή τέτοια ώστε να αποσκοπεί στη συνεργατική δράση του με τον \tl{client}, με αποδοτικό και αποτελεσματικό τρόπο.

Expand Down Expand Up @@ -95,7 +95,7 @@ \subsection{Μη Λειτουργικές Απαιτήσεις Συστήματ

\section{Αρχιτεκτονική Εφαρμογής}
%Σε 2-3 παραγράφους εξηγούμε ότι θα ακολουθήσει η ανάλυση του προβλήματος που πραγματεύεται η διπλωματική.
Όπως είδαμε στο σχ. \ref{appecosystem}, το περιβάλλον της εφαρμογής διαμορφώνεται από τρεις βασικούς συντελεστές: τον \tl{client}, τον \tl{server} και τη βάση δεδομένων. Ο \tl{client} θα πρέπει να είναι συνδεδεμένος σε δίκτυο προκειμένου να εδραιωθεί η επικοινωνία με τον \tl{server}. Ο \tl{server} της εφαρμογής φιλοξενείται από έναν κεντρικό εξυπηρετητή μέσω μιας διαδικασίας γνωστής ως \tl{hosting}. [υλοποιώ και επανέρχομαι να πω περισσότερα]. Η διεπικοινωνία μεταξύ \tl{client-server} είναι υπεύθυνη για την σωστή λειτουγία της εφαρμογής και την διασφάλιση μιας ολοκληρωμένης εμπειρίας από την πλευρά του χρήστη.
Όπως είδαμε στο σχ. \ref{appecosystem}, το περιβάλλον της εφαρμογής διαμορφώνεται από τρεις βασικούς συντελεστές: τον \tl{client}, τον \tl{server} και τη βάση δεδομένων. Ο \tl{client} θα πρέπει να είναι συνδεδεμένος σε δίκτυο προκειμένου να εδραιωθεί η επικοινωνία με τον \tl{server}. Ο \tl{server} της εφαρμογής στην τελική φάση θα φιλοξενείται από έναν κεντρικό εξυπηρετητή μέσω μιας διαδικασίας γνωστής ως \tl{hosting}. Κατά την ανάπτυξη της εφαρμογής, ο εξυπηρετητής ενεργοποιούνταν σε τοπικό δίκτυο. Η διεπικοινωνία μεταξύ \tl{client-server} είναι υπεύθυνη για την σωστή λειτουγία της εφαρμογής και την διασφάλιση μιας ολοκληρωμένης εμπειρίας από την πλευρά του χρήστη.

Ο \tl{client} είναι υπεύθυνος για την διαμόρφωση ενός διaδραστικού περιβάλλοντος για τον χρήστη. Το περιβάλλον αυτό αποτελείται από έναν \tl{router} ο οποίος είναι υπεύθυνος για την πλοήγηση του χρήστη στις διάφορες σελίδες της εφαρμογής. Σε κάθε σελίδα, υπάρχουν διαδραστικά στοιχεία όπως γραφικές διεπιφάνειες, διεπαφές, πλήκτρα ενεργειών και στοιχεία εισόδου και διάφορα άλλα στοιχεία αλληλεπίδρασης, όλα με σκοπό την παροχή μιας πλήρους εμπειρίας στο χρήστη.

Expand Down
12 changes: 6 additions & 6 deletions chapter4.tex
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ \subsection{Λογική Σχεδίασης και Ροή Πληροφορίας

\begin{figure}[H]
\centering
\includegraphics[scale=0.6]{figures/page-flow.png}
\includegraphics[scale=0.5]{figures/page-flow.png}
\caption{Ροή πληροφορίας μεταξύ οθονών της εφαρμογής.}
\label{pageflow}
\end{figure}
Expand Down Expand Up @@ -112,7 +112,7 @@ \subsubsection{\tl{HomeScreen}}

\begin{figure}[H]
\centering
\includegraphics[scale=0.25]{figures/home.png}
\includegraphics[scale=0.22]{figures/home.png}
\caption{Αρχικό σχέδιο της κεντρικής οθόνης.}
\label{homemockup}
\end{figure}
Expand Down Expand Up @@ -147,7 +147,7 @@ \subsubsection{\tl{HotspotListScreen}}

\begin{figure}[H]
\centering
\includegraphics[scale=0.22]{figures/my-hotspots.png}
\includegraphics[scale=0.2]{figures/my-hotspots.png}
\caption{Αρχικό σχέδιο της οθόνης προσωπικών \tl{hotspots} του χρήστη.}
\label{myhotspotsmockup}
\end{figure}
Expand Down Expand Up @@ -214,10 +214,10 @@ \subsection{Λογική Σχεδίασης Εξυπηρετητή και Υπο
Ο \tl{server} της εφαρμογής θα συνίσταται από ένα σύστημα ελεγκτών (\tl{controllers}) και δρομολογητών (\tl{routers}), με σκοπό την αποτελεσματική και γρήγορη ικανοποίηση των αιτημάτων που δημιουργεί ο \tl{client}. Κάθε δρομολογητής θα είναι υπεύθυνος για την σωστή ταξινόμηση των αιτημάτων με βάση τη φύση τους και την δρομολόγηση στον κατάλληλο ελεγκτή. Έπειτα, ο ελεγκτής θα εκτελεί μια σειρά λειτουργιών που αντιστοιχούν στο συγκεκριμένο αίτημα που δημιουργήθηκε. Μόλις ολοκληρωθεί η παραπάνω διαδικασία, το αποτέλεσμα επιστρέφεται σε κατάλληλη μορφή πίσω στον \tl{client}.
\newline
\indent
Το σύστημα δρομολόγησης των αιτημάτων διαιρείται σε επιμέρους \tl{routers} (βλ. Σχ. \ref{routersystem}). Για την καλύτερο προγραμματισμό του συστήματος και την απλοποίηση της σχεδίασης, επιλέχθηκε ως κριτήριο διάκρισης η φύση των λειτουργιών που εξυπηρετεί κάθε \tl{route} (περισσότερα στην ενότητα ΠΟΙΑ ΕΝΟΤΗΤΑ).
Το σύστημα δρομολόγησης των αιτημάτων διαιρείται σε επιμέρους \tl{routers} (βλ. Σχ. \ref{routersystem}). Για την καλύτερο προγραμματισμό του συστήματος και την απλοποίηση της σχεδίασης, επιλέχθηκε ως κριτήριο διάκρισης η φύση των λειτουργιών που εξυπηρετεί κάθε \tl{route} (περισσότερα στην ενότητα 5.2.1).
\newline
\indent
Το σύστημα εξυπηρέτησης των αιτημάτων υλοποιείται από \tl{controllers} που καθορίζουν τις εντολές που θα εκτελεστούν για την ολοκλήρωση κάθε αιτήματος (βλ. Σχ. \ref{controllersystem}). Οι εντολές συνοψίζονται σε μεθόδους, γνωστές ως ελεγκτές. Κάθε ελεγκτής αντιστοιχίζεται στην εξυπηρέτηση ενός αποκλειστικού αιτήματος. Το σύστημα των ελεγκτών είναι σχεδιασμένο ώστε να γίνεται κατανοητό από τον προγραμματιστή και ευέλικτο όσον αφορά στην επεξεργασία του. Όπως και στο σύστημα των δρομολογητών, έτσι και εδώ, κριτήριο στην διακριτοποίηση των ελεγκτών αποτελεί η φύση του αιτήματος (περισσότερα στην ενότητα ΠΟΙΑ ΕΝΟΤΗΤΑ).
Το σύστημα εξυπηρέτησης των αιτημάτων υλοποιείται από \tl{controllers} που καθορίζουν τις εντολές που θα εκτελεστούν για την ολοκλήρωση κάθε αιτήματος (βλ. Σχ. \ref{controllersystem}). Οι εντολές συνοψίζονται σε μεθόδους, γνωστές ως ελεγκτές. Κάθε ελεγκτής αντιστοιχίζεται στην εξυπηρέτηση ενός αποκλειστικού αιτήματος. Το σύστημα των ελεγκτών είναι σχεδιασμένο ώστε να γίνεται κατανοητό από τον προγραμματιστή και ευέλικτο όσον αφορά στην επεξεργασία του. Όπως και στο σύστημα των δρομολογητών, έτσι και εδώ, κριτήριο στην διακριτοποίηση των ελεγκτών αποτελεί η φύση του αιτήματος (περισσότερα στην ενότητα 5.2.2).

\begin{figure}[H]
\centering
Expand Down Expand Up @@ -252,7 +252,7 @@ \subsection{Μοντελοποίηση Δεδομένων}

\begin{figure}[H]
\centering
\includegraphics[scale=0.6]{figures/mongoDB-strucure.png}
\includegraphics[scale=0.5]{figures/mongoDB-strucure.png}
\caption{Φιλοσοφία πίσω από τη σχεδίαση της \tl{MongoDB}.}
\label{mondodb}
\end{figure}
Expand Down
Loading

0 comments on commit b03f131

Please sign in to comment.