Anafora Web Alex Final

87
ΕΡΓΑΣΤΗΡΙΟ ΔΙΑΝΕΜΗΜΕΝΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ Ανάπτυξη Εφαρμογών Πληροφοριακών Συστημάτων στο Διαδίκτυο 2013-2014 Recreational Tuc Υπηρεσία Κοινωνικής Δικτύωσης Χρηστών Υποδομών Αναψυχής Πολυτεχνείου Κρήτης Πιαλόγλου Αλέξανδρος 2008030097

Transcript of Anafora Web Alex Final

Page 1: Anafora Web Alex Final

ΕΡΓΑΣΤΗΡΙΟ ΔΙΑΝΕΜΗΜΕΝΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ

ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΕΦΑΡΜΟΓΩΝ ΠΟΛΥΜΕΣΩΝ

Ανάπτυξη Εφαρμογών Πληροφοριακών Συστημάτων στο Διαδίκτυο

2013-2014

Recreational Tuc

Υπηρεσία Κοινωνικής Δικτύωσης Χρηστών Υποδομών Αναψυχής Πολυτεχνείου

Κρήτης

Πιαλόγλου Αλέξανδρος 2008030097

Page 2: Anafora Web Alex Final

2

Page 3: Anafora Web Alex Final

3

Περιεχόμενα

ΚΕΦΑΛΑΙΟ 1: Γενική Περιγραφή του Προβλήματος……………………………… 5

ΚΕΦΑΛΑΙΟ 2: Ανάλυση Απαιτήσεων

2.1 Υποθέσεις – Παραδοχές……………………………………………… 7

2.2 Λειτουργικές Απαιτήσεις…………………………………………….. 9

2.3 Λεξιλόγιο του συστήματος…………………………………………. 15

2.4 Το Μοντέλο του Πεδίου…………………………………………….. 19

ΚΕΦΑΛΑΙΟ 3: Αρχικός Σχεδιασμός

3.1 Χρήστες του Συστήματος…………………………………………... 21

3.2 Διάγραμμα Περιπτώσεων Χρήσης………………………………….. 23

3.3 Story-Boarding & Evaluation

3.3.1 Gui-StoryBoards…………………………………….. 31

3.3.2 Pluralistic Walkthrough Evaluation…………………. 38

3.3.3 Evaluation Results……………………………….….. 40

3.4 Περιπτώσεις Χρήσης……………………………………………….. 41

ΚΕΦΑΛΑΙΟ 4: Basic User Interface Guidelines……….…………………………... 73

ΚΕΦΑΛΑΙΟ 5: Βάση Δεδομένων……………………………………………….…. 83

ΚΕΦΑΛΑΙΟ 6: Αρχιτεκτονικές Σχεδιασμού (Design Architecture)………….….... 85

ΚΕΦΑΛΑΙΟ 7: Μοτίβα Σχεδιασμού (Design Patterns)……………………….…... 87

Page 4: Anafora Web Alex Final

4

Page 5: Anafora Web Alex Final

5

Γενική Περιγραφή του Προβλήματος

Σκοπός της εργασίας είναι να αναλύσουμε, να σχεδιάσουμε και να

υλοποιήσουμε μια υπηρεσία κοινωνικής δικτύωσης για τους χρήστες των

υποδομών αναψυχής του Πολυτεχνείου Κρήτης. Η ίδια υπηρεσία θα μπορεί

ακόμα να χρησιμοποιηθεί και από την τεχνική υπηρεσία του Πολυτεχνείου

Κρήτης για διάφορες ενέργειες διαχείρισης των υποδομών αυτών.

Το Πολυτεχνείο Κρήτης έχει στην κατοχή του μια σειρά από υποδομές

άθλησης και ψυχαγωγίας οι οποίες διατίθενται ελεύθερα στην ακαδημαϊκή

κοινότητα αλλά και στην τοπική κοινωνία. Παραδείγματα τέτοιων υποδομών είναι

τα γήπεδα ποδοσφαίρου, μπάσκετ, τένις κλπ. Το πολυτεχνείο διαθέτει ωστόσο και

άλλου είδους υποδομές ή χώρους όπως είναι φωταγωγημένοι δρόμοι, πεζόδρομοι,

κιόσκια, πλατείες κλπ., οι οποίοι χρησιμοποιούνται ως χώροι αναψυχής τόσο από

την ακαδημαϊκή κοινότητα όσο και από την τοπική κοινωνία. Η χρήση των

παραπάνω υποδομών ή χώρων είναι ελεύθερη για όλους και γίνεται είτε ατομικά,

είτε ομαδικά.

Μερικά από τα θέματα που αντιμετωπίζουν οι χρήστες των υποδομών

αυτών είναι τα εξής:

• Αρκετές φορές παρατηρείται το φαινόμενο, μια ομάδα χρηστών να

έρχεται στο χώρο του Πολυτεχνείου Κρήτης και να μη βρίσκει ελεύθερο να

χρησιμοποιήσει

• Υπάρχουν χρήστες οι οποίοι θα ήθελαν να παίξουν ένα ομαδικό άθλημα

αλλά δεν βρίσκουν ικανό αριθμό συμπαικτών.

• Υπάρχουν χρήστες που θα ήθελαν να κάνουν κάποια δραστηριότητα

αλλά δεν βρίσκουν παρέα.

Page 6: Anafora Web Alex Final

6

• Υπάρχουν γονείς που θα ήθελαν να φέρουν το παιδί τους σε κάποιο

γήπεδο αλλά δεν ξέρουν αν υπάρχει ελεύθερο γήπεδο ούτε αν θα είναι άλλα παιδιά

εκεί.

• Υπάρχουν χρήστες που έχουν έρθει στο Πολυτεχνείο για αναψυχή και θα

ήθελαν να καλέσουν και άλλους φίλους τους.

• Υπάρχουν χρήστες που θα ήθελαν να έρθουν από την πόλη στο

πολυτεχνείο και δεν έχουν μεταφορικό μέσο ενώ υπάρχουν άλλοι που έχουν

μεταφορικό μέσο και κενές θέσεις.

Page 7: Anafora Web Alex Final

7

2.1 ΥΠΟΘΕΣΕΙΣ – ΠΑΡΑΔΟΧΕΣ

Το σύστημα θα είναι ανοιχτό σε όλους τους χρήστες του διαδικτύου όμως

το περιεχόμενό του θα είναι προσβάσιμο μόνο σε όσους κάνουν εγγραφή. Αφορά

όμως κυρίως άτομα της Πολυτεχνειακής αλλά και της τοπικής κοινότητας. Η

εγγραφή θα γίνεται δωρεάν καταχωρώντας απλώς κάποια στοιχεία όπως

ονοματεπώνυμο, e-mail κλπ.

Ένα εγγεγραμμένο μέλος θα μπορεί να παρακολουθεί τη δραστηριότητα

συγκεκριμένων χρηστών ή θεμάτων της επιλογής του, αλλά για να γίνει αυτό θα

πρέπει να συνδεθεί μαζί τους με τρόπο που θα παρουσιαστεί στη συνέχεια.

Page 8: Anafora Web Alex Final

8

Page 9: Anafora Web Alex Final

9

2.2 ΛΕΙΤΟΥΡΓΙΚΕΣ ΑΠΑΙΤΗΣΕΙΣ ΣΥΣΤΗΜΑΤΟΣ

Το Πληροφοριακό Σύστημα που θα κατασκευαστεί, πρέπει να μπορεί να

ικανοποιήσει τις ανάγκες της ενημέρωσης των χρηστών, της μεταξύ τους

επικοινωνία καθώς και τις διάφορες ενέργειες διαχείρισης των υποδομών

αναψυχής του Πολυτεχνείου Κρήτης από την αρμόδια τεχνική υπηρεσία. Στις

παρακάτω ενότητες περιγράφονται αναλυτικά οι λειτουργικές απαιτήσεις που

πρέπει να υποστηρίζει:

1. Εγγραφή χρήστη στο σύστημα

Ο χρήστης θα πρέπει να εγγράφεται στο σύστημα προκειμένου να

απολαμβάνει τις υπηρεσίες που αυτό προσφέρει. Με την είσοδο στην

εισαγωγική σελίδα της υπηρεσίας θα είναι διαθέσιμη η φόρμα εγγραφής

όπου θα ζητούνται τα απαραίτητα στοιχεία καταχώρησης. Η εγγραφή του

χρήστη περιλαμβάνει τη δημιουργία λογαριασμού (account) με

πληροφορίες για τα δημογραφικά του χαρακτηριστικά, αλλά και

πληροφορίες που θα αφορούν την ταυτοποίηση του στο σύστημα

(username, password). Όλα τα δηλωθέντα στοιχεία θα μπορούν να

αλλάξουν από το χρήστη μετά την εγγραφή του και κατά τη χρήση του

συστήματος.

2. Προσθήκη Φίλων

Οι χρήστες θα μπορούν μετά την εγγραφή τους στο σύστημα και

την είσοδο τους με τα στοιχεία που έχουν προσδιορίσει νωρίτερα να

δικτυώνονται μεταξύ τους, δηλαδή να γίνονται φίλοι με άλλους χρήστες.

3. Εμφάνιση Πόρων

Το σύστημα θα πρέπει να εμφανίζει σε κάθε χρήστη τους πόρους.

Οι πόροι μπορούν να χωριστούν σε 2 κατηγορίες. Στην πρώτη κατηγορία

ανήκουν αυτοί που είναι περιορισμένης χωρητικότητας και μπορούν να

δεσμευθούν ολόκληροι ή κατά ένα μέρος τους. Κάθε πόρος αυτής της

κατηγορίας μπορεί να είναι α)ελεύθερος, β)δεσμευμένος, γ)δηλωμένος

προς χρήση. Ενώ στην δεύτερη κατηγορία ανήκουν άλλοι οι οποίοι είναι

