* Added content in the implementation.tex

* Added the draw.io files into repository.
This commit is contained in:
alextselegidis@gmail.com 2013-10-24 16:18:35 +00:00
parent 2ca1d49b46
commit 26055fedea
17 changed files with 58 additions and 2 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<mxGraphModel dx="800" dy="800" grid="1" guides="1" tooltips="1" connect="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="4" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;BackendSettings&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ wp: WorkingPlan&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ settings: SettingsHelper&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ initialize(): void&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ bindEventHandlers(): void&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" vertex="1" parent="1"><mxGeometry x="70" y="100" width="160" height="140" as="geometry"/></mxCell><mxCell id="5" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;em&gt;&amp;lt;&amp;lt;Interface&amp;gt;&amp;gt;&lt;/em&gt;&lt;br /&gt;&lt;strong&gt;SettingsHelper&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ save(): void&lt;br /&gt; + get(): object&lt;br /&gt; + validate(): bool&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" vertex="1" parent="1"><mxGeometry x="337.5" y="100" width="170" height="140" as="geometry"/></mxCell><mxCell id="6" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;UserSettings&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;div style=&quot;height: 2px;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;hr /&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" vertex="1" parent="1"><mxGeometry x="280" y="310" width="140" height="60" as="geometry"/></mxCell><mxCell id="7" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;SystemSettings&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;div style=&quot;height: 2px;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;hr /&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" vertex="1" parent="1"><mxGeometry x="432.5" y="310" width="140" height="60" as="geometry"/></mxCell><mxCell id="8" value="" style="endArrow=block;startArrow=none;endFill=0;startFill=0;exitX=0.5;exitY=0;dashed=1" edge="1" parent="1" target="5"><mxGeometry x="17.5" as="geometry"><mxPoint x="347.5" y="310" as="sourcePoint"/><mxPoint x="177.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="9" value="" style="endArrow=block;startArrow=none;endFill=0;startFill=0;entryX=0.75;entryY=1;dashed=1" edge="1" parent="1" source="7" target="5"><mxGeometry x="17.5" as="geometry"><mxPoint x="17.5" as="sourcePoint"/><mxPoint x="177.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="11" value="" style="endArrow=none;startArrow=diamondThin;endFill=0;startFill=1;exitX=1;exitY=0.25;entryX=0;entryY=0.25" edge="1" parent="1" source="4" target="5"><mxGeometry as="geometry"><mxPoint as="sourcePoint"/><mxPoint x="160" as="targetPoint"/></mxGeometry></mxCell><mxCell id="12" value="&lt;p style=&quot;margin: 0px; margin-top: 4px; text-align: center;&quot;&gt;&lt;strong&gt;WorkingPlan&lt;/strong&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ enableCancel: bool&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ enableSubmit: bool&lt;/p&gt;&lt;hr /&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ setup(): void&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ bindEventHandlers(): void&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ editableBreakDay(): void&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ editableBreakTime(): void&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ get(): void&lt;/p&gt;&lt;p style=&quot;margin: 0px; margin-left: 4px;&quot;&gt;+ timepickers(): void&lt;/p&gt;" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1" vertex="1" parent="1"><mxGeometry x="65" y="310" width="170" height="180" as="geometry"/></mxCell><mxCell id="16" value="" style="endArrow=diamondThin;startArrow=none;endFill=1;startFill=0;exitX=0.5;exitY=0;entryX=0.5;entryY=1" edge="1" parent="1" source="12" target="4"><mxGeometry as="geometry"><mxPoint as="sourcePoint"/><mxPoint x="160" as="targetPoint"/></mxGeometry></mxCell></root></mxGraphModel>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<mxGraphModel dx="800" dy="800" grid="1" guides="1" tooltips="1" connect="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="5" value="Κλείνει" style="rhombus;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="175" y="160" width="80" height="80" as="geometry"/></mxCell><mxCell id="8" value="Υπηρεσία" style="ellipse;shape=doubleEllipse;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="290" y="150" width="150" height="50" as="geometry"/></mxCell><mxCell id="9" value="Πάροχος" style="ellipse;shape=doubleEllipse;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="290" y="210" width="150" height="50" as="geometry"/></mxCell><mxCell id="10" value="" style="endArrow=none" edge="1" parent="1" source="8" target="5"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="11" value="" style="endArrow=none" edge="1" parent="1" source="9" target="5"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="12" value="Πελάτης" style="whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="155" y="60" width="120" height="40" as="geometry"/></mxCell><mxCell id="13" value="" style="endArrow=none" edge="1" parent="1" source="12" target="5"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="15" value="Ραντεβού" style="whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="155" y="320" width="120" height="40" as="geometry"/></mxCell><mxCell id="16" value="" style="endArrow=none" edge="1" parent="1" source="15" target="5"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="17" value="Πάροχος" style="whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="460" y="320" width="120" height="40" as="geometry"/></mxCell><mxCell id="18" value="Έχει" style="rhombus;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="325" y="300" width="80" height="80" as="geometry"/></mxCell><mxCell id="19" value="" style="endArrow=none" edge="1" parent="1" source="18" target="17"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="20" value="" style="endArrow=none" edge="1" parent="1" source="18" target="15"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="21" value="1" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="425" y="350" width="30" height="20" as="geometry"/></mxCell><mxCell id="24" value="*" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="290" y="350" width="30" height="20" as="geometry"/></mxCell><mxCell id="25" value="1" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="225" y="110" width="30" height="20" as="geometry"/></mxCell><mxCell id="26" value="*" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="225" y="290" width="30" height="20" as="geometry"/></mxCell><mxCell id="27" value="Γραμματέας" style="whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="460" y="570" width="120" height="40" as="geometry"/></mxCell><mxCell id="28" value="Διαχειρίζεται" style="rhombus;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="480" y="430" width="80" height="80" as="geometry"/></mxCell><mxCell id="29" value="" style="endArrow=none" edge="1" parent="1" source="28" target="17"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="30" value="" style="endArrow=none" edge="1" parent="1" source="28" target="27"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="31" value="*" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="530" y="370" width="30" height="20" as="geometry"/></mxCell><mxCell id="32" value="*" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="530" y="480" width="30" height="20" as="geometry"/></mxCell><mxCell id="33" value="Υπηρεσία" style="whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="460" y="60" width="120" height="40" as="geometry"/></mxCell><mxCell id="34" value="Παρέχει" style="rhombus;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="480" y="160" width="80" height="80" as="geometry"/></mxCell><mxCell id="35" value="" style="endArrow=none" edge="1" parent="1" source="34" target="33"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="36" value="" style="endArrow=none" edge="1" parent="1" source="34" target="17"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="37" value="*" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="530" y="290" width="30" height="20" as="geometry"/></mxCell><mxCell id="38" value="*" style="text;spacingTop=-5;" vertex="1" parent="1"><mxGeometry x="530" y="110" width="30" height="20" as="geometry"/></mxCell><mxCell id="39" value="Διαχειριστής" style="whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="155" y="570" width="120" height="40" as="geometry"/></mxCell></root></mxGraphModel>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
<mxGraphModel dx="800" dy="800" grid="1" guides="1" tooltips="1" connect="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value=":Sync Library" style="shape=umlLifeline;perimeter=lifelinePerimeter;" parent="1" vertex="1"><mxGeometry x="30" y="30" width="100" height="580" as="geometry"/></mxCell><mxCell id="3" value=":Google API&#xa;Library" style="shape=umlLifeline;perimeter=lifelinePerimeter;" parent="1" vertex="1"><mxGeometry x="210" y="30" width="100" height="580" as="geometry"/></mxCell><mxCell id="4" value=":Google Calendar&#xa;Service" style="shape=umlLifeline;perimeter=lifelinePerimeter;" parent="1" vertex="1"><mxGeometry x="380" y="30" width="110" height="580" as="geometry"/></mxCell><mxCell id="7" value="" style="whiteSpace=wrap" parent="1" vertex="1"><mxGeometry x="70" y="85" width="20" height="485" as="geometry"/></mxCell><mxCell id="8" value="" parent="1" vertex="1"><mxGeometry x="250" y="262" width="20" height="258" as="geometry"/></mxCell><mxCell id="9" value="add_event" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;endArrow=block;" parent="1" edge="1"><mxGeometry x="130" y="237" as="geometry"><mxPoint x="90" y="272" as="sourcePoint"/><mxPoint x="250" y="272" as="targetPoint"/></mxGeometry></mxCell><mxCell id="10" value="" parent="1" vertex="1"><mxGeometry x="426" y="310" width="20" height="173" as="geometry"/></mxCell><mxCell id="11" value="add_event" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;endArrow=block;exitX=1;exitY=0.5" parent="1" edge="1"><mxGeometry x="326" y="277.5" as="geometry"><mxPoint x="270" y="327.5" as="sourcePoint"/><mxPoint x="426" y="327.5" as="targetPoint"/></mxGeometry></mxCell><mxCell id="12" value="return" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;dashed=1;endArrow=open;endSize=8;" parent="1" edge="1"><mxGeometry x="326" y="432.5" as="geometry"><mxPoint x="270" y="467.5" as="targetPoint"/><mxPoint x="426" y="467.5" as="sourcePoint"/></mxGeometry></mxCell><mxCell id="13" value="invoke" style="edgeStyle=elbowEdgeStyle;elbow=vertical;align=left;endArrow=open;" parent="1" source="10" target="10" edge="1"><mxGeometry x="326" y="174.5" as="geometry"/></mxCell><mxCell id="17" value="return" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;endArrow=none;startArrow=classic;startFill=1;endFill=0;dashed=1" parent="1" edge="1"><mxGeometry x="130" y="464" as="geometry"><mxPoint x="90" y="499" as="sourcePoint"/><mxPoint x="250" y="499" as="targetPoint"/></mxGeometry></mxCell><mxCell id="18" value="" parent="1" vertex="1"><mxGeometry x="250" y="110" width="20" height="130" as="geometry"/></mxCell><mxCell id="19" value="authenticate" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;endArrow=block;" parent="1" edge="1" source="7"><mxGeometry x="150" y="86" as="geometry"><mxPoint x="100" y="120" as="sourcePoint"/><mxPoint x="250" y="121" as="targetPoint"/></mxGeometry></mxCell><mxCell id="20" value="" parent="1" vertex="1"><mxGeometry x="425" y="149.5" width="20" height="70" as="geometry"/></mxCell><mxCell id="21" value="authenticate" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;endArrow=block;" parent="1" target="20" edge="1"><mxGeometry x="340" y="125.5" as="geometry"><mxPoint x="270" y="160.5" as="sourcePoint"/><mxPoint x="420" y="160" as="targetPoint"/></mxGeometry></mxCell><mxCell id="22" value="return" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;dashed=1;endArrow=open;endSize=8;" parent="1" edge="1"><mxGeometry x="340" y="174.5" as="geometry"><mxPoint x="270" y="209.5" as="targetPoint"/><mxPoint x="420" y="210" as="sourcePoint"/></mxGeometry></mxCell><mxCell id="23" value="invoke" style="edgeStyle=elbowEdgeStyle;elbow=vertical;align=left;endArrow=open;" parent="1" source="20" target="20" edge="1"><mxGeometry x="330" y="149.5" as="geometry"/></mxCell><mxCell id="24" value="return" style="edgeStyle=elbowEdgeStyle;elbow=vertical;verticalAlign=bottom;endArrow=none;endFill=0;startArrow=classic;startFill=1;dashed=1" edge="1" parent="1" source="7"><mxGeometry x="151" y="194" as="geometry"><mxPoint x="100" y="230" as="sourcePoint"/><mxPoint x="251" y="229" as="targetPoint"/></mxGeometry></mxCell></root></mxGraphModel>

