Commit bb248333 authored by Antonios Angelakis's avatar Antonios Angelakis

More chapter 5

parent ff858d76
...@@ -511,14 +511,15 @@ TODO: μιλαμε για σεναρια οχι για οθονες, μηπως ...@@ -511,14 +511,15 @@ TODO: μιλαμε για σεναρια οχι για οθονες, μηπως
\subsection{Ενεργοποίηση διαγωνισμού και τελική αξιολόγηση} \subsection{Ενεργοποίηση διαγωνισμού και τελική αξιολόγηση}
Ένα πολύ συνηθισμένο σενάριο χρήσης για έναν διαχειριστή είναι αυτό κατά το οποίο, Ένα πολύ συνηθισμένο σενάριο χρήσης για έναν διαχειριστή είναι αυτό κατά το
αφού έχει δημιουργήσει ένα νέο διαγωνισμό και τα προβλήματα του, πρέπει να το οποίο, αφού έχει δημιουργήσει ένα νέο διαγωνισμό και τα προβλήματα του, πρέπει
δημοσιοποιήσει στους χρήστες. Μέσα από την οθόνη διαχείρισης των διαγωνισμών, έχει να το δημοσιοποιήσει στους χρήστες. Μέσα από την οθόνη διαχείρισης των
τη δυνατότητα, αρχικά, να επιλέξει τους χρήστες που επιτρέπεται να συμμετέχουν (ή όλους) στο διαγωνισμών, έχει τη δυνατότητα, αρχικά, να επιλέξει τους χρήστες που
διαγωνισμό. Έπειτα, έχοντας επιλέξει και τη σωστή ημερομηνία έναρξης και λήξης του επιτρέπεται να συμμετέχουν (ή όλους) στο διαγωνισμό. Έπειτα, έχοντας επιλέξει
διαγωνισμού κατά τη δημιουργία του, μπορεί να επιλέξει την ενεργοποίηση αυτού με και τη σωστή ημερομηνία έναρξης και λήξης του διαγωνισμού κατά τη δημιουργία
το αντίστοιχο πλήκτρο στην οθόνη διαχείρισης. Τότε το πρόβλημα γίνεται ορατό στους του, μπορεί να επιλέξει την ενεργοποίηση αυτού με το αντίστοιχο πλήκτρο στην
επιλεγμένους χρήστες και οι τελευταίοι μπορούν να ξεκινήσουν να κάνουν υποβολές. οθόνη διαχείρισης. Τότε το πρόβλημα γίνεται ορατό στους επιλεγμένους χρήστες
και οι τελευταίοι μπορούν να ξεκινήσουν να κάνουν υποβολές.
\bigskip \bigskip
...@@ -591,42 +592,57 @@ TODO: Καλύτερη περιγραφή της λειτουργίας της ...@@ -591,42 +592,57 @@ TODO: Καλύτερη περιγραφή της λειτουργίας της
ο προηγούμενος διαγωνισμός χάνει το πρόβλημα που είχε. Όλα τα παραπάνω οφείλονται ο προηγούμενος διαγωνισμός χάνει το πρόβλημα που είχε. Όλα τα παραπάνω οφείλονται
στον τρόπο που είναι σχεδιασμένη η βάση, ο οποίος παρουσιάζεται παρακάτω. στον τρόπο που είναι σχεδιασμένη η βάση, ο οποίος παρουσιάζεται παρακάτω.
\bigskip
(ΤΟΔΟ εδώ εικόνα διαχείρισης και ισως αλλαγή αναφορών σε εικονα 1, 2 κτλ.) (ΤΟΔΟ εδώ εικόνα διαχείρισης και ισως αλλαγή αναφορών σε εικονα 1, 2 κτλ.)
\bigskip
(ΤΟΔΟ εδώ εικόνα βάσης σχημα1) (ΤΟΔΟ εδώ εικόνα βάσης σχημα1)
\bigskip
Στο σχήμα1 αρχίζει να διακρίνεται το πρόβλημα που δημιουργείται. Η σύνδεση Στο σχήμα1 αρχίζει να διακρίνεται το πρόβλημα που δημιουργείται. Η σύνδεση
κάθε προβλήματος με το διαγωνισμό γίνεται μέσω του πεδίο compid στον πίνακα κάθε προβλήματος με το διαγωνισμό γίνεται μέσω του πεδίο compid στον πίνακα
των προβλημάτων. Ως αποτέλεσμα, το μόνο που κάνει η λειτουργία της μετακίνησης των προβλημάτων. Ως αποτέλεσμα, το μόνο που κάνει η λειτουργία της μετακίνησης
προβλήματος σε άλλον διαγωνισμό είναι να αλλάξει αυτό το πεδίο. Επιπροσθέτως, προβλήματος σε άλλον διαγωνισμό είναι να αλλάξει αυτό το πεδίο. Επιπροσθέτως,
όπως βλέπουμε, οι υποβολές συνδέονται άμεσα μόνο με τα προβλήματα και αυτός όπως βλέπουμε, οι υποβολές συνδέονται άμεσα μόνο με τα προβλήματα και αυτός
είναι ο λόγος που μεταφέρονται μαζί με το πρόβλημα κατά τη μετακίνηση του. είναι ο λόγος που μεταφέρονται μαζί με αυτά κατά τη μετακίνηση τους.
\bigskip
Τέλος, είναι αξιοσημείωτος ο τρόπος που στον πίνακα finalresults, στον Τέλος, είναι αξιοσημείωτος ο τρόπος που στον πίνακα finalresults, στον
οποίο καταχωρούνται τα αποτελέσματα μετά την τελική αξιολόγηση, αποθηκεύονται οποίο καταχωρούνται τα αποτελέσματα μετά την τελική αξιολόγηση, αποθηκεύονται
τα επιμέρους σκορ των προβλημάτων του· χωρισμένα απλά με κόμμα, σύμφωνα με μια τα επιμέρους σκορ των προβλημάτων του· χωρισμένα απλά με κόμμα, σύμφωνα με μια
αύξουσα ταξινόμηση των id των προβλημάτων που περιείχε κατά την τελική αξιολόγηση. αύξουσα ταξινόμηση των id των προβλημάτων που περιείχε κατά την τελική αξιολόγηση.
Παραδείγματος χάρη, αν ο διαγωνισμός 15 περιέχει τα προβλήματα 48 και 51 και ένας Παραδείγματος χάρη, αν ο διαγωνισμός 15 περιέχει τα προβλήματα 48 και 51 και ένας
διαγωνιζόμενος έχει λάβει 7 βαθμούς στο πρώτο και 9 στο δεύτερο, το πεδίο score θα διαγωνιζόμενος έχει λάβει 7 βαθμούς στο πρώτο και 9 στο δεύτερο, το πεδίο score θα
έχει την τιμή 16 και το πεδίο scoredetails θα έχει την τιμή 7,9. έχει την τιμή 16 και το πεδίο scoredetails θα έχει την τιμή 7,9. Όπως γίνεται
αντιληπτό, όταν αλλάξει η σύνθεση ενός διαγωνισμού, χάνεται η ιστορικότητα των
αποτελεσμάτων αφού δεν είναι δυνατό να ανακτηθεί από τη βάση η σύνδεση των
βαθμολογιών με τα προβλήματα του διαγωνισμού.
- Εξηγηση συνδεσης υποβολων μαθηματων \bigskip
- Πιθανόν και με πίνακα
- Φωτογραφία ίσως διαχείρισης \section{Υλοποίηση}
- χάσιμο ιστορικότητας Το κύριο μέρος της υλοποίησης για τη συγκεκριμένη δυνατότητα/βελτίωση αποτελεί
η αλλαγή στους πίνακες της βάσης και στις σχέσεις μεταξύ τους. Αρχικά, θα πρέπει
να δημιουργηθεί ένας πίνακας που να συνδέει κάθε διαγωνισμό με τα προβλήματα που
διαθέτει. Το πεδίο στον πίνακα των προβλημάτων που έως τώρα χρησίμευε για αυτή
τη σύνδεση, δεν αρκεί αφού πλέον θέλουμε να υπάρχει σχέση πολλά προς ένα για
προβλήματα και διαγωνισμούς. Ο νέος πίνακας χρειάζεται απλά να περιέχει τα πεδία
compid και probid.
\bigskip
\section{Υλοποίηση} Όπως αναφέρθηκε και παραπάνω, οι υποβολές θα πρέπει να συνδέονται με το διαγωνισμό και όχι με το πρόβλημα.
Αυτό θα επιτευχθεί με την προσθήκη του πεδίου compid στον πίνακα των υποβολών.
- εξήγηση υλοποιησης - εξηγηση και json για ιστορικοτητα με αναφορα στη μη αναγκαιοτητα αφου πλεον αντιγραφες οχι μετακινησεις (ισως πιο κατω)
- πινακας με νεα συνδεση βασεων - πινακας με νεα συνδεση βασεων
- περιγραφη υλοποιησης για μετακινηση προβληματων και αντιστοιχες αλλαγες στις βασεις
- φωτογραφία νέας διαχείρισης - φωτογραφία νέας διαχείρισης
- διατήρηση ιστορικότητας - σημειωση δε γινεται αντιγραφη των αρχείων και warning.
\chapter{Λοιπές Προσθήκες} \chapter{Λοιπές Προσθήκες}
\section{Προσθήκη γλώσσας προγραμματισμού Python} \section{Προσθήκη γλώσσας προγραμματισμού Python}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment