Ευχαριστίες. Archana Sharma Για την εξαιρετική υποστήριξη και καθοδήγηση. Stefano Colafranceschi Για το εξαιρετικό testing και brainstorming.

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ευχαριστίες. Archana Sharma Για την εξαιρετική υποστήριξη και καθοδήγηση. Stefano Colafranceschi Για το εξαιρετικό testing και brainstorming."

Transcript

1

2 Ευχαριστίες Archana Sharma Για την εξαιρετική υποστήριξη και καθοδήγηση. Stefano Colafranceschi Για το εξαιρετικό testing και brainstorming. Νικόλας Ζαγανίδης Για την βοήθεια του και την εξαίρετη παρέα. Άρης Τερζόπουλος Για τις συμβουλές του. Δρ. Παπαδάκης Στυλιανός Για την ανάθεση της πτυχιακής και την υποστήριξη της συνεργασίας του ΤΕΙ ΚΑΒΑΛΑΣ με το CERN. Σε όλους όσους βοήθησαν και συνέδραμαν με μικρούς η μεγάλους τρόπους στην εκπόνηση αυτής της πτυχιακής.

3 ΚΑΤΑΛΟΓΟΣ ΠΕΡΙΕΧΟΜΕΝΩΝ ΑΝΑΘΕΣΗ ΠΤΥΧΙΑΚΗΣ ΕΡΓΑΣΙΑΣ... 3 ΕΙΣΑΓΩΓΗ... 4 ΚΕΦΑΛΑΙΟ 1 ΑΝΙΧΝΕΥΤΕΣ ΚΑΙ ΕΠΙΤΑΧΥΝΤΕΣ Ο ΑΝΙΧΝΕΥΤΗΣ CMS ΒΑΣΙΚΑ ΤΕΣΤ ΤΟ CERN... 9 ΚΕΦΑΛΑΙΟ 2 ΤΕΧΙΚΕΣ ΚΑΙ ΣΤΟΧΟΙ ΜΕΘΟΔΟΛΟΓΙΕΣ ΚΑΙ ΕΡΓΑΛΕΙΑ ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ Dynamic HTML LAMP XHTML XMLHttpRequest Rich Internet application Cross-browser Client-side scripting Server-side scripting JSON Web ΚΕΦΑΛΑΙΟ 3 ΤΕΚΜΗΡΙΩΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΘΕΩΡΙΑ ΑΠΟΦΑΣΕΩΝ ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΑΠΑΙΤΗΣΕΙΣ ΑΝΑΛΥΣΗ ΕΠΙΚΙΝΔΥΝΟΤΗΤΑΣ ΕΞΩΤΕΡΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΣΧΗΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΜΟΝΤΕΛΟ ΣΧΕΣΕΩΝ P age

4 ΣΥΣΤΗΜΑ ΑΥΘΕΝΤΙΚΟΠΟΙΗΣΗΣ ΣΥΣΤΗΜΑ ΣΥΝΕΔΡΙΑΣ ΧΡΗΣΤΗ ΣΥΣΤΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ ΜΕ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΥΣΤΗΜΑ ΦΟΡΤΩΣΗΣ ΔΕΔΟΜΕΝΩΝ ΣΥΣΤΗΜΑ ADMINISTRATION ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ ΣΥΣΤΗΜΑ ΕΜΦΑΝΙΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΦΟΡΤΩΜΕΝΩΝ ΜΕΤΡΗΣΕΩΝ ΣΥΣΤΗΜΑ ΦΟΡΤΩΣΗΣ ΑΡΧΕΙΟΥ ΜΕΣΩ ΠΡΩΤΟΚΟΛΛΟΥ SSH ΣΥΣΤΗΜΑ ΠΑΡΑΓΩΓΗΣ ΚΑΙ ΕΜΦΑΝΙΣΗΣ ΔΥΝΑΜΙΚΩΝ ΔΙΑΓΡΑΜΜΑΤΩΝ ΣΥΣΤΗΜΑ ΜΕΤΑΤΡΟΠΗΣ ΔΥΝΑΜΙΚΟΥ ΔΙΑΓΡΑΜΜΑΤΟΣ ΣΕ ΕΙΚΟΝΑ ΣΥΣΤΗΜΑ ΕΞΑΓΩΓΗΣ ΔΕΔΟΜΕΝΩΝ ΣΕ ΑΡΧΕΙΟ EXCEL ΣΥΣΤΗΜΑ ΕΞΑΓΩΓΗΣ ΔΕΔΟΜΕΝΩΝ ΣΕ ΑΡΧΕΙΟ PDF ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΔΕΔΟΜΕΝΩΝ ΧΡΗΣΤΗ ΒΑΣΙΚΕΣ ΣΕΛΙΔΕΣ ΚΑΙ ΜΕΝΟΥ ΧΡΗΣΤΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΡΑΤΗΓΙΚΗ ΑΝΑΠΤΥΞΗΣ ΣΧΗΜΑΤΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ ΣΧΕΔΙΟ ΤΕΣΤ ΤΕΣΤ ΑΝΟΙΧΤΟΥ ΚΟΥΤΙΟΥ ΤΕΣΤ ΚΛΕΙΣΤΟΥ ΚΟΥΤΙΟΥ ΠΙΝΑΚΕΣ ΤΕΣΤ ΑΝΟΙΧΤΟΥ ΚΟΥΤΙΟΥ ΠΙΝΑΚΕΣ ΤΕΣΤ ΚΛΕΙΣΤΟΥ ΚΟΥΤΙΟΥ ΚΕΦΑΛΑΙΟ 4 ΑΠΟΤΕΛΕΣΜΑΤΑ ΣΥΜΠΕΡΑΣΜΑΤΑ - ΕΞΕΛΙΞΗ ΚΕΦΑΛΑΙΟ 5 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΒΙΒΛΙΟΓΡΑΦΙΑ LICENCING ΠΑΡΑΡΤΗΜΑ 1 ΚΩΔΙΚΑΣ P age

5 ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σχεδιασµός και υλοποίηση συστήµατος βάσης δεδοµένων προσβάσιµης από ιστοσελίδα µε σκοπό την αποθήκευση και διαχείριση των δεδοµένων παραγωγής και ποιοτικού ελέγχου των Θαλάµων αντιστάσεων αερίων(rpcs) για το τελικό στρώµα του ανιχνευτή CMS, όπως παράγεται για τη λειτουργία του στον επιταχυντή LHC του CERN. Στόχος: Σχεδίαση και υλοποίηση βάσης δεδομένων ORACLE η οποία θα χρησιμοποιείται για την αποθήκευση, και ανάλυση των στοιχείων Παραγωγής, Testing, Quality Control, Commissioning, και δεδομένα λειτουργίας του κάθε RPC. Η βάση δεδομένων θα βρίσκεται σε κεντρικό Server του εργαστηρίου CERN και θα διαχειρίζεται μέσω ιστοσελίδας προσβάσιμης στο internet που θα σχεδιαστεί και θα υλοποιηθεί για αυτή την πτυχιακή. Εξουσιοδοτημένοι χρήστες θα είναι ανά πάσα στιγμή σε θέση να μεταβάλουν εύκολα τα δεδομένα αποθηκευμένα στη βάση κάνοντας άμεσες αλλαγές. Περαιτέρω, η ιστοσελίδα θα προσφέρει την δυνατότητα σχεδίασης online δυναμικών διαγραμμάτων με οποιαδήποτε δεδομένα είναι αποθηκευμένα στη βάση. Η ιστοσελίδα θα είναι ικανή να δεχτεί καινούρια δεδομένα από διαφορετικούς τύπους αρχείων και να μοιράζεται τη βάση με αλλά προγράμματα. Το λογισμικό πρέπει να σχεδιαστεί με τέτοιο τρόπο ώστε να είναι εύχρηστο, σταθερό και ανθεκτικό σε λάθη. Τα δεδομένα της βάσης θα πρέπει να είναι προστατευμένα από αλλαγές και απώλειες και η βάση θα έχει ικανότητα διαχείρισης μεγάλου όγκου δεδομένων. Επιβλέπων: Δρ Παπαδάκης Στυλιανός 3 P age