View file

@ -0,0 +1 @@
<mxGraphModel dx="800" dy="800" grid="1" guides="1" tooltips="1" connect="1" fold="1" page="1" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="2" value="PHP" style="swimlane;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="20" y="20" width="380" height="230" as="geometry"/></mxCell><mxCell id="3" value="CodeIgniter&#xa; (MVC Framework)" style="whiteSpace=wrap" vertex="1" parent="2"><mxGeometry x="20" y="37" width="340" height="55" as="geometry"/></mxCell><mxCell id="4" value="Models" style="whiteSpace=wrap" vertex="1" parent="2"><mxGeometry x="20" y="102" width="100" height="45" as="geometry"/></mxCell><mxCell id="5" value="Views" style="whiteSpace=wrap" vertex="1" parent="2"><mxGeometry x="140" y="102" width="100" height="45" as="geometry"/></mxCell><mxCell id="6" value="Controllers" style="whiteSpace=wrap" vertex="1" parent="2"><mxGeometry x="260" y="102" width="100" height="45" as="geometry"/></mxCell><mxCell id="20" value="Google API Library" style="whiteSpace=wrap" vertex="1" parent="2"><mxGeometry x="20" y="158" width="340" height="55" as="geometry"/></mxCell><mxCell id="8" value="JavaScript" style="swimlane;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="20" y="260.25" width="380" height="232.5" as="geometry"/></mxCell><mxCell id="9" value="jQuery &amp; jQuery UI" style="whiteSpace=wrap" vertex="1" parent="8"><mxGeometry x="20" y="34" width="340" height="55" as="geometry"/></mxCell><mxCell id="13" value="Bootstrap Javascript" style="whiteSpace=wrap" vertex="1" parent="8"><mxGeometry x="20" y="99" width="340" height="55" as="geometry"/></mxCell><mxCell id="10" value="Namespaces" style="whiteSpace=wrap" vertex="1" parent="8"><mxGeometry x="20" y="166" width="160" height="45" as="geometry"/></mxCell><mxCell id="11" value="Classes" style="whiteSpace=wrap" vertex="1" parent="8"><mxGeometry x="200" y="166" width="160" height="45" as="geometry"/></mxCell><mxCell id="14" value="CSS" style="swimlane;whiteSpace=wrap" vertex="1" parent="1"><mxGeometry x="20" y="512.5" width="380" height="247.5" as="geometry"/></mxCell><mxCell id="15" value="Boostrap" style="whiteSpace=wrap" vertex="1" parent="14"><mxGeometry x="20" y="36" width="340" height="55" as="geometry"/></mxCell><mxCell id="16" value="Frontend CSS" style="whiteSpace=wrap" vertex="1" parent="14"><mxGeometry x="20" y="104" width="340" height="55" as="geometry"/></mxCell><mxCell id="19" value="Backend CSS" style="whiteSpace=wrap" vertex="1" parent="14"><mxGeometry x="20" y="172" width="340" height="55" as="geometry"/></mxCell></root></mxGraphModel>

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -2,6 +2,7 @@
\usepackage{thesis}
\usepackage{tabularx}
\usepackage{epsfig}
\usepackage{float}
\usepackage{hyperref}
\usepackage {color}