απεριόριστης χωρητικότητας και δεν είναι δυνατόν να δεσμευθούν. Κάθε

Page 10: Anafora Web Alex Final

10

πόρος πρέπει να μοντελοποιηθεί ως προς την χωρητικότητα του και ως

προς τα μέρη που μπορούν να χρησιμοποιηθούν.

4. Διοργάνωση γεγονότων από τους χρήστες

Η Υπηρεσία θα πρέπει να υποστηρίζει τη διοργάνωση γεγονότων τα οποία χρησιμοποιούν/καταλαμβάνουν πόρους. Ένα γεγονός δημιουργείται από έναν χρήστη και σε αυτό μπορούν να συμμετάσχουν και άλλοι χρήστες. Ο δημιουργός ενός γεγονότος θα μπορεί να χρησιμοποιήσει έτοιμους τύπους γεγονότων και αν θέλει να τα τροποποιεί. Ένα γεγονός έχει διάφορες παραμέτρους όπως είναι το πλήθος συμμετεχόντων, ηλικιακό εύρος, διάρκεια κλπ.

5. Ακύρωση γεγονότων από τους χρήστες

Η Υπηρεσία θα πρέπει επίσης να δίνει την δυνατότητα στο χρήστη να ακυρώσει την διεξαγωγή ενός γεγονότος που είχε δημιουργήσει μέχρι και ένα χρονικό διάστημα, το οποίο θα καθοριστεί σε μετέπειτα στάδιο, πριν την έναρξη του ώστε να προλάβουν να ενημερωθούν οι συμμετέχοντες σε αυτό και να ελευθερωθούν τυχόν δεσμευμένοι πόροι.

6. Κοινοποίηση γεγονότος

Ένα γεγονός μπορεί να κοινοποιηθεί ανάλογα με την επιλογή του δημιουργού του σε μεμονωμένους φίλους, σε όλους τους φίλους, ή σε όλους τους χρήστες της υπηρεσίας.

7. Δέσμευση πόρου

Ένας χρήστης επιτρέπεται να δεσμεύσει έναν πόρο για ένα γεγονός που έχει δημιουργήσει μόνο όταν η συμμετοχή σε αυτό το γεγονός ξεπερνάει ένα καθορισμένο όριο. Η δέσμευση μπορεί να γίνεται και αυτόματα από το σύστημα.

Page 11: Anafora Web Alex Final

11

8. Αναζήτηση χρηστών

Οι χρήστες του συστήματος θα πρέπει να έχουν τη δυνατότητα αναζήτησης άλλων χρηστών του συστήματος. Η αναζήτηση χρηστών, θα γίνεται μέσω ενός search bar το οποίο θα είναι ορατό στο χρήστη σε οποιαδήποτε σελίδα του συστήματος έχει να κάνει με χρήστες αλλά καθώς και στην αρχική σελίδα. Θα παρέχονται πολλές επιλογές αναζήτησης χρηστών. Η βασική θα είναι η πληκτρολόγηση του ονόματος ή της διεύθυνσης ηλεκτρονικού ταχυδρομείου του χρήστη που θέλουμε να αναζητήσουμε.. Σε περίπτωση που ο χρήστης επιλέξει έναν από αυτούς που εμφανίζονται στα αποτελέσματα της αναζήτησης θα γίνεται ανακατεύθυνση στο αντίστοιχο προφίλ όπου και θα γίνεται ορατό το περιεχόμενο που έχει ορίσει ο χρήστης να εμφανίζεται δημόσια.

9. Αναζήτηση γεγονότων

Με παρόμοιο τρόπο θα πραγματοποιείται και η αντίστοιχη αναζήτηση που θα υποστηρίζει το σύστημα για κάθε χρήστη και θα αφορά την αναζήτηση γεγονότων με βάση διάφορα χαρακτηριστικά τους (χρόνος, είδος, συσχέτιση με τους συμμετέχοντες κλπ.).

10. Διάκριση γεγονότων

Κάθε χρήστης θα πρέπει να έχει την δυνατότητα από την υπηρεσία να βλέπει ποια γεγονότα είναι σίγουρο ότι θα γίνουν και ποια βρίσκονται στο στάδιο του σχεδιασμού ακόμα.

11. Παρουσία σε γεγονός

Κάθε συμμετέχον σε ένα γεγονός θα πρέπει να μπορεί να δηλώσει ότι παρευρίσκεται στο χώρο διεξαγωγής του.

12. Ακύρωση της συμμετοχής

Ακόμα θα πρέπει να του δίνεται η δυνατότητα από το σύστημα να ακυρώσει την συμμετοχή του σε ένα γεγονός μέχρι και μερικές ώρες πριν την διεξαγωγή του.

Page 12: Anafora Web Alex Final

12

13. Στατιστικά χρηστών

Η υπηρεσία θα πρέπει να κρατά και να παρέχει στατιστικά για την αξιοπιστία του κάθε χρήστη. Για παράδειγμα πόσες φορές έχει ένας χρήστης ακυρώσει τη συμμετοχή του σε γεγονότα, πόσα γεγονότα έχει δημιουργήσει ο ίδιος, πόσα ακυρώσει και πόσα διοργανώσει.

14. Δήλωση συμμετοχής

Η υπηρεσία θα πρέπει να υποστηρίζει τη δυνατότητα για κάθε

χρήστη να δηλώνει περισσότερους του ενός συμμετέχοντες.

15. Μεταφορά στο χώρο του γεγονότος

Η υπηρεσία θα πρέπει ακόμα να υποστηρίζει τη δυνατότητα για κάθε χρήστη να δηλώνει αν επιθυμεί μεταφορά από ή και προς το χώρο διεξαγωγής του γεγονότος.

16. Διαθεσιμότητα χρηστών

Ακόμα θα πρέπει να έχει ο χρήστης την δυνατότητα να δηλώσει ότι βρίσκεται στο χώρο του πολυτεχνείου και ειδικότερα ότι είναι διαθέσιμος για μια σειρά από δραστηριότητες που τον ενδιαφέρουν.

17. Επικοινωνία μεταξύ χρηστών

Το σύστημα δίνει τη δυνατότητα επικοινωνίας μεταξύ των χρηστών

για επικοινωνία του ενός χρήστη με έναν ή και περισσότερους χρήστες

μέσω προσωπικών μηνυμάτων. Για το σκοπό αυτό κάθε χρήστης θα έχει

το προσωπικό του inbox για να μπορεί να συντάξει και να λάβει μηνύματα

από άλλους χρήστες.

Page 13: Anafora Web Alex Final

13

18. Ενημέρωση διαχειριστών για τυχόν φθορές

Η υπηρεσία θα πρέπει να υποστηρίζει τη δυνατότητα ενός χρήστη να στείλει μήνυμα στους διαχειριστές των υποδομών αναψυχής του Πολυτεχνείου για τυχόν φθορές που έχουν προκύψει σε εγκαταστάσεις.

19. Πρόσβαση μέσω smart devices

Στον χρήστη θα πρέπει ακόμα να δίνεται η δυνατότητα να έχει

πρόσβαση σε κάποιες από τις βοηθητικές λειτουργίες της υπηρεσίας με τη

βοήθεια των smart devices. Για παράδειγμα για την αναζήτηση/πλοήγηση

σε σχεδιαζόμενα γεγονότα, τη δήλωση ή την ακύρωση συμμετοχής σε

γεγονός, την αποστολή μηνυμάτων καθώς και για άλλες λειτουργίες του

συστήματος θα πρέπει να προσαρμόζεται ειδικά σε κινητές συσκευές

προκειμένου οι συγκεκριμένες λειτουργίες να είναι εύκολα προσπελάσιμες

από τέτοιου είδους συσκευές. Επίσης, οι οθόνες του συστήματος θα

σχεδιαστούν έτσι ώστε το κυρίως περιεχόμενο να είναι διαμορφωμένο με

τρόπο που θα το κάνει ευανάγνωστο σε οθόνες κινητών τηλεφώνων.

20. Παροχή σε τρίτα συστήματα Η υπηρεσία θα πρέπει να παρέχει σε τρίτα συστήματα ένα RESTFul

API για την διεκπεραίωση κάποιων βοηθητικών λειτουργιών

Page 14: Anafora Web Alex Final

14

Page 15: Anafora Web Alex Final

15

2.3 ΛΕΞΙΛΟΓΙΟ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ

Users

Οι χρήστες του συστήματος μας χωρίζονται στους απλούς χρήστες και

στον administrator. Οι απλοί χρήστες θα μπορούν να εγγράφονται στο σύστημα

και να απολαμβάνουν τις λειτουργίες που αυτό τους προσφέρει και ο διαχειριστής

θα διαχειρίζεται τεχνικά θέματα που αφορούν την συντήρηση και την σωστή

λειτουργία του συστήματος.

Sign up

Κάθε χρήστης για να έχει πρόσβαση σε όλο το περιεχόμενο του

συστήματος και τις αντίστοιχες λειτουργίες του θα πρέπει πρώτα να έχει

πραγματοποιήσει μια διαδικασία εγγραφής. Μετά την ολοκλήρωση της εγγραφής

το προφίλ του χρήστη έχει δημιουργηθεί και τα στοιχεία του χρήστη έχουν

αποθηκευτεί στην βάση δεδομένων του συστήματος.

Login

Κάθε χρήστης για να έχει πρόσβαση σε όλο το περιεχόμενο του

συστήματος και τις αντίστοιχες λειτουργίες του, δεδομένου ότι έχει ολοκληρώσει

την εγγραφή του στο σύστημα, θα πρέπει να εισάγεται στο σύστημα

ακολουθώντας μια συγκεκριμένη διαδικασία η οποία του ζητά να εισάγει

username/email και password. Τα στοιχεία επαληθεύονται από το σύστημα και ο

χρήστης αποκτά πλήρη πρόσβαση στις υπηρεσίες του συστήματος.

Profile

Οι εγγεγραμμένοι χρήστες θα μπορούν να διατηρούν και να

επεξεργάζονται το προσωπικό τους προφίλ. Μέσω του προφίλ τους θα

παρουσιάζονται στους άλλους χρήστες του συστήματος, αφού εκεί θα

αναφέρονται τα στοιχεία τους. Το προσωπικό προφίλ κάθε χρήστη είναι ορατό

στους χρήστες του συστήματος.

Page 16: Anafora Web Alex Final

16

Home Page

Αποτελεί την κεντρική σελίδα του χρήστη. Από εκεί ελέγχει το λογαριασμό

του και γενικά επιδρά στο σύστημα. Εάν το σύστημα θέλει να τον ενημερώσει για

κάτι ο χρήστης ενημερώνεται στην αρχική του σελίδα. Η αρχική σελίδα είναι

ορατή μόνο στον κάτοχό της και όχι σε άλλους χρήστες.

Inbox

Κάθε χρήστης θα έχει το δικό inbox. Εκεί θα υπάρχουν όλα τα μηνύματα

που έχει στείλει και λάβει από κάποιον χρήστη καθώς θα υπάρχει και επιλογή για

σύνταξη νέου μηνύματος.

Events

Το γεγονός αποτελεί βασικό στοιχείο του συστήματος. Κάθε χρήστης θα

μπορεί, εκτός από το προφίλ που θα διατηρεί, να δημιουργεί, να διαχειρίζεται και

να αναζητεί γεγονότα καθώς επίσης να δηλώνει παρουσία και συμμετοχή σε αυτά

ή ακόμα και να τα κοινοποιεί.

Facilities

Οι εγκαταστάσεις ή πόροι όπως τους αναφέραμε νωρίτερα αποτελούν

τους χώρους που μπορούν να χρησιμοποιηθούν από τους χρήστες. Οι πόροι αυτοί

μπορούν να χωριστούν σε 2 κατηγορίες. Αυτοί που είναι περιορισμένης

χωρητικότητας και μπορούν να δεσμευθούν ολόκληροι ή κατά ένα μέρος τους και

άλλοι οι οποίοι είναι απεριόριστης χωρητικότητας και δεν είναι δυνατόν να

δεσμευθούν. Κάθε πόρος που είναι περιορισμένης χωρητικότητας μπορεί να είναι

α)ελεύθερος, β)δεσμευμένος, γ)δηλωμένος προς χρήση. Κάθε πόρος πρέπει να

μοντελοποιηθεί ως προς την χωρητικότητα του και ως προς τα μέρη που μπορούν

να χρησιμοποιηθούν.

Search

Η δυνατότητες αναζήτησης που προσφέρει το σύστημα στους χρήστες

του. Κάθε χρήστης μπορεί να αναζητήσει άτομα που ξέρει χρησιμοποιώντας

στοιχεία τους που γνωρίζει καθώς επίσης και γεγονότα με βάση λέξεις-κλειδιά.

Page 17: Anafora Web Alex Final

17

Comments

Κάθε χρήστης έχει τη δυνατότητα να γράψει κάποιο σχόλιο για ένα γεγονός

που παρακολουθεί. Τα σχόλια εμφανίζονται κάτω από το γεγονός που

αντιστοιχούν και προσφέρουν στους χρήστες τη δυνατότητα δυναμικής

ανταλλαγής απόψεων.

Page 18: Anafora Web Alex Final

18

Page 19: Anafora Web Alex Final

19

2.4 ΤΟ ΜΟΝΤΕΛΟ ΤΟΥ ΠΕΔΙΟΥ

Page 20: Anafora Web Alex Final

20

Page 21: Anafora Web Alex Final

21

3.1 ΧΡΗΣΤΕΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ

Χρήστης του συστήματος θα μπορεί να είναι οποιοσδήποτε έχει πρόσβαση

στο διαδίκτυο και θέλει να χρησιμοποιήσει τις υπηρεσίες της Υπηρεσία

Κοινωνικής Δικτύωσης Χρηστών Υποδομών Αναψυχής Πολυτεχνείου Κρήτης

όμως το περιεχόμενό του θα είναι προσβάσιμο μόνο σε όσους κάνουν εγγραφή.

Αφορά όμως κυρίως άτομα της Πολυτεχνειακής αλλά και της τοπικής

κοινότητας. Επομένως δεν περιμένουμε ο χρήστης απαραίτητα να έχει ιδιαίτερη

εξοικείωση με το διαδίκτυο.

Δικαιώματα διαχειριστή του συστήματος θα έχω εγώ και παράλληλα θα

διατηρώ και έναν κανονικό λογαριασμό όπως όλοι οι χρήστες για έλεγχο της

λειτουργίας και συμμετοχή στις υπηρεσίες του. Όμως το σύστημα θα μου παρέχει

πρόσβαση στο τεχνικό του μέρος προκειμένου να γίνεται η συντήρηση του και

τυχόν διορθώσεις για την καλύτερη λειτουργία του.

Επίσης, πρόσβαση στο σύστημα θα έχουν η Βάση Δεδομένων, στην οποία

θα αποθηκεύονται τα δεδομένα του συστήματος και σίγουρα ένας e-mail Server,

ο οποίος θα είναι υπεύθυνος για την αποστολή μηνυμάτων ηλεκτρονικού

ταχυδρομείου μέσω μιας φόρμας επικοινωνίας.

Αλληλεπίδραση του συστήματος με τους χρήστες

Οι περισσότερες αλληλεπιδράσεις με το σύστημα θα γίνονται με τους

χρήστες του διαδικτύου, οι οποίοι θέλουν να χρησιμοποιήσουν τις υπηρεσίες του

συστήματος. Εγγραφή, διαχείριση προσωπικού προφίλ, δημιουργία και διαχείριση

γεγονότων, αναζήτηση χρηστών και γεγονότων, σχολιασμός και αποστολή και

παραλαβή προσωπικών μηνυμάτων είναι οι υπηρεσίες που θα παρέχονται στους

απλούς χρήστες.

Page 22: Anafora Web Alex Final

22

Το σύστημα μας επομένως θα αποτελείται από δύο τύπους χρηστών οι

οποίοι είναι:

Κύριοι Χρήστες ( Primary Actors):

Οι κύριοι χρήστες αποτελούνται από τους χρήστες αυτούς που

αλληλοεπιδρούν με το σύστημα με το σύστημα και οι οποίοι έχουν

συγκεκριμένους στόχους από αυτό.

Τέτοιοι είναι:

Διαχειριστής

Απλοί χρήστες

Δευτερεύοντες Χρήστες ( Secondary Actors):

Κυρίως εξωτερικά συστήματα που αλληλοεπιδρούν με το υπό-ανάλυση

σύστημα για την επίτευξη συγκεκριμένων στόχων. Τέτοια είναι:

Βάση Δεδομένων

E-mail Server

Page 23: Anafora Web Alex Final

23

3.2 ΔΙΑΓΡΑΜΜΑ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ

Υποσυστήματα

Λόγω της μεγάλης πολυπλοκότητας του συστήματος, κρίθηκε αναγκαία η

διάσπαση του σε μικρότερα υποσυστήματα, τα οποία σχηματίζουν το σύστημα.

Έτσι επιτυγχάνεται η μείωση των ευθυνών και η πολυπλοκότητα που έχει το κάθε

υποσύστημα και βοηθιέται η επικοινωνία μεταξύ τους για την επίτευξη κάποιων

στόχων. Η διάρθρωση του συστήματος θα αποτελείται από τα παρακάτω

υποσυστήματα:

User Subsystem

User Role Subsystem

Friends Subsystem

Events Subsystem

Comment Subsystem

Attenders Subsystem

Email Subsystem

User Subsystem

Αποτελεί το βασικό υποσύστημα του συστήματος. Διαχειρίζεται το

λογαριασμό που δημιουργεί ο χρήστης κατά την εγγραφή του. Είναι υπεύθυνο για

την εγγραφή χρηστών στο σύστημα και τη διατήρηση του λογαριασμού τους. Η

βασική περίπτωση χρήσης που υποστηρίζει έχει να κάνει με την εγγραφή του

χρήστη στο σύστημα. Εφόσον γίνει η εγγραφή(sign up) ο χρήστης έχει δικαίωμα

εισόδου μετά την ενεργοποίηση του λογαριασμού. Στην ενεργοποίηση συμμετέχει

και το mail subsystem. Εφόσον ο λογαριασμός ενεργοποιηθεί ο unregistered user

μετατρέπεται σε user. Στην συνέχεια αυτόματα αποκτά δικαίωμα εισόδου στο

σύστημα και δημιουργείται το προσωπικό του προφίλ. Σε περίπτωση που ξεχάσει

τον κωδικό του μπορεί να τον επαναφέρει μέσω μηνύματος ηλεκτρονικού

ταχυδρομείου. Ακόμα είναι υπεύθυνο για την σύνδεση(login) και την

αποσύνδεση(logout) του χρήστη από το σύστημα. Επίσης ο χρήστης μπορεί να

επεξεργαστεί τις προσωπικές του πληροφορίες οι οποίες εμφανίζονται στο

προφίλ του, να ανεβάσει την προσωπική του φωτογραφία και να την διαγράψει,

να αναζητήσει χρήστες, να τους κάνει φίλους και να τους διαγράψει. Ακόμα το

σύστημα έχει την δυνατότητα να του εμφανίζει διάφορα στατιστικά του.

Page 24: Anafora Web Alex Final

24

User Role Subsystem

Το υποσύστημα αυτό είναι υπεύθυνο για τον διαχωρισμό των χρηστών από

τον διαχειριστή του συστήματος και με την βοήθεια του οποίου δίνονται οι

επιπλέον δυνατότητες στον διαχειριστή.

Friends Subsystem

Διαχειρίζεται το επίπεδο της σύνδεσης μεταξύ των χρηστών. Οι χρήστες

μπορούν να στέλνουν προσκλήσεις φιλίας σε άλλους χρήστες και σε περίπτωση

