• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2023

Share "ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ ΓΡΑΜΜΑΤΕΙΑΚΗ ΥΠΟΣΤΗΡΙΞΗ ΤΩΝ ΕΚΤΑΚΤΩΝ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ ΜΕ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL"

Copied!
174
0
0

Texto

(1)

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ

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

ΘΕΜΑ:

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

ΤΖΗΜΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΜΑΡΔΥΡΗΣ ΒΑΣΙΛΕΙΟΣ ΣΠΟΥΔΑΣΤΗΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ

ΚΑΒΑΛΑ 2007

(2)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΔΙΑΔΙΚΤΥΟΥ ΓΙΑ ΤΗ

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

ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΤΟΥ ΤΜΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL

(3)

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ

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

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

ΤΖΗΜΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΜΑΡΔΥΡΗΣ ΒΑΣΙΛΕΙΟΣ ΣΠΟΥΔΑΣΤΗΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ

ΚΑΒΑΛΑ 2007

(4)

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ TCL

Πτυχιακή εργασία του

Τζήμου Κωνσταντίνου

Τμήμα ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ Τ.Ε.Ι. Καβάλας

Εγκρίνεται για παρουσίαση από τον

Πρόεδρο της εποπτεύουσας επιτροπής

(5)

Ευχαριστώ την οικογένειά μου

για την υποστήριξή και την συμπαράστασή τους

Ευχαριστώ τον Κύριο Μαρδύρη Βασίλειο

για την καθοδήγηση και τη βοήθειά του κατά τη διάρκεια της δημιουργίας της διαδικτυακής εφαρμογής και όλους όσους βοήθησαν «άμεσα ή έμμεσα»

στην πραγματοποίηση της.

Τζήμος Κωνσταντίνος

Καβάλα 2007

(6)

ΠΕΡΙΕΧΟΜΕΝΑ

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

1.1 Γενικά……….7

1.2 . HTML……….………....7

1.3. TCL………...8

1.4. Common Gateway Interface (CGI)………...8

1.5 MySQL ………9

1.6. Apache HTTP server………...9

2. ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 2.1. Γενικά………10

2.2. Γραμματεία………11

2.2.1. Καταχώρηση – Διόρθωση – Εμφάνιση Ανάθεσης………12

2.2.2. Καταχώρηση Αριθμών Συμβουλίων………..16

2.2.3. Εμφάνιση Υπεύθυνης Δήλωσης Στοιχείων………16

2.2.4. Καταστάσεις………...17

2.2.5. Συμβάσεις – Διόρθωση - Εμφάνιση………...17

2.2.6. Βεβαιώσεις προϋπηρεσίας………...19

2.3. Καθηγητές……….19

ΠΑΡΑΡΤΗΜΑ 1 ……….21

3.ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 3.1. Γενικά………....26

3.2. Ανάλυση των Πινάκων………...27

ΠΑΡΑΡΤΗΜΑ 2………..………....34

4. ΑΝΑΛΥΣΗ ΤΟΥ ΚΩΔΙΚΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ 4.1. Γενικά………38

4.2. Εισαγωγική σελίδα………38

4.3. Συμπλήρωση αριθμών συμβουλίων……… ….42

4.4. Σελίδα Simvoulnum1.tcl……… …..46

4.5. Μηχανή αναζήτησης 1

ο

μέρος……… ….47

4.6. Μηχανή αναζήτησης 2

ο

μέρος……… ….49

4.7. Κύρια σελίδα Αναθέσεων………... .52

4.8. Μηχανή αναζήτησης μέρος 2

ο

και διόρθωση αναθέσεων………....61

4.9. Υπεύθυνη δήλωση στοιχείων………....64

4.10. Συμβάσεις και διόρθωση συμβάσεων……….71

4.11. Καταστάσεις………76

4.12. Βεβαιώσεις Προϋπηρεσίας………..83

4.13. Αναζήτηση και εμφάνιση μίας η πολλών αναθέσεων……….87

5. ΠΑΡΑΘΕΣΗ ΤΟΥ ΚΩΔΙΚΑ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΣΤΟ ΣΥΝΟΛΟ 5.1 index.html………..95

5.2. simvoulnum.tcl……….97

5.3 simvoulnum1.tcl………99

5.4 anathesis.tcl………..100

5.5. anathesis1.tcl………...101

5.6. anathesis2.tcl………...102

(7)

5.7. anathesis3.tcl………107

5.8. diorthanathesis.tcl………112

5.9. diorthanathesis1.tcl………..113

5.10. diorthanathesis2.tcl………115

5.11. diorthanathesis3.tcl………120

5.12. anathesis4.tcl………..121

5.13. anathesis5.tcl………..123

5.14. anathesis6.tcl………..124

5.15. anthesis7.tcl………127

5.16. aitisi0.tcl……….131

5.17. aitisi00.tcl………...132

5.18 aitisi.tcl………133

5.19. aitisi1.tcl……….138

5.20. dilosi.tcl………..139

5.21. dilosi1.tcl………140

5.22. dilosi2.tcl………141

5.23. katastaseis.tcl……….144

5.24. katastaseis1.tcl………...145

5.25. simvaseis00.tcl………...149

5.26. simvaseis0.tcl……….150

5.27. simvaseis.tcl………...151

5.28. simvaseis1.tcl……….154

5.29. diorthsimvaseis.tcl……….154

5.30. diorthsimvaseis1.tcl………...157

