Wiki

Έκδοση 34 (Ζήσης, Μιχάλης, 19/12/2014 12:03)

1 31 nsgeorgi, nsgeorgi
2 29 nsgeorgi, nsgeorgi
3 1 andr_seit, andr_seit
h1. Wiki
4 24 nsgeorgi, nsgeorgi
5 1 andr_seit, andr_seit
Welcome to the queue_system wiki!
6 1 andr_seit, andr_seit
7 1 andr_seit, andr_seit
h2. Εισαγωγή
8 1 andr_seit, andr_seit
9 1 andr_seit, andr_seit
To e-Queue είναι ένα πρόγραμμα, το οποίο έχει ως σκοπό να αποφορτίζει τις ουρές αναμονής σε διάφορες υπηρεσίες, όπως η Εφορία ή ένα νοσοκομείο. Παρέχει στον ενδιαφερόμενο χρήστη, τη δυνατότητα να λαμβάνει σειρά στην ουρά είτε από κάποιο μηχάνημα της υπηρεσίας, είτε ηλεκτρονικά, από τον προσωπικό υπολογιστή του μέσω Internet, χωρίς να βρίσκεται απαραίτητα στο χώρο της υπηρεσίας. Ενημερώνει το χρήστη για την κατάσταση της ουράς κάθε χρονική στιγμή και προσφέρει μία εκτίμηση του χρόνου που θα χρειαστεί να περιμένει μέχρι να εξυπηρετηθεί.
10 1 andr_seit, andr_seit
11 30 nsgeorgi, nsgeorgi
*Η εφαρμογή αυτή έχει αναπτυχθεί  με 2 διαφορετικές εκδοχές.* 
12 30 nsgeorgi, nsgeorgi
13 32 Ζήσης, Μιχάλης
*1)*  Το σύστημα της εφαρμογής να είναι ενιαίο  με το σύστημα της υπηρεσίας. Δηλαδή η web εφαρμογή να επικοινωνεί με το μηχάνημα της υπηρεσίας που βγάζει χαρτακια και να ακολουθεί την ροή της ουράς.Η  προδιαγραφή απαιτήσεων αυτής της έκδοσης παρουσιάζεται παρακάτω.
14 30 nsgeorgi, nsgeorgi
15 30 nsgeorgi, nsgeorgi
16 30 nsgeorgi, nsgeorgi
*2)*  Το σύστημα της εφαρμογής είναι ανεξάρτητο με το σύστημα της υπηρεσίας.Η web εφαρμογή δεν επικοινωνεί με το μηχάνημα της υπηρεσίας άλλα δημιουργεί μια δικιά της ηλεκτρονική ουρά μέσω της οποίας ο πελάτης μπορεί να λάβει χαρτάκι και να πάρει θέση στην ουρά.Έτσι η υπηρεσία αποκτά 2 ουρές , μία πραγματική  όπου ο πελάτης βγάζει χαρτάκι από το μηχάνημα  και μία ηλεκτρονική  όπου ο πελάτης βγάζει χαρτάκι μέσω της web-εφαρμογής.
17 30 nsgeorgi, nsgeorgi
18 30 nsgeorgi, nsgeorgi
Το έγγραφο προδιαγραφής απαιτήσεων βρίσκεται εδώ :  https://ma.ellak.gr/forge/projects/therino_sxoleip_oures/files
19 30 nsgeorgi, nsgeorgi
20 30 nsgeorgi, nsgeorgi
O κώδικας της εφαρμογής βρίσκεται εδώ : https://github.com/nsgeorgi/easy-ticket
21 30 nsgeorgi, nsgeorgi
22 30 nsgeorgi, nsgeorgi
To website βρίσκεται εδώ :  http://nsgeorgi.webpages.auth.gr/dw
23 30 nsgeorgi, nsgeorgi
24 32 Ζήσης, Μιχάλης
======================================================
25 33 Ζήσης, Μιχάλης
[!!!] Το παρακάτω έγγραφο αφορά την 1η εκδοχή!
26 33 Ζήσης, Μιχάλης
======================================================
27 34 Ζήσης, Μιχάλης
28 3 andr_seit, andr_seit
h2. Λειτουργίες
29 3 andr_seit, andr_seit
    