που δεχθούν, γίνονται φίλοι. Ο δεσμός μεταξύ δύο χρηστών χωρίζεται σε τρία τα

οποία είναι: καμία σχέση μεταξύ τους, πρόσκληση και φίλοι.

Email Subsystem

Διαχειρίζεται το προσωπικό χαρτοφυλάκιο του κάθε χρήστη. Με την

βοήθεια του ο χρήστης μπορεί να αποστείλει ένα μήνυμα, να δει τα μηνύματα που

του έχουν στείλει άλλοι χρήστες και να διαγράψει κάποιο συγκεκριμένο μήνυμα ή

ακόμα και ολόκληρες συνομιλίες.

Events Subsystem

Σχετικό με την δημιουργία, επεξεργασία, ακύρωση και κοινοποίηση

γεγονότων. Ακόμα είναι υπεύθυνο για τη δήλωση συμμετοχής σε ένα γεγονός ή η

ακύρωση της καθώς και διάφορες άλλες επιλογές των χρηστών.

Comments Subsystem

Το υποσύστημα αυτό είναι υπεύθυνο για τα σχόλια τα οποία αφορούν ένα

γεγονός. Κάθε χρήστης μπορεί να σχολιάσει όποιο γεγονός επιθυμεί και όσες

φορές θέλει χωρίς περιορισμούς.

Attenders Subsystem

Το υποσύστημα αυτό είναι υπεύθυνο για τους χρήστες οι οποίοι δηλώνουν

συμμετοχή σε ένα γεγονός. Κάθε γεγονός έχει την χωρητικότητα που δηλώνει ο

δημιουργός του και μέχρι τόσοι μπορούν να είναι και οι συμμετέχοντες σε αυτό.

Page 25: Anafora Web Alex Final

25

Page 26: Anafora Web Alex Final

26

User Subsystem

Page 27: Anafora Web Alex Final

27

User Subsystem

Page 28: Anafora Web Alex Final

28

Events, Attenders, Comments Subsystems

Page 29: Anafora Web Alex Final

29

Email Subsystem

Page 30: Anafora Web Alex Final

30

Page 31: Anafora Web Alex Final

31

3.3 STORY-BOARDING & EVALUATION

Gui – Storyboarding

Τα storyboards είναι πρωτότυπα οθόνης σε χαρτί και χρησιμοποιούνται με

σκοπό να επιτρέψουν στους χρήστες να καθορίσουν την αλληλουχία και την

εμφάνιση των Graphical User Interface. Για κάθε αλληλεπίδραση του συστήματος

με το χρήστη υλοποιήσαμε ένα storyboard. Οι χρήστες των storyboards

αντιπροσωπεύουν τους πραγματικούς χρήστες του συστήματος, τα ενδιαφέροντα

τους, τις γνώσεις τους. Για αυτό το λόγο πρέπει να κάνουμε ουσιαστική επιλογή

χρηστών. Με την υλοποίηση των storyboards, παίρνουμε από νωρίς σημαντικά

σχόλια για το σύστημα. Τέλος με τα storyboards είναι πιο εύκολο οι χρήστες να

κάνουν κάποιο σχόλιο η κάποια πρόταση σε αντίθεση με κάποιο άλλο φτιαγμένο

πρότυπο.

Ακολουθούν φωτογραφίες για τα storyboards που κατασκευάσαμε:

Page 32: Anafora Web Alex Final

32

Page 33: Anafora Web Alex Final

33

Page 34: Anafora Web Alex Final

34

Page 35: Anafora Web Alex Final

35

Page 36: Anafora Web Alex Final

36

Page 37: Anafora Web Alex Final

37

Page 38: Anafora Web Alex Final

38

Pluralistic Walkthrough Evaluation

Για τον έλεγχο της ευχρηστίας του συστήματος μέσω της μεθοδολογίας

Pluralistic Walkthrough κατασκευάσαμε οθόνες για όλες τις δυνατές λειτουργίες

του συστήματος.

Για να έχουμε ομαλή υλοποίηση του Pluralistic Walkthrough Evaluation

υπάρχουν συγκεκριμένοι κανόνες και απαραίτητα χαρακτηριστικά.

Στο χώρο πρέπει να βρίσκονται οι χρήστες και εμείς.

Οι χρήστες πρέπει να αναλάβουν το ρόλο τους σοβαρά.

Διανέμονται τυπωμένες όλες οι οθόνες του συστήματος που έχουμε

σχεδιάσει και μοιράζονται με τη σειρά σε όλους τους χρήστες.

Οι χρήστες δεν πρέπει να συνομιλούν μεταξύ τους, και κάθε χρήστης

πρέπει να γράψει πάνω στο χαρτί σχόλια καθώς και τα βήματα που

ακολούθησε για να φέρει εις πέρας κάθε ενέργεια.

Περιγραφή των tasks που θα χρησιμοποιηθούν στο evaluation:

1. Sign up στο σύστημα

2. Login στο σύστημα

3. Προβολή/επεξεργασία προφίλ χρήστη

4. Προβολή φίλων

5. Προβολή γεγονότων

6. Προβολή εγκαταστάσεων

7. Προβολή μηνυμάτων

8. Αναζήτηση κάποιου χρήστη/γεγονότος

9. Προσθήκη φίλου

10. Διαγραφή φίλου

11. Δημιουργία κάποιου γεγονότος

12. Δήλωση πως θα παρευρεθεί σε γεγονός

13. Check in σε γεγονός

14. Δημιουργία σχολίου σε γεγονός

15. Αποστολή μηνύματος σε χρήστη

16. Διαγραφή εισερχόμενου μηνύματος

17. Αποσύνδεση χρήστη

Page 39: Anafora Web Alex Final

39

Οι χρήστες που έλαβαν μέρος στο evaluation:

Χρήστης 1

Μπαλαμπάνης Στέλιος

Ετών 23

Άγαμος

5ο – ετής φοιτητής του τμήματος ΗΜΜΥ του Πολυτεχνείου Κρήτης

Χρησιμοποιεί καθημερινά τον υπολογιστή για περισσότερες από 6

ώρες.

Παρακολουθεί καθημερινά ειδήσεις από το internet.

Χρησιμοποιεί καθημερινά το internet και web εφαρμογές και είναι

ιδιαίτερα εξοικειωμένος με τη χρήση τους.

Χρήστης 2

Παπαδόπουλος Γιώργος

Ετών 26

Άγαμος

Μεταπτυχιακός φοιτητής του τμήματος ΗΜΜΥ

Πτυχιούχος φοιτητής Πολυτεχνείου Κρήτης του τμήματος ΗΜΜΥ

Χρησιμοποιεί καθημερινά τον υπολογιστή για περισσότερες από 8

ώρες.

Έχει γνώσεις από το χώρο «Επικοινωνία Ανθρώπου - Υπολογιστή»

Page 40: Anafora Web Alex Final

40

Χρήστης 3

Βουτσάς Γιώργος

Ετών 23

Άγαμος

Προπτυχιακός φοιτητής του τμήματος ΜΗΧΟΠ

Χρησιμοποιεί καθημερινά τον υπολογιστή για περισσότερες από

3ώρες.

Παρακολουθεί καθημερινά ειδήσεις από το internet

Evaluation results

Τα αποτελέσματα που συλλέξαμε από την διαδικασία ήταν ιδιαίτερα

ενδιαφέροντα και χρήσιμα ώστε να κάνουμε την διεπαφή του συστήματος με τον

χρήστη πιο κατανοητή και ευχάριστη. Μετά το πέρας της διαδικασίας και ύστερα

από σχετική συζήτηση με τους χρήστες καταλήξαμε στις εξής αλλαγές και

προσθήκες. Αρχικά στην πρώτη σελίδα των storyboards που υλοποιήσαμε θα

αλλάξουμε την λέξη Sign in που είχαμε σε Log In για την καλύτερη κατανόηση

της λειτουργίας της από αρχάριους χρήστες. Ένα ακόμα στοιχείο που θα

προσθέσουμε είναι η εμφάνιση των χρηστών που θα παρευρεθούν σε ένα γεγονός

ώστε να είναι ορατοί σε όποιον ενδιαφέρεται για το συγκεκριμένο γεγονός. Επίσης

στην σελίδα για την διαχείριση των προσωπικών μηνυμάτων (Inbox) η επιλογή

και η διαγραφή ενός συγκεκριμένου μηνύματος θα είναι ορατή στο χρήστη αφού

πατήσει το κουμπί edit και όχι πάντοτε σε αντίθεση με τώρα. Ακόμα θα εμφανίζει

στους χρήστες σε παρένθεση δίπλα στο Messages τον αριθμό των καινούριων

μηνυμάτων η παλαιότερων που δεν έχουν διαβαστεί ακόμα και δίπλα στο

Invitation αντίστοιχη παρένθεση σε περίπτωση που εκκρεμεί κάποιο η κάποια

αιτήματα φιλίας για αποδοχή ή απόρριψη. Παρόμοιο διακριτικό θα εισαχθεί και

στο αντίστοιχο σημείο για τα Inbox όπου εμφανίζεται σε οποιαδήποτε σελίδα

βρίσκεται ο συνδεδεμένος χρήστης. Τέλος μας επισημάνθηκε πως δεν δίνουμε την

επιλογή στο χρήστη για διαγραφή ενός ήδη φίλου του πράγμα το οποίο είχαμε

αμελήσει και για αυτό το λόγο το προσθέσαμε.

Page 41: Anafora Web Alex Final

41

3.4 ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ

Σε αυτή την ενότητα παρουσιάζεται η περιγραφή των περιπτώσεων χρήσης

που υποστηρίζει το σύστημα σε πίνακες για την καλύτερη κατανόηση των

δυνατοτήτων του συστήματος.

# Use Case

1 Εγγραφή χρήστη

2 Είσοδος χρήστη

3 Αποσύνδεση χρήστη

