Παράλληλη Αναζήτηση

Αναζήτηση

Βρες
Εμφάνιση

Άρθρα :: Αθλητική είδηση

( χωρίς αρειανούς το ντέρμπι ) 

Χωρίς αρειανούς το ντέρμπι Δρόμοι

14.2.2 Κατηγορίες τεκμηρίωσης

Μετά από πάρα πολλά χρόνια, το ντέρμπι των "αιωνίων" μεταξύ ΠΑΟΚ και Άρη θα διεξαχθεί χωρίς την παρουσία των "κιτρινόμαυρων" φιλάθλων.

ΡΟΥΣΣΟΣ ΒΡΑΝΑΣ

- Τεκμηρίωση ανάπτυξης. Η γηπεδούχος ομάδα του ΠΑΟΚ αποφάσισε να κάνει χρήση του κανονισμού της ΕΣΑΚ που της δίνει το δικαίωμα να μη διαθέσει εισιτήρια στη φιλοξενούμενη ομάδα του Άρη.

Το ξίφος…

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

Ο γενικός διευθυντής της ΚΑΕ ΠΑΟΚ, Δημήτρης Νικηφόρος αιτιολόγησε την, απόφαση της διοίκησης του ΠΑΟΚ. … έχει δύναμη, το χρήμα έχει δύναμη.

Περιέχει επίσης την περιγραφή των χρησιμοποιούμενων αλγορίθμων.

"Ο ΠΑΟΚ πρέπει να το καταλάβουν όλοι ότι δεν παρανομεί, αλλά ακολουθεί τους κανονισμούς του πρωταθλήματος. Οι περισσότεροι άνθρωποι δεν έχουν ούτε ξίφος, ούτε χρήμα. - Τεκμηρίωση ελέγχου. Πρόθεσή μας είναι να εξασφαλίσουμε την ομαλή διεξαγωγή του αγώνα". Μα έχουν τη δύναμη των λέξεων, φτάνει μονάχα να το ξέρουν, να το καταλαβαίνουν όπως το κατάλαβε μια μέρα ο κόσμος της Βαλτιμόρης, όταν διάβασε μια μέρα μια λέξη που ήταν γραμμένη παντού στους δρόμους, στις τηλεοράσεις και στις εφημερίδες της πόλης, μια λέξη που είχε διαλέξει ο δήμαρχος της πόλης σαν σύνθημα για τον πόλεμο κατά των ναρκωτικών, μια λέξη που καλούσε τους ανθρώπους της πόλης να αντισταθούν στα ναρκωτικά, μια λέξη που έδωσε στους κατοίκους το θάρρος να σταθούν στα πόδια τους: "Πίστευε". Αναφέρεται στα δεδομένα ελέγχου (test file) που χρησιμοποιήθηκαν προκειμένου να δοκιμαστεί το πρόγραμμα, αν έχουν διερευνηθεί οι ακραίες περιπτώσεις και ποιες είναι αυτές και τέλος αν έχουν καθιερωθεί κάποιες και ποιες συμβάσεις για τη λύση του προβλήματος.

Από την άλλη πλευρά, ο γενικός διευθυντής της ΚΑΕ Άρης Άκης Μιχαηλίδης τόνισε για το θέμα:

Το παράξενο…

Κάθε πρόγραμμα έχει κάποια όρια, τα οποία πρέπει να αναφέρονται στην τεκμηρίωση.

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

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

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

Εικόνες…

Οι οδηγίες αυτές συνήθως αναφέρονται ως εγχειρίδιο χρήστη (users manual).