30 15 andr_seit, andr_seit
Παρακάτω παρουσιάζονται οι λειτουργίες που παρέχει το πρόγραμμα στους χρήστες. Οι χρήστες του προγράμματος είναι οι πελάτες της υπηρεσίας, στην οποία χρησιμοποιείται το e-queue και οι υπεύθυνοι υπάλληλοι της υπηρεσίας.
31 3 andr_seit, andr_seit
32 3 andr_seit, andr_seit
1. Το σύστημα προσφέρει στους πελάτες της υπηρεσίας μία ιστοσελίδα που είναι διαθέσιμη για όλα τα είδη ηλεκτρονικών υπολογιστών (desktop, smartphones κτλ), μέσω της οποίας ο ενδιαφερόμενος μπορεί να λάβει θέση στην ουρά δηλώνοντας τον αριθμό ΑΜΚΑ του.
33 3 andr_seit, andr_seit
   Η ιστοσελίδα αποτελείται από τα εξής μέρη: 
34 4 andr_seit, andr_seit
* Την περιοχή με τις πληροφορίες σχετικά με την ουρά, δηλαδή ποιος αριθμός εξυπηρετείται και ποιος αριθμός εκδόθηκε τελευταίος.
35 4 andr_seit, andr_seit
* Την περιοχή που αφορά την έκδοση νέου αριθμού, όπου περιέχεται η φόρα εισαγωγής ΑΜΚΑ.
36 4 andr_seit, andr_seit
* Την περιοχή που εμφανίζονται μηνύματα σχετικά με την εγκυρότητα του ΑΜΚΑ και της έκδοσης αριθμού.
37 6 andr_seit, andr_seit
   
38 13 andr_seit, andr_seit
Κατά τη δήλωση ενός ΑΜΚΑ πραγματοποιούνται έλεγχοι εγκυρότητας οι οποίοι εντοπίζουν μη έγκυρους αριθμούς ΑΜΚΑ και βεβαιώνουν ότι σε κάθε αριθμό ΑΜΚΑ αντιστοιχεί ακριβώς μία θέση στην ουρά και επιτρέπεται να δοθεί νέο νούμερο μόνο αν έχει παρέλθει το προηγούμενο.
39 3 andr_seit, andr_seit
40 3 andr_seit, andr_seit
2. Για τους υπαλλήλους της υπηρεσίας υπάρχει επίσης μία σελίδα, μέσω της οποίας μπορούν να πραγματοποιήσουν τις παρακάτω λειτουργίες: 
41 14 andr_seit, andr_seit
* Να εμφανίζουν μία λίστα με τα ΑΜΚΑ που έχουν καταχωρηθεί καθώς και κάποιες επιπρόσθετες πληροφορίες για το καθένα, όπως τον αριθμό τους στην ουρά και την ημερομηνία και ώρα έκδοσης του εισιτηρίου.
42 14 andr_seit, andr_seit
* Να καθαρίζουν την παραπάνω λίστα.
43 3 andr_seit, andr_seit
44 3 andr_seit, andr_seit
h2. Υποδομές
45 11 andr_seit, andr_seit
46 1 andr_seit, andr_seit
   Για να υλοποιηθεί το σύστημα χρειάστηκαν τα παρακάτω στοιχεία.
47 1 andr_seit, andr_seit
48 11 andr_seit, andr_seit
49 11 andr_seit, andr_seit
* Μία *βάση δεδομένων*, η οποία αποθηκεύει τα ΑΜΚΑ για τα οποία εκδόθηκε εισιτήριο και πληροφορίες για αυτά. Η βάση αυτή χρησιμοποιείται για τους ελέγχους της εγκυρότητας των ΑΜΚΑ και για την εμφάνιση των στοιχείων στους υπαλλήλους της υπηρεσίας. Έχει στηθεί σε εξυπηρετητές του Α.Π.Θ. και η εφαρμογή συνδέεται σε αυτήν μέσω ssh tunneling.
50 11 andr_seit, andr_seit
51 16 andr_seit, andr_seit
* Το σύστημα προορίζεται να συνδυαστεί με τα μηχανήματα που ήδη υπάρχουν στις διάφορες υπηρεσίες και εκδίδουν θέσεις στην ουρά. Προς το παρόν, επειδή δεν είναι δυνατή η χρήση ενός τέτοιου μηχανήματος, χρησιμοποιείται ένας *προσομοιωτής*, ο οποίος υπάρχει ως υλικό και συνδέεται με το πρόγραμμα μέσω σειριακής θύρας και ως λογισμικό που είναι μία τρισδιάστατη απεικόνιση του υλικού. Ο προσομοιωτής έχει δύο λειτουργίες: α) Δίνει θέση στην ουρά, β) ενημερώνει όταν μπορεί να εξυπηρετηθεί ο επόμενος πελάτης.
52 7 andr_seit, andr_seit
53 1 andr_seit, andr_seit
h2. Απαιτήσεις Προγράμματος
54 1 andr_seit, andr_seit
55 1 andr_seit, andr_seit
1. Το πρόγραμμα απαιτεί την ύπαρξη μίας μεθόδου, η οποία θα ανανεώνει τις πληροφορίες σχετικά με την κατάσταση της ουράς και τον εκτιμώμενο χρόνο αναμονής του χρήστη ανά τακτά χρονικά διαστήματα. Η απαίτηση αυτή προκύπτει από τη δυναμική φύση των ουρών, οι οποίες μεταβάλλονται συνεχώς και σε τυχαίες χρονικές στιγμές.
56 1 andr_seit, andr_seit
57 1 andr_seit, andr_seit
2. Η εφαρμογή από τη μεριά του χρήστη θα υποστηρίζεται είτε από υπολογιστή είτε από κινητό. Κάθε συσκευή έχει διαφορετικό μέγεθος οθόνης. Επομένως, το πρόγραμμα θα πρέπει να αναγνωρίζει την ανάλυση της οθόνης της κάθε συσκευής και να ανακατευθύνει τον περιηγητή σε μία σελίδα με κατάλληλο μέγεθος για εμφάνιση στη συνδεδεμένη συσκευή. Οι σελίδες αυτές θα έχουν τις ίδιες ακριβώς λειτουργίες.
58 1 andr_seit, andr_seit
59 1 andr_seit, andr_seit
3. Για λόγους καλύτερης λειτουργίας του προγράμματος, θα πρέπει κάθε χρήστης να μπορεί να λάβει μία μόνο θέση στην ουρά. Για να επιτευχθεί αυτό απαιτείται κάποια μέθοδος ταυτοποίησης χρήστη, ώστε να εμποδίζεται ο χρήστης να λάβει και δεύτερη θέση, για ένα χρονικό διάστημα.
60 1 andr_seit, andr_seit
61 1 andr_seit, andr_seit
4. Το πρόγραμμα θα πρέπει να συνδυαστεί με το ήδη υπάρχον σύστημα ανάθεσης σειράς σε ουρά αναμονής. Τα δύο συστήματα (e-queue και παλιό σύστημα) θα πρέπει να αλληλεπιδρούν και να αλληλοενημερώνονται ώστε να αποφεύγεται η ανάθεση της ίδιας θέσης σε δύο διαφορετικά άτομα.
62 1 andr_seit, andr_seit
63 2 andr_seit, andr_seit
Github repository: https://github.com/ma-summer-school/queue_system
64 1 andr_seit, andr_seit
65 1 andr_seit, andr_seit
h1. Δοκιμές προγράμματος
66 1 andr_seit, andr_seit
67 1 andr_seit, andr_seit
Οι δοκιμές που μπορούν να γίνουν είναι οι παρακάτω:
68 1 andr_seit, andr_seit
69 20 andr_seit, andr_seit
1. Έλεγχος εγκυρότητας του αριθμού ΑΜΚΑ. Κάθε αριθμός ΑΜΚΑ ξεκινάει από τα ψηφία της ημερομηνίας γέννησης του κατόχου του και αποτελείται ακριβώς από 11 ψηφία. Το σύστημα θα πρέπει να ελέγχει αν ο αριθμός που δίνεται από το χρήστη πληροί τις προϋποθέσεις αυτές. Επίσης, το σύστημα πρέπει να απορρίπτει τον αριθμό ΑΜΚΑ αν περιέχει χαρακτήρες οι οποίοι δεν είναι αριθμοί.
70 17 andr_seit, andr_seit
71 21 andr_seit, andr_seit
2. Κάποιος χρήστης προσπαθεί να λάβει θέση στη ουρά παραπάνω από μιά φορές. Το σύστημα θα πρέπει να απορρίψει τις επιπλέον αιτήσεις του.
72 1 andr_seit, andr_seit
73 21 andr_seit, andr_seit
3. Χρήση του προγράμματος από υπολογιστή ή από κινητό. Σε κάθε περίπτωση το πρόγραμμα θα πρέπει να αναγνωρίσει το μέγεθος της οθόνης και να εμφανίσει τη σελίδα στο κατάλληλο μέγεθος και με τις ίδιες λειτουργίες. Επίσης, οι τιμές της κατάστασης της ουράς θα πρέπει να συμφωνούν σε κάθε συσκευή.
74 1 andr_seit, andr_seit
75 1 andr_seit, andr_seit
Για τις δοκιμές μπορεί να χρησιμοποιηθεί ο προσομοιωτής του μηχανήματος το οποίο αποδίδει θέσεις στην ουρά και ορίζει τον επόμενο ενδιαφερόμενο προς εξυπηρέτηση, ο οποίος βρίσκεται στο σύνδεσμο που ακολουθεί: https://github.com/hikiko/eqemu