View file

@ -86,16 +86,62 @@ public function find_record_id($admin) {
\subsection{Διαγράμματα Ροής}
Τα διαγράμματα ροής δείχνουν τον τρόπο με τον οποίο λειτουργούν οι διαδικασίες μεταξύ τους. Σε αυτά είναι εύκολο να διακριθούν με ποιον τρόπο επικοινωνούν τα διάφορα συστήματα μεταξύ τους και την πορεία των δεδομένων μέχρι αυτά να φτάσουν τον τελικό προορισμό τους.
\begin{figure}[!htb]
\begin{figure}[H]
\centering
\includegraphics[width=150mm]{images/sd-save-appointment.png}
\caption{Στο διάγραμμα ροής εμφανίζεται η διαδικασία που εκτελείται για την αποθήκευση ενός ραντεβού μετά την επιτυχή καταχώρηση του από τον πελάτη.}
\label{sd-save-appointment}
\end{figure}
\begin{figure}[!htb]
\begin{figure}[H]
\centering
\includegraphics[width=150mm]{images/sd-sync-appointment.png}
\caption{Στο διάγραμμα ροής εμφανίζεται η διαδικασία με την οποία πραγματοποιείται η προσθήκη ενός ραντεβού στο Google Calendar.}
\label{sd-save-appointment}
\end{figure}
\subsection{Διαγράμματα Δραστηριότητας}
Τα διαγράμματα δραστηριότητας αποτελούν γραφικές παραστάσεις της δραστηριότητας του συστήματος ανάλογα με τις αποφάσεις που λαμβάνονται μέσα από τον κώδικα. Σε αυτά τα διαγράμματα μπορούν να φανούν τα σημεία στα οποία υπάρχουν βρόγχοι επανάληψης, τα σημεία όπου μπορούν να συμβούν λογικά σφάλματα (οι απαιτήσεις για συνέχιση της εκτέλεσης δεν πληρούνται) όπως και επίσης τις διαδικασίες που τρέχουν ταυτόχρονα και το πότε γίνεται αυτό.
\begin{figure}[H]
\centering
\includegraphics[width=100mm]{images/ad-book-appointment.png}
\caption{Αναπαράσταση της διαδικασίας κράτησης ραντεβού.}
\label{ad-book-appointment}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=100mm]{images/ad-install-application.png}
\caption{Αναπαράσταση της διαδικασίας εγκατάστασης της εφαρμογής.}
\label{ad-install-application}
\end{figure}
\subsection{Διαγράμματα Κλάσεων}
Στην τεχνολογία λογισμικού, τα διαγράμματα κλάσεων περιγράφουν την στατική δομή ενός συστήματος δείχνοντας τις κλάσεις, τις ιδιότητες, τις λειτουργίες και τις σχέσεις μεταξύ των αντικειμένων. Το σχεδιαγράμματα αυτά είναι τα βασικότερα για έναν προγραμματιστή διότι μπορεί άμεσα να πληροφορηθεί σχετικά με την δομή του κώδικα και με ποιόν τρόπο θα πρέπει να συνεχιστεί η διαδικασία της υλοποίησης.
\begin{figure}[H]
\centering
\includegraphics[width=150mm]{images/cd-backend-users.png}
\caption{Στο διάγραμμα αυτό φαίνεται η τρόπος με τον οποίον υλοποιείται η λειτουργικότητα της σελίδας διαχείρισης των χρηστών του συστήματος μέσω της JavaScript. Η κάθε ενότητα διαχείρισης (διαχειριστές, πάροχοι και γραμματείς) έχουν την δικιά τους κλάση, η οποία καθορίζει με ποιόν τρόπο θα χρειαστεί να ανταποκριθεί η εφαρμογή.}
\label{cd-backend-users}
\end{figure}
\begin{figure}[H]
\centering
\includegraphics[width=150mm]{images/cd-backend-settings.png}
\caption{Σε αυτό το διάγραμμα κλάσεων φαίνεται οι κλάσεις που συμμετέχουν στον JavaScript κώδικα των κεντρικών ρυθμίσεων της εφαρμογής. Οι κάθε μια κλάση αντιπροσωπεύει την λειτουργία μιας κατηγορίας ρυθμίσεων και μαζί χρησιμοποιούνται για την σωστή λειτουργία της σελίδας.}
\label{cd-backend-settings}
\end{figure}
%% ==================================================
%% ΑΝΑΛΥΣΗ ΒΑΣΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
%% ==================================================
\section{Ανάλυση Βασικών Αλγορίθμων}
Σε αυτήν την ενότητα θα γίνει ανάλυση κάποιων βασικών αλγορίθμων που αποτελούν χρήσιμα τμήματα στην λειτουργία του συστήματος. Θα γίνει περιγραφή της λειτουργίας τους και επεξήγηση της δομής καθώς και των αποφάσεων που έχουν παρθεί κατά την σχεδίαση και υλοποίηση τους.
\subsection{Συχρονισμός Google Calendar}
Η διαδικασία του πλήρη συγχρονισμού ραντεβού με το Google Calendar απότελεί ένας από τους κυριότερους αλγορίθμους του συστήματος. Η ανάγκη για έναν ολοκληρωμένο αλγόριθμο και η πολυπλοκότητα της διαδικασίας συγχρονισμού δεδομένων κατέστησαν την υλοποίηση αυτού του τμήματος κώδικα πολύ σημαντικό κατά την διάρκεια της ανάπτυξης της εφαρμογής. Μπορεί μελλοντικά να παρατηρηθούν ελλείψεις ή να υπάρξουν βελτιώσεις στον κώδικα, αλλά την συγκεκριμένη στιγμή ο αλγόριθμος συγχρονισμού ραντεβού λειτουργεί επιτυχώς και συγχρονίζει τα ραντεβού του Easy!Appointments με τα συμβάντα που έχει περάσει ο χρήστης στο Google Calendar.
Προϋπόθεση για την χρήση της λειτουργίας συγχρονισμού της εφαρμογής είναι να έχει δημιουργηθεί ένα API Key στην υπηρεσία Google API Console.

Binary file not shown.