5.31. emfansimvas.tcl……….157

5.32. emfansimvas1.tcl………...158

5.33. emfansimvas2.tcl………...159

5.34. bebeoseis.tcl………...168

5.35. veveosis1.tcl………...169

5.36. veveosis2.tcl……….170

ΒΙΒΛΙΟΓΡΑΦΙΑ………..173

(8)

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

1.2 . Γενικά

Η εφαρμογή που θα αναλυθεί σε αυτό το εγχειρίδιο είναι μια Web τοποθεσία η οποία αναπτύχθηκε με σκοπό την εξυπηρέτηση των διοικητικών αναγκών της γραμματείας του τμήματος Διαχείρισης Πληροφοριών. Αποτελείτε από μία ιστοσελίδα που χρησιμεύει στην πλοήγηση του χρήστη στην εφαρμογή και είναι σχεδιασμένη σε γλώσσα HTML, από σαράντα ένα script ογραμένα σε γλώσσα TCL τα οποία συνδέονται μεταξύ τους και αποτελούν την εφαρμογή και τις λειτουργίες της και από μία SQL βάση δεδομένων η οποία λειτουργεί στον Server του ΤΕΙ Καβάλας. Για την ανάπτυξη της εφαρμογής εγκατέστησα στον προσωπικό υπολογιστή μου τον MySQL server ως ένα σύστημα διαχείρισης βάσεων δεδομένων, τον Apache HTTP server για την δημιουργία εικονικού διακομηστή στον υπολογιστή μου και τέλος το Edit Plus ένα πολύ εύχρηστο πρόγραμμα το οποίο με διευκόλυνε στην σύνταξη του κώδικα της εφαρμογής

1.2 . HTML

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

Η HTML δεν αποτελεί έναν "Παίρνεις Αυτό Που Βλέπεις" (What You See Is What You Get, WYSIWYG) επεξεργαστή κειμένου όπως το Word ή το WordPerfect.

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

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

"βλέπουν" τα ίδια HTML αρχεία. Αναλυτικότερα, όταν κάποιος χρήστης βλέπει μια

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

(9)

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

1.3. TCL

Η TCL (Tool Command Language) είναι μια γλώσσα προγραμματισμού οι οποία μας παρέχει ένα προγραμματιστικό περιβάλλον και ένα σύνολο προγραμματιστικών εργαλείων όπως μεταβλητές και επαναλήψεις που μας διευκολύνουν στην δημιουργία προγραμμάτων ανοιχτού κώδικα τα οποία στο σύνολό τους αποτελούν μια ολοκληρωμένη εφαρμογή η οποία με την βοήθεια του πρωτοκόλλου CGI θα λειτουργεί, θα επεξεργάζεται και θα επιστρέφει πληροφορίες στον χρήστη σε πραγματικό χρόνο. Στην γλώσσα TCL μπορούμε να αναμείξουμε κομμάτια κώδικα και εντολές άλλων γλωσσών προγραμματισμού όπως εντολές για την διαχείριση βάσεων δεδομένων όπως για παράδειγμα εντολών για την διαχείριση SQL βάσεων δεδομένων και κομμάτια κώδικα γραμμένο στην γλώσσα HTML με σκοπό τον σχεδιασμό ενός εύχρηστου περιβάλλοντος το οποίο θα απευθύνεται στους χρήστες της εφαρμογής.

1.4. Common Gateway Interface (CGI)

Το Common Gateway Interface (CGI) (κοινή διεπαφή πυλών) είναι το πρωτόκολλο που βοηθάει στην διασύνδεση των διαφόρων εφαρμογών ή αλλιώς ιστοσελίδων με τους κεντρικούς υπολογιστές πληροφοριών ή servers, όπως είναι οι HTTP ή Web servers. Ένα πρόγραμμα που χρησιμοποιεί το CGI εκτελείται σε πραγματικό χρόνο, έτσι μπορεί α παρέχει δυναμικές πληροφορίες.

Παραδείγματος χάριν, αν θέλουμε να φτιάξουμε μια εφαρμογή την οποία θα

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

να διαχειρίζεται πληροφορίες από μία βάση δεδομένων π.χ (UNIX, SQL) , θα πρέπει

να φτιάξουμε ένα CGI πρόγραμμα το οποίο θα εκτελεστεί από έναν Web daemon (ο

Web daemon ή system agent ή service είναι μία εφαρμογή ή υπηρεσία η οποία

λειτουργεί στο “παρασκήνιο” της λειτουργίας της εφαρμογής μας και είναι

απαραίτητος για την λειτουργία των εφαρμογών μας) για να διαβιβάσει τις

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

(10)

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

Κάθε HTTP server έχει ένα αρχείο το οποίο ονομάζεται cgi-bin. Σε αυτόν τον φάκελο πρέπει να τοποθετήσουμε τα cgi προγράμματά μας για να μπορέσουν να εκτελεστούν.

Τέτοια προγράμματα μπορούν να γραφτούν σε γλώσσες προγραμματισμού όπως C/C++, Fortran, PERL, TCL, Visual Basic κ.τ.λ.

1.5 MySQL

