3η Γραπτή Εργασία ΠΛΗ...

Click here to load reader

  • date post

    27-Jan-2020
  • Category

    Documents

  • view

    1
  • download

    0

Embed Size (px)

Transcript of 3η Γραπτή Εργασία ΠΛΗ...

  • ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

    1

    3η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2011 – 2012 ( Τόμος Β’ – Κεφάλαια 1 – 4 )

    Ημερομηνία Παράδοσης 25.3.2012

    ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ

    Άσκηση 1

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

    Εισαγωγή Στην Άσκηση αυτή ζητείται να προσθέσετε κάποιες λειτουργίες στο σύστημα που αναπτύχθηκε στα πλαίσια της 2ης Γραπτής Εργασίας. Σκοπός της εφαρμογής που καλείστε να αναπτύξετε είναι η δημιουργία ενός online διαδραστικού ημερολογίου για τους τρεις πρώτους μήνες του 2012, όπου ο χρήστης θα μπορεί να αποθηκεύει γεγονότα και υπενθυμίσεις. Για την υλοποίηση της άσκησης θα χρησιμοποιηθούν τεχνολογίες HTML, PHP, JavaScript και MySQL. Για την εγκατάσταση των PHP και MySQL, καθώς και του Web Server, προτείνεται η χρήση του πακέτου WampServer που υπάρχει στο 2ο CD του ΕΔΥ.

    Λειτουργικές προδιαγραφές του συστήματος Το σύστημα θα αποτελείται από μία Βάση Δεδομένων και από ένα web περιβάλλον διεπαφής (web interface). Στη βάση θα αποθηκεύονται πληροφορίες για τις υπενθυμίσεις του χρήστη. Ο χρήστης του συστήματος θα έχει τη δυνατότητα να εισάγει / τροποποιεί / διαγράφει υπενθυμίσεις για συγκεκριμένες μέρες και ώρες. Επίσης θα μπορεί να επισημαίνει τις υπενθυμίσεις με ετικέτες (tags). Τέλος, θα έχει τη δυνατότητα αναζήτησης υπενθυμίσεων.

    Ερώτηση 1 Η Βάση Δεδομένων. Για τη δημιουργία της βάσης μπορεί να χρησιμοποιηθεί το εργαλείο phpMyAdmin το οποίο είναι ενσωματωμένο στο πακέτο WampServer. Αφού έχετε ξεκινήσει σωστά το WampServer, μπορείτε να χρησιμοποιήσετε το phpMyAdmin κάνοντας αριστερό click στο εικονίδιο του WampServer στη γραμμή εργαλείων (system tray) και επιλέγοντας την αντίστοιχη επιλογή. Από την κεντρική οθόνη της εφαρμογής μπορείτε να δημιουργήσετε τη βάση σας δίνοντας ένα όνομα στο αντίστοιχο πεδίο. Οι πίνακες – σχέσεις είναι ενδεικτικά οι παρακάτω:

     Υπενθύμιση (Κωδικός, Τίτλος, Περιγραφή, ημερομηνία/ώρα). Περιέχει τις υπενθυμίσεις που έχουν καταχωρηθεί στο σύστημα.

     Ετικέτες (Κωδικός ετικέτας, ετικέτα). Περιέχει τις ετικέτες (tags) που έχουν καταχωρηθεί στο σύστημα.

     Υπενθύμιση_ετικέτα (Κωδικός υπενθύμισης, Κωδικός ετικέτας). Περιέχει την αντιστοίχηση ετικετών και υπενθυμίσεων.

  • ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

    2

    Το περιβάλλον διεπαφής Το περιβάλλον διεπαφής αποτελείται από web σελίδες που δημιουργούνται με PHP και HTML. Τα αρχεία αυτά πρέπει να αποθηκεύονται στο www directory (αριστερό click στο εικονίδιο του WampServer) και να είναι προσπελάσιμα μέσω του url http://localhost/ονομα_αρχείου. Η μορφοποίηση των δεδομένων κάθε σελίδας από τις παρακάτω, θα γίνεται με χρήση CSS. Θα πρέπει να υπάρχει ένα ενιαίο περιβάλλον πλοήγησης στην εφαρμογή, καθώς και ένα καλαίσθητο interface. Τέλος, το περιβάλλον της διεπαφής θα είναι στην Ελληνική γλώσσα. Για τη σύνδεση καθώς και για την υποβολή ερωτήσεων στη βάση, μπορείτε να συμβουλευθείτε το παρακάτω link: http://gr.php.net/manual/en/ref.mysql.php. Σε όλες τις φόρμες, η ύπαρξη σωστών τιμών στα υποχρεωτικά πεδία θα ελέγχεται με χρήση JavaScript. Για παράδειγμα δείτε εδώ: http://www.w3schools.com/js/js_form_validation.asp

    Ερώτηση 2 Εισαγωγή/ προβολή υπενθύμισης Στην αρχική σελίδα του ημερολογίου οι ημερομηνίες για τις οποίες έχουν καταχωρηθεί υπενθυμίσεις θα επισημαίνονται με διαφορετικό χρώμα. Αν ο χρήστης επιλέξει μία ημερομηνία για την οποία υπάρχουν ήδη υπενθυμίσεις, θα εμφανίζεται, εκτός από τη φόρμα εισαγωγής, μία λίστα με τις πληροφορίες για τις υπάρχουσες υπενθυμίσεις. Ο χρήστης θα μπορεί να κάνει κλικ σε μία ημερομηνία του ημερολογίου και θα μεταφέρεται στη φόρμα εισαγωγής υπενθύμισης. Στη φόρμα θα υπάρχουν τα πεδία τίτλος, λίστα ετικετών, περιγραφή και ώρα (η ημερομηνία θεωρείται δεδομένη από την επιλογή του χρήστη). Όλα τα πεδία, εκτός από τη λίστα ετικετών, είναι υποχρεωτικά. Στα υποχρεωτικά πεδία θα πρέπει να υπάρχουν κατάλληλοι έλεγχοι με χρήση JavaScript. Στο πεδίο «λίστα ετικετών», ο χρήστης θα μπορεί να καταχωρεί όσες ετικέτες επιθυμεί, χωρίζοντάς τις με κόμμα. Με την ολοκλήρωση της εισαγωγής, θα γίνεται επιστροφή στην αρχική σελίδα του ημερολογίου.

    Ερώτηση 3 Τροποποίηση/ διαγραφή υπενθυμίσεων Στη λίστα στην οποία εμφανίζονται οι υπενθυμίσεις για μία επιλεγμένη ημερομηνία, θα πρέπει να υπάρχουν επιλογές για την τροποποίηση και τη διαγραφή της κάθε υπενθύμισης. Ο χρήστης θα μπορεί να τροποποιήσει κάθε πεδίο της υπενθύμισης. Κατά τη διαγραφή μιας υπενθύμισης ή την αφαίρεση ετικετών μέσω της τροποποίησης, θα πρέπει να διαγράφονται από τη βάση δεδομένων οι σχετικές ετικέτες, εκτός και αν επισημαίνουν και άλλες υπενθυμίσεις στο σύστημα. Πριν τη διαγραφή μιας υπενθύμισης, να εμφανίζεται μήνυμα επιβεβαίωσης διαγραφής με χρήση JavaScript.

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

    http://gr.php.net/manual/en/ref.mysql.php http://www.w3schools.com/js/js_form_validation.asp

  • ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

    3

    Παραδοτέα Τα παραδοτέα για την Ερώτηση 1 περιλαμβάνουν:

     ER διάγραμμα της βάσης

     SQL εντολές κατασκευής της βάσης

     Export της βάσης (π.χ. μέσω του phpMyAdmin. Από την κεντρική σελίδα, διαλέγετε την επιλογή export – εξαγωγή, στη συνέχεια επιλέγετε τη βάση σας, τσεκάρετε την επιλογή Save as file – Αποστολή και πατάτε το κουμπί GO - Εκτέλεση).

    Τα παραδοτέα για τις υπόλοιπες Ερωτήσεις περιλαμβάνουν:

     τεχνική αναφορά όπου θα επεξηγείται ο κώδικας

     screenshots της εφαρμο