4 Διαγραφή λογαριασμού

5 Επαναφορά κωδικού χρήστη

6 Διαχείριση χαρτοφυλακίου

7 Αποστολή μηνύματος

8 Παραλαβή μηνύματος

9 Διαγραφή μηνύματος

10 Δημιουργία γεγονότος

11 Επεξεργασία γεγονότος

12 Διαγραφή γεγονότος

13 Δημοσίευση γεγονότος

14 Προσθήκη σχολίου σε γεγονότος

15 Αναζήτηση γεγονότος

16 Δήλωση συμμετοχής σε γεγονός

17 Ακύρωση συμμετοχής από γεγονός

Page 42: Anafora Web Alex Final

42

18 Επεξεργασία Στοιχείων Χρήστη

19 Στατιστικά χρήστη

20 Ανέβασμα φωτογραφίας

21 Διαγραφή φωτογραφίας

22 Αναζήτηση χρήστη

23 Προσθήκη φίλου

24 Διαγραφή φίλου

25 Απενεργοποίηση χρήστη

26 Διαγραφή Comment

27 Κοινοποίηση γεγονότος

28 Προβολή φίλων

29 Προβολή γεγονότων

30 Προβολή προφίλ

Page 43: Anafora Web Alex Final

43

Use Case 1 Εγγραφή Χρήστη

Goal In Context Ο χρήστης θέλει να εγγραφεί στο σύστημα

Scope & Level User Subsystem

Preconditions Ο χρήστης δεν έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης αποκτά ενεργό λογαριασμό

Failed End Condition Ο χρήστης αποτυγχάνει να εγγραφεί στο σύστημα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να κάνει εγγραφή στο σύστημα

Description Step Action

1 Ο χρήστης συμπληρώνει τη φόρμα εγγραφής.

2 Το σύστημα ελέγχει τα στοιχεία που εισήγαγε ο

χρήστης.(διπλοεγγραφές κλπ.).

3

Δημιουργείται προσωρινός λογαριασμός χρήστη

για να κρατηθούν τα στοιχεία.(Αναμονή 24 ωρών

για ενεργοποίηση).

4

Ο Mail Server αποστέλλει e-mail στην

δηλωθείσα διεύθυνση ηλεκτρονικού

ταχυδρομείου με σύνδεσμο ενεργοποίησης.

5

Ο χρήστης μεταφέρεται στη σελίδα

ενεργοποίησης μέσω του συνδέσμου που υπάρχει

στο e-mail.

6 Το σύστημα επικυρώνει την ενεργοποίηση και

νομιμοποιεί τον λογαριασμό.

7 Το σύστημα ενημερώνει τη βάση δεδομένων.

Page 44: Anafora Web Alex Final

44

Use Case 2 Είσοδος Χρήστη

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να εισέλθει στο

σύστημα

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει κάνει εγγραφή στο σύστημα

Success End Condition Ο χρήστης εισέρχεται στο λογαριασμό του

Failed End Condition Ο χρήστης δεν καταφέρνει να εισέλθει στο σύστημα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Login στην εισαγωγική

σελίδα του συστήματος

Description Step Action

1

Ο χρήστης συμπληρώνει τα στοιχεία που

απαιτούνται για την ταυτοποίηση.(e-mail

address, password)

2 Το σύστημα ελέγχει τα στοιχεία ταυτοποίησης.

3 Το σύστημα αναγνωρίζει το χρήστη και τον

ανακατευθύνει στην αρχική του σελίδα.

4

Ο χρήστης εισέρχεται στο σύστημα

χρησιμοποιώντας τον καινούριο του κωδικό.

Page 45: Anafora Web Alex Final

45

Use Case 3 Αποσύνδεση Χρήστη

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να αποσυνδεθεί από

το σύστημα

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει κάνει εγγραφή στο σύστημα και έχει

συνδεθεί στο λογαριασμό του

Success End Condition Ο χρήστης αποσυνδέεται από το σύστημα

Failed End Condition Ο χρήστης δεν καταφέρνει να αποσυνδεθεί από το

σύστημα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Logout στην εισαγωγική

σελίδα του συστήματος

Description Step Action

1

Ο χρήστης επιβεβαιώνει την επιθυμία του να

αποσυνδεθεί.

2 Το σύστημα αποσυνδέει το χρήστη.

Page 46: Anafora Web Alex Final

46

Use Case 4 Διαγραφή Λογαριασμού

Goal In Context Ο χρήστης θέλει να διαγράψει το λογαριασμό του από

σύστημα

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης διαγράφει το λογαριασμό του

Failed End Condition Ο χρήστης δεν καταφέρνει να διαγράψει το λογαριασμό του

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να διαγράψει το λογαριασμό του από το

σύστημα

Description Step Action

1 Ο χρήστης επιβεβαιώνει την επιθυμία του να

διαγράψει το λογαριασμό του.

2 Το σύστημα διαγράφει τα στοιχεία του και το

προφίλ του.

3 Το σύστημα ενημερώνει τη βάση δεδομένων.

Page 47: Anafora Web Alex Final

47

Use Case 5 Επαναφορά Κωδικού Χρήστη

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να εισέλθει στο

σύστημα όμως έχει ξεχάσει τον κωδικό του

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης εισέρχεται στο λογαριασμό του με καινούριο

κωδικό

Failed End Condition Ο χρήστης δεν καταφέρνει να εισέλθει στο σύστημα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να Forgotten Password

Description Step Action

1 Ο χρήστης επιβεβαιώνει την απώλεια του

κωδικού

2 Ο Mail Server αναλαμβάνει την αποστολή του

καινούριου κωδικού στον χρήστη.

3

Ο χρήστης λαμβάνει τον καινούριο κωδικό στη

διεύθυνση ηλεκτρονικού ταχυδρομείου που

δήλωσε κατά την εγγραφή του.

4 Ο χρήστης εισέρχεται στο σύστημα

χρησιμοποιώντας τον καινούριο του κωδικό.

Page 48: Anafora Web Alex Final

48

Use Case 6 Διαχείριση Χαρτοφυλακίου

Goal In Context

Ο χρήστης διαχειρίζεται όλα τα μηνύματα που έχει στείλει,

που έχει λάβει και επιπλέον έχει τη δυνατότητα να συντάξει

νέο μήνυμα

Scope & Level Email Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης μπορεί να δει το χαρτοφυλάκιο του

Failed End Condition Ο χρήστης δεν μπορεί να δει το χαρτοφυλάκιο του

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να δει το χαρτοφυλάκιο του

Description Step Action

1 Ο χρήστης επιλέγει να δει το χαρτοφυλάκιο του

2 Το σύστημα του εμφανίζει το χαρτοφυλάκιο.

Page 49: Anafora Web Alex Final

49

Use Case 7 Αποστολή μηνύματος

Goal In Context Ο χρήστης στέλνει μήνυμα

Scope & Level Email Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης στέλνει ένα μήνυμα με επιτυχία

Failed End Condition Ο χρήστης αποτυγχάνει να στείλει μήνυμα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να στείλει ένα μήνυμα

Description Step Action

1 Ο χρήστης επιλέγει να στείλει ένα μήνυμα.

2 Αναζητεί τον χρήστη που θέλει.

3 Το σύστημα στέλνει το μήνυμα.

Extensions Step Branching Action

Δεν βρέθηκε ο χρήστης στον οποίο θέλει να

στείλει μήνυμα.

2α1.Ειδοποίηση χρήστη.

2α2.Επιστροφή στο βήμα 1.

Σφάλμα αποστολής μηνύματος.

3α1. Ειδοποίηση χρήστη.

3α2.Επιστροφή στο βήμα 1.

Page 50: Anafora Web Alex Final

50

Use Case 8 Παραλαβή μηνύματος

Goal In Context Ο χρήστης δέχεται ένα μήνυμα

Scope & Level Email Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα και έχει επιλέξει να

δει το χαρτοφυλάκιο του

Success End Condition Ο χρήστης παραλαμβάνει το μήνυμα με επιτυχία

Failed End Condition Ο χρήστης αποτυγχάνει να παραλάβει το μήνυμα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να παραλάβει ένα μήνυμα

Description Step Action

1 Ο χρήστης παραλαμβάνει το μήνυμα.

Extensions Step Branching Action

Σφάλμα παραλαβής μηνύματος.

2α1. Ειδοποίηση χρήστη.

2α2.Επιστροφή στο βήμα 1.

Page 51: Anafora Web Alex Final

51

Use Case 9 Διαγραφή μηνύματος

Goal In Context Ο χρήστης διαγράφει ένα μήνυμα

Scope & Level Email Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα και έχει επιλέξει το

μήνυμα που θέλει να διαγράψει

Success End Condition Ο χρήστης διαγράφη το μήνυμα με επιτυχία

Failed End Condition Ο χρήστης αποτυγχάνει να διαγράψει το μήνυμα

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να διαγράψει ένα μήνυμα.

Description Step Action

1 Ο χρήστης επιλέγει το μήνυμα που θέλει να

διαγράψει.

2 Ο χρήστης επιβεβαιώνει την επιλογή διαγραφής.

3 Το σύστημα ενημερώνει τη βάση δεδομένων για

τη διαγραφή του σχολίου.

Extensions Step Branching Action

Σφάλμα διαγραφής μηνύματος.

3α1. Ειδοποίηση χρήστη.

3α2.Επιστροφή στο βήμα 1.

Page 52: Anafora Web Alex Final

52

Use Case 10 Δημιουργία γεγονότος

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να δημιουργήσει

κάποιο γεγονός

Scope & Level Event Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης δημιουργεί επιτυχώς το θέμα

Failed End Condition Ο χρήστης δεν καταφέρνει να δημιουργήσει το θέμα

Primary Actors Απλός χρήστης

Trigger

Ο χρήστης κάνει την επιλογή Create Event στην αρχική

σελίδα του λογαριασμού του ή στη σελίδα διαχείρισης