H MySQL είναι ένα σύστημα διαχείρισης βάσεων δεδομένων που ελέγχει την πρόσβαση στα δεδομένα ώστε να μπορούν πολλοί χρήστες να μπορούν να δουλέψουν με αυτή ταυτόχρονα. Με την MySQL έχουμε την δυνατότητα να αποθηκεύουμε, να αναζητούμε, να διαγράφουμε, να ταξινομούμε και να ανακτούμε δεδομένα πολύ εύκολα και με ασφάλεια. Έτσι και εγώ χρησιμοποιώ την MySQL με σκοπό να μπορέσω να κάνω την εφαρμογή μου να επεξεργαστεί τις πληροφορίες που υπάρχουν στην βάση δεδομένων που συνδέεται με την εφαρμογή σύμφωνα με τις ανάγκες των χρηστών. Χρησιμοποίησα την SQL γιατί είναι εύκολη στην χρήση, αξιόπιστη και εύκολη στην εκμάθηση.

1.6. Apache HTTP server

Με τον Apache HTTP server δημιούργησα έναν εικονικό διακομιστή (server) τον

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

λειτουργίας των κομματιών κώδικα που έγραφα, γιατί ο Apache HTTP server

παρέχει στους χρήστες του το αρχείο CGI το οποίο όπως προανέφερα είναι

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

αρχείο με το όνομα cgi-bin στο οποίο τοποθετούσα τα κομμάτια κώδικα. Έτσι με

έναν απλό Browser (internet explorer, Mozilla Firefox κ.τ.λ) μπορούσα να εκτελώ τα

κομμάτια κώδικα.

(11)

2. ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ

2.1. Γενικά

Η εφαρμογή η οποία περιγράφεται παρακάτω αναπτύχθηκε με σκοπό την γραμματειακή υποστήριξη των εκπαιδευτικών του τμήματος διαχείρισης πληροφοριών. Αποτελείτε από δύο πεδία. Το ένα αφορά τους εκπαιδευτικούς οι οποίοι θα μπορούν συμπληρώνουν μία φόρμα με τα προσωπικά τους στοιχεία μέσω internet και το δεύτερο αφορά την γραμματεία η οποία θα μπορεί να διαχειρίζεται πληροφορίες που αφορούν τους εκπαιδευτικούς όπως να αναθέτει εκπαιδευτικό έργο σύμφωνα με τις αποφάσεις των συμβουλίων του ΤΕΙ Καβάλας και α εκδίδει επίσημα έγγραφα όπως βεβαιώσεις προϋπηρεσίας συμβάσεις .

Σχήμα 1. Είσοδος στην εφαρμογή

Πιο αναλυτικά τα κουμπιά καταχώρηση αριθμών συμβουλίων, καταχώρηση

ανάθεσης, διόρθωση καταχωρημένης ανάθεσης, εμφάνιση ανάθεσης, εμφάνιση

(12)

υπεύθυνης δήλωσης, καταστάσεις, συμβάσεις, διόρθωση συμβάσεων, εμφάνιση υπεύθυνης δήλωσης, εμφάνιση συμβάσεων και βεβαιώσεις προϋπηρεσίας της εισαγωγικής σελίδας της εφαρμογής αφορούν την γραμματεία και τις εργασίες διαχείρισης πληροφοριών που αφορούν τους καθηγητές του τμήματος. Τα κουμπιά υπεύθυνη δήλωση στοιχείων και διόρθωση δήλωσης στοιχείων είναι το κομμάτι της εφαρμογής στο οποίο ο κάθε εκπαιδευτικός ο οποίος έχει υπογράψει σύμβαση εργασίας με το ΤΕΙ Καβάλας, καλείτε να συμπληρώσει μια φόρμα με κάποια προσωπικά του στοιχεία.

2.2. Γραμματεία

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

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

μεγάλη βάση δεδομένων. Έτσι για να μπορεί να επεξεργάζεται μεμονωμένα τις

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

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

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

επεξεργαστεί από το σύνολο όλων των καθηγητών. Μόνο δύο πεδία της εφαρμογής

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

συμβουλίων και το πεδίο καταστάσεις.

(13)

2.2.1. Καταχώρηση – Διόρθωση – Εμφάνιση Ανάθεσης

Καταχώρηση. Πατώντας στο κουμπί καταχώρηση ανάθεσης της εισαγωγικής σελίδας της εφαρμογής εμφανίζεται η πρώτη σελίδα της μηχανής αναζήτησης (Σχήμα 2).

Σχήμα 2. Μηχανή αναζήτησης

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

Σχήμα 3. Μηχανή αναζήτησης καταχώρηση ανάθεσης

(14)

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

Σχήμα 4. Κύρια σελίδα αναθέσεων

Όταν ο χρήστης επιλέξει τις παραμέτρους που θέλει ώστε να πραγματοποιήσει μια

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

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

χρησιμοποιώ τον πίνακα anathesis και τον mathima. Πρέπει να αναφέρω ότι κάθε

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

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

μέρος του σχήματος 4 αυξάνει κατά μία γραμμή η οποία περιέχει το μάθημα που

ανατέθηκε. Επιπλέον κάθε φορά που ο χρήστης θέλει να κάνει μία ανάθεση , αν

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

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

(15)

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

Διόρθωση. Για να μπορέσω να κάνω το πρόγραμμα πιο φιλικό και εύχρηστο για τον χρήστη, δημιούργησα το κομμάτι που αφορά την διόρθωση των λαθών που έγιναν κατά την διάρκεια καταχώρησης μίας ανάθεσης. Έτσι σε περίπτωση λάθους στις αναθέσεις ο χρήστης μπορεί να επιλέξει το κουμπί διόρθωση καταχωρημένης ανάθεσης, θα πρέπει να κάνει να κάνει μία νέα αναζήτηση του εκπαιδευτικού, του οποίου η ανάθεση καταχωρήθηκε λάθος (Σχήμα 2). Άμεσος μετά ακολουθεί μια διαφορετική σελίδα αναζήτησης σε σχέση με την απλή ανάθεση (Σχήμα 5).

