ΤΕΙ Σερρών 7/12/2005 Τµήµα Πληροφορικής & Επικοινωνιών Πρόγραµµα Αρχιµήδης ΙΙ Υποέργο: ΒΕΛΤΙΣΤΗ ΑΥΤΟΜΑΤΗ ΚΑΤΑΡΤΙΣΗ ΩΡΟΛΟΓΙΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΑΘΗΜΑΤΩΝ ΚΑΙ ΕΞΕΤΑΣΕΩΝ ΓΙΑ ΣΧΟΛΕΣ ΑΕΙ & ΤΕΙ ΜΕ ΧΡΗΣΗ ΜΕΘΟ ΩΝ ΕΞΕΛΙΚΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ Επιστηµονικός Υπεύθυνος : Σπυρίδων Καζαρλής Συντάκτες : Ευάγγελος Ούτσιος, Μανώλης Πετρέλλης ΑΡΧΙΜΗ ΗΣ ΙΙ ΕΝΙΣΧΥΣΗ ΕΡΕΥΝΗΤΙΚΩΝ ΟΜΑ ΩΝ ΣΤΑ Τ.Ε.Ι. «ΒΕΛΤΙΣΤΗ ΑΥΤΟΜΑΤΗ ΚΑΤΑΡΙΣΗ ΩΡΟΛΟΓΙΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ ΜΑΘΗΜΑΤΩΝ ΚΑΙ ΕΞΕΤΑΣΕΩΝ ΓΙΑ ΣΧΟΛΕΣ Α.Ε.Ι. ΚΑΙ Τ.Ε.Ι., ΜΕ ΤΗ ΧΡΗΣΗ ΜΕΘΟ ΩΝ ΕΞΕΛΙΚΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ» ΠΑΡΑ ΟΤΕΟ ΕΡΓΟ ΤΟΥ ΠΕΤΡΕΛΛΗ ΕΜΜΑΝΟΥΗΛ 8/12/2005 ΤΕΧΝΙΚΗ ΑΝΑΛΥΣΗ ΛΟΓΙΣΜΙΚΟΥ Το λογισµικό είναι τµηµατοποιηµένο σε τρία επίπεδα χρήσης τα οποία µπορούµε να δούµε παρακάτω: ιαχειριστής Συστήµατος (Administrator) Καθηγητής (Professor) Επισκέπτης (Visitor) Κάθε ένα από αυτά τα επίπεδα αλληλεπιδρά µε το όλο σύστηµα µε εντελώς διαφορετικό τρόπο. Οι ενέργειες που µπορούν να γίνουν για κάθε ένα από αυτά τα επίπεδα είναι οι εξής: Επίπεδο ιαχειριστή Συστήµατος (Administrator) 1. Login / Logout 2. ηµιουργία Αρχείων Επόµενου (Τρέχοντος) Εξαµήνου µε ενδεχόµενη αντιγραφή των δεδοµένων από τα αρχεία του προηγούµενου εξαµήνου 1
3. Προσθήκη / ιαγραφή / Επεξεργασία Καθητών (πραγµατικών ή εικονικών) 4. Προσθήκη / ιαγραφή / Επεξεργασία Αιθουσών 5. Προσθήκη / ιαγραφή / Επεξεργασία Μαθηµάτων και επιλογών τους (πρόγραµµα σπουδών, µαθήµατα ανά εξάµηνο, ώρες ανά µάθηµα, θεωρίες/εργαστήρια, αριθµός εργαστηριακών τµηµάτων ανά µάθηµα) 6. ηµιουργία Περιορισµών i. Αντιστοίχιση µαθηµάτων αιθουσών ii. Αντιστοίχιση µαθηµάτων καθηγητών iii. Ορισµός µαθηµάτων ωρών 7. ηµιουργία / Επεξεργασία / ιαγραφή Λογαριασµών Καθηγητών 8. Αλλαγή Password και γενικών πληροφοριών Administrator 9. Καθορισµός έναρξης και λήξης της διαδικασίας υποβολής δεδοµένων από τους Καθηγητές. 10. Καθορισµός διαθεσιµότητας του ωρολόγιου προγράµµατος (δίνεται άδεια στο πρόγραµµα να «δείχνει» το έτοιµο πλέον ωρολόγιο πρόγραµµα, έως τότε το πρόγραµµα δεν θα δείχνει το ωρολόγιο πρόγραµµα αφού δεν θα υπάρχει!, ή δεν θα είναι ακόµα πλήρως επεξεργασµένο). 11. Προβολή τελικού προσωπικού εβδοµαδιαίου προγράµµατος για οποιονδήποτε Καθηγητή 12. Προβολή γενικού τελικού εβδοµαδιαίου προγράµµατος συνολικά ή ανά εξάµηνο 13. Προβολή ιδασκόντων ανά µάθηµα και µαθηµάτων ανά διδάσκοντα µε σύνολα ωρών (αναθέσεις) 14. Καθορισµός επιπέδου εµφάνισης ωρολόγιου προγράµµατος (Στο 1 ο επίπεδο εµφανίζονται µόνο τα µαθήµατα στις αντίστοιχες µέρες και ώρες. Στο επίπεδο 2 εµφανίζονται και οι Καθηγητές που διδάσκουν το κάθε µάθηµα. Τα επίπεδα εµφάνισης θα ισχύουν για τους Επισκέπτες - Visitors) 15. Παραγωγή αρχείων text µε τις ώρες για κάθε εργαστηριακό τµήµα και για όλα τα Εργαστηριακά µαθήµατα, το οποίο θα είναι συµβατό µε την εφαρµογή Ηλεκτρονικής ήλωσης Εργαστηρίων(e-Labs). Επίπεδο Καθηγητή (Professor) 1. Login / Logout 2
2. Επιλογή διαθέσιµων ωρών 3. Έγκριση καταλληλότητας αιθουσών (από παλαιότερη επιλογή) για τα δικά του µαθήµατα 4. Προβολή τελικού προσωπικού εβδοµαδιαίου προγράµµατος 5. Προβολή γενικού τελικού εβδοµαδιαίου προγράµµατος (συνολικά ή ανά εξάµηνο) Επίπεδο Επισκέπτη (Visitor) 1. Προβολή γενικού τελικού εβδοµαδιαίου προγράµµατος (συνολικά ή ανά εξάµηνο) ΑΝΑΛΥΣΗ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ΛΟΓΙΣΜΙΚΟΥ Το λογισµικό που αναλύθηκε παραπάνω βασίζεται σε µία βάση δεδοµένων µε τους εξής πίνακες: User -> Πίνακας στον οποίο καταχωρούνται οι χρήστες του λογισµικού. Professor -> Πίνακας στον οποίο καταχωρούνται οι πληροφορίες των καθηγητών. Group -> Πίνακας για την καταχώρηση των οµάδων χρηστών. Event -> Πίνακας για την καταχώρηση των event του κάθε µαθήµατος. Class -> Πίνακας για την καταχώρηση των τάξεων των µαθηµάτων. Lesson -> Πίνακας για την καταχώρηση των πληροφοριών των µαθηµάτων. LessonProfessor -> Πίνακας για την καταχώρηση των υποψηφίων καθηγητών για κάθε µάθηµα. InterTypeConcurrency -> Πίνακας για την καταχώρηση της σχέσης ενός µαθήµατος µε ένα άλλο όσον αφορά το αν επιτρέπεται να γίνονται ταυτόχρονα ή όχι. ProfessorPeriod -> Πίνακας για την αντιστοίχιση των καθηγητών µε τις περιόδους χρήσης. ClassRoomLesson -> Πίνακας για την αντιστοίχιση των µαθηµάτων µε τις διαθέσιµες αίθουσες. LessonType -> Πίνακας για την καταχώρηση των τύπων µαθηµάτων. UsagePeriod -> Πίνακας για την καταχώρηση των περιόδων χρήσης. 3
ProfTimeRestrict -> Πίνακας για την καταχώρηση των περιορισµών ώρας από τους καθηγητές Constants -> Πίνακας για την καταχώρηση σταθερών παραγόντων για κάθε περίοδο χρήσης. ClassRoom -> Πίνακας για την καταχώρηση των πληροφοριών των αιθουσών ClassRoomTimeRestrict -> Πίνακας για την καταχώρηση των περιορισµών ώρας για την κάθε αίθουσα. ClassRoomDistance -> Πίνακας για την καταχώρηση των αποστάσεων των αιθουσών. Timeslot -> Πίνακας για την καταχώρηση των ωρών σε timeslots. 4
ΣΧΕΣΙΑΚΟ ΙΑΓΡΑΜΜΑ ΒΑΣΗΣ Ε ΟΜΕΝΩΝ ΛΟΓΙΣΜΙΚΟΥ 5
ΕΠΙΤΕΥΞΗ ΛΟΓΙΣΜΙΚΟΥ Για την επίτευξη του παραπάνω λογισµικού θα χρησιµοποιηθούν τα ακόλουθα: 1. Web Server -> Apache 2 2. Σύστηµα ιαχείρισης Βάσεων εδοµένων -> Firebird 1.5 3. Γλώσσες Προγραµµατισµού -> PHP 5, HTML. 6