θεμάτων

Description Step Action

1 Ο χρήστης συμπληρώνει τη φόρμα δημιουργίας

θέματος

2 Επιλέγει σε ποιά θεματική κατηγορία του

συστήματος θα ενταχθεί το Topic.

3

Ο χρήστης εισάγει τις σχετικές keywords και

βλέπει σχετικό περιεχόμενο που του προτείνει το

σύστημα.

4 Επισυνάπτει το περιεχόμενο που θέλει ή απλά

δημιουργεί τη δική του πρώτη δημοσίευση.

5 Το σύστημα ενημερώνει τη βάση δεδομένων για

το θέμα.

Page 53: Anafora Web Alex Final

53

Use Case 11 Επεξεργασία γεγονότος

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να επεξεργαστεί

κάποιο γεγονός το

Scope & Level Event Subsystem

Preconditions Ο χρήστης έχει δημιουργήσει ήδη ένα τουλάχιστον θέμα

Success End Condition Ο χρήστης επεξεργάζεται επιτυχώς το θέμα

Failed End Condition Ο χρήστης δεν καταφέρνει να επεξεργαστεί το θέμα

Primary Actors Απλός χρήστης

Trigger O χρήστης κάνει την επιλογή Edit Topic στην σελίδα

διαχείρισης θεμάτων

Description Step Action

1

Ο χρήστης βλέπει τα στοιχεία που έχει

καταχωρήσει στο θέμα και τις ρυθμίσεις που

ισχύουν στο θέμα.

2 Κάνει τις επιθυμητές αλλαγές.

3 Επιβεβαιώνει τις αλλαγές που έκανε.

4 Το σύστημα ενημερώνει τη βάση δεδομένων.

Page 54: Anafora Web Alex Final

54

Use Case 12 Διαγραφή γεγονότος

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να διαγράψει κάποιο

γεγονός του.

Scope & Level Event Subsystem

Preconditions Ο χρήστης έχει δημιουργήσει ήδη ένα τουλάχιστον θέμα.

Success End Condition Ο χρήστης διαγράφει επιτυχώς το θέμα

Failed End Condition Ο χρήστης δεν καταφέρνει να διαγράψει το θέμα.

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Delete Topic στην σελίδα

διαχείρισης θεμάτων

Description Step Action

1 Ο χρήστης επιβεβαιώνει την επιλογή διαγραφής.

2 Το σύστημα ενημερώνει τη βάση δεδομένων για

τη διαγραφή του θέματος.

Page 55: Anafora Web Alex Final

55

Use Case 13 Δημοσίευση γεγονότος

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να δημιουργήσει

δημοσίευση σε κάποιο γεγονός

Scope & Level Event Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης δημοσιεύει επιτυχώς το Post.

Failed End Condition Ο χρήστης δεν καταφέρνει να δημιουργήσει το Post

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Create Post στην σελίδα

προβολής του θέματός που θέλει

Description Step Action

1

Ο χρήστης συμπληρώνει τη φόρμα δημιουργίας

δημοσίευσης κι επιλέγει αν θέλει να επισυνάψει

κάποιον εξωτερικό σύνδεσμο.

2

Ο χρήστης εισάγει την τοποθεσία του

συνδέσμου και βλέπει την προεπισκόπηση που

θα φαίνεται στη δημοσίευση (εάν υπάρχει

διαθέσιμη).

3 Επιβεβαιώνει τις επιλογές του βλέποντας την

τελική μορφή της δημοσίευσης.

4 Το σύστημα ενημερώνει τη βάση δεδομένων για

την καινούρια δημοσίευση.

Page 56: Anafora Web Alex Final

56

Use Case 14 Προσθήκη Σχολίου σε γεγονός

Goal In Context Κάποιος χρήστης θέλει να σχολιάσει κάποια δημοσίευση

στο θέμα που παρακολουθεί

Scope & Level Comments Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης σχολιάζει επιτυχώς τη δημοσίευση.

Failed End Condition Ο χρήστης δεν καταφέρνει να σχολιάσει επιτυχώς τη

δημοσίευση

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Add Comment στην σελίδα

προβολής του θέματός που παρακολουθεί

Description Step Action

1 Ο χρήστης γράφει το κείμενο που θέλει να

δημοσιευτεί σαν σχόλιο.

2 Ο χρήστης επιβεβαιώνει τη δημοσίευση του

κειμένου που έγραψε.

3 Το σύστημα ενημερώνει τη βάση δεδομένων για

την προσθήκη του σχολίου.

Page 57: Anafora Web Alex Final

57

Use Case 15 Αναζήτηση γεγονότος

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να αναζητήσει

κάποιο θέμα

Scope & Level Event Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης ολοκληρώνει επιτυχώς την αναζήτηση

Failed End Condition Ο χρήστης δεν ολοκληρώνει επιτυχώς την αναζήτηση

Primary Actors Απλός χρήστης

Trigger

Ο χρήστης πληκτρολογεί το keyword που επιθυμεί στο

search box που είναι διαθέσιμο στην αρχική του σελίδα και

επιλέγει Search Topic

Description Step Action

1 Ο χρήστης αν θέλει προσθέτει και άλλα κριτήρια

αναζήτησης

2 Η βάση δεδομένων απαντάει στο σχετικό

ερώτημα.

3 Ο χρήστης βλέπει μια λίστα με τα σχετικά

αποτελέσματα

4 Μεταβαίνει στη σελίδα του θέματος που επιθυμεί

Page 58: Anafora Web Alex Final

58

Use Case 16 Δήλωση συμμετοχής σε γεγονός

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να δηλώσει

συμμετοχή σε κάποιο γεγονός

Scope & Level Attenders Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης δηλώνει συμμετοχή σε ένα γεγονός με επιτυχία

Failed End Condition Ο χρήστης δεν καταφέρνει να δηλώσει συμμετοχή σε ένα

γεγονός

Primary Actors Απλός χρήστης

Trigger

Description Step Action

1 Ο χρήστης κάνει αναζήτηση τον γεγονός που

θέλει να συμμετάσχει.

2 Το σύστημα επιβεβαιώνει την επιλογή του

χρήστη.

3 Το σύστημα ενημερώνει τη βάση δεδομένων.

Page 59: Anafora Web Alex Final

59

Use Case 17 Ακύρωση συμμετοχής από γεγονός

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να ακυρώσει τη

συμμετοχή του από κάποιο γεγονός.

Scope & Level Attenders Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα και έχει δηλώσει

συμμετοχή σε κάποιο γεγονός.

Success End Condition Ο χρήστης ακυρώνει τη συμμετοχή του σε ένα γεγονός με

επιτυχία.

Failed End Condition Ο χρήστης δεν καταφέρνει να ακυρώσει τη συμμετοχή του

σε ένα γεγονός.

Primary Actors Απλός χρήστης

Trigger

Description Step Action

1 Ο χρήστης επιλέγει το γεγονός που θέλει να

ακυρώσει τη συμμετοχή του.

2 Το σύστημα επιβεβαιώνει την επιλογή του

χρήστη.

3 Το σύστημα ενημερώνει τη βάση δεδομένων.

Page 60: Anafora Web Alex Final

60

Use Case 18 Επεξεργασία Στοιχείων Χρήστη

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να αλλάξει κάποιο

από τα στοιχεία που δήλωσε κατά την εγγραφή του

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης αλλάζει τα στοιχεία του

Failed End Condition Ο χρήστης δεν καταφέρνει να αλλάξει τα στοιχεία του.

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Manage Account στην σελίδα

διαχείρισης λογαριασμού

Description Step Action

1 Ο χρήστης βλέπει τα στοιχεία που έχει δηλώσει

στη φόρμα εγγραφής.

2 Ο χρήστης μεταβάλλει τα στοιχεία που επιθυμεί.

3 Επιβεβαιώνει τις αλλαγές.

4 Το σύστημα ενημερώνει την βάση δεδομένων.

Page 61: Anafora Web Alex Final

61

Use Case 19 Στατιστικά χρήστη

Goal In Context Ο χρήστης επιλέγει να δει τα στατιστικά του

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης μπορεί να δει το στατιστικά του

Failed End Condition Ο χρήστης δεν μπορεί να δει το στατιστικά του

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει να δει το στατιστικά του.

Description Step Action

1 Ο χρήστης επιλέγει να δει το στατιστικά του

2 Το σύστημα του εμφανίζει το στατιστικά.

Page 62: Anafora Web Alex Final

62

Use Case 20 Ανέβασμα φωτογραφίας

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να αλλάξει κάποιο

από τα στοιχεία που δήλωσε κατά την εγγραφή του

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης ανεβάζει τη φωτογραφία του

Failed End Condition Ο χρήστης δεν καταφέρνει να ανεβάσει τη φωτογραφία του

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Upload Photo στην σελίδα

διαχείρισης λογαριασμού

Description Step Action

1 Ο χρήστης επιλέγει τη φωτογραφία που θέλει να

ανεβάσει.

2 Ο χρήστης επιβεβαιώνει την επιλογή του

βλέποντας μια προεπισκόπηση.

3 Η φωτογραφία ανεβαίνει στη βάση δεδομένων.

Page 63: Anafora Web Alex Final

63

Use Case 21 Διαγραφή φωτογραφίας

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να διαγράψει κάποια

φωτογραφία.

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ανεβάσει μία ή περισσότερες φωτογραφίες

Success End Condition Ο χρήστης διαγράφει επιτυχώς την φωτογραφία της

επιλογής του

Failed End Condition Ο χρήστης δεν καταφέρνει να διαγράψει τη φωτογραφία

του

Primary Actors Απλός χρήστης

Trigger Ο χρήστης κάνει την επιλογή Delete Photo στη σελίδα

διαχείρισης λογαριασμού

Description Step Action

1 Ο χρήστης επιλέγει τη φωτογραφία που θέλει να

διαγράψει.

2 Ο χρήστης επιβεβαιώνει την επιλογή του να

διαγράψει τη φωτογραφία.

3 Η φωτογραφία διαγράφεται από τη βάση

δεδομένων.

Page 64: Anafora Web Alex Final

64

Use Case 22 Αναζήτηση Χρήστη

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να αναζητήσει

κάποιον γνωστό του

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του στο σύστημα

κι έχει έναν λειτουργικό λογαριασμό

Success End Condition Ο χρήστης ολοκληρώνει επιτυχώς την αναζήτηση

Failed End Condition Ο χρήστης δεν ολοκληρώνει επιτυχώς την αναζήτηση

Primary Actors Απλός χρήστης

Trigger Ο χρήστης επιλέγει Search που είναι διαθέσιμο στην αρχική

του σελίδα

Description Step Action

1 Ο χρήστης αν θέλει πληκτρολογεί μέρος του

ονόματος ή άλλα κριτήρια αναζήτησης.

2 Η βάση δεδομένων απαντάει στο σχετικό

ερώτημα.

3 Ο χρήστης βλέπει μια λίστα με τα σχετικά

αποτελέσματα.

4 Μεταβαίνει στη σελίδα του θέματος που

επιθυμεί.

Page 65: Anafora Web Alex Final

65

Use Case 23 Προσθήκη φίλου

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να κάνει κάποιον

από τους χρήστες φίλο του

Scope & Level Friends Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του

Success End Condition Ο χρήστης κάνει ένα φίλο με επιτυχία

Failed End Condition Ο χρήστης δεν καταφέρνει να κάνει κάποιον χρήστη φίλο

Primary Actors Απλός χρήστης

Trigger Ο χρήστης στέλνει αίτημα φιλίας σε κάποιον άλλο χρήστη

Description Step Action

1 Ο χρήστης κάνει αναζήτηση τον χρήστη που

θέλει να κάνει φίλο.

2 Το σύστημα επιβεβαιώνει την επιλογή του

χρήστη.

3 Το σύστημα ενημερώνει τη βάση δεδομένων για

τη προσθήκη του φίλου.

Page 66: Anafora Web Alex Final

66

Use Case 24 Διαγραφή φίλου

Goal In Context Κάποιος εγγεγραμμένος χρήστης θέλει να διαγράψει

κάποιον από τους χρήστες που έχει κάνει φίλο

Scope & Level Friends Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του

Success End Condition Ο χρήστης διαγράφει επιτυχώς τον φίλο του

Failed End Condition Ο χρήστης δεν καταφέρνει να διαγράψει τον φίλο του

Primary Actors Απλός χρήστης

Trigger Ο χρήστης διαγράφει ένα υπάρχων φίλο του

Description Step Action

1 Ο Topic-Admin επιλέγει το φίλο που θέλει να

διαγράψει

2 Ο Topic-Admin επιβεβαιώνει την επιλογή

διαγραφής.

3 Το σύστημα ενημερώνει τη βάση δεδομένων για

τη διαγραφή του φίλου.

Page 67: Anafora Web Alex Final

67

Use Case 25 Απενεργοποίηση χρήστη

Goal In Context Ο διαχειριστής διαγράφει το λογαριασμό του χρήστη

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει ολοκληρώσει την εγγραφή του

Success End Condition Ο διαχειριστής του συστήματος έχει διαγράψει το προφίλ

του χρήστη

Failed End Condition Ο διαχειριστής του συστήματος δεν διέγραψε το

λογαριασμό του χρήστη

Primary Actors Διαχειριστής

Trigger Ο διαχειριστής επιλέγει να διαγράψει το προφίλ

συγκεκριμένου χρήστη

Description Step Action

1

Ο διαχειριστής του συστήματος επιλέγει τη

διαγραφή του λογαριασμού συγκεκριμένου

χρήστη από το σύστημα

2 Ο διαχειριστής εξηγεί το λόγο διαγραφής το

χρήστη από το σύστημα.

3 Το σύστημα αποστέλλει το λόγο διαγραφής του

χρήστη στο e-mail του.

4

Το σύστημα απενεργοποιεί το λογαριασμό του

χρήστη επίσης, διαγράφει όλα τα

events/posts/comments που πιθανώς είχε

δημιουργήσει.

Page 68: Anafora Web Alex Final

68

Use Case 26 Διαγραφή Comment

Goal In Context Ο χρήστης επιλέγεινα διαγράψει κάποιο comment του

Scope & Level Comments Subsystem

Preconditions

Ο χρήστης έχει εισέλθει στο σύστημα, είναι ο δημιουργός

του comment και βρίσκεται στη σελίδα όπου παρακολουθεί

post

Success End Condition Ο χρήστης διαχειρίζεται/διαγράφη το comment του

Failed End Condition Ο χρήστης δεν μπορεί να διαχειριστεί/διαγράψει το

comment του

Primary Actors Χρήστης

Trigger Ο χρήστης επιθυμεί να διαχειριστεί/διαγράψει το comment

του.

Description Step Action

1 Ο χρήστης επιλέγει να διαχειριστεί/διαγράψει το

comment του.

2

Το σύστημα ολοκληρώνει την εκτέλεση της

επιλογής του χρήστη και τον ενημερώνει

συνοπτικά.

Page 69: Anafora Web Alex Final

69

Use Case 27 Κοινοποίηση γεγονότος

Goal In Context Ο χρήστης επιλέγει να κοινοποιήσει ένα γεγονός της

επιλογής του

Scope & Level Events Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης καταφέρνει να κοινοποιήσει ένα γεγονός της

επιλογής του

Failed End Condition Ο χρήστης δεν καταφέρνει να κοινοποιήσει ένα γεγονός της

επιλογής του

Primary Actors Χρήστης

Trigger Ο χρήστης επιλέγει να κοινοποιήσει ένα γεγονός της

επιλογής του

Description Step Action

1 Ο χρήστης επιλέγει να κοινοποιήσει ένα γεγονός

της επιλογής του.

2 Ο χρήστης συμπληρώνει τη φόρμα εισαγωγής

στοιχείων.

3 Το σύστημα ολοκληρώνει τη κοινοποίηση και

ενημερώνει τη βάση δεδομένων.

Page 70: Anafora Web Alex Final

70

Use Case 28 Προβολή φίλων

Goal In Context Ο χρήστης επιθυμεί να δει τους φίλους του

Scope & Level Friends Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης καταφέρνει να δει τους φίλους του

Failed End Condition Ο χρήστης δεν καταφέρνει να δει τους φίλους του

Primary Actors Χρήστης

Trigger Ο χρήστης επιλέγει να δει τους φίλους του

Description Step Action

1 Ο χρήστης επιλέγει να δει τους φίλους του.

2 Το σύστημα του εμφανίζει του φίλους του.

Page 71: Anafora Web Alex Final

71

Use Case 29 Προβολή γεγονότων

Goal In Context Ο χρήστης επιλέγει να δει τα γεγονότα

Scope & Level Events Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης καταφέρνει να δει τα γεγονότα

Failed End Condition Ο χρήστης δεν καταφέρνει να δει τα γεγονότα

Primary Actors Χρήστης

Trigger Ο χρήστης επιλέγει να δει τα γεγονότα.

Description Step Action

1 Ο χρήστης επιλέγει να δει τα γεγονότα

2 Το σύστημα του εμφανίζει τα γεγονότα.

Page 72: Anafora Web Alex Final

72

Use Case 30 Προβολή προφίλ

Goal In Context Ο χρήστης επιλέγει να δει το προφίλ του

Scope & Level User Subsystem

Preconditions Ο χρήστης έχει εισέλθει στο σύστημα

Success End Condition Ο χρήστης καταφέρνει να δει το προφίλ του

Failed End Condition Ο χρήστης δεν καταφέρνει να δει το προφίλ του

Primary Actors Χρήστης

Trigger Ο χρήστης επιλέγει να δει το προφίλ του

Description Step Action

1 Ο χρήστης επιλέγει να δει το προφίλ του.

2 Το σύστημα του εμφανίζει το προφίλ του.

Page 73: Anafora Web Alex Final

73

4. BASIC USER INTERFACE GUIDELINES

Στην ενότητα αυτή περιγράφονται οι στρατηγικές που ακολουθήθηκαν για

την σχεδίαση των γραφικών διεπαφών του διαδικτυακού συστήματος μας.

Βασική αρχή που ακολουθήσαμε είναι η απλότητα στις επιλογές, για να

καλύψουμε χρήστες με μικρότερη εξοικείωση με το διαδίκτυο. Ακολουθούν οι

κανόνες που ακολουθήσαμε για την πρωταρχική σχεδίαση των User Interfaces.

Προφανώς τα User Interfaces διαφοροποιούνται σε μικρό βαθμό στις διάφορες

οθόνες(views) του συστήματος τηρώντας όμως σε έναν μεγάλο βαθμό την αρχή

της σταθερότητας(consistency).

Αναλυτικότερα οι κανόνες:

Όλες οι σχετιζόμενες πληροφορίες οργανωμένες σε μία περιοχή της

οθόνης.

Έμφαση στο να βρίσκει εύκολα ο χρήστης αυτό που ψάχνει. Οι λειτουργίες

με υψηλή συχνότητα σε εμφανή θέση. Όλες οι βασικές λειτουργίες

βρίσκονται στην επικεφαλίδα που χρησιμοποιείται σε όλες τις βασικές

οθόνες του συτήματος.

Παρουσίαση του περιεχομένου του συστήματος. Παρουσίαση δημοφιλών

γεγονότων με τη μορφή προεπισκόπησης στην εισαγωγική οθόνη του

συστήματος.

Απλοποιημένη πλοήγηση του χρήστη μέσα στο σύστημα. Όσο το δυνατόν

λιγότερα επίπεδα ιεραρχίας.

Page 74: Anafora Web Alex Final

74

Οι οθόνες του συστήματος μας:

1. Εισαγωγική Οθόνη - Start Page (Login, Sign Up)