Σχήμα 5. Αναζήτηση λανθασμένης καταχώρησης

Όπως βλέπουμε στο σχήμα πέντε ο χρήστης καλείτε να επιλέξει 5 διαφορετικές

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

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

(16)

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

Εμφάνιση. Εκτός από το να κάνουμε την ανάθεση καταχωρώντας τα στοιχειά στην βάση δεδομένων, θέλουμε α εμφανίζουμε και τις αναθέσεις σε μορφή επίσημου εγγράφου του ΤΕΙ Καβάλας, για διοικητικούς και λειτουργικούς λόγους. Εδώ ο χρηστής θα πρέπει να επιλέξει αν θέλει να εμφανίσει μία μεμονωμένη ανάθεση ή να εμφανίσει όλες τις αναθέσεις ή τις τροποποιήσεις αναθέσεων ενός ακαδημαϊκού έτους (Σχήμα 6).

Σχήμα 6. Μηχανή αναζήτησης

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

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

(Σχήμα 3) και αφού επιλέξει το όνομα που θέλει εμφανίζεται ένα δυναμικό κείμενο το

(17)

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

2.2.2. Καταχώρηση Αριθμών Συμβουλίων

Πατώντας το κουμπί καταχώριση αριθμών συμβουλίων είναι μια σελίδα της εφαρμογής που έγινε με σκοπό την διευκόλυνση του χρήστη της εφαρμογής. Με αυτή τη σελίδα ο χρήστης καταχωρεί τους αριθμούς συμβουλίου και γενικής συνέλευσης του ΤΕΙ Καβάλας, τους αριθμούς τριμελούς επιτροπής και τους αριθμούς προκήρυξης του ΤΕΙ. Ο λόγος είναι για να αποφευχθεί η επανάληψη της καταχώρησης αυτών των αριθμών για κάθε ανάθεση που πραγματοποιείτε. Έτσι αυτά τα στοιχεία ανακτούντε από την κύρια σελίδα της ανάθεσης (Σχήμα 4).

Σχήμα 7. Καταχώρηση αριθμών συμβουλίων

2.2.3. Εμφάνιση Υπεύθυνης Δήλωσης Στοιχείων

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

δηλώσεις στοιχείων που κατέθεσαν οι εκπαιδευτικοί μέσω διαδικτύου. Για να

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

της μηχανής αναζήτησης (Σχήμα 2 και 3). Έπειτα έχοντας επιλέξει τον καθηγητή

(18)

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

2.2.4. Καταστάσεις.

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

Σχήμα 8. Καταστάσεις

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

2.2.5. Συμβάσεις – Διόρθωση - Εμφάνιση.

Εκτός από τις αναθέσεις η γραμματεία μπορεί μέσω της εφαρμογής να καταχωρεί, να ανανεώνει, να τροποποιεί και να εκτυπώνει τις συμβάσεις εργασίας για των μελλοντικών καθηγητών του τμήματος Διαχείρισης Πληροφοριών του ΤΕΙ Καβάλας.

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

(19)

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

Καταχώρηση και Διόρθωση Σύμβασης. Αφού βρεθεί ο καθηγητής στον οποίο θέλουμε α κάνουμε σύμβαση και πατήσουμε το κουμπί επιλογή εμφανίζεται η φόρμα που πρέπει να συμπληρώσουμε για να πραγματοποιήσουμε μια καταχώρηση σύμβασης (Σχήμα 9).

Σχήμα 9. Καταχώρηση Σύμβασης

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

Εμφάνιση. Για την εμφάνιση της σύμβασης ο χρήστης θα πρέπει να αναζητήσει τον

καθηγητή του οποίου την σύμβαση θέλει να εκτυπώσει. Αφού επιλέξει το όνομα που

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

καθηγητή που επιλέξαμε προηγουμένως καθώς και με όλες τις νομικές αναφορές και

όρους που καθιστούν μια σύμβαση έγκυρη.

(20)

2.2.6. Βεβαιώσεις προϋπηρεσίας.

Στην εισαγωγική σελίδα της εφαρμογής (Σχήμα 1), υπάρχει το κουμπί βεβαιώσεις προϋπηρεσίας με το οποίο η γραμματεία μπορεί να εκτυπώνει και να εμφανίζει τις βεβαιώσεις προϋπηρεσίας όλων των καθηγητών του τμήματος. Έτσι αναζητώντας τον καθηγητή μέσω της μηχανής αναζήτησης μπορεί να εμφανίσει τις βεβαιώσεις προϋπηρεσίας ανά ακαδημαϊκό έτος περιέχοντας όλες τις τροποποιήσεις που υπήρξαν κατά την διάρκεια του έτους. Το κείμενο που εμφανίζεται είναι δυναμικό και έτσι τα στοιχεία που περιέχει διαφέρουν από καθηγητή σε καθηγητή και από έτος σε έτος.

2.3. Καθηγητές

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

(21)

Σχήμα 10. Υπεύθυνη δήλωση στοιχείων.

(22)

ΠΑΡΑΡΤΗΜΑ 1

ο

Σχήμα 1. Είσοδος στην εφαρμογή

Σχήμα 2. Μηχανή αναζήτησης