6 ΕΙΣΑΓΩΓΗ Στην πειραματική φυσική, ένα από τα κυριότερα προβλήματα είναι η διαχείριση, μετατροπή, και μοντελοποίηση δεδομένων. Ένας από τους κυριότερους τρόπους με τους οποίους η ανάπτυξη συμπερασμάτων παράγεται κατά την διάρκεια ενός πειράματος φυσικής, είναι η μοντελοποίηση δεδομένων σε μορφή διαγραμμάτων, και η περεταίρω ανάλυση και σύγκριση αυτών με τα αναμενόμενα. Ως εκ τούτου η αποθήκευση και διοργάνωση μεγάλου όγκου δεδομένων, όπως και η ικανότητα εστίασης στα δεδομένα που εμφανίζουν επιστημονικό ενδιαφέρον, είναι ένα από τα μεγαλύτερα προβλήματα απορρόφησης χρόνου εργασίας. Η διαχείριση πειραματικών δεδομένων είναι ένας ταχύτατα αναπτυσσόμενος τομέας που έχει χρήση σε πολλαπλούς σύγχρονους κλάδους εργασίας. Η ικανότητα διαχείρισης και μοντελοποίησης δεδομένων είναι άμεσα ανάλογη της ταχύτητας ανάπτυξης καινούριας χρήσιμης πληροφορίας. Η ανάπτυξη εφαρμογών με διαισθητικό αυτονόητο interface αυξάνει την παραγωγικότητα εκθετικά σε σχέση τους προηγούμενους τρόπους διαχείρισης δεδομένων και πληροφοριών. Η περαιτέρω διεύρυνση του ευζωνικού ιντερνέτ οδηγεί τους παραγωγούς λογισμικού προς το cloud computing, και γενικότερα προς την κατεύθυνση των εφαρμογών που λειτουργούν σε απομακρυσμένους υπολογιστές με δυνατότητα κάλυψης ευρύτατου κοινού μέσω του διαδικτύου. Αυτή η εφαρμογή θα προσπαθήσει να καλύψει της ανάγκες ενός μεγάλου πειραματικού group στον ανιχνευτή CMS, αλλά ταυτόχρονα να υπάρξει πλατφόρμα ανάπτυξης ελεύθερου διαδικτυακού λογισμικού διαχείρισης και μοντελοποίησης δεδομένων. 4 P age

7 ΚΕΦΑΛΑΙΟ 1 ΑΝΙΧΝΕΥΤΕΣ ΚΑΙ ΕΠΙΤΑΧΥΝΤΕΣ 1.1- Ο ΑΝΙΧΝΕΥΤΗΣ CMS Για να καταγράψουμε τα πιο μικροσκοπικά συστατικά του σύμπαντος χρειαζόμαστε το παγκόσμια μεγαλύτερο δίκτυο επιστημονικών οργάνων. Το συμπαγές πείραμα σωληνοειδών Muon (CMS) είναι ένας ανιχνευτής σωματιδίων της τάξης των τόνων που βρίσκεται 100 μέτρα κάτω από το γαλλικό χωριό Cessy, 15 χιλιόμετρα από τη Γενεύη. Το πείραμα βρίσκεται υπό την αιγίδα του Ευρωπαϊκού Κέντρου Πυρηνικής Φυσικής (CERN), και είναι ένα από τα πειράματα που τροφοδοτούνται από υψηλής ενέργειας συγκρούσεις στον επιταχυντή Large Hadron Collider (LHC). 5 P age

8 Το πείραμα CMS χρησ ευρύ φάσμα της φυσικής, συμπεριλαμβανομένης της αναζήτησης του πρόσθετων διαστάσεων, και των σωματιδίων που θα μπορούσαν να αποτελούν τη Σκοτεινή Υλη. Αν και έχει τους ίδιους επιστημο χρησιμοποιεί διαφορετικές τεχνικές λύσεις και σύστημα μαγνητών για να επιτύχει τον σκοπό του.[1] Σχημα 1.1 Η σύνθεση του ανιχνευτή Το όνομα CMS παράγεται από την ονομασία Συμπαγές Σωληνοειδές Μυονίων. Συμπαγές επειδή είναι «μικρό» για το τεράστιο βάρ σωματίδια που ανιχνεύει, και σωληνοειδές για το σχήμα της σπείρας μέσα στον τεράστιο υπεραγωγό μαγνήτη που κατέχει.[2] 6 P age