… από την πόλη της Βαλτιμόρης μάς μεταφέρει η δημοσιογράφος Λίζα Σούεϊ, μαζί με τις σκέψεις της, στην εφημερίδα "Κρίστιαν Σάιενς Μόνιτορ". - Τεκμηρίωση προγράμματος. Στην είσοδο της πόλης και στους μεγάλους δρόμους, παντού όπου και αν σηκώσεις το κεφάλι σου, σε υποδέχεται μια λέξη: "Πίστευε". Αναφέρεται στον τρόπο με τον οποίο έχουν λυθεί τα επιμέρους προβλήματα, τις υποθέσεις που έχουν γίνει και τους περιορισμούς που έχουν τεθεί. Μεγάλα, μακρουλά, κεφαλαία γράμματα σκαρφαλωμένα πάνω στους ψηλούς ουρανοξύστες και κολλημένα πάνω στα αυτοκίνητα. Ακόμα πληροφορίες για "ειδικές" τεχνικές που έχουν χρησιμοποιηθεί. Εύγλωττο καλωσόρισμα για εκείνον που επισκέπτεται την πόλη για πρώτη φορά. Πρέπει σε κάθε βήμα να αναφερθεί με λεπτομέρεια, πολλές φορές κουραστική, αλλά δυστυχώς αναγκαία, η λύση που χρησιμοποιήθηκε και τα δεδομένα με τα οποία ελέγχθηκε. Και τολμηρή προειδοποίηση γι' αυτό που τον περιμένει σε μια πόλη που δεν διαφέρει σε τίποτα από πολλές άλλες πόλεις του κόσμου - έχουν και αλλού τα ίδια προβλήματα. Ένα υπόμνημα των μεταβλητών που χρησιμοποιούνται είναι χρήσιμο για την τεκμηρίωση αλλά και για την αρχική ανάπτυξη του αλγόριθμου. Μα, "Πίστευε". Η απλούστερη και πλέον στοιχειώδης τεκμηρίωση αυτής της μορφής γίνεται με την εισαγωγή γραμμών σχολίων μέσα στον κώδικα του προγράμματος. Μια μονάχα λέξη που μπορεί να δείξει στους ανθρώπους πού βρίσκεται η πραγματική δύναμη, στα χέρια τους και στις καρδιές τους.

Η τεκμηρίωση εξυπηρετεί λειτουργίες όπως:

Μια λέξη…

- Επικοινωνία μεταξύ χρήστη - αναλυτή - προγραμματιστή.

… που δεν ρίχνει αλλού το φταίξιμο, δεν χαϊδεύει αυτιά, δεν τρομάζει, δεν προκαλεί ενοχές.

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

Απλώς δίνει δύναμη.

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

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

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

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

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

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

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

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

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

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

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

Για να καλυφθεί αυτή η ανάγκη είναι προτιμότερο να χρησιμοποιηθεί κάποια διαγραμματική τεχνική. Μία από τις πολλές που υπάρχουν είναι η HIPO (Hierarchy plus Input ­ Process ­Output). Η τεχνική αυτή και χρησιμοποιεί διαγράμματα με τα οποία απεικονίζει την είσοδο, την έξοδο και τις λειτουργίες ενός προγράμματος. Απαρτίζεται από τρία είδη.

- Τον Οπτικό Πίνακα Περιεχομένων (Visual Table Of Contains, VTOC). Είναι ένα ιεραρχικό διάγραμμα αναπαράστασης των λειτουργιών του προγράμματος και της σχέσης μεταξύ τους. - Το διάγραμμα Επισκόπησης Ιεραρχίας και Εισόδου ­ Επεξεργασίας - Εξόδου (Overview Hierarchy plus Input ­ Process ­ Output, Overview HIPO). Είναι διάγραμμα απεικόνισης εισόδου, διεργασιών και εξόδου, των λειτουργιών που εμφανίζονται στην κορυφή ενός οπτικού πίνακα περιεχομένων. - Το Λεπτομερές Ιεραρχικό διάγραμμα Εισόδου, Επεξεργασίας, Εξόδου (Detail HIPO). Είναι διάγραμμα απεικόνισης εισόδου, λειτουργιών που εμφανίζονται στο χαμηλότερο τμήμα ενός οπτικού πίνακα περιεχομένων.

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

Το VTOC είναι ένα σημαντικό εργαλείο για την καλή τεκμηρίωση του προγράμματός σας.

Σχ. 14.2. Διάγραμμα VTOC

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

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

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

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

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

Σημειώνεται ότι - Ο βαθμός ανεξαρτησίας καθορίζει το αν και πόσο οι αλλαγές σε μία ενότητα, επιβάλλουν αλλαγές σε άλλες ενότητες. - Κάθε ενότητα έχει μία είσοδο, μία έξοδο και εκτελεί μία καθορισμένη επεξεργασία (κανόνας 3 Ε, είσοδος, επεξεργασία, έξοδος). - Κάθε ενότητα καλείται από μία άλλη ενότητα και επιστρέφει σ’ αυτήν όταν τελειώσει. - Κάθε ενότητα αποτελείται από τις βασικές δομές, ακολουθία, επιλογή και επανάληψη. - Σε κάθε ενότητα δεν πρέπει να υπάρχει απότομη διακοπή, άπειρη επανάληψη. - Πολλές ενότητες κάνουν το πρόγραμμα πολύπλοκο.

Κανόνας 3Ε - Είσοδος - Επεξεργασία - Έξοδος