(23)

Σχήμα 3. Μηχανή αναζήτησης καταχώρηση ανάθεσης

Σχήμα 4. Κύρια σελίδα αναθέσεων

(24)

Σχήμα 5. Αναζήτηση λανθασμένης καταχώρησης

Σχήμα 6. Μηχανή αναζήτησης Εμφάνισης Αναθέσεων

(25)

Σχήμα 7. Καταχώρηση αριθμών συμβουλίων

Σχήμα 8. Καταστάσεις

Σχήμα 9. Καταχώρηση Σύμβασης

(26)

Σχήμα 10. Υπεύθυνη δήλωση στοιχείων

(27)

3.ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ

3.1. Γενικά.

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

Σχήμα 11. Σχέσεις πινάκων

(28)

3.2. Ανάλυση των Πινάκων

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

Πίνακας teacher. Ο πίνακας teacher αποτελείτε από τριάντα οκτώ πεδία, το id το

οποίο είναι το πρωτεύων κλειδί και εδώ αποθηκεύεται το password του καθηγητή το

οποίο θα του δίνεται από το πρώτο κομμάτι της εφαρμογής, το f_name το οποίο

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

το fathername το οποίο περιέχει το όνομα του πατέρα του, το mothername το οποίο

περιέχει το όνομα της μητέρας του, το birthdate που περιέχει την ημερομηνία

γέννησης, το family που περιέχει την οικογενειακή κατάσταση του καθηγητή

(έγγαμος ή άγαμος), το whname που περιέχει το όνομα συζύγου, το cityofbirth που

περιέχει την πόλη γέννησης, το stateofbirth που περιέχει τον νομό γέννησης, το

eforia που περιέχει την ΔΟΥ στην οποία ανήκει ο χρήστης, το afm που περιέχει τον

αριθμό φορολογικού μητρώου του χρήστη, το address που περιέχει την διεύθυνση

κατοικίας, το place που περιέχει την περιοχή κατοικίας, το tk που περιέχει τον

ταχυδρομικό κώδικα, το mail όπου αποθηκεύεται η διεύθυνση του e-mail του

χρήστη, τα phone1 phone2 και mobilephone που αποθηκεύονται διάφοροι αριθμοί

τηλεφώνου, το primaryjob που αποθηκεύεται η κύρια εργασία του χρήστη, το

asfalnumber όπου αποθηκεύεται ο αριθμός μητρώου της ασφάλισης του χρήστη, το

childrennumber που περιέχει τον αριθμό παιδιών, το peireosnumber που περιέχει

τον αριθμό λογαριασμού του χρήστη στην τράπεζα Πειραιώς, το dateof taftotita που

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

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

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

τηλεφώνου στον εργασιακό χώρο του χρήστη, το placeoftautotita που περιέχει το

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

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

στην σχολή του τμήματος Διαχείρισης Πληροφοριών, το foreasasfal όπου

αποθηκεύεται ο φορέας ασφάλισης του χρήστη (Πίνακας 1)

(29)

Field Type Null Key Default Extra

Id Int(11) PRI

f_name Char(20)

l_name Char(20)

Fathername Char(20)

Mothername Char(20)

Birthdate Date

Family Enum

Whname Char(25)

Cityofbirth Char(30)

Stateofbirth Char(30)

Eforia Char(25)

Afm Int(11)

Adt Char(10)

Address Char(30)

Place Char(25)

City Char(30)

Tk Char(8)

Mail Char(30)

Phone1 Char(15)

Phone2 Char(15)

Mobilephone Char(15)

Primaryjob Char(30)

Asfalumber Char(15)

Childrennumber Tinyint Peireosnumber Char(20) Dateoftaftotita Date

Epagelma Enum

Epidomapaidionfromjob Tinyint(4)

Jobaddress Char(30)

Jobphone Char(15)

Placeoftaftotita Char(25) Kindofasfalisi enum

Prinmeta Enum

Adeiaapasxolisis Enum

Katastasi Enum

Id_user Int(11)

Date Date

foreasasfal enum

Σχήμα 12. Πίνακας teacher

Πίνακας aitisi. Ο πίνακας aitisi αποτελείτε από ένδεκα πεδία από τα οποία μόνο τα

πέντε θα αναλύσω. Έτσι το πεδίο id είναι το κλειδί του πίνακα, το id_teacher όπως

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

σύνδεσης του teacher με τον πίνακα aitisi, στο day αποθηκεύεται η ημερομηνία που

έγινε η αίτηση μέσω της εφαρμογής, στο akadetos αποθηκεύεται το ακαδημαϊκό έτος

(30)

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

Σχήμα 13. Πίνακας aitisi

