From 647357f01522e999514392e36cbb5ab58689bdf6 Mon Sep 17 00:00:00 2001 From: "alextselegidis@gmail.com" Date: Wed, 13 Nov 2013 10:04:38 +0000 Subject: [PATCH] * Completed changes in thesis document. --- doc/thesis/images/system-architecture.png | Bin 17481 -> 23817 bytes doc/thesis/includes/external-tools.tex | 2 +- doc/thesis/includes/implementation.tex | 12 ++++++------ doc/thesis/includes/introduction.tex | 12 ++++++------ doc/thesis/includes/unit-testing.tex | 2 +- doc/thesis/includes/usage-scenarios.tex | 2 +- doc/thesis/includes/use-cases.tex | 2 +- doc/thesis/snippets/unit_test_automation.php | 2 +- doc/thesis/thesis.pdf | Bin 1738246 -> 1740104 bytes 9 files changed, 17 insertions(+), 17 deletions(-) diff --git a/doc/thesis/images/system-architecture.png b/doc/thesis/images/system-architecture.png index 754671a942f6474d6cbdd7e6ae4ce3182a37c31e..a64d8a9b597269c428e2868171dabe6d77f0f4ca 100644 GIT binary patch literal 23817 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

nBj=Z|PNCX@VVkPXHeZEx@mH4zC(k$hMs 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 bx$&Q2-qD(+tg9Yg1Ic;1`njxgN@xNAhtEdg literal 17481 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 diff --git a/doc/thesis/includes/external-tools.tex b/doc/thesis/includes/external-tools.tex index 7c981da6..507af1b2 100644 --- a/doc/thesis/includes/external-tools.tex +++ b/doc/thesis/includes/external-tools.tex @@ -33,7 +33,7 @@ Το σύστημα που παράχθηκε χρησιμοποιεί αυτήν την βιβλιοθήκη για τον προγραμματισμό του client-side μέρους της εφαρμογής. Ανάλογα με την κάθε περίσταση, μερικές φορές είναι αποδοτικότερο και χρησιμότερο να χρησιμοποιηθεί JavaScript έναντι της PHP και για αυτόν τον λόγο επιλέγχθηκε το jQuery Framework ως εργαλείο κατά την υλοποίηση του συστήματος. \section {Bootstrap} -Το Bootstrap είναι ένα ολοκληρωμένο CSS Framework με την προσθήκη κάποιων βιβλιοθηκών JavaScript έτσι ώστε να προσφέρει μερικές επιπλέον δυνατότητες. Έχει κατασκευαστεί από την εταιρεία πίσω από την σελίδα κοινωνικής δικτύωσης Twitter και χρησιμοποιείται από αυτό ως βάση για την υλοποίηση του. Η εταιρεία έχει διαθέσει το framework ως ανοιχτό λογισμικό και οι προγραμματιστές μπορούν να το χρησιμοποιήσουν ελεύθερα στις σελίδες τους. Η ίδια η εταιρεία επωφελείται μέσω της συμμετοχής της κοινότητας για να αναπτύξει περαιτέρω το framework. +Το Bootstrap είναι ένα ολοκληρωμένο CSS Framework με την προσθήκη κάποιων βιβλιοθηκών JavaScript έτσι ώστε να προσφέρει μερικές επιπλέον δυνατότητες. Έχει κατασκευαστεί από την εταιρεία πίσω από την σελίδα κοινωνικής δικτύωσης Twitter και χρησιμοποιείται από αυτήν ως βάση για την υλοποίηση της. Η εταιρεία έχει διαθέσει το framework ως ανοιχτό λογισμικό και οι προγραμματιστές μπορούν να το χρησιμοποιήσουν ελεύθερα στις σελίδες τους. Η ίδια η εταιρεία επωφελείται μέσω της συμμετοχής της κοινότητας για να αναπτύξει περαιτέρω το framework. Το Bootstrap περιέχει έτοιμο κώδικα CSS ο οποίος ακολουθεί την μεθοδολογία παραγωγής responsive ιστοσελίδων. Με την έννοια αυτή εννοείται ότι η μορφοποίηση των σελίδων στοχεύει στο να είναι συμβατή με οποιαδήποτε συσκευή, λειτουργικό σύστημα και περιηγητή ιστού. Είναι πολύ σημαντικό για την αναγνωρισιμότητα και ευχρηστία μιας εφαρμογής το να είναι διαθέσιμη σε οποιοδήποτε μηχάνημα υποστηρίζει τα τελευταία standards του ιστού. Το JavaScript μέρος του framework χρησιμοποιεί το jQuery για την υλοποίηση διαφόρων τεχνικών (πχ εμφάνιση παραθύρου διαλόγου). diff --git a/doc/thesis/includes/implementation.tex b/doc/thesis/includes/implementation.tex index 2dc9f237..9167d01c 100644 --- a/doc/thesis/includes/implementation.tex +++ b/doc/thesis/includes/implementation.tex @@ -20,7 +20,7 @@ \label{domain-model} \end{figure} -Με βάση αυτό το σχεδιάγραμμα μπορεί πολύ εύκολα να προκύψει και το σχεσιακό μοντέλο της βάσης δεδομένων, δεδομένου ότι έχουμε τις οντότητες αλλά και τις σχέσεις μεταξύ τους. Όλοι οι χρήστες κληρονομούν την συμπεριφορά τους από μια οντότητα (User) και επιπρόσθετα κατέχουν διάφορες ιδιότητες που είναι αναγκαίες για τον ρόλο τους μέσα στην εφαρμογή. Για παράδειγμα ο χρήστης γραμματέας (Secretary) περιέχει έναν πίνακα από πάροχους (Providers) τους οποίους μπορεί να διαχειριστεί όπως και ένα ραντεβού είναι ξεκάθαρο ότι περιέχει στην πληροφορία του έναν πελάτη, έναν πάροχο και μια υπηρεσία. +Με βάση αυτό το σχεδιάγραμμα μπορεί πολύ εύκολα να προκύψει και το σχεσιακό μοντέλο της βάσης δεδομένων δεδομένου ότι έχουμε τις οντότητες αλλά και τις σχέσεις μεταξύ τους. Όλοι οι χρήστες κληρονομούν την συμπεριφορά τους από μια οντότητα (User) και επιπρόσθετα κατέχουν διάφορες ιδιότητες που είναι αναγκαίες για τον ρόλο τους μέσα στην εφαρμογή. Για παράδειγμα ο χρήστης γραμματέας (Secretary) περιέχει έναν πίνακα από πάροχους (Providers) τους οποίους μπορεί να διαχειριστεί όπως και ένα ραντεβού είναι ξεκάθαρο ότι περιέχει στην πληροφορία του έναν πελάτη, έναν πάροχο και μια υπηρεσία. \begin{figure}[ht!] \centering @@ -37,7 +37,7 @@ %% ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΩΔΙΚΑ %% ================================================== \section{Αρχιτεκτονική κώδικα} -Η εφαρμογή είναι γραμμένη χρησιμοποιώντας τις εξής τεχνολογίες: PHP, Javascript, HTML, CSS, MySQL. Εκτός αυτών έχουν χρησιμοποιηθεί και κάποια βοηθητικά εργαλεία τα οποία διευκολύνουν τον προγραμματιστή στο να πετύχει καλύτερο αποτέλεσμα σε μικρότερο χρόνο. Αυτά τα εργαλεία (frameworks) όπως έχουν αναφερθεί και σε προηγούμενο κεφάλαιο είναι τα CodeIgniter (PHP), jQuery (JavaScript), Bootstrap (CSS + JavaScript). +Η εφαρμογή είναι γραμμένη χρησιμοποιώντας τις εξής τεχνολογίες: PHP, JavaScript, HTML, CSS, MySQL. Εκτός αυτών έχουν χρησιμοποιηθεί και κάποια βοηθητικά εργαλεία τα οποία διευκολύνουν τον προγραμματιστή στο να πετύχει καλύτερο αποτέλεσμα σε μικρότερο χρόνο. Αυτά τα εργαλεία (frameworks) όπως έχουν αναφερθεί και σε προηγούμενο κεφάλαιο είναι τα CodeIgniter (PHP), jQuery (JavaScript), Bootstrap (CSS + JavaScript). Όσον αφορά την αρχιτεκτονική του κώδικα έχει επιλεχθεί το μοντέλο MVC (Model - View - Controller) το οποίο υλοποιείται με άριστη απόδοση και οργάνωση χάρη στο framework CodeIgniter. Ο κώδικας PHP έχει χωριστεί σε τρία μέρη (models, views, controllers) και με αυτόν τον τρόπο παραμένει σε όλο τον κώδικα της εφαρμογής. Ο διαχωρισμός αυτός βελτιώνει τις συνθήκες συντήρησης γιατί είναι ξεκάθαρο σε ποιο από τα τρία ξεχωριστά σημεία ανήκει μια λειτουργία, όταν αυτή αναζητείται από τον προγραμματιστή. Έχουν συγγραφεί και δοκιμαστεί κλάσεις models για κάθε οντότητα οι οποίες αναλαμβάνουν την διαχείριση των δεδομένων με την βάση και παρέχουν μεθόδους που επαναχρησιμοποιούνται σε διάφορες περιπτώσεις. Επίσης έχουν δημιουργηθεί views για κάθε σελίδα που μπορεί να δει ο χρήστης τα οποία συνδέονται με ένα κομμάτι CSS κώδικα, υπεύθυνο για την μορφοποίησή τους. Τέλος τον συντονισμό αυτών των τμημάτων αναλαμβάνουν οι κλάσεις controllers οι οποίες είτε είναι υπεύθυνες για την σωστή φόρτωση μιας σελίδας της εφαρμογής, είτε απαντούν σε κλήσεις της JavaScript που γίνονται μέσω της τεχνολογίας AJAX. @@ -89,7 +89,7 @@ Για να συνεχιστεί η διαδικασία θα πρέπει να ελεγχθεί αν ο πάροχος έχει ενεργό τον συγχρονισμό με το Google Calendar. Αν η επιλογή αυτή είναι ενεργή τότε ο αλγόριθμος χρησιμοποιεί το token του πάροχου για να πιστοποιήσει την χρήση των δεδομένων του στο Google Calendar, διαφορετικά η διαδικασία τερματίζεται (γραμμές 33 - 43). -Για να γίνει εξοικονόμηση κλήσεων προς την υπηρεσία της Google αλλά και να μειωθεί ο χρόνος διεκπεραίωσης του αλγορίθμου συγχρονισμού, το χρονικό διάστημα μέσα στο οποίο θα συγχρονισθούν τα δεδομένα περιορίζεται στο εύρος ημερών που έχει τεθεί ως ρύθμιση για τον κάθε πάροχο (προεπιλεγμένη τιμή 5 ημέρες στο παρελθόν και 5 στο μέλλον). Αυτό είναι το χρονικό διάστημα στο οποίο θα ελεγχθούν όλα τα δεδομένα και από τα δύο συστήματα και θα συντονιστούν έτσι ώστε να είναι τα ίδια (γραμμές 47 - 54). +Για να γίνει εξοικονόμηση κλήσεων προς την υπηρεσία της Google αλλά και να μειωθεί ο χρόνος διεκπεραίωσης του αλγορίθμου συγχρονισμού, το χρονικό διάστημα μέσα στο οποίο θα συγχρονισθούν τα δεδομένα περιορίζεται στο εύρος των ημερών που έχει τεθεί ως ρύθμιση για τον κάθε πάροχο (προεπιλεγμένη τιμή 5 ημέρες στο παρελθόν και 5 στο μέλλον). Αυτό είναι το χρονικό διάστημα στο οποίο θα ελεγχθούν όλα τα δεδομένα και από τα δύο συστήματα και θα συντονιστούν έτσι ώστε να είναι τα ίδια (γραμμές 47 - 54). Το επόμενο κομμάτι κώδικα αφού πρώτα λάβει τα ραντεβού από την βάση δεδομένων του Easy!Appointments, εξετάζει τις εγγραφές μια προς μια για το αν έχουν συγχρονιστεί με το Google Calendar. Εδώ υπάρχουν οι εξής περιπτώσεις: \begin{enumerate} @@ -108,17 +108,17 @@ Τέλος η συνάρτηση επιστρέφει την σταθερά AJAX\_SUCCESS την οποία θα διαβάσει η JavaScript και έτσι θα γνωρίζει ότι η διαδικασία έχει ολοκληρωθεί με επιτυχία. Διαφορετικά αν προκύψουν σφάλματα αυτά επιστρέφονται σε JSON μορφή και εμφανίζονται με ένα φιλικό μήνυμα προς τον χρήστη. \subsection{Υπολογισμός διαθέσιμων ωρών πάροχου} -Ένα κομβικό σημείο στον κώδικα της εφαρμογής είναι ο υπολογισμός των διαθέσιμων ωρών ενός πάρoχου, στις οποίες μπορεί ένας πελάτης να κλείσει ένα ραντεβού για μια υπηρεσία, χωρίς να υπάρχει σύγκρουση με άλλα συμβάντα. Για να επιτευχθεί ο υπολογισμός αυτός χρειάζεται να γίνουν αρκετοί έλεγχοι έτσι ώστε τα αποτελέσματα να είναι σωστά και να μην δημιουργούνται προβλήματα με τα πλάνα των πάροχων υπηρεσιών. Η διαδικασία χωρίζεται σε δύο μεθόδους με την πρώτη να υπολογίζει τα ελεύθερα χρονικά διαστήματα του πάροχου και την δεύτερη να υπολογίζει τις ακριβείς ώρες στις οποίες θα μπορεί ο πελάτης να κλείσει ραντεβού. +Ένα κομβικό σημείο στον κώδικα της εφαρμογής είναι ο υπολογισμός των διαθέσιμων ωρών ενός πάρoχου στις οποίες μπορεί ένας πελάτης να κλείσει ένα ραντεβού για μια υπηρεσία, χωρίς να υπάρχει σύγκρουση με άλλα συμβάντα. Για να επιτευχθεί ο υπολογισμός αυτός χρειάζεται να γίνουν αρκετοί έλεγχοι έτσι ώστε τα αποτελέσματα να είναι σωστά και να μην δημιουργούνται προβλήματα με τα πλάνα των πάροχων υπηρεσιών. Η διαδικασία χωρίζεται σε δύο μεθόδους με την πρώτη να υπολογίζει τα ελεύθερα χρονικά διαστήματα του πάροχου και την δεύτερη να υπολογίζει τις ακριβείς ώρες στις οποίες θα μπορεί ο πελάτης να κλείσει ραντεβού. \lstinputlisting{snippets/provider_available_periods.php} -Το πρώτο πράγμα που πρέπει να γίνει είναι η λήψη του πλάνου εργασίας του πάροχου καθώς και των ήδη καταχωρημένων ραντεβού για την επιλεγμένη ημερομηνία. Επίσης υπάρχει και η περίπτωση να πρέπει να αποκλειστούν κάποια ραντεβού κατά τον υπολογισμό των διαθέσιμων ωρών οπότε αν έχουν οριστεί τέτοιες εγγραφές δεν λαμβάνονται υπόψιν στον υπολογισμό. Αυτή η επιλογή είναι απαραίτητη όταν χρειάζεται ο πελάτης να επεξεργαστεί ένα ήδη καταχωρημένο ραντεβού το οποίο δεν θα πρέπει να εμφανίζει ως δεσμευμένη την ώρα που αντιστοιχεί στο ίδιο στο ημερολόγιο του πάροχου. Τα στοιχεία αυτά θα χρησιμοποιηθούν έτσι ώστε τα διαθέσιμα διαστήματα που θα υπολογιστούν να αντιπροσωπεύουν τον χρόνο στον οποίο ο πάροχος θα είναι διαθέσιμος (γραμμές 23 - 47). +Το πρώτο πράγμα που πρέπει να γίνει είναι η λήψη του πλάνου εργασίας του πάροχου καθώς και των ήδη καταχωρημένων ραντεβού για την επιλεγμένη ημερομηνία. Επίσης υπάρχει και η περίπτωση να πρέπει να αποκλειστούν κάποια ραντεβού κατά τον υπολογισμό των διαθέσιμων ωρών οπότε αν έχουν οριστεί τέτοιες εγγραφές δεν λαμβάνονται υπόψιν στον υπολογισμό. Αυτή η επιλογή είναι απαραίτητη όταν χρειάζεται ο πελάτης να επεξεργαστεί ένα ήδη καταχωρημένο ραντεβού το οποίο δεν θα πρέπει να εμφανίζει ως δεσμευμένη την ώρα που καταλαμβάνει το ίδιο στο ημερολόγιο του πάροχου. Τα στοιχεία αυτά θα χρησιμοποιηθούν έτσι ώστε τα διαθέσιμα διαστήματα που θα υπολογιστούν να αντιπροσωπεύουν τον χρόνο στον οποίο ο πάροχος θα είναι διαθέσιμος (γραμμές 23 - 47). Έπειτα θα διαχωριστούν τα ελεύθερα χρονικά διαστήματα του πάροχου από τα διαλείμματα και τα ήδη καταχωρημένα ραντεβού. Αρχικά για την επιλεγμένη ημέρα του ραντεβού ελέγχονται αν υπάρχουν καθόλου διαλείμματα. Αν ναι, τότε τα διαθέσιμα διαστήματα χωρίζονται μεταξύ των διαλειμμάτων του πάροχου (γραμμές 54 - 81) και παράγονται νέα χρονικά διαστήματα. Στην συνέχεια λαμβάνονται υπόψιν τα ραντεβού που έχουν ήδη κρατηθεί. Τα διαθέσιμα χρονικά διαστήματα του πάροχου θα διασπαστούν ξανά μεταξύ των ραντεβού αυτών και έτσι θα ολοκληρωθεί η διαδικασία του υπολογισμού (γραμμές 84 - 137). Αν την επιλεγμένη ημερομηνία ο πάροχος δεν έχει κανένα ραντεβού τότε δεν πραγματοποιείται καμία επιπλέον διάσπαση και το αποτέλεσμα επιστρέφεται όπως είναι. Στην επόμενη μέθοδο ο πίνακας που περιέχει τα διαστήματα θα χρησιμοποιηθεί για να υπολογιστούν οι ακριβείς διαθέσιμες ώρες στις οποίες θα μπορεί ο πελάτης να κλείσει κάποιο ραντεβού για την επιλεγμένη υπηρεσία. \lstinputlisting{snippets/provider_appointment_hours.php} -Η δεύτερη μέθοδος αποτελεί απάντηση σε κλήση της JavaScript με χρήση της τεχνικής AJAX. Όταν ο client καλεί αυτήν την μέθοδο, παρέχει τα στοιχεία του πάροχου, την διάρκεια της επιλεγμένης υπηρεσίας (σε λεπτά) και το αν ο χρήστης επεξεργάζεται το συγκεκριμένο ραντεβού ή όχι (παράμετρος manage\_mode). Αυτό που εκτελείται αρχικά είναι η λήψη των ελεύθερων χρονικών διαστημάτων του πάροχου χρησιμοποιώντας την προαναφερθέντα μέθοδο get\_provider\_available\_time\_periods (γραμμές 28 - 34). +Η δεύτερη μέθοδος αποτελεί απάντηση σε κλήση της JavaScript με χρήση της τεχνικής AJAX. Όταν ο client καλεί αυτήν την μέθοδο παρέχει τα στοιχεία του πάροχου, την διάρκεια της επιλεγμένης υπηρεσίας (σε λεπτά) και το αν ο χρήστης επεξεργάζεται το συγκεκριμένο ραντεβού ή όχι (παράμετρος manage\_mode). Αυτό που εκτελείται αρχικά είναι η λήψη των ελεύθερων χρονικών διαστημάτων του πάροχου χρησιμοποιώντας την προαναφερθέντα μέθοδο get\_provider\_available\_time\_periods (γραμμές 28 - 34). Έπειτα θα υπολογιστούν οι διαθέσιμες ώρες στις οποίες θα μπορέσει ο πελάτης να κλείσει ραντεβού. Αυθαίρετα και για λόγους ευχρηστίας έχει τεθεί το χρονικό διάστημα μεταξύ των ελεύθερων ωρών να είναι τα 15 λεπτά. Αυτό που κάνει το συγκεκριμένο κομμάτι κώδικα είναι ουσιαστικά ο διαχωρισμός των ελεύθερων χρονικών διαστημάτων του πάροχου σε ώρες τις οποίες χωρίζουν 15 λεπτά τουλάχιστον και οι οποίες μπορούν να χωρέσουν την διάρκεια της υπηρεσίας για την οποία ενδιαφέρεται ο πελάτης, πριν την λήξη του διαθέσιμου χρονικού διαστήματος (γραμμές 41 - 74). diff --git a/doc/thesis/includes/introduction.tex b/doc/thesis/includes/introduction.tex index d51d5f5d..c2c0831f 100644 --- a/doc/thesis/includes/introduction.tex +++ b/doc/thesis/includes/introduction.tex @@ -7,7 +7,7 @@ \Declarationpage \begin{Abstract} -Η εργασία αυτή πραγματεύεται την υλοποίηση ενός διαδικτυακού συστήματος κρατήσεων ραντεβού για επιχειρήσεις, με πλήρη περιβάλλον διαχείρισης και την δυνατότητα συγχρονισμού των ραντεβού με το Google Calendar API. Στόχος είναι να κατασκευαστεί ένα ευέλικτο σύστημα, το οποίο να είναι σε θέση να εξυπηρετήσει τις ανάγκες οποιασδήποτε επιχείρησης, βελτιώνοντας έτσι την μηχανογράφηση, την οργάνωση και κατ' επέκταση την απόδοση της. Όλα αυτά σαφώς συντελούν στην μείωση του κόστους λειτουργίας, κάτι το οποίο είναι πολύ σημαντικό. Για την υλοποίηση της εφαρμογής επιλέχθηκε η γλώσσα προγραμματισμού PHP και Javascript καθώς και κάποιες εξωτερικές βιβλιοθήκες κώδικα, οι οποίες φάνηκαν πολύ χρήσιμες. +Η εργασία αυτή πραγματεύεται την υλοποίηση ενός διαδικτυακού συστήματος κρατήσεων ραντεβού για επιχειρήσεις με πλήρη περιβάλλον διαχείρισης και την δυνατότητα συγχρονισμού των ραντεβού με το Google Calendar API. Στόχος είναι να κατασκευαστεί ένα ευέλικτο σύστημα το οποίο να είναι σε θέση να εξυπηρετήσει τις ανάγκες οποιασδήποτε επιχείρησης βελτιώνοντας έτσι την μηχανογράφηση, την οργάνωση και κατ' επέκταση την απόδοση της. Όλα αυτά σαφώς συντελούν στην μείωση του κόστους λειτουργίας, κάτι το οποίο είναι πολύ σημαντικό. Για την υλοποίηση της εφαρμογής επιλέχθηκε η γλώσσα προγραμματισμού PHP και JavaScript καθώς και κάποιες εξωτερικές βιβλιοθήκες κώδικα, οι οποίες φάνηκαν πολύ χρήσιμες. \end{Abstract} \tableofcontents @@ -67,11 +67,11 @@ \section {Γιατί είναι σημαντικά τα προβλήματα αυτά} Οι απαιτήσεις και η ανταγωνιστικότητα που υπάρχει μεταξύ των επιχειρήσεων αυτήν την εποχή απαιτεί την γρήγορη και άμεση διεκπεραίωση διεργασιών και την όσο το δυνατόν καλύτερη οργάνωση τους, για να μπορούν να παρέχουν υπηρεσίες υψηλού επιπέδου με το χαμηλότερο δυνατό κόστος και προσωπικό. Για να επιτύχουν τον σκοπό αυτό οι επιχειρήσεις πρέπει να επιλέξουν τα κατάλληλα εργαλεία οργάνωσης και εξυπηρέτησης των πελατών τους. -Βλέποντας τα προβλήματα που αναφέρθηκαν προηγουμένως είναι κατανοητό ότι με την χρήση της έως τώρα μεθόδου κράτησης ραντεβού, επέρχεται μείωση της ποιότητας και της απόδοσης της επιχείρησης. Αυτό σημαίνει ότι το επίπεδο εξυπηρέτησης είναι χαμηλότερο και έτσι η επιχείρηση αδυνατεί να είναι ανταγωνιστική προς τις άλλες καθώς γίνεται σπατάλη πόρων για την υλοποίηση αυτής της διαδικασίας. +Βλέποντας τα προβλήματα που αναφέρθηκαν προηγουμένως είναι κατανοητό ότι με την χρήση της έως τώρα μεθόδου κράτησης ραντεβού επέρχεται μείωση της ποιότητας και της απόδοσης της επιχείρησης. Αυτό σημαίνει ότι το επίπεδο εξυπηρέτησης είναι χαμηλότερο και έτσι η επιχείρηση αδυνατεί να είναι ανταγωνιστική προς τις άλλες καθώς γίνεται σπατάλη πόρων για την υλοποίηση αυτής της διαδικασίας. Η μείωση αυτή επιφέρει αύξηση του κόστους λειτουργίας το οποίο αποτελεί ένα επιπρόσθετο εμπόδιο στην προσπάθεια για ανάπτυξη και επέκταση. Πολλές φορές μάλιστα αυτή η αύξηση του κόστους σε συνδυασμό με άλλους παράγοντες μπορεί να συντελέσουν στην μη βιωσιμότητα και το κλείσιμο της επιχείρησης, εφόσον αυτή δεν μπορεί να παράγει κέρδη. -Παρατηρείται λοιπόν ότι η σημερινή οργάνωση των επιχειρήσεων που λειτουργούν με ραντεβού, θα μπορούσε να βελτιωθεί με την χρήση ενός ηλεκτρονικού συστήματος που θα επίλυε τα προαναφερθέντα προβλήματα και θα πρόσδιδε μεγαλύτερη ευκολία στην εξυπηρέτηση του κοινού. Η προτεινόμενη λύση αποσκοπεί στο να εκπληρώσει αυτά τα κενά και να εντάξει στο ενεργητικό της επιχείρησης ένα δυνατό εργαλείο οργάνωσης. +Παρατηρείται λοιπόν ότι η σημερινή οργάνωση των επιχειρήσεων που λειτουργούν με ραντεβού θα μπορούσε να βελτιωθεί με την χρήση ενός ηλεκτρονικού συστήματος που θα επίλυε τα προαναφερθέντα προβλήματα και θα πρόσδιδε μεγαλύτερη ευκολία στην εξυπηρέτηση του κοινού. Η προτεινόμενη λύση αποσκοπεί στο να εκπληρώσει αυτά τα κενά και να εντάξει στο ενεργητικό της επιχείρησης ένα δυνατό εργαλείο οργάνωσης. \section{Παρόμοιες λύσεις που υπάρχουν ήδη} Όπως είναι φυσικό για ένα τέτοιο μείζων ζήτημα υπάρχουν ήδη αρκετές εφαρμογές που αναλαμβάνουν την μηχανογράφηση των ραντεβού μιας επιχείρησης. Όλες οι εφαρμογές είναι διαδικτυακές και σε μερικές περιπτώσεις συναντάται η διάθεση τους και για κινητές συσκευές. Οι εταιρείες κάνουν προσπάθειες στο να καταστήσουν τα λογισμικά τους εύκολα στην χρήση παρέχοντας αρκετές λειτουργίες επικοινωνίας με άλλα δημοφιλή συστήματα όπως για παράδειγμα το Outlook, το iCal και το Google Calendar. Παρακάτω περιγράφονται κάποια από αυτά τα συστήματα. @@ -86,7 +86,7 @@ \href{http://www.genbook.com}{www.genbook.com} \subsection{Web Appointment Scheduling System (Open Source)} -Το WASS είναι μια λύση ανοιχτού κώδικα, η οποία περιέχει τις βασικότερες λειτουργίες διαχείρισης ραντεβού για μια επιχείρηση. Από την εφαρμογή αυτή λείπουν κάποια στοιχεία διαχείρισης και παραμετροποίησης και το γραφικό περιβάλλον του χρήστη χρειάζεται επιπλέον δουλειά. Παρ' όλα αυτά είναι δωρεάν και προτείνεται για οποιαδήποτε μικρή επιχείρηση. Η εφαρμογή υποστηρίζει το iCal της Apple και την δημιουργία πολλών πλάνων. +Το WASS είναι μια λύση ανοιχτού κώδικα η οποία περιέχει τις βασικότερες λειτουργίες διαχείρισης ραντεβού για μια επιχείρηση. Από την εφαρμογή αυτή λείπουν κάποια στοιχεία διαχείρισης και παραμετροποίησης και το γραφικό περιβάλλον του χρήστη χρειάζεται επιπλέον δουλειά. Παρ' όλα αυτά είναι δωρεάν και προτείνεται για οποιαδήποτε μικρή επιχείρηση. Η εφαρμογή υποστηρίζει το iCal της Apple και την δημιουργία πολλών πλάνων. Παρατηρήσεις: δωρεάν, βασικές λειτουργίες, ανοιχτός κώδικας, υποστήριξη iCal @@ -130,7 +130,7 @@ \end{enumerate} \section{Σε τι διαφέρει από τις υπόλοιπες η προτεινόμενη λύση} -Το Easy!Appointments έχει ως σκοπό να αυτοματοποιήσει την διαδικασία της κράτησης και διαχείρισης ραντεβού για οποιαδήποτε επιχείρηση. Χρησιμοποιώντας τις δυνατότητες που μας παρέχει το διαδίκτυο μπορεί να υλοποιηθεί ένα σύστημα το οποίο να έχει την δυνατότητα να οργανώσει τα επαγγελματικά πλάνα πολλών υπαλλήλων ταυτόχρονα, επιφέροντας έτσι όχι μόνο την μείωση του χρόνου που απαιτούσαν οι παλιές μέθοδοι διαχείρισης ραντεβού, αλλά και την αύξηση της παραγωγικότητας της επιχείρησης. Οι πελάτες δεν θα χρειάζεται πλέον να τηλεφωνούν ή να πηγαίνουν στο κατάστημα, αλλά θα μπορούν να βλέπουν τις διαθέσιμες ώρες της επιχείρησης και να κλείνουν το ραντεβού τους την επιθυμητή ημερομηνία και ώρα, μέσω του υπολογιστή και του internet. Αυτό έχει ως αποτέλεσμα την ποιοτικότερη αλλά και αποδοτικότερη εξυπηρέτηση τους. Επιπρόσθετα βελτιώνεται η επικοινωνία και η οργάνωση των συντελεστών της επιχείρησης, παρέχοντας δυνατότητες αρχειοθέτησης και διαχείρισης των δεδομένων που αποθηκεύονται στο σύστημα ανά πάσα στιγμή και σε οποιοδήποτε μέρος. Σε αντίθεση με τα άλλα συστήματα, προσφέρει επιπλέον τα εξής: +Το Easy!Appointments έχει ως σκοπό να αυτοματοποιήσει την διαδικασία της κράτησης και διαχείρισης ραντεβού για οποιαδήποτε επιχείρηση. Χρησιμοποιώντας τις δυνατότητες που μας παρέχει το διαδίκτυο μπορεί να υλοποιηθεί ένα σύστημα το οποίο να έχει την δυνατότητα να οργανώσει τα επαγγελματικά πλάνα πολλών υπαλλήλων ταυτόχρονα, επιφέροντας έτσι όχι μόνο την μείωση του χρόνου που απαιτούσαν οι παλιές μέθοδοι διαχείρισης ραντεβού, αλλά και την αύξηση της παραγωγικότητας της επιχείρησης. Οι πελάτες δεν θα χρειάζεται πλέον να τηλεφωνούν ή να πηγαίνουν στο κατάστημα αλλά θα μπορούν να βλέπουν τις διαθέσιμες ώρες της επιχείρησης και να κλείνουν το ραντεβού τους την επιθυμητή ημερομηνία και ώρα μέσω του υπολογιστή και του internet. Αυτό έχει ως αποτέλεσμα την ποιοτικότερη αλλά και αποδοτικότερη εξυπηρέτηση τους. Επιπρόσθετα βελτιώνεται η επικοινωνία και η οργάνωση των συντελεστών της επιχείρησης, παρέχοντας δυνατότητες αρχειοθέτησης και διαχείρισης των δεδομένων που αποθηκεύονται στο σύστημα ανά πάσα στιγμή και σε οποιοδήποτε μέρος. Σε αντίθεση με τα άλλα συστήματα, προσφέρει επιπλέον τα εξής: \begin{enumerate} \item {\bf Αυτόνομη Εγκατάσταση:} Η επιχείρηση που θέλει να χρησιμοποιήσει την εφαρμογή θα μπορεί να την εγκαταστήσει στον server της και να την τρέξει μαζί με κάποιο άλλο site, έχοντας έτσι πλήρη πρόσβαση στα δεδομένα και τον κώδικα. Η διαδικασία της εγκατάστασης και παραμετροποίησης είναι παρόμοια με άλλα συστήματα (Joomla, WordPress κτλ) και όσο πιο αυτοματοποιημένη γίνεται. @@ -139,6 +139,6 @@ \item {\bf Υποστήριξη Γραμματείας:} Αν παρόλα αυτά η εταιρεία ορίσει κάποια γραμματέα ως υπεύθυνη των ραντεβού, τότε είναι απαραίτητο να μπορεί να διαχειρίζεται μόνο τις εγγραφές που αντιστοιχούν στους πάροχους που βρίσκονται στην αρμοδιότητα της καθώς και τους πελάτες που είναι καταχωρημένοι στο σύστημα. Το Easy!Appointments υποστηρίζει την δημιουργία χρηστών που αντιπροσωπεύουν αυτόν τον σκοπό. -\item {\bf Αμφίδρομος Συγχρονισμός με το Google Calendar:} Το σύστημα υποστηρίζει τον αμφίδρομο συγχρονισμό ραντεβού με το Google Calendar, κάνοντας χρήση του Google Calendar API. Με αυτόν τον τρόπο η διαχείριση των ραντεβού μπορεί να γίνει ακόμα πιο εύκολη, λαμβάνοντας υπόψιν το πόσο δημοφιλής είναι η συγκεκριμένη υπηρεσία της Google. +\item {\bf Αμφίδρομος Συγχρονισμός με το Google Calendar:} Το σύστημα υποστηρίζει τον αμφίδρομο συγχρονισμό ραντεβού με το Google Calendar κάνοντας χρήση του Google Calendar API. Με αυτόν τον τρόπο η διαχείριση των ραντεβού μπορεί να γίνει ακόμα πιο εύκολη, λαμβάνοντας υπόψιν το πόσο δημοφιλής είναι η συγκεκριμένη υπηρεσία της Google. \end{enumerate} diff --git a/doc/thesis/includes/unit-testing.tex b/doc/thesis/includes/unit-testing.tex index d45020f7..492b18de 100644 --- a/doc/thesis/includes/unit-testing.tex +++ b/doc/thesis/includes/unit-testing.tex @@ -31,7 +31,7 @@ \label{ea-unit-testing} \end{figure} -Για να γίνει αυτόματη εκτέλεση όλων των unit test που αντιστοιχούν σε ένα συγκεκριμένο model γράφτηκε η παρακάτω μέθοδος η οποία αφού ελέγξει τα ονόματα των test μεθόδων, εκτελεί μόνο εκεί τα οποία ξεκινούν από την λέξη "test". Έτσι αν κάποια μέθοδος δεν είναι έτοιμη ή δεν πρέπει να συμπεριληφθεί στην εκτέλεση των unit test αρκεί να αλλάξει την αρχή του ονοματός της και η μέθοδος δεν θα την λάβει υπόψιν. +Για να γίνει αυτόματη εκτέλεση όλων των unit test που αντιστοιχούν σε ένα συγκεκριμένο model γράφτηκε η παρακάτω μέθοδος η οποία αφού ελέγξει τα ονόματα των test μεθόδων, εκτελεί μόνο εκείνα τα οποία ξεκινούν από την λέξη "test". Έτσι αν κάποια μέθοδος δεν είναι έτοιμη ή δεν πρέπει να συμπεριληφθεί στην εκτέλεση των unit test αρκεί να αλλάξει την αρχή του ονοματός της και η μέθοδος δεν θα την λάβει υπόψιν. \lstinputlisting{snippets/unit_test_automation.php} diff --git a/doc/thesis/includes/usage-scenarios.tex b/doc/thesis/includes/usage-scenarios.tex index 103a8141..6b0a89db 100644 --- a/doc/thesis/includes/usage-scenarios.tex +++ b/doc/thesis/includes/usage-scenarios.tex @@ -15,7 +15,7 @@ %% ΣΕΝΑΡΙΟ ΧΡΗΣΗΣ ΠΕΛΑΤΗ \section{Σενάριο χρήσης πελάτη} -Ο πελάτης ενδιαφέρεται να κλείσει ραντεβού στην επιχείρηση για μια συγκεκριμένη υπηρεσία. Πηγαίνει στην σελίδα της επιχείρησης και βλέπει το πλάνο, αφού έχει επιλέξει ποια υπηρεσία και ποιόν υπάλληλο προτιμάει. Στην συνέχεια επιλέγει μια χρονική στιγμή που τον βολεύει και την κατοχυρώνει. Η διαδικασία ολοκληρώνεται με την αποστολή ενός email προς τον πελάτη το οποίο περιέχει όλες τις πληροφορίες του ραντεβού, έτσι ώστε να είναι πάντα προσβάσιμες. Σε αυτό το email περιέχεται και ένας σύνδεσμος ο οποίος επιτρέπει στον πελάτη να πραγματοποιήσει αλλαγές στο ραντεβού. Από την στιγμή αυτήν και μετά το ραντεβού έχει κατοχυρωθεί και ο πελάτης θα ενημερώνεται για οποιαδήποτε αλλαγή μπορεί να γίνει στο ραντεβού του με email. +Ο πελάτης ενδιαφέρεται να κλείσει ραντεβού στην επιχείρηση για μια συγκεκριμένη υπηρεσία. Πηγαίνει στην σελίδα της επιχείρησης και βλέπει το πλάνο, αφού έχει επιλέξει ποια υπηρεσία και ποιόν υπάλληλο επιθυμεί. Στην συνέχεια επιλέγει μια χρονική στιγμή που τον βολεύει και την κατοχυρώνει. Η διαδικασία ολοκληρώνεται με την αποστολή ενός email προς τον πελάτη το οποίο περιέχει όλες τις πληροφορίες του ραντεβού, έτσι ώστε να είναι πάντα προσβάσιμες. Σε αυτό το email περιέχεται και ένας υπερσύνδεσμος ο οποίος επιτρέπει στον πελάτη να πραγματοποιήσει αλλαγές στο ραντεβού. Από την στιγμή αυτήν και μετά το ραντεβού έχει κατοχυρωθεί και ο πελάτης θα ενημερώνεται για οποιαδήποτε αλλαγή μπορεί να γίνει στο ραντεβού του με email. %% ΣΕΝΑΡΙΟ ΧΡΗΣΗΣ ΓΡΑΜΜΑΤΕΑ \section{Σενάριο χρήσης γραμματέα} diff --git a/doc/thesis/includes/use-cases.tex b/doc/thesis/includes/use-cases.tex index e4a84ce8..e81902e6 100644 --- a/doc/thesis/includes/use-cases.tex +++ b/doc/thesis/includes/use-cases.tex @@ -156,7 +156,7 @@ \textbf{ΒΑΣΙΚΗ ΡΟΗ} -Ο διαχειριστής της εφαρμογής συνδέεται στο backend μέρος της εφαρμογής και πηγαίνει στην σελίδα των πάροχων υπηρεσίας. Εκεί βλέπει μια λίστα με τους ήδη καταχωρημένους πάροχους. Αν θέλει μπορεί να προσθέσει έναν καινούργιο χρήστη, ή να επεξεργαστεί και να διαγράψει κάποια εγγραφή που υπάρχει ήδη στην βάση δεδομένων. +Ο διαχειριστής της εφαρμογής συνδέεται στο backend και πηγαίνει στην σελίδα των πάροχων υπηρεσίας. Εκεί βλέπει μια λίστα με τους ήδη καταχωρημένους πάροχους. Αν θέλει μπορεί να προσθέσει έναν καινούργιο χρήστη ή να επεξεργαστεί και να διαγράψει κάποια εγγραφή που υπάρχει ήδη στην βάση δεδομένων. \subsection {Διαχείριση υπηρεσιών} Οι πελάτες που θα επισκέπτονται τον ιστότοπο του Easy!Appointments της επιχείρησης θα κλείνουν ραντεβού για συγκεκριμένες υπηρεσίες. Το ποιες υπηρεσίες θα είναι διαθέσιμες και ποιοι πάροχοι υπηρεσιών μπορούν να εξυπηρετήσουν τι, το διαχειρίζεται ο διαχειριστής του συστήματος. Αποτελεί υποπερίπτωση χρήσης της παραμετροποίησης της εφαρμογής. \ No newline at end of file diff --git a/doc/thesis/snippets/unit_test_automation.php b/doc/thesis/snippets/unit_test_automation.php index 941194ec..6ad22712 100644 --- a/doc/thesis/snippets/unit_test_automation.php +++ b/doc/thesis/snippets/unit_test_automation.php @@ -1,6 +1,6 @@ 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⋙cKVR2_-e&6` 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 TLGud8!^4Ziz#yY0i}QZ~r&rcX delta 79382 zcmZ6yQ*@wRu&v#(JGSklW81c!j?=OE#6+D}n@=SYi43VV#^EO^s||-PfWuCTi9>;WwXYKfpN9sdZXF1|vbtAWv!p zUBxiN6P=gDz5$g8#yR-_3`~C;DR2CQ(2mX8pBL;XUuIADf*#L~pvyvoK1Rd|yxkQfNmSZw_0v*ha{PrW?iW`r=nn1Nl z5&oiD7JJIRUV>O#Id8=@oWN`5jP8c<5{p`|9HynjKe7m^+_=}I7Zx!)uB~+669WDU z-}>5XXbqq~NbAx-!$jvoCs{Vq;`m?R-ntk`X*|=XBG##rxEu&J6Oyd1s#-k>@m`dS zAB`Zmh?9goQyeBpuEvXQa8XE5_qZObX+KVFe8YpiUTep1gR0*;rDDdSV(8{mrj>z_ zoRCtE#vZqdBx_T}7xNiRV~Eq~Min95@c&L~;4=W@Dz-$d8|S_^f_di7E(|Pk*3=Y5 z@r113rHYXw*`2}6NYsB`_mTyUXpfl;@tXc=6hKOXjn|ewe+l)Dxxx87wn&#kU;8FC z8!3K?j0a#<7rKMcx#pJ02#4j>73pN(~AyKXHjRDw@J1 zr!LA_rj=5~z?Dnpl@pU9m^bsu3%BR<7-84PWw~p>o2+RTREknlz^+6e_@<9eLMcIHFJz{VS4= z`lUfval2~T4F+Tx6(E$qo6QlPUk!>11Xn+{mC0jfRO!nJ^2*-mSpj^V*WkRxs^J8l|tpJfN_vy&o9gbDve z_`-H{waI+3ii*^?WK1ic?)+rQzv9czAhDzcK@-1Tc2J8hn{=Bm#?i&e&T}4xaUemT zrp)DqJFjc*Q6MRDMQ}y_oGa={^g5ABm-~fGY@+r2`N_0&%}~6zFcoF5g7*bCR)4&r z&Zq#{|pBexiChCA8d7)s9~7lebI64wz0$UHSX@&97dBkB-l81p(mg!uJD$$8Q1U z_w(yX2#EaWM!&Q034iaG<~u>iCBXX)yuRu@-ybI?+efH8*H`07Xoqt?A>~P=%@AU} zyLb&eG<6FR^uM<7J+7aazUw-RzkzpUrX$T){bfh7P%B9+3)F&O^J&XDPL}L9#l=g( zzGGyM%hm|o0RKhiOzYDQ5n@GH?D+X>zVoEQ#yH|Y0sy-yS>T!q0jsYCl5kR8f) zA7=r>2yO712kn;5#=Mfr8CJ_5Ev}vUlHWS85bUw$9(am3l6<-qS=Q)%cNKn4W+qt} z{*;g`b-c`XGjQCQgB-L)zaVXXm>xSksd*Eu96;Jnkwc|21R*1a3DXvn`s5 zcD}MCsF7l!bYOesdn=ffCLb!OPe!um^E+p5-CQ6jA9Ebc+%k2txAS`;>+9GOX#CDt z&0+`LYa~W%H)f&TSmZ>zWw#-l!JIOn-0Q4(o1MXIK*@ z_AYNB;X=X(R1RCvTs1SlX)buBh;Q1;Z#Mgll2DaQ(zhfTcq^qDM8j7c ztI~dcM3d<8Bd3|*G$ve*dGxMzS@_7%5M2em#XOq6PWNlLZyniet8cDfl&2pJaDR*^ zC2}mc2MHm>_uc{x7sba!$&KsTmp-Qm9wz>Cx(H4h$g$I{>^%>_cJpm9g!@tP7{TJt zYIs8~Rl9%R71(OrE>X<)`Xa~;qNthL@d$F>sqiH|$Yk(|GhHx^!i;Ic#>J9_LHVrK zPp-1;-i2-9#sk5_vg-TYA&{_5c;T6Sv=0l~i(@9H>Ih_E9w8IF@lt4Jsh~d-U_Z>* z4)U5Ub)-giQ1?NACM(=Bi+?+C(RHC^8%F_qLkTs#(u$%@W4FK5-dZIN1Jev3Xx~~` zVcn4%iI?d1j42)#)^z-Js(hJdtJB8C&=i|ZBg^QSvQzq(4aU&-F`8Rulb(8VL^R=g zMk!F5I=H|E87JX}dzz$~ZCl*}TA;8_lMdpi&nLv#i;?7k$PROp^QKcl zAN;z6@G9;CB%;1eP6F>r^5I$+5>S7r(P4|WJmd$l+$C6*d>iKfJ zZY zUqJy@EN3}^Zv+DA1rTspq^Cf-4@NDBolV1n1XTa8?ueQ7-1fsgTAKXOrW?q;*-3(l*Yi%zo2m(+B0J zLaG*^FNE4UA{tAnR*KvtT1^X13y`qhcL?(07& zD)wsjmaZf2&}Dnm7HG}PuP8WoCJ<<;gW|>F72LOVSWSRmOD~3N^=aQ`v*S-W*)_05 z4^St}l`k_T#A3U$$DOVD0bCcYD|<1_l)ij`d^c(TA&o9rXRssOu+l6SX^BdqL((lYTiVO|quU$x;gH&fa5H^o zNPVldkmuA-_!{P{xj$?{{vSBQh2vktcC-`NThWZ8YPFRD ztRxB&FXN9*nCd|DWv?d!fU^u?uu2nx=J$x@u4T(&(;a^-R(Ch(&2n0X7?=g zuOFYGy&%MVMD?k={8*@oU1GEV=l{|s#aeQ9_w4XJ*BUQ~tcg@IEg+~HsapX&Sl z!2S6GC%a|Pf>pZmmv!cAZ+VOn^Jd}vov_o%cRKg*4LClpU6`pQta?aolV$WUm2R4c z$`#n@OP%Sww=dn^xr3@o;PgGx}#F-7p8=Bum}>BR9CjXw8X17*B99Mee`%!s-Fi4)0w2g5tA`*EbV zli}7d15l<=c=1UVul4L{wNcl07KwRB6NozHr3F7FuFNL<*vc8ze$p5BUwMP7mQbjz zDxYScjXdfixi~@to3MB!IMK>*IQV^2@J-B}sgkgH+A-z6Z~IW7pne;!4SoT{ka-$k zjO~-rKKTA9ecB#YIE!zk8%OY#b0MEHl7?HF8qEb2@{`i`o0}B#ye~z&p8;VpE^JcY@VcSl%X3wlQ}%fQ3O!{th;f!P^WRf zBZ33vyL~E*Pnra_C#_kxPBv-m>(*}*K<^RjT7NpeHdk}vYnStHRzAyV69lUMzc~!7 zS$Yx^giog0`>i4}c(V`RW0QS&`*FzSy4JjCM~kV7OpNw}vmuHF44faKYCk15qf-KE zTd0X7KyJm)`{hBJuO{LI$NYG2!ydUcVwK8x{R8IwoAhgcalqTib-R7$3jd%w034n& zlQAK=_$_~O4YQnNp9V`}Bw)YbzAeuE8RVd{oXbfJTgCb7`fq9kk12j<^7ec)iD=>t zlB-5RFo|rcIkm}Pp@jlvi(Li6uJ2$93Eg1d-=v+YW1uEAfj;l$z-cK==}gIe{^ZWE z#jZW1Hm$$M@fZ+Z20^X8_=9M;I~wo z@iaP%llGcA(W|R_Z|-30dtjG0<2}=U#-z`(-EfoCd)y#?c~<-3t*!a5i-uEjm$yP9 z>V=uKcJw_16DRT(=Qvvhgc)bB3M+u?gj@xCZE@gF>gn5#s5_Z-2?-lDZ6I}lHAMYw z0;*4`68-ndN@@Quw_fe%|XxB#MV7$VWe7SGY-v(OB1_sMrXi-rq%+WWQwj~_YyNWtK)uu==eFBA) z5`kVePv~tmnlOPChhP+=5Yg1R{elkU~dh2CaSia^nLm%AN3&amqtrR7S=P0 zIE+*JdR`uO)=`s|eVFLxHHtQ*$4?3dv-vOZ@Sz-)0TL=3aJd)BlbkJyX!R# z`;2S9y~#!*r@?MT@v5jXLjo0)VTW6YTe&R2%K1pwMy)rul!Au-=D4=3tvsdF(g@+X zC_ZhJiALD(us+SnMmr+qpHR|HxM9{@%8_s(C!=XoJ(W#-39PeL|D1iUUmA+8ru#$o zPcNwMGQ@n-L)53B98#7C&8`)uh{Of&m#KpuHJjI4Y?#<-jq}! zW$6jxUT^7w4O%X=Ldru9wwZQDDm^cW_wRadQU@w9kRAog)?urKNUOLm8#X)Lm5PGz zbc~^lL!KHuyLH@_FQ&@#olY<-ADNVI28XxL%&+(B9UxmPU;?KkwXFuz?1X{fuAQPH zzHJ`I(b+f0eG*}N9^ot+ZD5#j<}AAGQJk|(nRe}X)N)j)d>0hRWBybQFuPw|Zu=F~ z88Dq>RShbJ3y|O8zF^rR1oM^T1;kW4OiNQ-8JWTQa_L=ileyr$XQP-!u zKtv3|uQEe65L?w&dNIv*6;yHMyg1psd22KK%p(5xmltjewa)kW+}*<2%Qt3}L|wsLlwKs@EOJ1ygyCVKqpxx-B)hGQi`#GNfzI&^NQYEKk_lSP& z&BdV&b5Q4gx!qB&e0^BLlonSVcjWMY*}#3<C9ixhq);*E1^8Ul(U% zjK@0)*Rj0})31yCt>@d<0FdPiw5Ab&ATQ+JJ9=8f6!1e>bmfEoa`+%xrN>m+_XKxvEu0%-KcIx?@0eDSLqKt9sqk59% z>_hJQn8MEI&CVghs4)iKiTY*J#T5OzYsZD*wLXZST=S(48Ec-l1yeHb&T$nvGNovY zWTUL$r>V1UG*r;;!e-YiJB(Be7)%2#A{_lJe>8+pnV<>#}}Zt1bVH?EryL&~I3&3}h)j(L556Ekv#AerEO{ zEX&e$f^^$P!F?4iW%2l+%s=XBH9J~!2uk2ul%7E#N$2ug@CNXC0$Tz@Ko6+dGgc=Ye9cR>78p1- zvC_W`HEuPqy=wBM1k+kc4Ck$i{60gMue2|9s-C z$xn^RHutn>c;pc)M{bR^L!NpT6AP@Kh_qaE%p$K-e&Z3iF{%EuMJ|08YWLK?c3c7p z1{Fe_>!FNE0>)H-%vz>kn2P2Q&Bg`qma#*I(VF-R_Cffys`GvjMFe#?bN#M+$ns*( zhOqNdF=z2#&Vj(f2kjn6*5A0}RZcly6GW_lY$bb+o4iqE?tn z?e^Ku(1?;(Dlq?9EzSxJ6o2%TOgi!07kTsQyJa()e3;c$s}_ zgTfG5&+OJF&%3qWZ{&4To^N2ip zcEP~RHv8?7Z@<8)$`9U6v&)fk8irIu5?m`i3q;XEA|>O%psXX%c*A(2fH(MJKFx&~ zCKr$|}RAnei%^lU2U*G%XCAz04JH z19s^3E1(mNh3Rnz$@5oik!NC!D(0bTgL=;dWwAEtIZtBK`uPU&TCCfD5l&oSRU9VS zcFLN?z9e#@&y}McR?K4Xsmb=nEh|y^)_Tm5H;V=s$w-FMPGB8>;O`?k(I#Oz^!6)( zW{i(ueMUlb!Sj)LN&g}cdsyMSS4zuN1}MMkM7CC} zx)LI{rGB(lW7UhK&vPh$H^|_2`WJI+3kCDk0O-ZLhr#k_SmqdKh7zN;YfhAf{(&f- z1Xw{As;_jzprQU%p-wkNEW~EBYQystR5W-nC@;1TM!%E!ZpxWQr+#zw0s>fM z9n+BYa?x#viUAhKAT90}(_D`?45^K9rLAoY$870B$8%w-ikNOSV+HcBwu{th-|u0; zV60g3aH$i%*jytfYSTtscBOoO*E9>Wjcy)1nZ##DPVIyDM#@@k??R44ZiWz!+y+ah zChL|x%tpQ4yms6vLIF2QrVP}j?aK0C#JlK4#yVFv@JU@(>pl$5})$HOc z5TKhn?xY079iXRst5UB~iIlRBDJE!a3ZmSKjCCgKawD^aVhUR~TdBR~HwGd-o_Yt8<0SR^w zNKOk!2sz?xh1z&}*mJ>AILR_@L$A=dM4A3i zJ&w1oVue3XI?AzKq8_^E0ULSZ4CaWZPv2vayOJ{GSj4^j>rN}jK8@w& zt;INxjbAjaJPl_q@1%kG=?3Prk->t%H#O*y%jnoGdHGh<)1Zb4%yL(JOR$4)J=gXP z^^q6Uscop%o(xln9}KVib@vam3jF9UXF!Cc_7eGEVvgehb!p85&Da&(EC^OT;>;Wm zYus``u*RA#WRYTnXJT8)F8}n@Im5OJ$ghZDnp#F#xaxn;SV!)8N%)IyjJHEqmHxjj!EyKZ0+SQwS!U3QjA- zlT#Ly1Uy+j%Yr^*?^2fM4Y@zvIVIdBs^%#Lc2Z9OE7Ax0dmh7)wd4JQ(PDGD zYG$RBwENH=(7WWLc$fgBPjYqIJ?qToTu{>6gS42C(w28(DQlk_q_y$xzL|~p@Z@-HmhXr zZ;sd>(>T`E#-igRRXAug@UG6C%Zc|11j_b}23)UrruOLw=j%GE#8Xv22+4k5g+BTI zMRHu-kephfq17t`2i-o(?{Y&{6@wl9PGakxBL{YTUgZ49t5hR2nhHis^-5?H%8jas89@Tvr_iOOmUA~^8@%!fc zaZXYPFJKrCfk^jR62X_A$3pxd&7HVCKGk{g_O#{dS2X6VGo7}Tf*@*e8TVG-!Au!@ zKMBjT+Jla3vwXA|YY;O8DO4%hUa~=j{|*=*yI3ma%Xe zQ+q&@aX=@f{W)Ll5#_6LMQ}R5yX1~l_*Rs;(RtlyZ5WwBRVhna%m6xq=1PnQ9mskic2k+aZ@_;7;8^Kk%ABFQy^e58X`32n zj48ZtXM;>~n@S_IGD3b!onsveL#Q#2akC;W1Qiu54<20XB*XburU` zONm77+~F~=q)f!xjQbqI@qNK`>{)o2qu)8HXDmF=&RfsLLz1mHw}5l)i$L3i9>;|> zf%SibA#GMbCHf}U-SyAhN#|;TjDBz9zH72%r}R*2vgEb;9w+nQ51r@`p3c!hk*8U< zU-&3iMl1Q`3KhIKRno=q4ACz%nw>uQbk=jmkv3>K>i7hS4V0ylaRjkVCzlhI9W+7< zjYs8anmAi#5ULv|rWLf88=NOT2h)GwP1%8!ZtOVM034$1Sb8BuX!t*@B&1aTLm$h@s(&zEsZD_A))8` zCaD0#QqTorW%&!SED9xfi2_HyP-Za+>+IMz{rLTugpHoJk1ggeLJv)Wzgy z-GxYpR)7vYbF!E=hhrVd!vf-*`>Cq!ASYGRamY()m>)g^Hgk8#HYsEB9kY=ttqKqS zWE}=nttWNxXGnfcua{W7q8(H}v-(h8gTf5w(C^hpx??|A+LfY15&kqsewA0}4>LNC z(_o^blNH~81h-Ez6?$3?a}rwD6)m$7d9*Fi-bGH%Z7g#YdoL6S!T}IMBI;i(zU4Tr zpc_CemU)Hk0`KBbG6e$Mm)q*G(=${%piR+W-y%M4Xrndqq2*b^5T$B5Wx|YOkS*zj zf}X+3%@ScQ@gY?Vef5W; zJiP&KCaDSWLmD|Z8p%x7bo~rAi#7{|BUNGg9}0?Slyvf8DR0lh16YC-OZIzP6XCt3 zKyMG+0~x40lw{U-i!J~Sj}FyYsfwFlRT%_AmEt0;I~cl#9vC}FX#Ld-7Ge5?LB`N@ zznQ;wL8lKby2Nd))-WvxCM%p+hO5bbJa6(4;I%_sV)3h>_pw=-eSdo=h(g*W!!g2q zs%%wcv$5Q}u7~}p5@|$sA083btW-q13Qr%xY5G7hSS~@VtgneQdgH?H2Yj$3hz}Ny z;N4p2-EuO<2f*CP1=9<^R03t0RZivX89heJvr&Wua|e@aVR1h&V$z$5o>sDdfn)>2 z$9OvLs^maL0Z!az>>CoiQ)mK1kB$}r&$YX|z>arlZ6ELDs#I}u%`NKTMJiRz;*3A6 zUzvi^wOWB(oSIh6)~6(0&xSfx!m&w@bEjfA2Rj*_53G?nZsJ^TEXOM1vi023uFt(c zoH+v* zc3SIeg*?Z@E$)}S+<2m*scWEjjXJ3&bD;X50vQdQ4Eie=vobN3IwW*+X`KrUy#_+% z*f+9>_nz=3+pt$iOn%0m$AnvEr&s0#D@M65vjJ<#(wC*p+QdGA{Ry6El+%0|LoR}j zqt(ALF5lk1R9R#fY8Eydn>|afebcjDfwesJ^`kjDytD zo33p=*NS^&4jssfrr#5V_8pj;@&a@-ES+#@=DH8{7Z!~ByT(Zm3XC`n(3Q0PLa;xa znt|4u&%3me9B9qFCQ)UND&y%luib4KSKjqQd1!+meut}ZmZZDvL|&)fc1U4qQU~9Z zgKpd0Hs5QLCzRT`h45)?wbGzYTTjWV8MU4#di9LI9b&9@*E%$4yj_kP*1NH zu|sPW(8OD~!I6JB*XN1)a&$*?pqO&j0{{|AD|=gP2s89ZR%AzS_!Y+Y&gi&$7VLw= z&}bOtYLT?jNuAbsNjWL+diBfw#7j~{IhDQuJ*g{Xn2Thtz$$_T>qYuiK;fhPn~?8BD58H&K4*=ATW26r_}$9s)Ow*ArL!@nUYHH5}^* zKjRC|L+SejGeOITDE#jmP4jcWnnw}v#b(z2*pX10CtYO~t*&fV&K-0z)yJ+~76XsrLM5@YX1$e3VpoA#>&CvCG|`0et2j8>3(PSTySU2YfvUoaGj(rTWXEqP8YyfN((qGBM}uf3{U#K&7OlQcU|s z_dsePI%t1&7DSTW&#Pf}f0rakN+;3rsN`W`5y+qoe={x!pvohC+iOoYy*%P9pT4^3 zzOeBF$A^rII?=NR!w@a=GDJgHc85hWN z9&+Syzzhd~#4QVuso3@5$#aZvFCpEqO3Pu9pyA}_10BI~z6LkY`u!0?b`$1E;LE#6cTsmcqw$TCN zjzr=*ZP9XU94YKmQH;7YiVydRA3O@O%6T7Ac2>jGR&5lpn0Ng%eYxNus{AGTg_k;$ z%DuWZ*uEIOk?B}|jxOHNa7~Ls@{Ar-fhJgMj2u8dMr6*DT^H%}7mODL2kS%_i}z6` zGdbg{W~Oi3Jfzq5-mGFAAAJIWPR4K1#h(Vy(&fD>Nc!^FbsS(w#NltH{Dj!$y`P5W zS(40`GOFa|A-Q0POd}~^ChuLE69iJ6$qwV!$?J1`^alixtvUTN@uGy3B2c;lgCsbg zT13?{lSp_*6fmu8E3uF#kNIh1PFjQu<+&~BB}g~^Vz{Pf2S#|2ht95%zqpzGZ88LK zNmq+kp&K4_qqiV4IVqA}t!TRL$~CHDI`j_%CFYcxHt3GwB3q>Ra`8O5T(DAC8)c0Z zg$Eh9O(bt7bIko8n5GaQb}veX-b^ML%_62Pmbjly`^!-~iLS`}q{ml?%k?vDxJjuF zg{Jm@F#4mf(`c8h598%17ktf#rat4j+gix1XdI zYt7O@BN*<>8Ax< zerIENffyXu@!V!azCU7=m0(8}!z6zcTi%K%ZFK}SkI-hnew~T<-9w*-c@vSFS{6N%&_`95)0VhTWMW&D?)6gpNOcTfWL00(AXrt-9 zHjEH@O{^9}a2@7jBUCIym0jR4R5NDF(yAgIU0Fx;NOOE%J9f0&#z?;mnY^U7ehi#b z!&rm1kEopPT-}ih*-3M&z}3>k2LFXY9~f*)+vy4G77F1c70F z`4mJ81|J$mW?zw$%z6(j!YdhvI|Lm2M;^^!`1gOI1(U_`xW;%oE+n8vc9n)!4qccQ z3MALH*(g8W$;<>&k%TBPuxD{}<$aAwe@AIp*B6unF%Ynj>U7 z^1&7+YH&J>*I{k%6AH9^*x_p@i0ocBx;PM!co*vordkRcMP*D)Qnv4{Nr&&MXH!bU zx^V>RKw%HOQ;6+uyrNW}FOZ#kw+ceN(C9HiuDHsmz_5m|qV zw((LuVSYA)f?Eq6uXvINu)z5qcAH}SkGYEzulzE2eokYbPXqFv86EvM<)*BP6&ak@ zpUp$!_yMYS{*-)r#w=S`l^*+3_7RuUe+8W{st?`Wm{os!MnJT&lS=h!TW2@phI_3` z@C`8G;J|+BBRmsU#jCxnKFP8l{ig^nLOX>@&@nv4ogETU0 zx6~%4>k#Vla8Ldn7R~*bv5-S36uZ+-_aw-NRDV=1bfimEJZf)Af5f=chr%xU`YHgL zE$fzLRnxfN98MP3WE2)Y6)CT`fj7)Vo*&h)rnV+d&Z(hts0g9*r6B(S`X6Bb0sbEl z{{i_QQ2zn_A29y``yX)s0skNW_sq}#Kx~ySMS7|RSpIh>maQ=nv(62_x&42KJm{8E zDgTAlL2dl6U`;eOhB^PguzHcj+8DSH6B62lH$i-8&Xod`UY@{-_{9kCqv;t#@97S1 zwLuHO@0QzR3^l7j?Q*PxN&1lQ{ObvN^Y!x>4>YQ2{_gwL>-q2ls5cwwf!_>gb;6K? zx8yvT3*1*6oQu#8W8O|XOfFJk{3=Ko8?sr&W!tj0rD0__ot|V~ zp{>GA(FV=Noh9=OH!vqC%|c8&eK}bjh8X0sP`b|GM|l3*HNt?3t4`-pUD}?l-VS%JW-=Obx@h5;s4%5r?=b>lUF20B z;S>prJDo>hwOj-{+qF?~P~iYS1xXeS`!8jJf}?9&w<^W|=ybbF!)5}D?M^689ec5Y z%C&)^(2$Vm*OL)cCwfe%Uv1-`!yhYwEKxIptWv>H*g2NiKqbatB;H!lG9O)8d4mf) zWS1a~T`eq}S+p=|+(dd4_0BX6>!uzWB$8WA@mdF`wM1wN`(t}ozaCqNJxk)hfCWXu zega*-4HFH34Wko~@xi&`4*xl~&om51F4Q?;#mmK;#pJu%*P@-(G)N9Gkvbq`5N6iN zG(cCIYa59I*X#t=O=la=O+l&uB6KUp3JixaIE|_2{tnZ(j`2+um+8*nA>t4DhNYK+ zJy?>(#1_x|8xbj|;ifo~C!WQyqOL{M1pd|cxEi{TkTh4QPq&RU=W<6AmhvmGyCiLb zm}~H0ib+`qYhlK?k#aBMcz1p*(%473yU-P141AmelyLBkfOX1d)u3f!9M&Z1Ti7TH z%&4d|Yy5ohZ1J{cE|eY_0V8uUik>L!`r_X4h0VHm0#)mWw#!TXLdfeTM2f5bxXb=Y z-eA0rnM)Ph#VfL`w9bg2$?4+BFrE2|tC}6|?J7dj()dJUgI@bTPxd-dW$g5QxP=6+ zX=xkacg{0wofZS57WsvNp<$&X!KS zg!1h4S)!yS^77bU^-xV*4UBp7X5Q8MIdrC(Z-|EPe&1I;Qk9>#Uy;Zve}d!o1iV)w zQm*az;+40?R^Wy!6Sn{{xsa=6R?KfT^i3PC{LBJ+f&JQx^q2mFE$xkh?d&@8&kmn} zdW^Cc@ENa&=Xk|4RZe#}MjwTDY}b$28sPZ#zf)Y%|Jf<$ z>`4FFDR2HRoFdX_AcJClWP%+()*+}(YO`s?zItJ}5FI6@dLrQltu41^M7BNdYEG=^>5<7^^;e~U*R^z?;3SOE4@YLI@NOuirp}G17wynZT^;UG;Z?q z(rL6{G@8Y}@+6nutNBtR419K{3O9%GDdYp<#SI-h<;=E7wFNr7Pe>J4cjB+(UipQs ziu?vB^u^*L^d0A@;hOav_rz!(dD=;CJx_M41$*h@JUXf*AH+ga29acqknk%+F*PV; zs)aHZdsCSH6<9gJgDPQm=gq^Bgc!)ft_^1U&auN3Dbtl>Vf|7226xgqgG00@akt9zNSvfzG(# z>ylWIv6nFnitsHelvlHbu-8u5@9=7ckwqn!OPOp?h;)?H^PXRfR*s)m7t4Xpwy zN)z{RboK2LxXm@_d9y}q;o_h}TQd;&;czUh%k~Keg!@2g-o896U#kwzB@2s91z4cZfoq|S9r#h_~iZgn?w~J(Rf~O;PCOMEK7Bx(C zq0N~|Wgk*-^Khu|{xDM+L;`}}Zhf*B`a2n3Lt@AIy3<&jEj z%pB79{k?6qmwUx?0TSvCGO~Pmd9+3oQ*D@UOQfQ9LKEUBRC$0e?e=AO%hM#><6lt0 z4dxpSvi+ksrS}Z~;WksmViihx@K>Jl)6$a52+8b-57RoF&h_Z)zyq}U6=JVwVB#8M zXSb*J>d^)71Fq}~x&lCtpDPddmAr-`%()dRoPG@Ja;hG`?t4N%f#_cjuARp;wzZ2H z`S0!Dvd>|2=Dj(_YLi*0UTSXD3j2%Y3r{01Tz6+EpNYf)+LZmso9tCJ+it;MQZyYbC?nEc5a)eq|YSjmrrUJ zBonScHqqC;Ve&RBpn#6~XG?{MJWY`rQB6@cA{8~ht}Bww6v9FlTAZ+b%Wb6)#M}yE zk!uVUvrY{yFEwCSP(|5fzUEIUI=T|-v>T!=yM01Hh7+cm%BJ~@eNv9d)=g$ZOW>}IKpCRQfczQjly}$P3q+V{g z51P?78c!$LGB~M=Ct8if)EZ;Pdqow%p&jj$*P!Nu*U2JmYg4}d*Vvav&FuVunO|r(a&F;xI`x-g25dg$x7C^I6!KOZ6(_xBY<`L_mNrzvLTsNPB8w+2T@#As5YnY{p6GMuPiSEB;-#(8OzQGQm+YtYs zyK-WHTow$<%9NULh)fIUWoZA37y=PWUc^+g z`^3lik)CUJ_`GtwJ3+|#Bg!%-^w{QxKpYcFQ#@$*^)YveOY@}tPv1o(_Wgd={cBk7q1))Bx3+1rt53-tlR##KKTIRaE2q3E#7QLJfjO&cT^66@ zb@2N8VzG5DRw@t(y>Se$!~v!n<`#@o5ZqkALYf`oBtygTI4Uu`ZS`GT8X8C9rw2Eu6hf}qC~%?p^y+Yc?e#*_;7(~!G0T-BP|sT17wiW{L@CmO~>!p4IVt$tS3uAM$R z7-B48jw zL4smS%8!pOGv}J>qqA}ot<>Z#@K>o0NRd^}7)f4IEH$&q&}PigFFP9@uck7j3=7bG zbABjyVl)SWb9zPeyAIR1V$x0RUJIZLUexaJEinny{m3K#$%+fje;~0XswTc>@dZ-M z6*&|{{?sQIeSB2oT|YI`?@_0sT9xX!!&IR>Tu)LZ-G0pzOy}c4wU|Dum&+})-W@$I zO5+DhRlxeSem+kwO56Gad@DZ|$L!`wV=ms`o2eT}3MGpH)$b?WV&eN}?Up!}Gv_F9 z%@g8VP43zecu13rs?kVXPR|!NW?9a4n?&nr<;=r?V_7W^bp_vJp@A$88{(wa5ZhxP zOV+Th);QN4iwIghDPptG_`WuW?>-xIAbUPGW+ltH!60}En!a3(zTL);rZ+k>ULJZv zlNJe}1QFLj7~mYj7563Iw6X1+!8%_j_!NTQ%myjUS8*!1)2C8P%2emsW44nw$Kj@XF%BnqB75y8l|GMceI<}R z7W0)16CALL`#AWm�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