2. Οθόνη Επαναφοράς Κωδικού – Recover Page

3. Οθόνη Διαχείρισης Λογαριασμού - Account Settings

4. Αρχική Οθόνη - Home Page

5. Οθόνη Προφίλ Χρήστη - Profile Page

6. Οθόνη Επεξεργασίας Προφίλ - Edit Profile Page

7. Οθόνη Προβολής Φίλων - Friends Page

8. Οθόνη Προβολής Γεγονότων - Events Page (View all)

9. Οθόνη Δημιουργίας Γεγονότος - Create Event Page

10. Οθόνη Προβολής Εγκαταστάσεων - Facilities Page

11. Οθόνη Διαχείρισης Μηνυμάτων και Προσκλήσεων - Inbox Page

12. Οθόνη Προβολής Χρηστών (μη φίλων) - Users Profile

13. Οθόνη Αναζήτησης Χρηστών

14. Οθόνη Αναζήτησης Γεγονότων

Page 75: Anafora Web Alex Final

75

Η σελίδα μας αποτελείται από μία επικεφαλίδα η οποία θα είναι ίδια σε όλες

τις οθόνες ενός εγγεγραμμένου χρήστη που έχει συνδεθεί στο σύστημα και του

δίνει απευθείας πρόσβαση σε όλες τις σημαντικές οθόνες του συστήματος. Επίσης

η επικεφαλίδα θα παραμένει σταθερή στο πάνω μέρος σε περίπτωση που ο

χρήστης κάνει scroll προς το κάτω μέρος της κάθε οθόνης ώστε να είναι άμεσα

διαθέσιμες οι επιλογές της. Εδώ αξίζει να επισημανθεί ότι η επικεφαλίδα αυτή δεν

έχει νόημα στις οθόνες start, και recover καθώς ο χρήστης δεν έχει εισέλθει ακόμα

στο σύστημα. Στη θέση της στις παραπάνω σελίδες εμφανίζεται μια πιο απλή

επικεφαλίδα που δίνει την δυνατότητα στο χρήστη να εισέλθει στο σύστημα.

Ακόμα το κυρίως σώμα της εφαρμογής μας χωρίζεται στο κύριο μέρος του και

σε μία δεξιά sidebar που στις περισσότερες περιπτώσεις εμφανίζει διάφορες

χρήσιμες πληροφορίες στον χρήστη.

Τέλος υπάρχει και o footer στο κάτω μέρος της κάθε οθόνης.

Page 76: Anafora Web Alex Final

76

Χειρισμός Λαθών

Για τον χειρισμό των λαθών υπάρχει συνάρτηση σε javascript η οποία ελέγχει

τα δεδομένα που εισάγει ο χρήστης κατά την εγγραφή του στο σύστημα και σε

περίπτωση λάθους εμφανίζει αντίστοιχο μήνυμα στην οθόνη που τον ενημερώνει

για το λάθος που έχει κάνει στα στοιχεία του ώστε να το διορθώσει. Με αυτό τον

τρόπο αποτρέπονται εσφαλμένες εγγραφές που ο χρήστης δεν έχει εισάγει όλα τα

απαραίτητα δεδομένα τα οποία είναι όνομα, επίθετο, e-mail (έλεγχος για

συνθήκες έγκυρου e-mail) και κωδικός πρόσβασης (απαραίτητα τουλάχιστον 6

ψηφία). Τα μηνύματα πρέπει να είναι όσο το δυνατόν πιο κατατοπιστικά και

κατανοητά για να μπορούν να προσφέρουν ουσιαστική βοήθεια, γιατί σε αντίθετη

περίπτωση υπάρχει η πιθανότητα ο χρήστης να μπερδευτεί περισσότερο και να

έχουμε αντίθετα αποτελέσματα από τα επιθυμητά.

Page 77: Anafora Web Alex Final

77

Επιλογή χρωμάτων

Στην προσπάθεια επιλογής σωστού συνδυασμού χρωμάτων για το σύστημα

μας λάβαμε υπόψη μας την ανάγκη του χρήστη να ξεχωρίζει ανάμεσα στο

προσκήνιο και το παρασκήνιο. Το χρώμα θεωρείται βασικό συστατικό στην

σχεδίαση της οθόνης μιας εφαρμογής. Η χρήση του χρώματος θα πρέπει να

γίνεται με προσοχή και με βάση την κοινή ανθρώπινη αίσθηση αντίληψης των

διαφορών μεταξύ των χρωμάτων. Το χρώμα που χρησιμοποιείται στο παρασκήνιο

είναι το βασικό χρώμα για την εμφάνιση της οθόνης. Στην περίπτωση μας

χρησιμοποιήθηκε μια απόχρωση του μπεζ. Αντίθετα το χρώμα προσκηνίου είναι

το βασικό χρώμα για την εμφάνιση της πληροφορίας. Τα χρώματα που

χρησιμοποιούνται στο προσκήνιο και στο παρασκήνιο πρέπει να διατηρούν μια

αντίθεση. Για αυτό το λόγο τα χρώματα του προσκηνίου που χρησιμοποιήσαμε

είναι γραμματοσειρές και buttons με μαύρο και σκούρο μπλε χρώμα. Όπως

επίσης και στην επικεφαλίδα μας χρησιμοποιήσαμε αποχρώσεις του γκρι με

άσπρες γραμματοσειρές ακριβώς για τον ίδιο λόγο.

Οι σελίδες της εφαρμογής

Ακολουθούν ενδεικτικά μερικές από τις κύριες σελίδες της εφαρμογής μας

ενδεικτικές για κάθε διαφορετική λειτουργία

Page 78: Anafora Web Alex Final

78

Page 79: Anafora Web Alex Final

79

Page 80: Anafora Web Alex Final

80

Page 81: Anafora Web Alex Final

81

Page 82: Anafora Web Alex Final

82

Page 83: Anafora Web Alex Final

83

5. ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ

Page 84: Anafora Web Alex Final

84

Page 85: Anafora Web Alex Final

85

6. ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ (DESIGN

ARCHITECTURE)

Για την υλοποίηση του συστήματος επιλέχτηκε η διάσπαση του συνόλου

του συστήματος σε επίπεδα για να επιτευχθεί καλύτερη μοντελοποίηση της

εφαρμογής και των κλάσεων που την απαρτίζουν. Συγκεκριμένα επιλέχτηκε η

αρχιτεκτονική σχεδιασμού Model-View-Controller (MVC) για αυτή την

διάσπαση, λόγω των πλεονεκτημάτων που προσφέρει. Η συγκεκριμένη

αρχιτεκτονική καθορίζει τρία επίπεδα (Model, View, Controller). Το κάθε ένα από

αυτά τα επίπεδα περιέχει συγκεκριμένη λειτουργικότητα και συγκεκριμένους

στόχους.

Model Το Model αποτελείται από όλες τις κλάσεις που αποτελούν τις οντότητες

του συστήματος οι οποίες περιέχουν δεδομένα, καθώς και μεθόδους, καθώς και

από τις κλάσεις που επικοινωνούν με την βάση δεδομένων και αποτελούν τον

συνδετικό κρίκο της εφαρμογής μας με τον χώρο αποθήκευσης των δεδομένων.

View

Το View αποτελείται από όλες τις κλάσεις που ευθύνονται για την

αλληλεπίδραση του συστήματος με τον χρήστη. Συγκεκριμένα περιέχει όλα τα

αρχεία της εφαρμογής τα οποία είναι υπεύθυνα για την παρουσίαση του

περιεχομένου στον χρήστη και την αλληλεπίδραση με αυτό (αρχεία .jsp).

Control

Το Control αποτελείται από τις κλάσεις που περιέχουν ολόκληρη την

λογική του συστήματος, δηλαδή τις αποφάσεις ανάλογα με τις ενέργειες του

χρήστη. Αυτό το επίπεδο επικοινωνεί με όλα τα υπόλοιπα επίπεδα. Τυπικά αυτό

το επίπεδο αποτελείται από τον Controller του συστήματος και την κλάσεις

ενεργειών (Events). Ο controller ανάλογα με την είσοδο του χρήστη αποφασίζει

ποια ενέργεια πρέπει να γίνει και εκτελεί το κατάλληλο event. Όταν τελειώσει η

ενέργεια, ο controller επιλέγει ποια σελίδα θα εμφανιστεί στον χρήστη και κάνει

dispatch της αίτησης σε αυτήν.

Page 86: Anafora Web Alex Final

86

Αλληλεπίδραση του χρήστη με μια εφαρμογή που χρησιμοποιεί την

αρχιτεκτονική MVC:

Page 87: Anafora Web Alex Final

87

7. ΜΟΤΙΒΑ ΣΧΕΔΙΑΣΜΟΥ (DESIGN PATTERNS)

Για την υλοποίηση της εφαρμογής επιλέχτηκαν επίσης κάποια μοτίβα

σχεδιασμού για να επιτευχθεί η καλύτερη δυνατή συντήρηση και επεκτασιμότητα

της εφαρμογής. Αυτά είναι τα Data Access Object και Transfer Object.

Data Access Object (DAO)

Για την επικοινωνία με την βάση δεδομένων (MySQL)επιλέχτηκε η

υλοποίηση ενός επιπέδου πρόσβασης στην βάση δεδομένων . Αυτό το επίπεδο

αποτελείται από κλάσεις οι οποίες εκτελούν εντολές στην βάση δεδομένων και

μετατρέπουν τα δεδομένα σε Transfer Objects, τα οποία και επιστρέφουν.

Transfer Object

Για την μεταφορά δεδομένων ανάμεσα στο Data Access Object και το

υπόλοιπο σύστημα, επιλέχτηκε η υλοποίηση κλάσεων μεταφοράς. Το

πλεονέκτημα της συγκεκριμένης υλοποίησης είναι το μικρότερο μέγεθος πακέτων

επικοινωνίας μεταξύ συστήματος και DAO.