Πίνακας simvoulnum. Ο πίνακας simvoulnum δημιουργήθηκε με σκοπό να διευκολύνει τον χρήστη κατά την χρήση της εφαρμογής. Στον πίνακα simvoulnum αποθηκεύονται οι αριθμοί και οι ημερομηνίες των αποφάσεων της γενικής συνέλευσης, του συμβουλίου, της τριμελούς επιτροπής και των προκηρύξεων του ΤΕΙ Καβάλας. Όλα αυτά τα στοιχεία είναι απαραίτητα για τη σύναψη μίας σύμβασηςή την καταχώρηση μίας ανάθεσης, έτσι για να μην χρειάζεται ο χρήστης να καταχωρεί πολλές φορές αυτά τα στοιχεία, τα αποθηκεύει αρχικά σε αυτόν τον πίνακα μέσω της σελίδας Καταχώρηση Αριθμών Συμβουλίων και στη συνέχεια η εφαρμογή κάνει ανάκτηση σε οποίες σελίδες είναι απαραίτητο . Πιο αναλυτικά στο πεδίο akadetos αποθηκεύεται το ακαδημαϊκό έτος για το οποίο θα χρειαστούμε τους αριθμούς αυτους, στο πεδίο gen_synel_num αποθηκεύεται ο αριθμός γενικής συνέλευσης του τμήματος, στο πεδίο ar_symb_tei αποθηκεύεται ο αριθμός συμβουλίου του ΤΕΙ Καβάλας, στο πεδίο ar_prok_tei αποθηκεύεται ο αριθμός προκήρυξης του ΤΕΙ, στο πεδίο ar_trim_epitr αποθηκεύεται ο αριθμός απόφασης της τριμελούς επιτροπής του ΤΕΙ Καβάλας. Τέλος στα πεδία date2, date3, date4 και date5 αποθηκεύονται η ημερομηνίες των αποφάσεων αυτών.

field type null key default Extra

Akadetos Char(10) Gen_synel_num Int(11) Ar_symb_tei Int(11)

Field Type Null Key Default Extra

Id Int(10) PRI

Id_teacher Int(11) math Char(30) thea Tinyint(4) Tomeas Char(30)

Day date

time Char(8)

Hours Tinyit(4)

Akadetos Char(10)

Tmima Char(30)

bathmida enum

(31)

Ar_prok_tei Int(11) Ar_trim_epitr Int(11)

Date2 Date

Date3 Date

Date4 Date

Date5 Date

id Int(11) PK

Σχήμα 14. Πίνακας simvoulnum.

Πίνακας simvasi. Ο πίνακας simvasi αποτελείται από δέκα έξη πεδία, στα οποία αποθηκεύονται οι πληροφορίες που εισάγει ο χρήστης στην σελίδα συμβάσεις της εφαρμογής (Σχήμα 9). Πιο αναλυτικά στο πεδίο id αποθηκεύεται ο αριθμός σύμβασης, στο πεδίο id_teacher αποθηκεύεται το id του καθηγητή από πού προέρχεται από τον πίνακα teacher και έτσι είναι το σημείο σύνδεσης τω δύο πινάκων, στο date αποθηκεύεται η ημερομηνία που καταχωρείτε η σύμβαση, στο πεδίο day καταχωρείτε η ημέρα που γίνεται η σύμβαση, στο πεδίο apof_symb_tei αποθηκεύεται ο αριθμός απόφασης συμβουλίου του ΤΕΙ καβάλας , στο πεδίο apof_gen_synel_dp αποθηκεύεται ο αριθμός γενικής συνέλευσης διαχείρισης πληροφοριών, εδώ πρέπει να αναφέρω ότι τα δύο τελευταία πεδία παίρνουνε τιμές η οποίες υπάρχουν ήδη στον πίνακα simvoulnum τον οποίο αναλύσαμε πριν, ο λόγος που γίνεται αυτό είναι ότι μπορεί μερικές συμβάσεις να διαρκούν περισσότερο από ένα χρόνο και επειδή ο πίνακας simvoulnum όπως έχουμε πει δεν κρατάει τις τιμές των συμβουλίων προηγούμενων ακαδημαϊκών ετών, έτσι για να μην χάνονται κάποια στοιχεία τα αποθηκεύουμε στον πίνακα simvasi ανακτώντας τα μέσω της εφαρμογής από τον πίνακα simvoulnum. Στην συνέχεια στο πεδίο year αποθηκεύεται το ακαδημαϊκό έτος κατά το οποίο καταχωρείτε η σύμβαση, στο πεδίο hours αποθηκεύεται το σύνολο των ορών που ανατεθήκαν στον καθηγητή, στο πεδίο bathmida καταχωρείται η βαθμίδα του καθηγητή, στα πεδία f_name και l_name αποθηκεύεται το ονοματεπώνυμο του καθηγητή, στο πεδίο tropop αποθηκεύεται η επιλογή για το αν είναι τροποποιημένη ή όχι η σύμβαση, στο πεδίο orpliromi αποθηκεύεται η ωριαία αποζημίωση του καθηγητή και τέλος στα πεδία enarxi και lixi αποθηκεύονται οι ημερομηνίες έναρξης και λήξης της σύμβασης.

Field type null key default extra

Id Int(11) PK

Id_teacher Int(11)

(32)

Date Date

Day Enum

Apof_symb_tei Char(6) Apof_gen_synel_dp Char(6)

Year Char(10)

Hours Char(3)

Bathmida Enum

F_name Char(20)

L_name Char(20)

Dateapof date

Tropop Enum

Orpliromi Int(11)

Enarxi Date

Lixi Date

Σχήμα 15. πίνακας simvasi

Πίνακας course. O πίνακας course προέρχεται από μία βάση δεδομένων μίας άλλης εφαρμογής της σχολής και τον χρησιμοποίησα γιατί περιείχε πληροφορίες για τα μαθήματα της σχολής. Έτσι χρησιμοποιώ αυτές τις πληροφορίες για τις ανάγκες της εφαρμογής. Πιο αναλυτικά παίρνω τις πληροφορίες που ήδη υπάρχουν στα πεδία id , name και type. Στο πεδίο id υπάρχει ο αύξον αριθμός του μαθήματος, στο πεδίο name το όνομα του μαθήματος και στο πεδίο type υπάρχει η πληροφορία για το αν πρόκειται για εργαστήριο, για θεωρία ή για ασκήσεις.

field type null key default extra

Id Tinyint(3) PK

Name Char(150)

Type Char(2)

Hours_per_week Tinyint(3) Id_semester Tinyint(3) Id_teacher Tinyint(3) Short_name Char(20) Max_students Tinyint(3) Min_students Tinyint(3) Avr_students Tinyint(3)

Σχήμα 16. Πίνακας course.

Πίνακας mathima. Ο πίνακας mathima αποτελείτε από ένδεκα πεδία στα οποία

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

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

(33)

αναλυτικά στο πεδίο id αποθηκεύεται ο αριθμός id από τον πίνακα course μετά από ανάκτηση που γίνεται από την εφαρμογή, στο πεδίο id_teacher αποθηκεύεται το id του καθηγητή από τον πίνακα teacher, στο πεδίο hoursth αποθηκεύεται το σύνολο των ορών θεωρίας που ανατίθενται στον καθηγητή, στο πεδίο hoursask αποθηκεύεται το σύνολο των ορών ασκήσεων πράξης στον καθηγητή, στο πεδίο hourserg οι ώρες εργαστηρίου που του ανατέθηκαν, στο πεδίο akadetos αποθηκεύεται το ακαδημαϊκό έτος στο οποίο γίνεται η ανάθεση του μαθήματος του οποίου η τιμή προέρχεται από τον πίνακα simvoulum και αποθηκεύεται στον πίνακα mathima μετά από ανάκτηση, τέλος στο πεδίο tropop αποθηκεύεται το αν η ανάθεση του μαθήματος έγινε μετά από νέα ανάθεση ή μετά από τροποποίηση.

field type null key default Extra

Id Int(11) PK

Id_teacher Int(11) Hours Tinyint(4) Ypoxrepilog Enum Katigoria Enum hoursth Int(11) Hoursask Int(11) Hourserg Int(11) examino Enum Akadetos Char(2) tropop enum

Σχήμα 17. Πίνακας mathima

Πίνακας anathesi. Ο πίνακας anathesi είναι ένας από τους βασικότερους της

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

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

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

id αποθηκεύεται ο αύξων αριθμός της ανάθεσης, στο πεδίο id_teacher αποθηκεύεται

ο αριθμός id του καθηγητή και είναι ίδιος με τον αριθμό id από τον πίνακα teacher,

στο πεδίο id_mathima αποθηκεύεται το id του μαθήματος που το παίρνουμε από τον

πίνακα mathima, στο πεδίο etos αποθηκεύεται το έτος κατά το οποίο έγινε η

ανάθεση, στο πεδίο examino αποθηκεύεται η πληροφορία για το αν η ανάθεση γίνεται

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

είδος σύμβασης, στο πεδίο pliromi αποθηκεύεται η πληροφορία για το από πού

πληρώνεται ο εκπαιδευτικός, στο πεδίο date καταχωρείται η ημερομηνία της

(34)

ανάθεσης, στο πεδίο akadetos αποθηκεύεται το ακαδημαϊκό έτος κατά το οποίο έγινε η ανάθεση, στο πεδίο tropop καταχωρείται η πληροφορία για το αν πρόκειτε για τροποποίηση ή για νέα ανάθεση, στα πεδία tropopnum και tropopday αποθηκεύονται ο αριθμός τροποποίησης και η ημερομηνία σε περίπτωση τροποποίησης, στο πεδίο bathmida αποθηκεύεται η βαθμίδα του εκπαιδευτικού. Τέλος στα πεδία gen_synel_num, ar_symb_tei, ar_prok_tei , ar_trim_epitr , date2 , date3, date4 και date5 καταχωρούνται οι αριθμοί αποφάσεων των συμβουλίων του ΤΕΙ Καβάλας και όπως έχουμε αναφέρει ήδη ανακτώνται από τον πίνακα simvoulnum και αποθηκεύονται και στον πίνακα anathesi. Επειδή ο πίνακας simvoulnum διατηρεί στοιχεία μόνο για το τρέχον ακαδημαϊκό έτος αυτά τα στοιχειά πρέπει να διατηρούνται έτσι ώστε να υπάρχουν σε περίπτωση που ο χρήστης χρειαστεί να ανακτήσει παλαιότερες αναθέσεις με σκοπό να εκδώσει βεβαίωση προϋπηρεσίας.

field type null key default extra

Id Int(11) PK

Id_teacher Int(11) Id_mathima Int(11)

Etos Char(10)

Examino Enum

Last0fsimvasi Enum

Pliromi Enum

Date date

Katastasi Enum Gen_synel_num Int(11) Ar_symb_tei Int(11) Ar_prok_tei Int(11) Ar_trim_epitr Int(11)

Date2 Date

Date3 Date

Date4 Date

Date5 Date

Akadetos Char(10)

Tropop Enum

Bathmida Enum

Tropopum Tinyint(4) Tropopday Date

Σχήμα 18. Πίνακας anathesi.

(35)

ΠΑΡΑΡΤΗΜΑ 2

ο

Σχήμα 11. Σχέσεις των Πινάκων της βάσης δεομένων.

Σχήμα 12. Πίνακας Teacher.

Field Type Null Key Default Extra

Id Int(11) PRI

f_name Char(20)

l_name Char(20)

Fathername Char(20)