9 Ο ανιχνευτής είναι σχεδιασμένος όπως ένα γιγαντιαίο φίλτρο με πολλαπλά στρώματα, όπου κάθε στρώμα έχει ως σκοπό να παρακολουθήσει και να μετρήσει ή να σταματήσει έναν διαφορετικό τύπο σωματιδίου που προκύπτει από τις συγκρούσεις πρωτονίων και τις βαριές ιονικές συγκρούσεις. Η εύρεση της ενέργειας και της ορμής ενός σωματιδίου, δίνει τις ενδείξεις για την ταυτότητα τότητα του, και οι τρόποι συμπεριφοράς αυτών των σωματιδίων μας δίνουν την ικανότητα να σχηματίζουμε εντυπώσεις για τις ιδιότητες τους. Σχημα 1.2 Τα επίπεδα του ανιχνευτή. ανιχ Κατά σειρά από αριστερά προς τα δεξιά έχουμε τον ανιχνευτή πυριτίου, το ηλεκτρομαγνητικ μαγνητικό καλορίμετρο, το καλορίμετρο μυόνιων, τον υπεραγωγό μαγνήτη του ανιχνευτή, και τους θαλάμους μυόνιων. Το πέμπτο και τελικό στρώμα του ανιχνευτή αποτελείται από 3 είδη ηλεκτρονικών ανιχνευτών. Σωλήνες κλίσης (DT), ( Αίθουσες υσες λωρίδων καθόδων (CSC) ( και Θαλάμους Αντιστάσεων Αερίων (RPC). ( ). Οι θάλαμοι αντιστάσεων αερίων είναι σχεδιασμένοι για να παράγουν γρήγορα σήματα. Όταν ένα μυόνιο περνάει μέσω του θαλάμου αερίων, δημιουργείται νέφος ηλεκτρονίων που αλλάζει την αγώγιμη συμπεριφορά συμπ του θαλάμου και μας δίνει το αναμενόμενο σήμα. 7 Page

10 1.2 - ΒΑΣΙΚΑ ΤΕΣΤ Προφανώς, επειδή τα νέα σωματίδια που παράγονται στις συγκρούσεις έχουν εξαιρετικά ασθενή σήματα και μικρούς χρόνους ζωής, είναι πολύ σημαντικός ο ποιοτικός έλεγχος των RPCs. Τα παρακάτω είναι τα τεστ στα οποία υπόκεινται το καθένα. Preassembly Test FEB Boards testing Coolant pipes Coaxial cables & adapter boards preparation Flat ribbon preparation Epoxy filling for HV connectors Gap Test Visual test Leakage Test Spacer test HV Scan & Dark current Chamber Testing Visual Inspection Gas system test Cooling system test LV system test HV test Cosmic Rays Test Noise Strip profile Efficiency Mean Cluster size Timing resolution Control Threshold setting on the FEBs 8 P age

11 1.3 - ΤΟ CERN διαθέτει. Η κύρια λειτουργία του CERN είναι να παρέχει τους επιταχυντές σωματιδίων και όλες τις απαραίτητες υποδομές που απαιτούνται για την έρευνα φυσικής υψηλών ενεργειών. Πολυάριθμα πειράματα έχουν κατασκευασθεί στο CERN από διεθνείς συνεργασίες για να κάνουν χρήση των υποδομών που Η οργάνωση αποτελείται από 20 ευρωπαϊκά κράτη μέλη, και αποτελεί σήμερα το χώρο εργασίας για περίπου εργαζόμενους πλήρους απασχόλησης, καθώς και πάνω από επιστήμονες και μηχανικούς που αντιπροσωπεύουν 580 πανεπιστήμια και ερευνητικά ιδρύματα από 80 εθνικότητες. Οι συνεισφορές των κρατών μελών στο CERN για το έτος 2008 ανήλθαν σε 664 εκατομμύρια ευρώ.[3] Αυτή τη στιγμή το CERN λειτουργεί ένα δίκτυο από έξι επιταχυντές σωματιδίων και ένα επιβραδυντή σωματιδίων. Αυτοί οι επιταχυντές χρησιμοποιούνται προοδευτικά για να εκτελέσουν την μεγαλύτερη σωματιδιακή επιτάχυνση αυτή τη στιγμή στον πλανήτη. Κάθε μηχάνημα στην αλυσίδα αυξάνει την ενέργεια των σωματιδίων πριν τη παράδοσή τους σε πειράματα ή την μετάδοση τους στο επόμενο πιο ισχυρό επιταχυντή. Οι ενεργοί επιταχυντές είναι: 9 P age Linac2 - επιταχύνει πρωτόνια μέχρι 50 MeV. Linac3 - επιταχύνει βαρέα ιόντα στα 4,2 MeV Proton Synchrotron Booster - Αυξάνει την ενέργεια των σωματιδίων που παράγονται από τον linac2 προτού μεταφερθούν σε άλλους επιταχυντές Low Energy Ion Ring (LEIR) - επιταχύνει τα ιόντα από τον Linac3 πριν από τη μεταφορά τους στον Proton Synchrotron (PS). Proton Synchrotron (PS) - επιταχύνει πρωτόνια μέχρι 28 GeV

12 Η Super Proton Synchrotron (SPS) - κυκλικός επιταχυντής με διάμετρο 2 χιλιομέτρων που επιταχύνει πρωτόνια και ιόντα μέχρι 450 GeV. On-Line Isotope Mass Separator (ISOLDE) - Χρησιμοποιείται για τη μελέτη σε ασταθείς πυρήνες. REX-ISOLDE Αυξάνει το φορτίο των ιόντων που προέρχονται από το ISOLDE, και τα επιταχύνει σε μέγιστη ενέργεια 3 MeV / u. Antiproton Decelerator (AD) - Μειώνει την ταχύτητα που έχουν τα αντί-πρωτόνια σε περίπου 10% της ταχύτητας του φωτός για την έρευνα σε αντιύλη. Large Hadron Collider (LHC) Είναι ο μεγαλύτερος και υψηλότερης ενέργειας επιταχυντής σωματιδίων στον κόσμο. Οι ενέργειες που προορίζεται να λειτουργήσει είναι 7 TeV για δέσμες πρωτονίων, ή 574 TeV ανά πυρήνα σιδήρου. Το LHC βρίσκεται σε μια σήραγγα 27 χλμ στην περιφέρεια, 100 με 175 μέτρα κάτω από το έδαφος. Στις 23 Νοεμβρίου 2009, οι πρώτες συγκρούσεις πρωτονίων καταγράφηκαν, στην ενέργεια των 450 GeV ανά σωματίδιο.[4] Η μετέπειτα ταχύτατες αυξήσεις στην ενέργεια προχώρησαν την λειτουργία στα 2,36 TeV, η οποία έσπασε το παγκόσμιο ρεκόρ σε ενέργεια επιταχυντή, με πολλαπλές δέσμες πρωτονίων να κυκλοφορούν για αρκετές ώρες και δεδομένα για πάνω από ένα εκατομμύριο συγκρούσεις πρωτονίων-πρωτονίων.[5] Το LHC θα προχωρήσει σε περεταίρω βελτιώσεις, με απώτερο στόχο να επιτρέπει την έρευνα στα 3,5 TeV κατά τη διάρκεια του 2010.[6] 10 P age

13 Ο στόχος του LHC θα είναι να βοηθήσει στην λύση των πιο θεμελιωδών ερωτημάτων στη φυσική, όπως η βασική νομοθεσία που διέπει τις αλληλεπιδράσεις και τις δυνάμεις μεταξύ των στοιχειωδών σωματιδίων, και η δομή του χώρου και του χρόνου, ιδίως όσον αφορά την τομή της κβαντικής μηχανικής και της γενικής σχετικότητας όπου τρέχουσες θεωρίες και οι γνώσεις είναι ασαφείς ή μη λειτουργικές.[7] Βασικά θέματα και ερωτήματα με τα οποία θα ασχοληθεί το LHC είναι: Είναι ο μηχανισμός Higgs υπεύθυνος για τη δημιουργία της μάζας των στοιχειωδών σωματιδίων; Είναι η υπέρ-συμμετρία μηχανισμός της φύσης; Υπάρχουν επιπλέων διαστάσεις όπως προβλέπεται από διάφορα μοντέλα που εμπνέονται από τη θεωρία χορδών; Είναι ο ηλεκτρομαγνητισμός, η ισχυρή πυρηνική δύναμη και η ασθενής πυρηνική δύναμη απλώς διαφορετικές εκφάνσεις μιας ενιαίας δύναμης; Γιατί είναι η βαρύτητα τόσο πολλές τάξεις μεγέθους ασθενέστερη από τις άλλες τρεις θεμελιώδεις δυνάμεις; Γιατί υπάρχουν προφανείς παραβάσεις της συμμετρίας μεταξύ ύλης και αντιύλης; Υπάρχουν πρόσθετα quark flavors, πέραν εκείνων που έχουν ήδη προβλεφθεί στο πλαίσιο του standard model; Ποια ήταν η φύση του quark-gluon πλάσμα στην πρώτη δεκαετία του σύμπαντος; 11 P age

14 ΚΕΦΑΛΑΙΟ 2 ΤΕΧΙΚΕΣ ΚΑΙ ΣΤΟΧΟΙ Ο σκοπός του παρόντος λογισμικού είναι η σχεδίαση και υλοποίηση βάσης δεδομένων ORACLE η οποία θα χρησιμοποιείται για την αποθήκευση, και ανάλυση των στοιχείων Παραγωγής, Testing, Quality Control, Commissioning, και operational data του κάθε Resistive Plate Chamber. Η βάση δεδομένων θα βρίσκεται σε κεντρικό Server του εργαστηρίου CERN και θα διαχειρίζεται μέσω Website. Εξουσιοδοτημένοι χρήστες θα είναι ένα πάσα στιγμή σε θέση να μεταβάλουν εύκολα τα δεδομένα του κάθε RPC κάνοντας άμεσες αλλαγές. Περαιτέρω, το Website θα μπορεί να χρησιμοποιηθεί για την παραγωγή Online δυναμικών διαγραμμάτων με οποιαδήποτε δεδομένα είναι αποθηκευμένα στη βάση. Το website θα είναι ικανό να δεχτεί καινούρια δεδομένα από τους παρακάτω τύπους αρχείων.txt, pvss, (cms data), και να μοιράζεται τη βάση δεδομένων με πολλαπλά προγράμματα. 12 P age

15 2.1 ΜΕΘΟΔΟΛΟΓΙΕΣ ΚΑΙ ΕΡΓΑΛΕΙΑ Για την εκπόνηση του έργου της πτυχιακής εργασίας χρησιμοποιήθηκαν τα παρακάτω εργαλεία. Γλώσσα προγραμματισμού PHP για τη δημιουργία σελίδων web με δυναμικό περιεχόμενο. Γλώσσα προγραμματισμού JavaScript για παραγωγή δυναμικού περιεχομένου σε ιστοσελίδες δεδομένων Oracle. Βάση δεδομένων ORACLE για την αποθήκευση και διοργάνωση δεδομένων. Διεπαφή προγραμματιστικών εφαρμογών Oracle Call Interface (OCI) που παρέχει χαμηλού επιπέδου διεπαφή μεταξύ της γλώσσας PHP και της βάσης Υπολογιστής του CERN που περιέχει την ιστοσελίδα. Apache HTTP εξυπηρετητής που παρέχει πρόσβαση στην ιστοσελίδα. Προέκταση OpenSSL του PHP για την χρήση ασφαλή πρωτόκολλου SSL (Secure Sockets Layer) Προέκταση SSH πρωτοκόλλου του PHP που επιτρέπει την ανταλλαγή δεδομένων μέσω ενός ασφαλούς καναλιού μεταξύ συσκευών δικτύου. Βιβλιοθήκη Sigma grid διεπαφής PHP και JavaScript για δυναμική απεικόνιση πινάκων σε ιστοσελίδα. Βιβλιοθήκη jquery για JavaScript για τη δυναμική διαχείριση στοιχείων ιστοσελίδας. Βιβλιοθήκη Open Flash Chart 2 για την παραγωγή δυναμικών διαγραμμάτων. 13 P age

16 2.2 ΤΕΧΝΟΛΟΓΙΕΣ ΚΑΙ ΤΕΧΝΙΚΕΣ AJAX AJAX είναι μία ευρεία ομάδα τεχνολογιών και τεχνικών που χρησιμοποιείται για την υλοποίηση εφαρμογών web που επικοινωνούν δυναμικά με τον server χωρίς να αλλάζει άμεσα η κατάσταση της σελίδας στον browser. AJAX σημαίνει ασύγχρονη χρήση JavaScript και XML.[8] Οι βασικές τεχνολογίες AJAX είναι οι εξής: HTML ή XHTML και CSS για την παρουσίαση Το Document Object Model για δυναμική απεικόνιση του και αλληλεπίδραση με τα δεδομένα. XML και XSLT για την ανταλλαγή, χειραγώγηση και απεικόνιση, των δεδομένων, αντίστοιχα, ή ακόμα πιο σύγχρονα το JavaScript Object Notation (JSON). Το API XMLHttpRequest για ασύγχρονη επικοινωνία JavaScript Η δυνατότητα του AJAX να παράγει αποτελέσματα στη σελίδα χωρίς να παρεμβαίνει στην κατάσταση της είναι ένας από τους κυριότερους μηχανισμούς στην παραγωγή μιας web εφαρμογής. Εκτός ότι μειώνει τον αριθμό των σελίδων που είναι απαραίτητες για μία λειτουργία, κάνει πολύ ασφαλέστερη την διαχείριση δεδομένων. Η χρήση τεχνολογιών AJAX φέρνει τα αποτελέσματα των desktop εφαρμογών στο ιντερνέτ. Μια από τις πιο γνωστές χρήσεις της τεχνολογίας AJAX είναι οι προτάσεις της αναζήτησης στο Google, οι οποίες γίνονται αυτόματα και χωρίς να επιβαρύνουν τον χρήστη ή την κατάσταση της σελίδας. 14 P age

17 Dynamic HTML Δυναμικό HTML, ή DHTML, είναι ένα σύνολο τεχνολογιών και τεχνικών που χρησιμοποιούνται από κοινού για τη δημιουργία αλληλεπιδραστικών ιστοσελίδων.[9] Οι βασικές τεχνολογίες AJAX είναι οι εξής: HTML ή XHTML και CSS για την παρουσίαση Το Document Object Model JavaScript DHTML επιτρέπει στην scripting γλώσσα την αλλαγή των μεταβλητών της ιστοσελίδας, πράγμα το οποίο με τη σειρά του επηρεάζει την εμφάνιση και λειτουργία της αλλιώς "στατικής" σελίδας χωρίς να χρειαστεί ενδιάμεση επικοινωνία με τον server. Έτσι, το DHTML επιτρέπει στον δημιουργό της σελίδας να προβλέψει περιπτώσεις δυναμικών αλλαγών στη σελίδα χωρίς να χρειαστεί να ξαναφορτωθεί LAMP LAMP είναι ένα αρκτικόλεξο για μια λύση λογισμικού open source, που αρχικά επινοήθηκε από τα πρώτα γράμματα του Linux, Apache HTTP Server, MySQL, και PHP, Python ή Perl ως κύρια στοιχεία για την οικοδόμηση ενός βιώσιμου γενικού σκοπού web server.[10] Ο ακριβής συνδυασμός του λογισμικού που περιλαμβάνεται σε ένα πακέτο LAMP μπορεί να ποικίλλει. Παρόμοιοι όροι υπάρχουν για την ίδια ουσιαστικά σουίτα λογισμικού (AMP) που λειτουργεί σε άλλα λειτουργικά συστήματα, όπως το MS Windows (WAMP), Mac OS (MAMP), Solaris (Samp), ή OpenBSD (OAMP). Αν και τα προγράμματα αυτά δεν σχεδιάστηκαν εξαρχής για να συνεργαστούν ειδικά το ένα με το άλλο, ο συνδυασμός των λογισμικών έχει γίνει δημοφιλής επειδή είναι δωρεάν, γρήγορος στην εγκατάσταση, open source, και επομένως μπορεί εύκολα να προσαρμοστεί, καθώς και λόγω της πανταχού παρουσίας των συστατικών του. 15 P age

18 XHTML XHTML (Extensible Hypertext Markup Language) είναι μια οικογένεια από semantic γλώσσες που σκοπός τους είναι να επεκτείνουν τη γλώσσα HTML. Εφαρμογές Σημασιολογικού Ιστού είναι σε θέση να επωφελούνται από την χρήση XHTML εγγράφων. Τα XHTML έγγραφα δεν είναι ανεκτικά σε συντακτικά λάθη, ως εκ τούτου σε αντίθεση με την HTML, είναι πιο εύκολο να διαβαστούν σαν XML αρχεία.[11] Οι HTML browsers είναι φτιαγμένοι να αποδέχονται κάθε είσοδο, σωστή ή λανθασμένη, και έπειτα προσπαθούν να καταλήξουν σε κάτι λογικό από αυτή. Αυτό σημαίνει γενικά ότι πάρα πολλά έγγραφα HTML στο ιντερνέτ είναι εσφαλμένα, διότι, εφόσον εμφανίζονται OK στον browser, ο συντάκτης δεν γνωρίζει ότι υπάρχουν σφάλματα. Το πρότυπο XHTML εμφανίζει πλεονεκτήματα στην χρήση του για την σύνταξη ιστοσελίδων λόγο της μικρότερης του ανοχής στα λάθη XMLHttpRequest Το XMLHttpRequest είναι ένα API του Document Object Model της HTML που μπορεί να χρησιμοποιηθεί μέσα σε μια scripting γλώσσα, όπως JavaScript, για να στείλει απευθείας αίτηση HTTP ή HTTPS σε έναν web server σαν να επισκέπτονταν ένας χρήστης τη σελίδα, και έπειτα να ανακτήσει το φορτίο των δεδομένων της απάντησης από τον server απευθείας πίσω στην scripting γλώσσα σαν string ή xml αντικείμενο.[12] Όταν τα δεδομένα μιας σελίδας που δεν επισκέφτηκε ο χρήστης είναι εντός της scripting γλώσσας, τότε είναι διαθέσιμα να χρησιμοποιηθούν για να χειραγωγήσουν το ενεργό έγγραφο στο παράθυρο του browser, χωρίς να χρειαστεί να φορτωθεί καινούρια σελίδα. Στην περίπτωση του JavaScript, το κείμενο που επιστρέφει μπορεί να διαμορφωθεί ως JSON από τον web server και να μετατραπεί σε αντικείμενο η να εκτελεστεί σαν δυναμικός κώδικας. Η XMLHttpRequest έχει σημαντικό ρόλο στην ανάπτυξη της τεχνολογίας AJAX. Χρησιμοποιείται σήμερα από πολλές ιστοσελίδες για την λειτουργία και την ανταπόκριση δυναμικών εφαρμογών web. Παραδείγματα αυτών των εφαρμογών web περιλαμβάνουν το Gmail, το Google Maps, Bing, MapQuest, Facebook, και άλλα. 16 P age

19 Rich Internet application Rich Internet Applications (RIAs) είναι web εφαρμογές που έχουν πολλά από τα χαρακτηριστικά των desktop εφαρμογών.[13] Παραδείγματα RIA εφαρμογών περιλαμβάνουν το AJAX, Curl, GWT, Adobe Flash, Adobe Flex, AIR, Java, JavaFX, XUL του Mozilla, OpenLaszlo, και Microsoft Silverlight. Τα RIAs προσφέρουν μια πλούσια, ευχάριστη εμπειρία που βελτιώνει την ικανοποίηση του χρήστη και αυξάνει την παραγωγικότητα. Χρησιμοποιώντας την ευρεία κάλυψη του Internet, Τα RIAs μπορούν να λειτουργήσουν ανεξάρτητα με το λειτουργικό και τον τύπο browser του χρήστη. Η βασική διαφορά μεταξύ RIAs και άλλων web εφαρμογών είναι η δυνατότητα αλληλεπίδρασης που δίνεται στον χρήστη. Μια παραδοσιακή σελίδα που βασίζεται στο Διαδίκτυο και δεν χρησιμοποιεί τεχνικές RIA έχει περιορισμένη αλληλεπίδραση σε ένα μικρό σύνολο τυπικών μηχανισμών, όπως φόρμες και κουμπιά. Ως εκ τούτου περιορίζεται σημαντικά στην ικανότητά ανάπτυξης web εφαρμογών Cross-browser Cross-browser σημαίνει ότι μια ιστοσελίδα ή web εφαρμογή είναι ικανή να υποστηρίξει όλους τους διαφορετικούς web browsers Client-side scripting Client-side scripting αναφέρεται γενικά στην κατηγορία των web εφαρμογών που εκτελούνται στον υπολογιστή του χρήστη μέσω του Web browser του χρήστη, αντί να εκτελεστούν στον web server. Αυτό το είδος του προγραμματισμού ηλεκτρονικών υπολογιστών είναι ένα σημαντικό μέρος του δυναμικού HTML (DHTML), που επιτρέπει στις ιστοσελίδες να έχουν διαφορετικό περιεχόμενο ανάλογα με την παρέμβαση του χρήστη, ή τις περιβαλλοντικές συνθήκες (όπως την ώρα της ημέρας), ή άλλων μεταβλητών. 17 P age

20 Server-side scripting Server-side scripting είναι η τεχνική στην οποία η αίτηση ενός χρήστη εκτελείται στον web server της ιστοσελίδας. Συνήθως χρησιμοποιείται για την δημιουργία δυναμικών ιστοσελίδων που διασυνδέονται σε βάσεις δεδομένων ή άλλες αποθήκες δεδομένων. Το πλεονέκτημα του server-side scripting ότι έχει πολύ υψηλές δυνατότητες να προσαρμόζετε στην ανταπόκριση του χρήστη. Μια ιστοσελίδα μπορεί προφανώς να έχει και server side scripting αλλά και client side scripting. Συνήθως οι σελίδες που χρησιμοποιούν και τα δυο είδη scripting χρησιμοποιούν και τεχνολογίες AJAX JSON Το JavaScript Object Notation(JSON), είναι ένα ελαφρύ format πληροφοριών σχεδιασμένο για να διασύνδεει web εφαρμογές. Το format είναι σε ανθρώπινα αναγνώσιμη μορφή και αναπαριστά απλές δομές δεδομένων και αντικείμενα. Το format JSON ορίστηκε αρχικά στο RFC 4627 από Douglas Crockford. Η JSON επέκταση ονόματος αρχείου είναι Json.[14] Το format JSON χρησιμοποιείται για serialization και τη διαβίβαση δεδομένων κατά τη διάρκεια μιας σύνδεσης με το δίκτυο. Η κύρια χρήση του format είναι στο web προγραμματισμό και ιδιαίτερα στις Ajax αιτήσεις, όπου χρησιμεύει ως εναλλακτική λύση για το format XML. Αν και το JSON βασίστηκε σε ένα υποσύνολο της γλώσσας προγραμματισμού JavaScript και χρησιμοποιείται συνήθως με αυτή τη γλώσσα, είναι ένα γενικότερα ελεύθερο format δεδομένων. 18 P age

21 Web 2.0 Ο όρος "Web 2.0" αναφέρεται σε web εφαρμογές που διευκολύνουν την αλληλεπιδραστική ανταλλαγή πληροφοριών, τη διαλειτουργικότητα, την ανάπτυξη λογισμικού με βάση τον χρήστη, και την συνεργασία. Παραδείγματα του Web 2.0 περιλαμβάνουν web-based κοινότητες, όπως τα social networking sites, τα wiki, τις σελίδες ανταλλαγών περιεχομένου και τα blogs. Βασικό χαρακτηριστικό μιας ιστοσελίδας Web 2.0 είναι η δυνατότητα οι χρήστες να αλληλεπιδρούν με άλλους χρήστες και να μπορούν να αλλάζουν το περιεχόμενο της σελίδας, όπως επίσης και η ικανότητα να έχει ο χρήστης τον προσωπικό του χώρο. Όλα αυτά σε αντίθεση με τις μη αλληλεπιδραστικές ιστοσελίδες όπου οι χρήστες περιορίζονται στην παθητική προβολή των πληροφοριών που τους παρέχονται.[15] Οι τεχνολογίες που χρησιμοποιούνται συνήθως στις σελίδες Web 2.0 είναι το Ajax, το Adobe Flash και το Adobe Flex, JavaScript / Ajax frameworks, και το jquery. Για να επιτραπεί ο χρήστης να εξακολουθεί να δουλεύει στη σελίδα, οι επικοινωνίες με τον server γίνονται ασύγχρονα. Αυτό αυξάνει επίσης την ταχύτητα απόκρισης της ιστοσελίδας, μίας και η αποστολή των αιτήσεων μπορεί να ολοκληρωθεί γρήγορα ανεξάρτητα από την αναμονή που απαιτείται για την αποστολή δεδομένων πίσω στον χρήστη. Οι αιτήσεις AJAX είναι συνήθως σε XML ή JSON μορφή. Δεδομένου ότι οι δύο αυτές μορφές είναι κατανοητές εγγενώς από το JavaScript, ένας προγραμματιστής μπορεί εύκολα να διαβιβάσει δομημένα δεδομένα. Όταν αυτά τα δεδομένα λαμβάνονται μέσω Ajax, το JavaScript χρησιμοποιεί το Document Object Model (DOM) για να ενημερώσει δυναμικά την ιστοσελίδα με τα νέα δεδομένα. Αυτό επιτρέπει την ταχεία αλληλεπιδραστική εμπειρία του χρήστη. [17] Χρησιμοποιώντας αυτές τις τεχνικές, μια ιστοσελίδα μπορεί να λειτουργεί σαν desktop εφαρμογή. Για παράδειγμα, το Google Docs χρησιμοποιεί αυτή την τεχνική για να δημιουργήσει ένα Web-based επεξεργαστή κειμένου. 19 P age

22 Μια άλλη τεχνολογία που χρησιμοποιείται συχνά σε εφαρμογές Web 2.0 είναι το Adobe Flex. Σε σύγκριση με τις JavaScript βιβλιοθήκες όπως jquery, το Flex καθιστά ευκολότερη για τους προγραμματιστές την αλληλεπίδραση των χρηστών με media. Ως ένα ευρέως διαθέσιμο plug-in, το Flash επίσης είναι σε θέση να κάνει πολλά πράγματα τα οποία δεν είναι δυνατά επί του παρόντος σε HTML. Η πιο συχνά χρησιμοποιούμενη δυνατότητα του flash στο Web 2.0 είναι η ικανότητά του να παίξει αρχεία ήχου και βίντεο. Από την πλευρά του web server, οι εφαρμογές Web 2.0 χρησιμοποιούν πολλές από τις ίδιες τεχνολογίες όπως Web 1.0. Οι γλώσσες όπως PHP, Ruby, ColdFusion, Perl, Python και ASP χρησιμοποιούνται για δυναμικά δεδομένα εξόδου παίρνοντας πληροφορίες από αρχεία και βάσεις δεδομένων. Ένα από τα διαφορετικά στοιχεία του Web 2.0 είναι ο τρόπος διαμόρφωσης των δεδομένων. Κατά τις πρώτες ημέρες του Διαδικτύου δεν υπήρχε ανάγκη διαφορετικές ιστοσελίδες να επικοινωνούν μεταξύ τους και να μοιράζονται δεδομένα. Στο νέο πια «συμμετοχικό ιστό", η ανταλλαγή δεδομένων μεταξύ των διαφορετικών ιστοσελίδων έχει καταστεί σημαντική ικανότητα. Για να μπορούν να μοιράζονται τα δεδομένα τους με άλλους δικτυακούς τόπους, οι Web 2.0 ιστοσελίδες είναι συνήθως σε θέση να παράγουν έξοδο σε formats όπως XML, RSS, και JSON. Όταν δεδομένα μιας ιστοσελίδας είναι διαθέσιμα σε ένα από αυτά τα format, μια άλλη ιστοσελίδα μπορεί να τα χρησιμοποιήσει για να ενσωματώσει ένα κομμάτι αυτής της λειτουργικότητας, ουσιαστικά συνδέοντας και τις δύο μαζί. Υλοποίηση τέτοιων σχεδίων, οδηγεί συνήθως σε δεδομένα πιο διεξοδικά που είναι πιο εύκολο να βρεθούν.[18] 20 P age

23 ΚΕΦΑΛΑΙΟ 3 ΤΕΚΜΗΡΙΩΣΗ ΠΡΟΓΡΑΜΜΑΤΟΣ ΘΕΩΡΙΑ ΑΠΟΦΑΣΕΩΝ Προτεραιότητες του Προγράμματος Ελαστικότητα Περιορισμός Βελτιστοποίηση Αποδοχή Περιεχόμενο Χ Χρονοδιάγραμμα Χ Πόροι Χ Σημαντικότερη προτεραιότητα του προγράμματος είναι η λειτουργικότητα μιας και πρόκειται για απαραίτητο εργαλείο που διευκολύνει την εργασία προσωπικού. Δεύτερος σημαντικός περιορισμός είναι το χρονοδιάγραμμα, μιας και ο ορισμός της πτυχιακής είναι ανελαστικός στον χρόνο παραγωγής του προγράμματος. Οι πόροι είναι ο λιγότερο σημαντικός παράγοντας μιας και είναι μη περιορισμένοι. Οι δύο βασικές προτεραιότητες του προγράμματος θα είναι: 21 P age Να παραχθεί το πιο σταθερό και αποδοτικό σύστημα με τους παραπάνω περιορισμούς χρόνου και χρήματος. Να τεθεί σε λειτουργία κατά τους τελευταίους μήνες της πτυχιακής.

24 3.2 - ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΑΠΑΙΤΗΣΕΙΣ Πρέπει να σχεδιαστεί μια βάση δεδομένων Oracle. Ο server της βάσης δεδομένων πρέπει να βρίσκεται στο CERN. Πρέπει να παραχθεί ένας δικτυακός τόπος(website). Το μενού του site θα πρέπει να είναι εύχρηστο και ευνόητο. Το site θα παρέχει πρόσβαση στα δεδομένα μετρήσεων των RPC. Το site θα λειτουργεί μονό για εξουσιοδοτημένους χρήστες. Το μενού του siteθα πρέπει να είναι εύχρηστο και ευνόητο. Το site θα πρέπει να μπορεί να διαχειρίζεται πολλαπλούς χρήστες με διαφορετικά δικαιώματα. To site Θα προσφέρει το front end για τα δεδομένα στη βάση. Το site θα πρέπει να μπορεί να διαχειριστεί μεγάλο όγκο δεδομένων. Το site θα προσφέρει στους χρήστες την δυνατότητα να παράγουν διαγράμματα με τις μετρήσεις που επιλέγουν. Τα διαγράμματα θα μπορούν να μετατραπούν σε εικόνες που μπορούν να ανακτήσουν οι χρήστες. Οι εξουσιοδοτημένοι χρήστες θα μπορούν να προσθέσουν και να διαχειριστούν μετρήσεις. Θα υποστηρίζονται διαφορετικά format αρχείων. Το site θα ειδοποιεί τον χρήστη για τυχόν προβλήματα εισαγωγής. 22 P age

25 3.3 - ΑΝΑΛΥΣΗ ΕΠΙΚΙΝΔΥΝΟΤΗΤΑΣ Δέντρα Λάθους 1.0 Απώλεια Δεδομένων OR Λανθασμένη εκτέλεση εντολών στη βάση δεδομένων Πολύ προσεκτική διαχείριση εντολών σε βάσεις δεδομένων Διαδικασία επαναφοράς βάσης σε προηγούμενη κατάσταση σε περίπτωση λάθους. Λάθος Χρήστη Απαγόρευση εντολών αφαίρεσης δεδομένων. Κακόβουλη Χρήση Σύστημα αυθεντικοποίησης χρήστη Απαγόρευση εντολών αφαίρεσης δεδομένων. 23 P age

26 2.0 Site Εκτός Λειτουργίας OR 2.1 Βάση δεδομένων έκτος λειτουργίας 2.2 Αποτυχία δικτύου 2.3 Προβλήματα Server Χρήση Πολλαπλών Βάσεων Δεδομένων Ενημέρωση του χρήστη για επιστροφή στο site αργότερα Ενημέρωση του διαχειριστή Πολλαπλοί servers Ενημέρωση του διαχειριστή Ενημέρωση του διαχειριστή 24 P age

27 3.4 - ΕΞΩΤΕΡΙΚΕΣ ΠΡΟΔΙΑΓΡΑΦΕΣ Προδιαγραφή 1. Σύστημα Συνεδρίας Χρήστη Περιγραφή Το σύστημα θα πρέπει να μπορεί να διαχωρίζει ανάμεσα σε διαφορετικούς χρήστες που επισκέπτονται το site και να κρατάει διαφορετικές μεταβλητές και μνήμη για τον κάθε χρήστη μέχρι ο χρήστης να τελειώσει την επίσκεψη του. Δεδομένα Εισόδου Προέλευση Δεδομένα Εξόδου Προορισμός Προϋπόθεση Χρήστης επισκέπτεται το site Χρήστης Δεδομένα βασισμένα στις επιλογές του συγκεκριμένου χρήστη. Χρήστης Κάποιος χρήστης επισκέπτεται το site Απαίτηση R2.4 Πλευρικά Αρχικοποίηση συστήματος αυθεντικοποίησης Φαινόμενα 25 P age

28 Προδιαγραφή Περιγραφή 2. Σύστημα αυθεντικοποίησης θα υπάρχει σύστημα που αυθεντικοποιεί τους χρήστες. Μονό οι χρήστες που έχουν αυθεντικοποιηθεί θα δικαιούνται να χρησιμοποιήσουν το site Δεδομένα Εισόδου Ψευδώνυμο και κωδικός χρήστη Προέλευση Χρήστης Δεδομένα Εξόδου Επιβεβαίωση χρήστη σε περίπτωση αυθεντικών στοιχείων. Μήνυμα απόρριψης σε περίπτωση άγνωστων ή λανθασμένων στοιχείων. Προορισμός Προϋπόθεση Σελίδα Διαχείρισης Χρήστη Κάποιος χρήστης επισκέπτεται το site Απαίτηση R2.2 Πλευρικά Φαινόμενα 26 P age

29 Προδιαγραφή Περιγραφή 3. Σύστημα επικοινωνίας με βάση δεδομένων. Το site χρειάζεται έναν τρόπο να αποθηκεύει δεδομένα, ακόμα και μετά το πέρας μιας επίσκεψης. Θα χρειαστεί μια βάση δεδομένων που θα χρησιμοποιείται από το site και ένα σύστημα επικοινωνίας με τη βάση. Το site θα πρέπει να κάνει αιτήσεις εισαγωγής και ανάκτησης δεδομένων. Δεδομένα Εισόδου Προέλευση Δεδομένα Εξόδου Προορισμός Προϋπόθεση Δεδομένα προς αποθήκευση ή στοιχεία για τα δεδομένα προς επιλογή Οποιαδήποτε σελίδα του site Επιβεβαίωση επιτυχίας σε περίπτωση εισαγωγής Δεδομένα που ζητήθηκαν σε περίπτωση ανάκτησης Server βάσης δεδομένων Ύπαρξη βάσης δεδομένων Απαίτηση R2.5 Καταχωρημένα στοιχεία της βάσης στο site Πλευρικά Φαινόμενα Σε περίπτωση που το site δεν μπορεί να επικοινωνήσει με τη βάση, το site δεν μπορεί να προσφέρει υπηρεσίες. 27 P age

30 Προδιαγραφή 4. Σύστημα διαχείρισης βάσεων δεδομένων Περιγραφή Το site θα επιτρέπει την διαχείριση απεριόριστου αριθμού διαφορετικών βάσεων oracle για φόρτωση δεδομένων Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Στοιχεία βάσης δεδομένων Χρήστης Καταχώρηση Βάσης Βάση δεδομένων του site Το site μπορεί να συνδεθεί στη βάση με τα στοιχειά που δόθηκαν. Απαίτηση Πλ.Φαινόμενα Τα στοιχεία βάσεως που καταχωρούνται θα πρέπει να προστατεύονται και να παραμένουν κρυφά. 28 P age

31 Προδιαγραφή 5. Σύστημα φόρτωσης δεδομένων Περιγραφή Το site θα παρέχει τη δυνατότητα φόρτωσης και διαχείρισης δεδομένων από αρχεία και βάσεις. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Απαίτηση Αρχείο η πίνακας καταχωρημένης βάσης Χρήστης Δεδομένα σε μορφή πλέγματος Χρήστης Ο χρήστης είναι συνδεμένος και έχει επιλέξει να φορτώσει δεδομένα από αρχείο ή βάση. R4 Πλ.Φαινόμενα 29 P age

32 Προδιαγραφή 6. Σύστημα administration Περιγραφή Το site θα επιτρέπει στον διαχειριστή του να προσθέτει και να αφαιρεί χρήστες, όπως και να μεταβάλει το επίπεδο πρόσβασης που διαθέτουν. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Ψευδώνυμο χρήστη Σύστημα Συνεδρίας Χρήστη Δυνατότητα πρόσβασης στο μενού του administrator Μενού του site Ο χρήστης έχει συνδεθεί και είναι administrator Απαίτηση R2.2 Πλ.Φαινόμενα 30 P age

33 Προδιαγραφή 7. Σύστημα καταχώρησης τύπων αρχείων Περιγραφή Το site θα επιτρέπει στον χρήστη να καταχωρεί νέους τύπους αρχείων, την κωδικοποίηση του και τα αναγνωριστικά στοιχεία τους. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Τοποθεσία αρχείου Χρήστης Εμφάνιση στοιχείων του τύπου αρχείου στο site σε εύχρηστη μορφή πλέγματος Σελίδα φορτωμένων δεδομένων Ο χρήστης έχει συνδεθεί Απαίτηση R4.1 Πλ.Φαινόμενα 31 P age

34 Προδιαγραφή 8. Σύστημα εμφάνισης και διαχείρισης φορτωμένων μετρήσεων. Περιγραφή Το σύστημα θα εμφανίζει τις μετρήσεις που φορτώθηκαν σε μορφή πλέγματος, και θα επιτρέπει στον χρήστη να φιλτράρει, να περιηγείται, να εξάγει και να προσθέτει περεταίρω μετρήσεις. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Απαίτηση Δεδομένα μετρήσεων Σύστημα φόρτωσης Εμφάνιση δεδομένων του αρχείου στο site σε εύχρηστη μορφή πλέγματος Σελίδα φορτωμένων δεδομένων Ο χρήστης έχει συνδεθεί R4 Πλ.Φαινόμενα 32 P age

35 Προδιαγραφή 9. Μενού επιλογών Περιγραφή Θα υπάρχει εύχρηστο μενού επιλογών μέσω του οποίου ο χρήστης θα έχει πρόσβαση σε όλες τι λειτουργίες του site που επιτρέπει το επίπεδο πρόσβασης του. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Ν/Α Σελίδες του site Εκκίνηση λειτουργίας ή μεταφορά σε σελίδα Χρήστης Ο χρήστης έχει συνδεθεί Απαίτηση R2.3 Πλ.Φαινόμενα 33 P age

36 Προδιαγραφή 10. Σύστημα παραγωγής και εμφάνισης δυναμικών διαγραμμάτων. Περιγραφή Ο χρήστης θα μπορεί να επιλέξει δεδομένα για τον χ και ψ άξονα, και το σύστημα θα του επιστρέφει το κατάλληλο διάγραμμα. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Απαίτηση Δεδομένα που έχει επιλέξει ο χρήστης Σύστημα εμφάνισης και διαχείρισης φορτωμένων δεδομένων Διάγραμμα Χρήστης Ο χρήστης έχει συνδεθεί R3 Πλ.Φαινόμενα 34 P age

37 Προδιαγραφή 11. Σύστημα μετατροπής δυναμικού διαγράμματος σε εικόνα. Περιγραφή Το σύστημα θα μετατρέπει το δυναμικό διάγραμμα που έχει παραχθεί στη σελίδα σε στατική εικόνα και θα την επιστρέφει στον χρήστη. Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Διάγραμμα Σύστημα παραγωγής και εμφάνισης δυναμικών διαγραμμάτων Διάγραμμα σε format εικόνας Χρήστης Ο χρήστης έχει συνδεθεί Απαίτηση R3.1 Πλ.Φαινόμενα 35 P age

38 Προδιαγραφή 12. Σύστημα εξαγωγής δεδομένων σε αρχείο excel. Περιγραφή Το σύστημα θα μπορεί να εξάγει τα δεδομένα που επιλέγει ο χρήστης σε μορφή αρχείου excel Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Απαίτηση Φορτωμένα δεδομένα Χρήστης Φορτωμένα δεδομένα σε μορφή αρχείου excel Χρήστης Ο χρήστης έχει συνδεθεί Ν/Α Πλ.Φαινόμενα 36 P age

39 Προδιαγραφή 13. Σύστημα εξαγωγής δεδομένων σε αρχείο PDF. Περιγραφή Το σύστημα θα μπορεί να εξάγει τα δεδομένα που επιλέγει ο χρήστης σε μορφή αρχείου PDF Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Απαίτηση Φορτωμένα δεδομένα Χρήστης Φορτωμένα δεδομένα σε μορφή αρχείου PDF Χρήστης Ο χρήστης έχει συνδεθεί Ν/Α Πλ.Φαινόμενα 37 P age

40 Προδιαγραφή 14. Σύστημα διαχείρισης δεδομένων χρήστη. Περιγραφή Το σύστημα κρατάει συγκριμένα στοιχεία για κάθε χρήστη, όπως ψευδώνυμο, και κωδικό. Ο χρήστης έχει την δυνατότητα να αλλάξει κάποια από αυτά τα στοιχεία όταν το θελήσει Δεδ. Εισόδου Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Δεδομένα χρήστη Χρήστης Επιβεβαίωση αλλαγής στοιχείων Χρήστης Ο χρήστης έχει συνδεθεί Απαίτηση Πλ.Φαινόμενα 38 P age

41 Προδιαγραφή 15. Σύστημα φόρτωσης αρχείου μέσω πρωτοκόλλου ssh. Περιγραφή Το σύστημα μπορεί να χρησιμοποιήσει το πρωτόκολλο SSH για να φορτώσει αρχεία από απομακρυσμένους υπολογιστές που υποστηρίζουν το συγκεκριμένο πρωτόκολλο Δεδ. Εισόδου Στοιχεία σύνδεσης του απομακρυσμένου υπολογιστή Τοποθεσία του αρχείου στον απομακρυσμένο υπολογιστή Προέλευση Δεδ. Εξόδου Προορισμός Προϋπόθεση Χρήστης Δεδομένα αρχείου προς φόρτωση Σελίδα φόρτωσης αρχείου Ο χρήστης έχει συνδεθεί Απαίτηση Πλ.Φαινόμενα 39 P age

42 3.5 ΣΧΗΜΑΤΑ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Διαφορετικοί τύποι αρχείων Χρήστης Βάση δεδομένων Server Σχήμα 3.1 Αναπαράσταση της ροής τον δεδομένων από και προς τον server της ιστοσελίδας. 40 P age

43 ΜΟΝΤΕΛΟ ΣΧΕΣΕΩΝ Σχήμα 3.2 Περιπτώσεις αλληλεπίδρασης μεταξύ των διαφορετικών οντοτήτων. 41 P age

44 ΣΥΣΤΗΜΑ ΑΥΘΕΝΤΙΚΟΠΟΙΗΣΗΣ Σχήμα 3.3 Διάγραμμα ροής για την προδιαγραφή no 1.Το σχήμα δείχνει τη σειρά με την οποία γίνεται η διαδικασία αυθεντικοποίησης χρήστη. 42 P age

45 ΣΥΣΤΗΜΑ ΣΥΝΕΔΡΙΑΣ ΧΡΗΣΤΗ Σχήμα 3.4 Διάγραμμα ροής για την προδιαγραφή no 2.Το σχήμα δείχνει πως λειτουργεί η διαδικασία συνεδρίας για κάθε ξεχωριστό χρήστη. 43 P age

46 ΣΥΣΤΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ ΜΕ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Σχήμα 3.5 Διάγραμμα ροής για την προδιαγραφή no 3. Στο σχήμα φαίνεται πώς μια σελίδα μπορεί να στείλει ή να ανακτήσει στοιχεία από την βάση δεδομένων του site. 44 P age

47 ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Σχήμα 3.6 Διάγραμμα ροής για την προδιαγραφή no 4. Στο σχήμα φαίνεται πώς ένας χρήστης μπορεί να επιλέξει τη βάση από την οποία θέλει να φορτώσει δεδομένα. 45 P age

48 Σχήμα 3.7 Διάγραμμα ροής για την προδιαγραφή no 4. Tο σχήμα δείχνει πώς ο χρήστης μπορεί ξεκινήσει την διαδικασία καταχώρησης μιας νέας βάσης στο site. Σχήμα 3.8 Διάγραμμα ροής για την προδιαγραφή no 4. Tο σχήμα δείχνει τη ροή της διαδικασίας καταχώρησης νέας βάσης και τις διαφορετικές πιθανές επιστροφές. 46 P age

49 ΣΥΣΤΗΜΑ ΦΟΡΤΩΣΗΣ ΔΕΔΟΜΕΝΩΝ Σχήμα 3.9 Διάγραμμα ροής για την προδιαγραφή no 5. Tο σχήμα δείχνει πώς ένας χρήστης μπορεί να ξεκινήσει την διαδικασία φόρτωσης δεδομένων από αρχείο. 47 P age

50 Σχήμα 3.10 Διάγραμμα ροής για την προδιαγραφή no 5. Tο σχήμα δείχνει τη ροή της διαδικασίας φόρτωσης δεδομένων και τις διαφορετικές πιθανές επιστροφές. 48 P age

51 ΣΥΣΤΗΜΑ ADMINISTRATION Σχήμα 3.11 Διάγραμμα ροής για την προδιαγραφή no 6. Tο σχήμα δείχνει πως ο χρήστης μπορεί να επισκεφθεί την σελίδα του administrator. 49 P age

52 Σχήμα 3.12 Διάγραμμα ροής για την προδιαγραφή no 6. Tο σχήμα δείχνει πως η σελίδα του administrator αποτρέπει την πρόσβαση σε απλούς χρήστες. 50 P age

53 Σχήμα 3.13 Διάγραμμα ροής για την προδιαγραφή no 6. Tο σχήμα δείχνει πώς ένας administrator μπορεί να αλλάξει το επίπεδο πρόσβασης ενός άλλου χρήστη. Σχήμα 3.14 Διάγραμμα ροής για την προδιαγραφή no 6. Tο σχήμα δείχνει πώς ένας administrator μπορεί να απαγορεύσει την είσοδο σε κάποιον άλλο χρήστη. 51 P age

54 ΜΕΝΟΥ ΕΠΙΛΟΓΩΝ Σχήμα 3.15 Διάγραμμα ροής για την προδιαγραφή no 9. Tο σχήμα δείχνει πώς ένας χρήστης αποκτάει πρόσβαση στο μενού του site. Σχήμα 3.16 Διάγραμμα ροής για την προδιαγραφή no 9. Tο σχήμα δείχνει πώς ένας χρήστης επισκέπτεται την σελίδα φορτωμένων δεδομένων. 52 P age

55 ΣΥΣΤΗΜΑ ΕΜΦΑΝΙΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΦΟΡΤΩΜΕΝΩΝ ΜΕΤΡΗΣΕΩΝ Σχήμα 3.17 Διάγραμμα ροής για την προδιαγραφή no 8. Tο σχήμα δείχνει τη ροή της εμφάνισης φορτωμένων δεδομένων. Σχήμα 3.18 Διάγραμμα ροής για την προδιαγραφή no 8. Tο σχήμα δείχνει πώς ένας χρήστης μπορεί να φορτώσει δεδομένα επιπλέων αυτών που έχει φορτώσει ήδη. 53 P age

56 ΣΥΣΤΗΜΑ ΦΟΡΤΩΣΗΣ ΑΡΧΕΙΟΥ ΜΕΣΩ ΠΡΩΤΟΚΟΛΛΟΥ SSH Σχήμα 3.19 Διάγραμμα ροής για την προδιαγραφή no 15. Tο σχήμα δείχνει την διαδικασία που χρειάζεται για να φορτωθεί ένα αρχείο από απομακρυσμένο υπολογιστή. 54 P age

57 ΣΥΣΤΗΜΑ ΠΑΡΑΓΩΓΗΣ ΚΑΙ ΕΜΦΑΝΙΣΗΣ ΔΥΝΑΜΙΚΩΝ ΔΙΑΓΡΑΜΜΑΤΩΝ Σχήμα 3.20 Διάγραμμα ροής για την προδιαγραφή no 10. Tο σχήμα δείχνει πως ο χρήστης μπορεί να παράγει διάγραμμα από τα δεδομένα που έχει φορτώσει. 55 P age

58 ΣΥΣΤΗΜΑ ΜΕΤΑΤΡΟΠΗΣ ΔΥΝΑΜΙΚΟΥ ΔΙΑΓΡΑΜΜΑΤΟΣ ΣΕ ΕΙΚΟΝΑ Σχήμα 3.21 Διάγραμμα ροής για την προδιαγραφή no 11. Στο σχήμα φαίνεται πως ο χρήστης μπορεί να ανακτήσει το διάγραμμα που παρήγαγε σε μορφή εικόνας. 56 P age

59 ΣΥΣΤΗΜΑ ΕΞΑΓΩΓΗΣ ΔΕΔΟΜΕΝΩΝ ΣΕ ΑΡΧΕΙΟ EXCEL Σχήμα 3.22 Διάγραμμα ροής για την προδιαγραφή no 12. Tο σχήμα δείχνει πως ο χρήστης μπορεί να εξάγει τα δεδομένα που έχει φορτώσει σε μορφή αρχείου excel. 57 P age

60 ΣΥΣΤΗΜΑ ΕΞΑΓΩΓΗΣ ΔΕΔΟΜΕΝΩΝ ΣΕ ΑΡΧΕΙΟ PDF Σχήμα 3.23 Διάγραμμα ροής για την προδιαγραφή no 13. Tο σχήμα δείχνει πως ο χρήστης μπορεί να εξάγει τα δεδομένα που έχει φορτώσει σε μορφή αρχείου PDF. 58 P age

61 ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΔΕΔΟΜΕΝΩΝ ΧΡΗΣΤΗ Σχήμα 3.24 Διάγραμμα ροής για την προδιαγραφή no 14. Tο σχήμα δείχνει πως ο χρήστης αποκτάει πρόσβαση στα στοιχεία λογαριασμού. Σχήμα 3.25 Διάγραμμα ροής για την προδιαγραφή no 14. Tο σχήμα δείχνει πως ο χρήστης μπορεί να δει στην ιστοσελίδα τα στοιχεία του λογαριασμού του. 59 P age

62 Σχήμα 3.26 Διάγραμμα ροής για την προδιαγραφή no 14. Tο σχήμα δείχνει πως ο χρήστης μπορεί να αλλάξει τα στοιχεία του λογαριασμού του. 60 P age

63 ΒΑΣΙΚΕΣ ΣΕΛΙΔΕΣ ΚΑΙ ΜΕΝΟΥ ΧΡΗΣΤΗ Σχήμα 3.27 Tο σχήμα δείχνει πια είναι η αλληλεπίδραση του χρήστη με τις βασικές σελίδες του site. 61 P age

64 3.6 - ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ ΣΤΡΑΤΗΓΙΚΗ ΑΝΑΠΤΥΞΗΣ Στρατηγική της κατασκευής της βάσης δεδομένων, είναι η παραγωγή μιας δυναμικής βάσης που μπορεί να διαχειρίζεται πολλαπλές βάσεις παιδιά οι οποίες περιέχουν δεδομένα. Η ίδια η βάση του site δεν περιέχει δεδομένα για οτιδήποτε άλλο εκτός από την λειτουργία του site. Η απόφαση πάρθηκε να προχωρήσει ο συγκεκριμένος τρόπος κατασκευής για τους παρακάτω λόγους. Ασφάλεια Ο διαχωρισμός των λειτουργιών που έχουν σχέση με δεδομένα από τις λειτουργίες που έχουν σχέση με την δραστηριότητα του site προσθέτει δύο μέτωπα αντιμετώπισης σε οποιονδήποτε πιθανό εισβολέα. Μια από τις πιο επιτυχημένες μεθόδους hijack ενός site είναι η χρήση και είσοδος κακόβουλων δεδομένων και η προσπάθεια εισόδου στο βασικό κομμάτι του site από τις λιγότερο προστατευμένες λειτουργίες του. Δυναμική διαχείριση βάσεων Ο διαχωρισμός των στοιχείων της βάσης του site και της βάσης για τα δεδομένα παρέχει επίσης την δυνατότητα διαχείρισης πολλαπλών βάσεων ταυτόχρονα. Δίνεται έτσι η δυνατότητα διαχείρισης απεριόριστου αριθμού βάσεων, οι οποίες μπορούν να διαφέρουν από την μία στιγμή στην άλλη. Διαχωρισμός αρχιτεκτονικής Ο διαχωρισμός των στοιχείων της βάσης του site και της βάσης για τα δεδομένα κάνει την αρχιτεκτονική της βάσης δεδομένων του site ανεξάρτητη, πράγμα που μειώνει την πολυπλοκότητα του σχεδιασμού και διαχείρισης. Οι βάσεις καταχωρημένων δεδομένων από την άλλη μπορούν να έχουν οποιαδήποτε πολυπλοκότητα. 62 P age

65 Web 2.0 πρότυπα Τα επιτυχημένα πρότυπα κατασκευής ισότοπων Web 2.0 αναδεικνύουν τον χρήστη σαν βασικό κρίκο που ρυθμίζει τα στοιχεία και το περιεχόμενο της σελίδας ΣΧΗΜΑΤΙΚΗ ΑΝΑΠΑΡΑΣΤΑΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ 63 P age

66 3.7 - ΣΧΕΔΙΟ ΤΕΣΤ Το σχέδιο τεστ εμπεριέχει μια σειρά από διαφορετικά τεστ για τον πλήρη έλεγχο του λογισμικού. Σκοπός είναι η ανακάλυψη των δυνατοτήτων και των περιορισμών του συστήματος, όπως επίσης και η κάλυψη των δυνατών λαθών του interface. Οι δυο γενικές κατηγορίες τεστ που χρησιμοποιήθηκαν είναι το White Box Testing (Τεστ Ανοιχτού Κουτιού) και μετέπειτα το Black Box Testing(Τεστ Κλειστού κουτιού) Παρακάτω ακολουθεί η λίστα με την περιγραφή του κάθε τεστ ΤΕΣΤ ΑΝΟΙΧΤΟΥ ΚΟΥΤΙΟΥ Το τεστ ανοιχτού κουτιού αποτελείται από μεθόδους τεστ που εκτελούνται κατά την διάρκεια της παραγωγής του κώδικα. Πιο συγκεκριμένα τα τεστ που υπόκεινται ο κώδικας φαίνονται παρακάτω. 64 P age 1.1. Loop Testing Το τεστ ελέγχει την σταθερότητα των loop της συνάρτησης, επιβεβαιώνοντας ότι δουλεύουν όπως αναμένεται Null Testing Το τεστ ελέγχει την περίπτωση να εισαχθούν λάθος δεδομένα ή κενά δεδομένα στη συνάρτηση, και αν το συγκεκριμένο πρόβλημα διαχειρίζεται σωστά Τεστ Λειτουργίας Το τεστ ελέγχει αν η συνάρτηση λειτουργεί όπως αναμένεται Stress Test Το τεστ ελέγχει αν η συνάρτηση παρουσιάζει προβλήματα σε μεγάλους όγκους δεδομένων ή αιτήσεων.

67 1.5. Τεστ Επίδοσης Το τεστ ελέγχει την επίδοση της συνάρτησης, και αν υπάρχουν σαφείς άμεσες βελτιώσεις στην ταχύτητα της Variable Ranges Το τεστ ελέγχει αν υπάρχουν μεταβλητές που μπορούν να πάρουν τιμές εκτός ορίων Operators and Logic Το τεστ ελέγχει αν όλοι οι τελεστές είναι σωστά γραμμένοι και αν όλες οι λογικές προτάσεις της συνάρτησης οδηγούν στο αναμενόμενο αποτέλεσμα Syntax Validator Pass? Η συνάρτηση υπόκεινται σε συντακτικό τεστ από πρόγραμμα εύρεσης συντακτικών λαθών και επιβεβαιώνεται ότι δεν έχει συντακτικά λάθη Debugger Pass? Η συνάρτηση τρέχει υπό την λειτουργία ενός debugger και επιβεβαιώνεται ότι δεν εμφανίζονται λάθη ΤΕΣΤ ΚΛΕΙΣΤΟΥ ΚΟΥΤΙΟΥ Το τεστ κλειστού κουτιού έχει σαν σκοπό να δοκιμάσει το λογισμικό με το βλέμμα ενός χρήστη που δεν γνωρίζει τα εσωτερικά στοιχεία του προγράμματος. Δεν υπάρχει γνώση της εσωτερικής δομής του αντικειμένου κατά την διάρκεια του τεστ. Οι μέθοδοι τεστ κλειστού κουτιού προσφέρουν μεγαλύτερη δημιουργικότητα στα τεστ που δοκιμάζονται, και αποκαλύπτουν πιο εύκολα προδιαγραφές που δεν έχουν υλοποιηθεί. Τα τεστ που υπόκεινται το site φαίνονται παρακάτω. 65 P age

68 2.1. Τεστ συστήματος Το τεστ συγκεντρώνεται στην συμπεριφορά του συστήματος και επιβεβαιώνει ότι ακολουθεί τις προδιαγραφές Τεστ επίδοσης Το τεστ έχει σαν στόχο να επιβεβαιώσει ότι η ταχύτητα απόκρισης του συστήματος για τις διεργασίες που προσφέρει συμβαδίζει με τις προσδοκίες του χρήστη Τεστ ασφαλείας Το τεστ ελέγχει αν τα επιμέρους στοιχεία του συστήματος είναι ασφαλή από κακόβουλες επιθέσεις Stress τεστ Το τεστ έχει σαν στόχο να επιβεβαιώσει ότι το σύστημα θα λειτουργήσει υπό καταστάσεις υψηλού φόρτου αιτήσεων και/ή φορτωμένων δεδομένων Recovery Test Το συγκεκριμένο τεστ ελέγχει αν το σύστημα μπορεί να επιστρέψει σε κανονική λειτουργία μετά από εξαναγκασμένη αποτυχία Browser Test Το τεστ έχει σαν στόχο να επιβεβαιώσει ότι το σύστημα λειτουργεί σωστά με όλους τους διαφορετικούς web browsers 2.7. Beta Test Το σύστημα τίθεται σε λειτουργία και μια ομάδα το χρησιμοποιεί σε πραγματικές εφαρμογές. Μετά 5 μήνες η ομάδα θα καταθέσει όλα τα προβλήματα που βρέθηκαν. Μετά την διόρθωση τους το σύστημα θα τεθεί σε πλήρη λειτουργία 2.8. User Acceptance Test Το τμήμα που ζήτησε την παραγωγή του λογισμικού θα ελέγξει ότι το λογισμικό πληροί τις απαιτήσεις που ζητήθηκαν και θα παραδώσει έκθεση αναφοράς για πιθανές μελλοντικές βελτιώσεις. 66 P age

69 3.8 - ΠΙΝΑΚΕΣ ΤΕΣΤ ΑΝΟΙΧΤΟΥ ΚΟΥΤΙΟΥ Όνομα Συνάρτησης issdate Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/09/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης issword Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης isssentence Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/ P age

70 Όνομα Συνάρτησης isstime Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης arrayunique Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης in_arrayi Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/ P age

71 Όνομα Συνάρτησης cleanarray Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης array_flatten Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης array_change_key_name Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/ P age

72 Όνομα Συνάρτησης ora_string_fix Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης filerecognise Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης filecase Αρχείο files.php Loop Testing Ok - 11/10/2009 Null Testing Ok - 11/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/ P age

73 Όνομα Συνάρτησης refreshtbn Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης cleanuptx Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/2009 Όνομα Συνάρτησης controldatetime Αρχείο files.php Loop Testing Ok 14/10/2009 Null Testing Ok 14/10/2009 Τεστ Λειτουργίας Ok 11/12/2009 Stress Test Ok 11/12/2009 Τεστ Επίδοσης Ok 11/12/2009 Variable Ranges Ok 15/10/2009 Operators & Logic Ok 15/10/2009 Syntax Validator Pass Ok 14/10/2009 Debugger Pass Ok 14/10/ P age