Wiki

Έκδοση 49 (nsgeorgi, nsgeorgi, 14/03/2015 18:05)

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 46 nsgeorgi, nsgeorgi
To Easy-Ticket είναι ένα πρόγραμμα, το οποίο έχει ως σκοπό να αποφορτίζει τις ουρές αναμονής σε διάφορες υπηρεσίες, όπως η Εφορία ή ένα νοσοκομείο. Παρέχει στον ενδιαφερόμενο χρήστη, τη δυνατότητα να λαμβάνει σειρά στην ουρά είτε από κάποιο μηχάνημα της υπηρεσίας, είτε ηλεκτρονικά, από τον προσωπικό υπολογιστή του μέσω Internet, χωρίς να βρίσκεται απαραίτητα στο χώρο της υπηρεσίας. Ενημερώνει το χρήστη για την κατάσταση της ουράς κάθε χρονική στιγμή και προσφέρει μία εκτίμηση του χρόνου που θα χρειαστεί να περιμένει μέχρι να εξυπηρετηθεί.
10 1 andr_seit, andr_seit
11 48 nsgeorgi, nsgeorgi
Η εφαρμογή αυτή έχει αναπτυχθεί   και με *κανονικό μηχάνημα* που εκτυπώνει χαρτάκια αλλά και με *προσομοιώτη*.
12 48 nsgeorgi, nsgeorgi
*Δηλαδή αν ο χρήστης που θα πάρει θέση στην ουρά μέσω της Web εφαρμογής θα έχει για παράδειγμα το Νο 8 τότε ο αμέσως επόμενος  πελάτης που θα πάρει θέση στην ουρά από το μηχάνημα της υπηρεσίας αυτή τη φορά ,θα έχει το Νο 9 δηλαδή θα υπάρχει επικοινωνία του (συγκεκριμένου μοντέλου) μηχανήματος και της εφαρμογής !
13 48 nsgeorgi, nsgeorgi
*__
14 1 andr_seit, andr_seit
15 47 nsgeorgi, nsgeorgi
h1. *EΚΔΟΧΗ ΜΕ ΚΑΝΟΝΙΚΟ ΜΗΧΑΝΗΜΑ*
16 30 nsgeorgi, nsgeorgi
17 46 nsgeorgi, nsgeorgi
18 49 nsgeorgi, nsgeorgi
Το *έγγραφο προδιαγραφής απαιτήσεων* (SRS) βρίσκεται εδώ :  https://ma.ellak.gr/forge/projects/therino_sxoleip_oures/files
19 30 nsgeorgi, nsgeorgi
20 49 nsgeorgi, nsgeorgi
O* κώδικας* της εφαρμογής βρίσκεται εδώ : https://github.com/nsgeorgi/easy-ticket
21 1 andr_seit, andr_seit
22 49 nsgeorgi, nsgeorgi
To *website* βρίσκεται εδώ :  http://www.easy-ticket.gr/
23 30 nsgeorgi, nsgeorgi
24 1 andr_seit, andr_seit
25 1 andr_seit, andr_seit
26 32 Ζήσης, Μιχάλης
======================================================
27 47 nsgeorgi, nsgeorgi
*Θέματα  Εκδοχής ΜΕ *ΚΑΝΟΝΙΚΟ ΜΗΧΑΝΗΜΑ*:*
28 40 Ζήσης, Μιχάλης
29 1 andr_seit, andr_seit
30 47 nsgeorgi, nsgeorgi
335 - Eγγραφή χρήστη-πελάτη | http://ma.ellak.gr/forge/issues/335
31 47 nsgeorgi, nsgeorgi
336 - Σύνδεση χρήστη-πελάτη  | http://ma.ellak.gr/forge/issues/336
32 47 nsgeorgi, nsgeorgi
337 - Εμφάνιση κατάστασης ουράς στον  χρήστη-πελάτη  | http://ma.ellak.gr/forge/issues/337
33 47 nsgeorgi, nsgeorgi
340 - Android Εφαρμογή  ( Σχεδίαση και υλοποίηση του Interface κυρίως | http://ma.ellak.gr/forge/issues/340
34 46 nsgeorgi, nsgeorgi
35 1 andr_seit, andr_seit
h1. *ΕΚΔΟΧΗ ΜΕ ΠΡΟΣΟΜΟΙΩΤΗ*
36 46 nsgeorgi, nsgeorgi
37 46 nsgeorgi, nsgeorgi
38 46 nsgeorgi, nsgeorgi
Οι οδηγίες εγκατάστασης του Apache Server και του Emulator βρίσκονται εδώ: http://ma.ellak.gr/forge/issues/354
39 46 nsgeorgi, nsgeorgi
40 42 nsgeorgi, nsgeorgi
41 47 nsgeorgi, nsgeorgi
*Θέματα  Εκδοχής  ΜΕ * ΠΡΟΣΟΜΟΙΩΤΗ*:*
42 42 nsgeorgi, nsgeorgi
43 47 nsgeorgi, nsgeorgi
302 - Ανάλυση Αναγκών | http://ma.ellak.gr/forge/issues/302
44 47 nsgeorgi, nsgeorgi
303 - Καθορισμός προδιαγραφών συστήματος | http://ma.ellak.gr/forge/issues/303
45 47 nsgeorgi, nsgeorgi
363- Σελιδοποίηση των καταχωρημένων ΑΜΚΑ στη σελίδα του διαχειριστή | http://ma.ellak.gr/forge/issues/363
46 47 nsgeorgi, nsgeorgi
364- Δημιουργία script για την εγκατάσταση του emulator | http://ma.ellak.gr/forge/issues/3640
47 39 Ζήσης, Μιχάλης
48 47 nsgeorgi, nsgeorgi
49 1 andr_seit, andr_seit
======================================================
50 46 nsgeorgi, nsgeorgi
51 47 nsgeorgi, nsgeorgi
h1. Το παρακάτω έγγραφο αφορά την εκδοχή *ΜΕ ΤΟΝ ΠΡΟΣΟΜΟΙΩΤΗ*!
52 34 Ζήσης, Μιχάλης
53 3 andr_seit, andr_seit
h2. Λειτουργίες
54 3 andr_seit, andr_seit
    
55 15 andr_seit, andr_seit
Παρακάτω παρουσιάζονται οι λειτουργίες που παρέχει το πρόγραμμα στους χρήστες. Οι χρήστες του προγράμματος είναι οι πελάτες της υπηρεσίας, στην οποία χρησιμοποιείται το e-queue και οι υπεύθυνοι υπάλληλοι της υπηρεσίας.
56 3 andr_seit, andr_seit
57 3 andr_seit, andr_seit
1. Το σύστημα προσφέρει στους πελάτες της υπηρεσίας μία ιστοσελίδα που είναι διαθέσιμη για όλα τα είδη ηλεκτρονικών υπολογιστών (desktop, smartphones κτλ), μέσω της οποίας ο ενδιαφερόμενος μπορεί να λάβει θέση στην ουρά δηλώνοντας τον αριθμό ΑΜΚΑ του.
58 3 andr_seit, andr_seit
   Η ιστοσελίδα αποτελείται από τα εξής μέρη: 
59 4 andr_seit, andr_seit
* Την περιοχή με τις πληροφορίες σχετικά με την ουρά, δηλαδή ποιος αριθμός εξυπηρετείται και ποιος αριθμός εκδόθηκε τελευταίος.
60 4 andr_seit, andr_seit
* Την περιοχή που αφορά την έκδοση νέου αριθμού, όπου περιέχεται η φόρα εισαγωγής ΑΜΚΑ.
61 4 andr_seit, andr_seit
* Την περιοχή που εμφανίζονται μηνύματα σχετικά με την εγκυρότητα του ΑΜΚΑ και της έκδοσης αριθμού.
62 6 andr_seit, andr_seit
   
63 13 andr_seit, andr_seit
Κατά τη δήλωση ενός ΑΜΚΑ πραγματοποιούνται έλεγχοι εγκυρότητας οι οποίοι εντοπίζουν μη έγκυρους αριθμούς ΑΜΚΑ και βεβαιώνουν ότι σε κάθε αριθμό ΑΜΚΑ αντιστοιχεί ακριβώς μία θέση στην ουρά και επιτρέπεται να δοθεί νέο νούμερο μόνο αν έχει παρέλθει το προηγούμενο.
64 3 andr_seit, andr_seit
65 3 andr_seit, andr_seit
2. Για τους υπαλλήλους της υπηρεσίας υπάρχει επίσης μία σελίδα, μέσω της οποίας μπορούν να πραγματοποιήσουν τις παρακάτω λειτουργίες: 
66 14 andr_seit, andr_seit
* Να εμφανίζουν μία λίστα με τα ΑΜΚΑ που έχουν καταχωρηθεί καθώς και κάποιες επιπρόσθετες πληροφορίες για το καθένα, όπως τον αριθμό τους στην ουρά και την ημερομηνία και ώρα έκδοσης του εισιτηρίου.
67 14 andr_seit, andr_seit
* Να καθαρίζουν την παραπάνω λίστα.
68 3 andr_seit, andr_seit
69 3 andr_seit, andr_seit
h2. Υποδομές
70 11 andr_seit, andr_seit
71 1 andr_seit, andr_seit
   Για να υλοποιηθεί το σύστημα χρειάστηκαν τα παρακάτω στοιχεία.
72 1 andr_seit, andr_seit
73 11 andr_seit, andr_seit
74 11 andr_seit, andr_seit
* Μία *βάση δεδομένων*, η οποία αποθηκεύει τα ΑΜΚΑ για τα οποία εκδόθηκε εισιτήριο και πληροφορίες για αυτά. Η βάση αυτή χρησιμοποιείται για τους ελέγχους της εγκυρότητας των ΑΜΚΑ και για την εμφάνιση των στοιχείων στους υπαλλήλους της υπηρεσίας. Έχει στηθεί σε εξυπηρετητές του Α.Π.Θ. και η εφαρμογή συνδέεται σε αυτήν μέσω ssh tunneling.
75 11 andr_seit, andr_seit
76 16 andr_seit, andr_seit
* Το σύστημα προορίζεται να συνδυαστεί με τα μηχανήματα που ήδη υπάρχουν στις διάφορες υπηρεσίες και εκδίδουν θέσεις στην ουρά. Προς το παρόν, επειδή δεν είναι δυνατή η χρήση ενός τέτοιου μηχανήματος, χρησιμοποιείται ένας *προσομοιωτής*, ο οποίος υπάρχει ως υλικό και συνδέεται με το πρόγραμμα μέσω σειριακής θύρας και ως λογισμικό που είναι μία τρισδιάστατη απεικόνιση του υλικού. Ο προσομοιωτής έχει δύο λειτουργίες: α) Δίνει θέση στην ουρά, β) ενημερώνει όταν μπορεί να εξυπηρετηθεί ο επόμενος πελάτης.
77 7 andr_seit, andr_seit
78 1 andr_seit, andr_seit
h2. Απαιτήσεις Προγράμματος
79 1 andr_seit, andr_seit
80 1 andr_seit, andr_seit
1. Το πρόγραμμα απαιτεί την ύπαρξη μίας μεθόδου, η οποία θα ανανεώνει τις πληροφορίες σχετικά με την κατάσταση της ουράς και τον εκτιμώμενο χρόνο αναμονής του χρήστη ανά τακτά χρονικά διαστήματα. Η απαίτηση αυτή προκύπτει από τη δυναμική φύση των ουρών, οι οποίες μεταβάλλονται συνεχώς και σε τυχαίες χρονικές στιγμές.
81 1 andr_seit, andr_seit
82 1 andr_seit, andr_seit
2. Η εφαρμογή από τη μεριά του χρήστη θα υποστηρίζεται είτε από υπολογιστή είτε από κινητό. Κάθε συσκευή έχει διαφορετικό μέγεθος οθόνης. Επομένως, το πρόγραμμα θα πρέπει να αναγνωρίζει την ανάλυση της οθόνης της κάθε συσκευής και να ανακατευθύνει τον περιηγητή σε μία σελίδα με κατάλληλο μέγεθος για εμφάνιση στη συνδεδεμένη συσκευή. Οι σελίδες αυτές θα έχουν τις ίδιες ακριβώς λειτουργίες.
83 1 andr_seit, andr_seit
84 1 andr_seit, andr_seit
3. Για λόγους καλύτερης λειτουργίας του προγράμματος, θα πρέπει κάθε χρήστης να μπορεί να λάβει μία μόνο θέση στην ουρά. Για να επιτευχθεί αυτό απαιτείται κάποια μέθοδος ταυτοποίησης χρήστη, ώστε να εμποδίζεται ο χρήστης να λάβει και δεύτερη θέση, για ένα χρονικό διάστημα.
85 1 andr_seit, andr_seit
86 1 andr_seit, andr_seit
4. Το πρόγραμμα θα πρέπει να συνδυαστεί με το ήδη υπάρχον σύστημα ανάθεσης σειράς σε ουρά αναμονής. Τα δύο συστήματα (e-queue και παλιό σύστημα) θα πρέπει να αλληλεπιδρούν και να αλληλοενημερώνονται ώστε να αποφεύγεται η ανάθεση της ίδιας θέσης σε δύο διαφορετικά άτομα.
87 1 andr_seit, andr_seit
88 2 andr_seit, andr_seit
Github repository: https://github.com/ma-summer-school/queue_system
89 1 andr_seit, andr_seit
90 1 andr_seit, andr_seit
h1. Δοκιμές προγράμματος
91 1 andr_seit, andr_seit
92 1 andr_seit, andr_seit
Οι δοκιμές που μπορούν να γίνουν είναι οι παρακάτω:
93 1 andr_seit, andr_seit
94 20 andr_seit, andr_seit
1. Έλεγχος εγκυρότητας του αριθμού ΑΜΚΑ. Κάθε αριθμός ΑΜΚΑ ξεκινάει από τα ψηφία της ημερομηνίας γέννησης του κατόχου του και αποτελείται ακριβώς από 11 ψηφία. Το σύστημα θα πρέπει να ελέγχει αν ο αριθμός που δίνεται από το χρήστη πληροί τις προϋποθέσεις αυτές. Επίσης, το σύστημα πρέπει να απορρίπτει τον αριθμό ΑΜΚΑ αν περιέχει χαρακτήρες οι οποίοι δεν είναι αριθμοί.
95 17 andr_seit, andr_seit
96 21 andr_seit, andr_seit
2. Κάποιος χρήστης προσπαθεί να λάβει θέση στη ουρά παραπάνω από μιά φορές. Το σύστημα θα πρέπει να απορρίψει τις επιπλέον αιτήσεις του.
97 1 andr_seit, andr_seit
98 21 andr_seit, andr_seit
3. Χρήση του προγράμματος από υπολογιστή ή από κινητό. Σε κάθε περίπτωση το πρόγραμμα θα πρέπει να αναγνωρίσει το μέγεθος της οθόνης και να εμφανίσει τη σελίδα στο κατάλληλο μέγεθος και με τις ίδιες λειτουργίες. Επίσης, οι τιμές της κατάστασης της ουράς θα πρέπει να συμφωνούν σε κάθε συσκευή.
99 1 andr_seit, andr_seit
100 1 andr_seit, andr_seit
Για τις δοκιμές μπορεί να χρησιμοποιηθεί ο προσομοιωτής του μηχανήματος το οποίο αποδίδει θέσεις στην ουρά και ορίζει τον επόμενο ενδιαφερόμενο προς εξυπηρέτηση, ο οποίος βρίσκεται στο σύνδεσμο που ακολουθεί: https://github.com/hikiko/eqemu