Mothername Char(20)

Birthdate Date

Family Enum

Whname Char(25)

Cityofbirth Char(30)

Stateofbirth Char(30)

Eforia Char(25)

Afm Int(11)

Adt Char(10)

Address Char(30)

Place Char(25)

City Char(30)

(36)

Tk Char(8)

Mail Char(30)

Phone1 Char(15)

Phone2 Char(15)

Mobilephone Char(15)

Primaryjob Char(30)

Asfalumber Char(15)

Childrennumber Tinyint Peireosnumber Char(20) Dateoftaftotita Date

Epagelma Enum

Epidomapaidionfromjob Tinyint(4)

Jobaddress Char(30)

Jobphone Char(15)

Placeoftaftotita Char(25) Kindofasfalisi enum

Prinmeta Enum

Adeiaapasxolisis Enum

Katastasi Enum

Id_user Int(11)

Date Date

foreasasfal enum

Σχήμα 13. Πίνακας aitisi.

Σχήμα 14. Πίνακας Simvoulnum.

field type null key default Extra

Akadetos Char(10) Gen_synel_num Int(11) Ar_symb_tei Int(11) Ar_prok_tei Int(11) Ar_trim_epitr Int(11)

Date2 Date

Field Type Null Key Default Extra

Id Int(10) PRI

Id_teacher Int(11) math Char(30) thea Tinyint(4) Tomeas Char(30)

Day date

time Char(8)

Hours Tinyit(4)

Akadetos Char(10)

Tmima Char(30)

bathmida enum

(37)

Date3 Date

Date4 Date

Date5 Date

id Int(11) PK

Σχήμα 15. Πίνακας simvasi.

Field type null key default extra

Id Int(11) PK

Id_teacher Int(11)

Date Date

Day Enum

Apof_symb_tei Char(6) Apof_gen_synel_dp Char(6)

Year Char(10)

Hours Char(3)

Bathmida Enum

F_name Char(20)

L_name Char(20)

Dateapof date

Tropop Enum

Orpliromi Int(11)

Enarxi Date

Lixi Date

Σχήμα 16. Πίνακας course.

field type null key default extra

Id Tinyint(3) PK

Name Char(150)

Type Char(2)

Hours_per_week Tinyint(3) Id_semester Tinyint(3) Id_teacher Tinyint(3) Short_name Char(20) Max_students Tinyint(3) Min_students Tinyint(3) Avr_students Tinyint(3) Σχήμα 17. Πίνακας mathima.

field type null key default Extra

Id Int(11) PK

Id_teacher Int(11)

Hours Tinyint(4)

Ypoxrepilog Enum

(38)

Katigoria Enum hoursth Int(11) Hoursask Int(11) Hourserg Int(11) examino Enum Akadetos Char(2) tropop enum

Σχήμα 18. Πίνακας anathesi.

field type null key default extra

Id Int(11) PK

Id_teacher Int(11) Id_mathima Int(11)

Etos Char(10)

Examino Enum

Last0fsimvasi Enum

Pliromi Enum

Date date

Katastasi Enum Gen_synel_num Int(11) Ar_symb_tei Int(11) Ar_prok_tei Int(11) Ar_trim_epitr Int(11)

Date2 Date

Date3 Date

Date4 Date

Date5 Date

Akadetos Char(10)

Tropop Enum

Bathmida Enum

Tropopum Tinyint(4)

Tropopday Date

(39)

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

4.1. Γενικά.

Η εφαρμογή που περιγράφουμε σε αυτό το εγχειρίδιο έχει γραφεί σε γλώσσα HTML και TCL. Ενσωματώνοντας την HTML μέσα στην TCL, δημιουργούμε ένα δυνατό εργαλείο για την ανάπτυξη web εφαρμογών. Η εφαρμογή είναι ένα προϊόν ανοιχτού κώδικα και μπορεί να προσαρμοστεί σε όποιες αλλαγές κριθούν απαραίτητες στο μέλλον. Η MySQL είναι ένα σύστημα διαχείρισης βάσεων δεδομένων που επιτρέπει την γρήγορη και αποτελεσματική αναζήτηση, αποθήκευση, ταξινόμηση και ανάκληση των δεδομένων με χρήση ερωτημάτων. Έτσι ήταν μια καλή επιλογή για την εφαρμογή μας ένα τέτοιο εργαλείο, που μας παρέχει αξιοπιστία, ασφάλεια και ταχύτητα.

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

4.2. Εισαγωγική σελίδα.

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

Ο κώδικας για την προβολή του σχήματος 1 περιγράφεται παρακάτω:

1 <html>

2 <body bgcolor="#D9F2FF" >

3 <table border="0" WIDTH=900 align="center" bgcolor="#D9F2FF">

4 <tr>

5 <td align="center"><img src="images/imd_logo2.jpg"></td>

6 <td align="center"><img src="images/tei3.gif"></td>

7 <td align="center"><img src="images/teiblue.gif"></td>

8 </tr>

9 <tr>

10 <td colspan="3">&nbsp</td>

11 </tr>

12 <form name="lo" action="cgi-bin/simvoulnum.tcl" method="post">

13 <tr>

Referências

Documentos relacionados

Στους δρόμους βόρεια και ανατολικά του χώρου η κίνηση είναι ιδιαίτερα αυξημένη καθώς ο μέν βόρειος οδηγεί στην έξοδο από τον οικισμό με κατεύθυνση προς Θεσσαλονίκη από την μία και στο