Περιεχόμενα. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 1

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

Download "Περιεχόμενα. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 1"

Transcript

1 Περιεχόμενα Κεφάλαιο 1 - Το Ελεύθερο Λογισμικό / Λογισμικό Ανοιχτού Κώδικα Το Ίδρυμα Ελεύθερου Λογισμικού (The Free Software Foundation) Η Πρωτοβουλία Ανοιχτού Κώδικα (Open Source Initiative) Διαφορά Ελεύθερου Λογισμικού από Λογισμικό Ανοιχτού Κώδικα...5 Κεφάλαιο 2 Το Μοντέλο Προσομοίωσης Περιγραφή του μοντέλου...7 Ορισμοί...7 Εξισώσεις...7 1ο σύνολο εξισώσεων...8 Εξίσωση 1.1 : Υπολογισμός της E(t)...8 Εξίσωση 1.2 : Υπολογισμός του αριθμού των εργασιών που ξεκίνησαν για κάθε τύπο εργασίας και για κάθε project module...9 2ο σύνολο εξισώσεων ο σύνολο εξισώσεων Κατάσταση Υλοποίησης Σε Η/Υ...13 Κεφάλαιο 3 Συλλογή Πραγματικών Δεδομένων Το CVS (Concurrent Versions System) Το CVSAnalY Το CVSAnalY-DBExport...23 Κεφάλαιο 4 Προσομοίωση & Σύγκριση Αποτελεσμάτων Το XMMS Project (X MultiMedia System) Ο Mplayer (Movie Player For Linux) Παρατηρήσεις & Συμπεράσματα...43 Παράρτημα Ι Πηγαίος Κώδικας του CVSAnalY-DBExport...44 Παράρτημα ΙI Η άδεια χρήσης GPL...61 Παράρτημα ΙII Αναλυτικά Αποτελέσματα Εξέλιξη στο χρόνο για το XMMS Project. (Πραγματικά Δεδομένα) Εξέλιξη στο χρόνο για τον Mplayer. (Πραγματικά Δεδομένα) Αποτελέσματα προσομοίωσης 2000 ημερών για το XMMS Project Αποτελέσματα προσομοίωσης 1500 ημερών για τον Mplayer Βιβλιογραφία Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 1

2 Κεφάλαιο 1 - Το Ελεύθερο Λογισμικό / Λογισμικό Ανοιχτού Κώδικα Το Ελεύθερο Λογισμικό / Λογισμικό Ανοιχτού Κώδικα ( για συντομία ΕΛ/ΛΑΚ) στηρίζεται στη βασική αρχή ότι ο πηγαίος κώδικας του λογισμικού πρέπει να είναι διαθέσιμος στο κοινό. Τα έργα ΕΛ/ΛΑΚ αποτελούνται από ένα κεντρικό πρόσωπο ή μια κεντρική ομάδα προγραμματιστών που αναπτύσσουν τοπικά το κεντρικό τμήμα του και στη συνέχεια το δημοσιεύουν στο διαδίκτυο. Στη συνέχεια άλλοι προγραμματιστές μπορούν να μελετούν, να αναδιανέμουν και να τροποποιούν τον πηγαίο κώδικα. Η εξέλιξη ενός τέτοιου έργου πραγματοποιείται με υπερβολικά γρήγορο ρυθμό εφόσον στην ανάπτυξή του συμμετέχουν εκατοντάδες ή χιλιάδες εθελοντές προγραμματιστές. Δεν υπάρχει ρητή κατανομή εργασιών ούτε γενικός σχεδιασμός ή πλάνο και ο καθένας αναλαμβάνει να ασχοληθεί με το κομμάτι που τον ενδιαφέρει. Παρά την έλλειψη της οργανωμένης εργασίας και του γενικού σχεδίου η ποιότητα των αποτελεσμάτων είναι ισάξια ή ακόμα και ανώτερη των λογισμικών που αναπτύσσονται με παραδοσιακούς τρόπους. Τα πιο τρανταχτά παραδείγματα είναι το λειτουργικό σύστημα Linux, ο εξυπηρετητής ιστοσελίδων Apache και ο περιηγητής ιστοσελίδων Mozilla τα οποία έχουν γνωρίσει μεγάλη διάδοση και εμπορική επιτυχία. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 2

3 1. Το Ίδρυμα Ελεύθερου Λογισμικού (The Free Software Foundation) Το Ίδρυμα Ελεύθερου Λογισμικού, ιδρυμένο το 1985, είναι αφοσιωμένο στην προώθηση των δικαιωμάτων των χρηστών ηλεκτρονικού υπολογιστή για χρήση, μελέτη, αντιγραφή, τροποποίηση και αναδιανομή προγραμμάτων υπολογιστή. Το Ίδρυμα προωθεί την ανάπτυξη και χρήση του ελεύθερου λογισμικού, συγκεκριμένα το λειτουργικό σύστημα GNU. Το ίδρυμα επίσης βοηθάει στην ενημέρωση για τα ηθικά και πολιτικά θέματα που αφορούν την ελευθερία στη χρήση λογισμικού. Τα τρέχοντα project του ιδρύματος είναι τα εξής: GNU Το Ίδρυμα Ελεύθερου Λογισμικού παραμένει ο βασικός υποστηρικτής του GNU Project. Εκτός από τις υπηρεσίες που παρέχονται από τη Savannah για τα GNU projects, το ίδρυμα παρέχει συστήματα ανάπτυξης για συντηρητές GNU λογισμικού, συμπεριλαμβανομένων πλήρη υπηρεσιών και πρόσβασης μέσω shell. Έχει δεσμευτεί να προάγει την ανάπτυξη του λειτουργικού συστήματος GNU και να καθιστά ικανούς εθελοντές ώστε να συνεισφέρουν εύκολα στη δουλειά αυτή. Εργαστήριο κατασκευής άδειας χρήσης Ελεύθερου Λογισμικού και Συμμόρφωσης σε αυτή. Η έναρξη του GNU project το 1984, που στόχο είχε να δώσει στους χρήστες ελευθερία, απαιτούσε την καθιέρωση νέων όρων διανομής οι οποίοι θα προστάτευαν τα projects ώστε να μην μετατραπούν σε ιδιόκτητο λογισμικό. Η μέθοδος που χρησιμοποιήθηκε ήταν η Copyleft και η άδεια που προέκυψε ονομάστηκε GNU General Public License (GNU GPL). Σήμερα η GNU GPL είναι η περισσότερο χρησιμοποιούμενη άδεια Ελεύθερου Λογισμικού και ο συγγραφέας της, το Ίδρυμα Ελεύθερου Λογισμικού, εργάζεται στην εξάπλωση της χρήσης και κατανόησης της από την κοινότητα. Κατάλογος Ελεύθερου Λογισμικού Ο Κατάλογος Ελεύθερου Λογισμικού ξεκίνησε το Σεπτέμβρη του 1999 να καταγράφει όλα τα χρήσιμα ελεύθερα λογισμικά που τρέχουν σε ελεύθερα λειτουργικά συστήματα.. Ο Κατάλογος περιέχει πάνω από 3,000 εγγραφές. Πρόσφατα, το Ίδρυμα ανέπτυξε συνεργασία με τη UNESCO για να ενώσει τον Κατάλογο Ελεύθερου Λογισμικού με το portal Ελεύθερου Λογισμικού της UNESCO. Savannah H Savannah παρέχει υπηρεσίες ανάπτυξης λογισμικού σε μηδενικό κόστος στους Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 3

4 προγραμματιστές ελεύθερου λογισμικού από όλο τον κόσμο. Η Savannah διαθέτει ένα διαδικτυακό διαχειριστικό περιβάλλον για φιλοξενία και συντήρηση ιστοσελίδων των project, ανίχνευση ελαττωμάτων, CVS, FTP και λίστες ηλεκτρονικού ταχυδρομείου. Όλες οι παρεχόμενες υπηρεσίες είναι στημένες αποκλειστικά σε ελεύθερο λογισμικό χωρίς διαφημίσεις και για όλη την κοινότητα. 2. Η Πρωτοβουλία Ανοιχτού Κώδικα (Open Source Initiative) H Πρωτοβουλία Ανοιχτού Κώδικα (OSI) είναι μία μη κερδοσκοπική δραστηριότητα αφοσιωμένη στη διαχείριση και προώθηση του Ορισμού Ανοιχτού Κώδικα (Open Source Definition) προς όφελος της κοινότητας. Συγκεκριμένα παρέχει πιστοποίηση σε λογισμικά Ανοιχτού Κώδικα έτσι ώστε ο καθένας να είναι σίγουρος ότι το πιστοποιημένο λογισμικό είναι πραγματικά Λογισμικό Ανοιχτού Κώδικα και εγκρίνει τις άδειες χρήσης που είναι έγκυρες άδειες Ανοιχτού Κώδικα. Η βασική ιδέα πίσω από τον Ανοιχτό Κώδικα είναι πολύ απλή: Όταν οι προγραμματιστές μπορούν να μελετούν, να αναδιανέμουν και να τροποποιούν τον πηγαίο κώδικα ενός τμήματος λογισμικού, τότε το λογισμικό εξελίσσεται. Ο ενεργός κόσμος το βελτιώνει, το προσαρμόζει, διορθώνει ελαττώματα και όλη η διαδικασία εκτυλίσσεται σε υπερβολικά γρήγορους ρυθμούς. Η κοινότητα Ανοιχτού Κώδικα έχει μάθει ότι η ραγδαία διαδικασία εξέλιξης παράγει καλύτερο λογισμικό από τα παραδοσιακά κλειστά μοντέλα, στα οποία μόνο λίγοι προγραμματιστές έχουν πρόσβαση στον πηγαίο κώδικα και όλοι οι άλλοι πρέπει να χρησιμοποιήσουν τυφλά μια αδιαφανή συλλογή από bits. Η Πρωτοβουλία Ανοιχτού Κώδικα υπάρχει για να αποτελεί παράδειγμα στον εμπορικό κόσμο. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 4

5 3. Διαφορά Ελεύθερου Λογισμικού από Λογισμικό Ανοιχτού Κώδικα Ενώ σε πρακτικό επίπεδο το Λογισμικό Ανοιχτού Κώδικα και το Ελεύθερο Λογισμικό συχνά μοιράζονται τις ίδιες άδεις χρήσης, σύμφωνα με το Ίδρυμα Ελεύθερου Λογισμικού, το κίνημα του Ανοιχτού Κώδικα είναι φιλοσοφικά διαφορετικό από το κίνημα Ελεύθερου Λογισμικού. Ο ορισμός για το Ελεύθερο Λογισμικό του Ιδρύματος είναι περισσότερο περιοριστικός από τον Ορισμό Ανοιχτού Κώδικα. Κάθε ελεύθερο Λογισμικό είναι Λογισμικό Ανοιχτού Κώδικα.. Θεωρητικά το Λογισμικό Ανοιχτού Κώδικα μπορεί να είναι και να μην είναι «Ελεύθερο» αλλά στην πραγματικότητα σχεδόν όλες οι άδειες Ανοιχτού Κώδικα ικανοποιούν το ορισμό του Ελεύθερου Λογισμικού. Η διαφορά είναι περισσότερο ζήτημα φιλοσοφικής έμφασης. Το κίνημα του ελεύθερου λογισμικού δίνει έμφαση στις ηθικές απόψεις του λογισμικού και βλέπει την τεχνική υπεροχή ως επιθυμητή ανά προϊόν, εφόσον διαθέτει το κατάλληλο ηθικό επίπεδο. Το κίνημα του ανοιχτού κώδικα από την άλλη βλέπει την τεχνική υπεροχή ως τον τελικό στόχο και την διανομή του πηγαίου κώδικα ως μέσο για την κατάκτησή του. Αφού η Πρωτοβουλία Ανοιχτού Κώδικα εγκρίνει μόνο άδειες που είναι συμβατές με τον ορισμό της για τον Λογισμικό Ανοιχτού Κώδικα, οι περισσότεροι το παρερμηνεύουν και ταυτίζουν τους όρους «Ανοιχτός Κώδικας» με «Ελεύθερο Λογισμικό». Ενώ ο όρος «Ανοιχτός Κώδικας» αφαιρεί την αμφιβολία της έλλειψης ελευθερίας έναντι της τιμής, εισάγει μια άλλη. Κάποια προγράμματα που ικανοποιούν τον Ορισμό Ανοιχτού Κώδικα και δίνουν στους χρήστες την ελευθερία να επέμβουν σε αυτά ή προγράμματα που απλά έχουν τον κωδικά τους διαθέσιμο, έχουν μεγάλους περιορισμούς στη χρήση του κώδικά τους. Οι περισσότεροι άνθρωποι μπορεί να θεωρούν ότι οποιοδήποτε λογισμικό έχει τον πηγαίο κωδικά του διαθέσιμο είναι και «ανοιχτού κώδικα». Όμως το μεγαλύτερο τμήμα αυτών των λογισμικών δεν δίνει στους χρήστες την ελευθερία να δημοσιεύσουν τις τροποποιήσεις τους, περιορίζει την εμπορική εκμετάλλευσή του και γενικότερα περιορίζει τα δικαιώματα των χρηστών. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 5

6 Κεφάλαιο 2 Το Μοντέλο Προσομοίωσης Στο παρόν κεφάλαιο παρουσιάζεται το μοντέλο προσομοίωσης της διαδικασίας ανάπτυξης των έργων ΕΛ/ΛΑΚ. Η συγκεκριμένη μορφή του μοντέλου περιγράφηκε από τον Ι. Αντωνιάδη το 2005 και αποτελεί την δεύτερη εκδοσή του (η πρώτη δημοσιεύτηκε το 2003). Στόχος της προσομοίωσης είναι η πρόβλεψη της μελλοντικής εξέλιξης ενός project και η πρόγνωση της επιτυχίας η αποτυχίας του. Επίσης το μοντέλο θα μπορεί να χρησιμοποιηθεί και ως εργαλείο λήψης αποφάσεων. Για παράδειγμα αν προβλεφθεί ότι με τον ρυθμό διόρθωσης ελαττωμάτων ή ρυθμό κυκλοφορίας νέων εκδόσεων θα δημιουργηθεί μια δυσάρεστη μελλοντική κατάσταση, ένας παράγοντας του project θα προβεί στις κατάλληλες ενέργειες για να την αποτρέψει. Ακολουθεί σύντομη περιγραφή του μοντέλου προσομοίωσης. Για περισσότερες λεπτομέρειες υπάρχει αναλυτική περιγραφή στη δημοσίευση του Ι. Αντωνιάδη (2005). Στη συνέχεια του κεφαλαίου παρουσιάζεται η διαθέσιμη εφαρμογή του μοντέλου σε Η/Υ και δίνονται κάποιες οδηγίες για τη χρήση της. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 6

7 1. Περιγραφή του μοντέλου Ορισμοί Project modules : Ένα project module αποτελεί μια συλλογή αρχείων πηγαίου κώδικα τα οποία έχουν τις ίδιες γενικές προδιαγραφές. Εργασίες του Project : Εργασίες ενός Project είναι οι διάφορου τύπου ενέργειες που μπορούν να εκτελεστούν από την ανθρώπινη μεριά, με σκοπό την ανάπτυξη και την έκδοση ενός project ή τμημάτων του. Ως τέτοιες ενέργειες θεωρούνται οι παρακάτω : 1. Σχεδιασμός και υποβολή της πρώτης έκδοσης ενός νέου module. Αυτή η εργασία ονομάζεται «υποβολή νέου module» και όλες οι ποσότητες που σχετίζονται δεικτοδοτούνται με το δείκτη S. Η εργασία αυτή μπορεί να αναφέρεται και σε περιπτώσεις υποβολής ενός εναλλακτικού ή βελτίωσης ενός ήδη υπάρχοντος (παλιού) module. 2. Διόρθωση ελαττωμάτων τα οποία έχουν προηγουμένως αναφερθεί για ένα συγκεκριμένο αρχείο. Η εργασία ονομάζεται «αποσφαλμάτωση» και όλες οι ποσότητες που σχετίζονται με αυτή δεικτοδοτούνται με το δείκτη B. 3. Δοκιμή ενός αρχείου πηγαίου κώδικα και αναφορά ελαττωμάτων. Η εργασία ονομάζεται «δοκιμή» και και όλες οι ποσότητες που σχετίζονται με αυτή δεικτοδοτούνται με το δείκτη T. 4. Προσθήκη λειτουργικότητας και/ή βελτίωση ενός υπάρχοντος αρχείου πηγαίου κώδικα. Η εργασία ονομάζεται «λειτουργική βελτίωση» και και όλες οι ποσότητες που σχετίζονται με αυτή δεικτοδοτούνται με το δείκτη F. Εξισώσεις Για την ποσοτικοποίηση της παραπάνω δυναμικής διαδικασίας χρησιμοποιούνται τρία βασικά σύνολα εξισώσεων : 1ο σύνολο εξισώσεων : Υπολογίζει τον αριθμό των εργασιών που αρχικοποιήθηκαν την ημέρα t του project, για κάθε τύπο εργασίας και για κάθε project module. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 7

8 2ο σύνολο εξισώσεων : Υπολογίζει την ακριβή έξοδο κάθε εργασίας (αριθμό γραμμών κώδικα, αριθμό ελαττωμάτων, διορθώσεις ελαττωμάτων κτλ.) ολοκληρωθεί. 3ο σύνολο εξισώσεων : Υπολογίζει τη χρονική περίοδο που απαιτείται από κάθε εργασία για να 1ο σύνολο εξισώσεων Εξίσωση 1.1 : Υπολογισμός της E(t) Υποθέτουμε ότι ο αριθμός των ατόμων E(t) που διστακτικά αποφασίζουν να συνεισφέρουν στο project, ξεκινώντας την ημέρα t, εξαρτάται από (i) τη «συνολική ποιότητα» του project και (ii) το προφίλ των προγραμματιστών, οι οποίοι είτε έχουν εργαστεί στο συγκεκριμένο project πριν από την ημέρα t, είτε είναι εντελώς νέοι σε αυτό. Η «συνολική ποιότητα» του project προσδιορίζεται από όλους τους συγκεκριμένους για το project παράγοντες που υποκινούν το ενδιαφέρον των αναμενόμενων προγραμματιστών, οδηγώντας τους να αποφασίσουν να αφιερώσουν προσωπική προσπάθεια και χρόνο σε οποιαδήποτε συνεισφορά. Λαμβάνοντας υπόψη αυτούς τους παράγοντες, ο χρονικά-εξαρτημένος παράγοντας συνολικής ποιότητας Q(t) ορίζεται ως Q t = { 1 log 10 Q 1 t Q 0,Q 1 1 Q Q 0Q 1 t,q 1 1 } Q 1 t =w R R t w L ΔL t w A A t J t (1) όπου R(t) η ποσοστιαία αύξηση ανά μονάδα χρόνου στις γραμμές κώδικα, από την τελευταία έκδοση προς την προηγούμενή της, <ΔL(t)> ο αθροιστικά προς το χρόνο μέσος ρυθμός αλλαγών στις συνολικές Γραμμές Κώδικα στην υπό ανάπτυξη έκδοση από μέρα σε μέρα, <A(t)> η αθροιστικά προς το χρόνο μέση δραστηριότητα στο project, η οποία ορίζεται ως ο συνολικός αριθμός εργασιών που τερματίστηκαν την ημέρα t και J(t) ο «παράγοντας ώθησης ενδιαφέροντος», ο οποίος είναι μηδέν για όλα τα t εκτός των ημερών που παρατηρείται μια επιπλέον ώθηση ενδιαφέροντος. Οι Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 8

9 Q 0, w R, w L και w A είναι χρονοαμετάβλητες, συγκεκριμένες για το project παράμετροι που προσδιορίζουν την βαθμονόμηση του Q(t) για ένα συγκεκριμένο project ελεύθερου λογισμικού. Εκτός από τη «συνολική ποιότητα» του project (Q(t)) ο αριθμός των ατόμων που δείχνει ένα ενδιαφέρον να ξεκινήσει μια εργασία εξαρτάται κι από το προφίλ του προγραμματιστή. Οι συνεισφέροντες στο project χωρίζονται σε δυο κατηγορίες : τους «βασικούς» (core) συνεισφέροντες και τους «κανονικούς» (normal) συνεισφέροντες. Θεωρείται ότι μέχρι κάποιο προκαθορισμένο αριθμό άνθρωπο-ημερών S 0 που έχουν ξοδευτεί για το project από οποιοδήποτε συνεισφέροντα, το ενδιαφέρον αυξάνεται, ενώ πέρα από αυτό τον αριθμό S S 0 το ενδιαφέρον μειώνεται. Βασιζόμενοι στα παραπάνω, η E(t) δίνεται από την παρακάτω εξίσωση : E t =Q t Λ t N ' core t (2) όπου N ' core ο αριθμός των διαθέσιμων βασικών προγραμματιστών την ημέρα t και Λ(t) ο παράγοντας που υπολογίζει τη μεταβολή στο ενδιαφέρον του προγραμματιστή σύμφωνα με το χρόνο που έχει ξοδέψει σε παλιότερες συνεισφορές. Οι βασικοί προγραμματιστές θεωρούνται ότι δείχνουν πάντα το ίδιο ενδιαφέρον για το project ανεξάρτητα από την ποιότητά του και τις παλιότερες συνεισφορές τους. Για τον υπολογισμό της E(t) τη χρονική στιγμή t=t 0, όπου t 0 η πρώτη ημέρα μετά από την εφαρμογή της προσομοίωσης, απαιτείται η συνθήκη Q 1 όταν t=t 0 και υποθέτοντας ότι χρησιμοποιούνται οι πρώτες t 0 ημέρες ενός πραγματικού project, υπολογίζονται οι παράμετροι της Q(t) που αναφέρθηκαν προηγουμένως. Για να επιτευχθεί αυτό ορίζουμε E t 0 =N 0, όπου Ν 0 ο μέσος αριθμός των εργασιών που πραγματικά εκτελέστηκαν ανά ημέρα, όπως μετρήθηκαν τις πρώτες t 0 ημέρες του project. Στη συνέχεια εκτελείται η προσομοίωση από t=0 και διορθώνονται τα Q 0, w R, w L και w A έτσι ώστε τα αποτελέσματα της προσομοίωσης να ταιριάζουν όσο το δυνατόν περισσότερο με τα πραγματικά αποτελέσματα για τις πρώτες t 0 ημέρες. Εξίσωση 1.2 : Υπολογισμός του αριθμού των εργασιών που ξεκίνησαν για κάθε τύπο εργασίας και για κάθε project module. Δηλώνοντας με τον ανώτερο δείκτη j=s,b,t,f τον τύπο της εργασίας, με τον πρώτο χαμηλότερο δείκτη i=1,2,..m το συγκεκριμένο project module και με τον δεύτερο χαμηλότερο Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 9

10 δείκτη k=1,2,..., S i τις πιθανές εναλλαγές του module i στο οποίο ένα άτομο μπορεί να συνεισφέρει, τότε ορίζεται P j ik t ως ο αριθμός των εργασιών που πραγματικά ξεκίνησαν για το module i, το εναλλακτικό k (του module i) και την εργασία τύπου j την ημέρα t. Η ακόλουθη εξίσωση υπολογίζει τα P j ik t για κάθε ημέρα t του project : P ik j t E t =I ik j t I ik j t p,q,r j,i, k γ p qr t (3) όπου I ik j ο παράγοντας συνολικού ενδιαφέροντος για την εργασία τύπου j, το module i, το εναλλακτικό k και ορίζεται ως εξής : I ik j Γ ik j γ ik j (4) όπου Γ j ik t οι παράγοντες αύξησης ενδιαφέροντος και γ j ik t οι παράγοντες μείωσης ενδιαφέροντος για τις εργασίες τύπου j, module i και εναλλακτικού k τη χρονική στιγμή t. Επίσης ο παράγοντας Γ j ik t είναι ανάλογος του Α j i t και ο παράγοντας γ j ik t είναι ανάλογος των Α i j j j και α i. Το Α i ονομάζεται «αρχικό ενδιαφέρον» για τον τύπο εργασίας J στο module i και ορίζεται ως το ποσοστό των ατόμων που επιλέγουν τη συγκεκριμένη εργασία και module σε σχέση j με το σύνολο όλων των συντελεστών του συγκεκριμένου project. To α i ονομάζεται «συντελεστής μείωσης αρχικού ενδιαφέροντος» και ορίζεται ως το μεγαλύτερο κλάσμα του σχετικού αρχικού ενδιαφέροντος Α i j που μπορεί να χαθεί από τους αναμενόμενους συνεισφέροντες, ύστερα από εξέταση της ανάπτυξης του τύπου εργασίας στο module. Η βασική υπόθεση για την εξίσωση (3) είναι ότι μια αναλογία των χρηστών που απορρίπτουν εργασίες διαφορετικές από τις j,i,k στρέφονται τελικά προς τις εργασίες j,i,k με πιθανότητα ανάλογη προς το συνολικό ενδιαφέρον για την εργασία j,i,k. Οι τιμές των Γ και γ κανονικοποιούνται κατάλληλα έτσι ώστε το άθροισμα όλων των εργασιών που πραγματικά ξεκινούν την ημέρα t για όλους τους τύπους εργασιών, τα modules και τα εναλλακτικά modules του project, να είναι όσο το δυνατόν περισσότερο ίσο με την E(t). Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 10

11 2ο σύνολο εξισώσεων Το 2ο σύνολο εξισώσεων υπολογίζει τις απελευθερωμένες ποσότητες για κάθε μια εργασία που έχει ξεκινήσει βγάζοντας συμπέρασμα από κατανομές πιθανοτήτων. Χρησιμοποιούνται λογαριθμικές συναρτήσεις κανονικής κατανομής, εφόσον οι σχετικές ποσότητες είναι όλες θετικές. Οι ακόλουθες χρονοαμετάβλητες,συγκεκριμένες για το project ποσότητες πρέπει να παρέχονται ως αρχικές είσοδοι στο μοντέλο προσομοίωσης : L i S,σ Li S : Η μέση τιμή και η τυπική απόκλιση του αριθμού των Γραμμών Κώδικα που προστέθηκαν ως αρχική συνεισφορά για ένα νέο module, εναλλακτικό του module i, το οποίο εμφανίζεται στην υπό ανάπτυξη έκδοση. L i F,σ Li F : Η μέση τιμή και η τυπική απόκλιση του αριθμού των Γραμμών Κώδικα που προστέθηκαν σε κάθε συνεισφορά λειτουργικής βελτίωσης (αναβάθμιση) ενός υπάρχοντος αρχείου πηγαίου κώδικα του module i. d i, σ d i : Η μέση τιμή και η τυπική απόκλιση της αρχικής πυκνότητας ελαττωμάτων αρχείου πηγαίου κώδικα (αριθμός ελαττωμάτων ανά Γραμμή Κώδικα) γραμμένο και καταχωρημένο από έναν συνεισφέροντα για το module i. T i, σ T i : Η μέση τιμή και η τυπική απόκλιση του εκτιμώμενου κλάσματος των πραγματικών ελαττωμάτων σε ένα αρχείο πηγαίου κώδικα του module i τα οποία έχουν αναφερθεί από έναν συνεισφέροντα που έχει αναλάβει μια εργασία δοκιμής. 3ο σύνολο εξισώσεων Ο χρόνος παράδοσης κάθε ενεργής εργασίας συμπεραίνεται επίσης από πιθανοτικές λογαριθμικές συναρτήσεις κανονικής κατανομής. Οι ακόλουθες χρονοαμετάβλητες,συγκεκριμένες για το project ποσότητες πρέπει να παρέχονται ως αρχικές είσοδοι στο μοντέλο προσομοίωσης : Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 11

12 t i S,σ ti S : Η μέση τιμή και η τυπική απόκλιση του χρόνου που απαιτείται (σε ημέρες) για να γραφτεί μια Γραμμή Κώδικα σε ένα αρχείο του module i. t i B,σ ti B : Η μέση τιμή και η τυπική απόκλιση του χρόνου που απαιτείται (σε ημέρες) για να διορθωθεί ένα απλό ελάττωμα σε 1000 Γραμμές Κώδικα. t i T,σ ti T : Η μέση τιμή και η τυπική απόκλιση του χρόνου που απαιτείται (σε ημέρες) για να δοκιμαστεί η πιο πρόσφατη έκδοση του project και να αναφερθούν εντοπισμένα ελαττώματα για ένα αρχείο στο module i, όταν το αρχείο περιέχει 1000 Γραμμές Κώδικα και όλη η έκδοση Mx1000 Γραμμές Κώδικα (όπου M ο αριθμός των modules του project). Τα σύνολα εξισώσεων (1)-(3) προσδιορίζουν πλήρως τις δυναμικές της μεθόδου. Λόγω του στοχαστικού χαρακτήρα των συνόλων εξισώσεων (2) και (3), κάθε «τρέξιμο» πρέπει να επαναληφθεί αρκετές φορές με διαφορετικούς τυχαίους αριθμούς. Οι μέσες τιμές και οι τυπικές αποκλίσεις των παραγόμενων μεταβλητών πρέπει να επαναπροσδιορίζονται σε κάθε βήμα. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 12

13 2. Κατάσταση Υλοποίησης Σε Η/Υ Για την τρέχουσα έκδοση του μοντέλου ο Ι. Αντωνιάδης έχει γράψει μια εφαρμογή στη γλώσσα προγραμματισμού C. Δυστυχώς η συγκεκριμένη εφαρμογή που είχε ως σκοπό την άμεση δοκιμή και επικύρωση του μοντέλου, έχει κατασκευαστεί για προσωπική χρήση και η υλοποίησή της είναι πολύ πρόχειρη. Όποιος θελήσει να τη χρησιμοποιήσει θα πρέπει να παρέμβει στον πηγαίο κώδικα και να αλλάξει τις τιμές των μεταβλητών καθώς δεν υπάρχει καμία αλληλεπίδραση με το χρήστη, ούτε δυναμικό άνοιγμα αρχείων εισόδου. Το γεγονός αυτό καθιστά την εφαρμογή δύσχρηστη σε συνδυασμό με την έλλειψη σχετικού εγχειριδίου οδηγιών χρήσης. Στον παρακάτω πίνακα (Πίνακας 2.2.1) παραθέτω λεπτομερώς τις μεταβλητές του πηγαίου κώδικα που χρειάζονται τροποποίηση για την εφαρμογή της προσομοίωσης σε διαφορετικά έργα (project), με σκοπό να φανούν χρήσιμα σε όποιον θελήσει να ασχοληθεί μελλοντικά με αυτή. Πίνακας : Μεταβλητές στον πηγαίο κώδικα που χρειάζονται τροποποίηση για κάθε project. #define M Αριθμός των modules #define SIMUSTEPS #define MAXREPS A_S[i] A_B[i] A_T[i] A_F[i] LOC_F_mean[i] LOC_F_stdev[i] t_perloc_mean_s t_perloc_stdev_s Ncore N_linux s0 Αριθμός χρονικών μονάδων Αριθμός Επαναλήψεων Αρχικό ενδιαφέρον σε εργασίες τύπου S Αρχικό ενδιαφέρον σε εργασίες τύπου B Αρχικό ενδιαφέρον σε εργασίες τύπου T Αρχικό ενδιαφέρον σε εργασίες τύπου F Γραμμές Κώδικα / Καταχώρηση (Μέση τιμή) Γραμμές Κώδικα / Καταχώρηση (Τυπική απόκλιση) Μέρες / 1 Γραμμή Κώδικα (Μέση τιμή) Μέρες / 1 Γραμμή Κώδικα (Τυπική απόκλιση) Βασικοί συντελεστές Καταχωρήσεις / Ημέρα (Μέση τιμή) Μέγιστο ενδιαφέρον συντελεστών (Μέση τιμή) Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 13

14 Εφόσον έχουν οριστεί οι μεταβλητές εισόδου και ο αριθμός των επαναλήψεων της προσομοίωσης, η εφαρμογή είναι έτοιμη για μεταγλώττιση (compilation) και εκτέλεση του παραγόμενου αρχείου. Η διάρκεια της προσομοίωσης ποικίλει ανάλογα με το μέγεθος του project αλλά συνήθως ολοκληρώνεται ανάμεσα στα 5 με 10 λεπτά της ώρας. Ή έξοδος της εφαρμογής είναι τρία αρχεία απλού κειμένου και περιέχουν τα αποτελέσματα της διαδικασίας. Από τα αρχεία αυτά το πιο σημαντικό είναι το results.txt καθότι περιέχει τις μέσες τιμές όλων των τυχαίων επαναλήψεων. Τα results_max.txt και results_min.txt περιέχουν αντίστοιχα τις μεγαλύτερες και τις μικρότερες τυχαίες τιμές που παράχθηκαν. Η δομή και των τριών αρχείων είναι κοινή. Τα δεδομένα βρίσκονται σε στήλες και χωρίζονται μεταξύ τους με ένα χαρακτήρα στηλοθέτη (\t). Έτσι μπορούν εύκολα να επεξεργαστούν από μία εφαρμογή γραφείου που υποστηρίζει λογιστικά φύλλα (π.χ. Microsoft Excel, OpenOffice.org Calc, Gnumeric κτλ. ). Συγκεκριμένα τα δεδομένα στα αρχεία των αποτελεσμάτων συνοψίζονται στον ακόλουθο πίνακα (Πίνακας 2.2.1). Πίνακας : Μορφή αποτελεσμάτων προσομοίωσης. time Χρόνος του project σε ημέρες. LOC Σύνολο Γραμμών Κώδικα αθροιστικά προς το χρόνο. B_dens Πυκνότητα ελαττωμάτων (αριθμός ελαττωμάτων ανά 1000 Γραμμές Κώδικα) την κάθε χρονική στιγμή (ημέρα) του project. B_rep_dens Συνολική πυκνότητα ελαττωμάτων που έχουν αναφερθεί από άτομα που εκτελούν εργασία τύπου Τ (δοκιμή). Q Συνολική Ποιότητα του project. tots Αριθμός εργασιών τύπου S (υποβολή νέου module) που ξεκίνησαν τη συγκεκριμένη ημέρα. totb Αριθμός εργασιών τύπου Β (αποσφαλμάτωση) που ξεκίνησαν τη συγκεκριμένη ημέρα. tott Αριθμός εργασιών τύπου Τ (δοκιμή) που ξεκίνησαν τη συγκεκριμένη ημέρα. totf Αριθμός εργασιών τύπου F (λειτουργική βελτίωση) που ξεκίνησαν τη συγκεκριμένη ημέρα. Occ_Programers Συνολικός αριθμός ατόμων που συμβάλλουν στο project. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 14

15 New_blood LOC2 B_dens2 B_rep_dens2 Αριθμός νέων ατόμων που εισχώρησαν στο projet τη συγκεκριμένη ημέρα. Τυπική απόκλιση του LOC. Τυπική απόκλιση του B_dens. Τυπική απόκλιση του B_rep_dens. Q2 Τυπική απόκλιση του Q. tots2 totb2 tott2 totf2 Occ_Programers2 New_blood2 Τυπική απόκλιση του tots. Τυπική απόκλιση του totb. Τυπική απόκλιση του tott. Τυπική απόκλιση του totf. Τυπική απόκλιση του Occ_Programers. Τυπική απόκλιση του New_blood. Αξίζει να σημειωθεί ότι η εφαρμογή παρουσιάζει αρκετά προβλήματα. Ένα από αυτά ασυμβατότητα με το πρότυπο ANSI C. Επίσης σε μεγάλα project με πολλούς και μεγάλους υπολογισμούς είτε «κρεμάει», είτε παράγει αρνητικά αποτελέσματα λόγω υπερχείλισης. Για τη σωστή και εύκολη χρησιμοποίηση του μοντέλου η ανάπτυξη μιας νέας εφαρμογής είναι απαραίτητη. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 15

16 Κεφάλαιο 3 Συλλογή Πραγματικών Δεδομένων 1. Το CVS (Concurrent Versions System) Το CVS είναι ένα σύστημα ελέγχου εκδόσεων λογισμικού. Η χρήση του καθιστά δυνατή την καταγραφή του ιστορικού των αρχείων πηγαίου κώδικα ενός project. Για παράδειγμα τα ελαττώματα ενός αρχείου μπορούν να προκληθούν από μεταβολές του και υπάρχει περίπτωση να εντοπιστούν μετά από αρκετό καιρό. Με το CVS μπορούν εύκολα να ανακτηθούν παλιότερες εκδόσεις του λογισμικού και να βρεθούν ποιες αλλαγές προκάλεσαν το ελάττωμα. Φυσικά υπάρχει η εναλλακτική επιλογή της αποθήκευσης κάθε έκδοσης του κάθε αρχείου που έχει δημιουργηθεί. Αυτό όμως θα δέσμευε άσκοπα μεγάλο τμήμα του αποθηκευτικού χώρου. Το CVS αποθηκεύει όλες τις εκδόσεις ενός αρχείου σε ένα απλό αρχείο κατά ένα έξυπνο τρόπο, σημειώνοντας μόνο τις διαφορές μεταξύ των εκδόσεων. Ακόμη το CVS είναι πολύ χρήσιμο για μία ομάδα ατόμων που εργάζονται στο ίδιο project. Σε αυτή την περίπτωση είναι πολύ πιθανό να δουλεύουν δύο ή περισσότερα άτομα στο ίδιο αρχείο με αποτέλεσμα κάποιος προγραμματιστής να διαγράψει τις ενδιάμεσες αλλαγές που τυχόν γίνονταν την ίδια χρονική στιγμή από κάποιον άλλο. Η λύση του προβλήματος για το CVS στηρίζεται στο γεγονός ότι κάθε προγραμματιστής εργάζεται σε δικό του κατάλογο και τη στιγμή που ένας τελειώνει τότε η δουλειά του συγχωνεύεται στο σύνολο. Το CVS ξεκίνησε ως μια συλλογή από shell scripts γραμμένα από τον Dick Grune, τα οποία εστάλησαν στο newsgroup comp.sources.unix στην έκτη έκδοση που κυκλοφόρησε τον Ιούλη του Παρόλο που ο κώδικας αυτών των scripts δεν υπάρχει στην τρέχουσα έκδοση του CVS, οι περισσότεροι αλγόριθμοι αποφυγής συγκρούσεων προέρχονται από εκεί. Τον Απρίλιο του 1989 ο Brian Berliner σχεδίασε και προγραμμάτισε το CVS με τη βοήθεια του Jeff Polk. Στο CVS Repository υπάρχει ένα αντίγραφο όλων των αρχείων και των καταλόγων που βρίσκονται υπό έλεγχο. Οι χρήστες δεν μπορούν να επεξεργαστούν άμεσα τα αρχεία αυτά αλλά τα «κατεβάζουν» τοπικά στον υπολογιστή τους και στέλνουν πίσω τις αλλαγές τους με κατάλληλες εντολές του CVS. Το repository μπορεί να βρίσκεται είτε σε ένα τοπικό μηχάνημα, είτε σε ένα απομακρυσμένο. Σε ένα Unix σύστημα οι χρήστες που μπορούν να παρέμβουν στα αρχεία του CVS είναι χρήστες του συστήματος που ανήκουν στην ίδια ομάδα (group). Επίσης σε ένα CVS repository περιέχονται και άλλα στοιχεία όπως τα modules ενός project καθώς και logs των αλλαγών στον κώδικα. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 16

17 Σε αυτά τα logs περιέχονται πολύ χρήσιμες πληροφορίες σχετικά με την καταχώρηση (commit) όπως η χρονική στιγμή στην οποία πραγματοποιήθηκε, ο χρήστης που την εκτέλεσε, το αρχείο που επηρεάστηκε και το μέγεθος της αλλαγής πάνω σε αυτό. Το CVS μπορεί κανείς να το προμηθευτεί με διάφορους τρόπους όπως με μεταφόρτωσή του από το διαδίκτυο ( Επίσης υπάρχει ένα νεότερο σύστημα ελέγχου εκδόσεων λογισμικού, το subversion, ( το οποίο έχει σχεδόν τις ίδιες λειτουργίες με το CVS αλλά και βελτιώσεις σε χρόνια προβλήματα που αντιμετωπίζει το πρώτο. Στηριζόμενοι στο γεγονός ότι σχεδόν όλα τα project ΕΛ/ΛΑΚ ελέγχονται από CVS ή subversion σε συνδυασμό με τα χρήσιμα στοιχεία που αποθηκεύονται κατά την ανάπτυξή τους από τα συστήματα αυτά, τα καθιστούν ως το κυριότερο μέσο για συλλογή πραγματικών δεδομένων σχετικά με τη συμμετοχή και την εξέλιξη ενός project. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 17

18 2. Το CVSAnalY Το CVSAnalY είναι ένα εργαλείο που εξάγει στατιστικές πληροφορίες από τα logs ενός Repository του CVS ή του Subversion και τα μετατρέπει σε δεδομένα σχεσιακών βάσεων δεδομένων SQL, με σκοπό την εύκολη ανάκτηση και επεξεργασία τους. Επίσης υπάρχει η δυνατότητα κατασκευής στατιστικών γραφικών παραστάσεων και στατιστική ανάλυση των δεδομένων μέσω ενός web interface. Το CVSAnalY είναι γραμμένο στη γλώσσα προγραμματισμού Python ( και συνεργάζεται με τον εξυπηρετητή βάσεων δεδομένων MySQL ( Αναπτύσσεται από το Grupo de Sistemas y Comunicaciones του Πανεπιστημίου Rey Juan Carlos της Μαδρίτης (Ισπανία) και μπορεί να βρεθεί στην εξής ιστοσελίδα : http ://libresoft.urjc.es/cvsanaly/index.html. Το πρώτο βήμα πριν την εκτέλεση του εργαλείου είναι η δημιουργία ενός χρήστη και μιας βάσης δεδομένων στον εξυπηρετητή, στην οποία θα αποθηκευτούν οι πληροφορίες για το project που θα αναλυθεί. Έπειτα απαιτείται κατάλληλη παραμετροποίηση του αρχείου ρυθμίσεων config.py. Τα πιο σημαντικά μέρη που πρέπει να ρυθμιστούν είναι ο τύπος του Repository (CVS ή Subversion), η διεύθυνση του Repository για το συγκεκριμένο project και τα στοιχεία για τη σύνδεση με τη βάση δεδομένων. Όλα τα υπόλοιπα στοιχεία είναι προαιρετικά ενώ αξίζει να σημειωθεί ότι τα σχόλια δίπλα από την κάθε επιλογή είναι πολύ κατατοπιστικά. Ακολουθεί ένα παράδειγμα αρχείου ρυθμίσεων που χρησιμοποιήθηκε για το XMMS project (βλέπε Κεφάλαιο 4). #!/usr/bin/python # vim: set expandtab tabstop=4 shiftwidth=4: # # CVSAnalY: CVS and SVN Analysis Tool # # # # Copyright (c) Universidad Rey Juan Carlos (Madrid, Spain) # # This program is free software. You can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 or later of the GPL. # # Authors: # Gregorio Robles <grex@gsyc.escet.urjc.es> # # # $Id: config.py,v /08/17 11:06:35 grex Exp $ # Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 18

19 # CVSAnalY configuration file # # Repository type: can be 'cvs', 'svn' or 'arch' (in the future) config_repository_type = 'cvs' # Repository information # :pserver:username:password@server:path # (config_rsync has to be set to 0 in order to retrieve it from here) config_repository = ':pserver:anonymous@cvs.xmms.org:/cvs' # Rsyncing CVS repository? # if config_rsync=1, the source directory (config_sourcedirectory) # should be the root directory of the rsynced copy # as no working copy has to be retrieved config_rsync = 0 config_rsync_src = '' # Database information config_dbname = 'xmms' config_dbuser = 'operator' config_dbpass = 'operator' config_dbhost = 'localhost' # Send mail to administrator when finished? # If 1 (=yes) config_adminmail should contain the admin's address config_sendmail = 0 config_adminmail = '' config_tomail = '' config_smtpserver = '' # Modules you want to study (python-list syntax) config_modules = [ '.' ] # Directories where results and intermediate results will be stored # Have in mind you should have enough space for the sources, # the logs and the sql/xml output! # A good estimation is to have as much as twice the source code volume # free space in the disk you are going to use to store results config_maindirectory = '/home/mike/tmp/xmms/' # You can also rename following directories at your wish # although this is less important config_sourcedirectory = config_maindirectory + '/src/' config_sqldirectory = config_maindirectory + '/sql/' config_logsdirectory = config_maindirectory + '/logs/' config_graphsdirectory = config_maindirectory + '/graphs/' config_rsyncdirectory = config_maindirectory + '/rsync/' config_snadirectory = config_maindirectory + '/sna/' config_diffdirectory = config_maindirectory + '/diff/' # Evolutionary study? Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 19

20 # This is a space-saving option if you only want # to run cvsanal once # If this variable is 0, then the directories with the sources # and the logs will be removed to save disk space config_evolutionary = 1 # Study the diffs? # This enables the study of changed lines by analzing the diffs # Note that this is a time (and bandwith) consuming option (but only the # first time) # # If the study is evolutionary, it is only time consuming the first time! config_diff = 0 # Generate graphs/images? # Graphs and images will be generated # (and later on copied into the place where cvsanal-web is located) config_graphs = 1 # Generate developer in time statistics? # This will be time and space consuming if the number of commmiters # is very big!!! # If the study is evolutionary, it is only time consuming the first time! config_commiters_in_time = 0 # Social Network Analysis # config_alpha gives the exponent that is to be applied when studying # the evolution in time of the relationships # config_sna_threshold the minimum relationship to be considered config_sna = 0 config_alpha = 0.05 config_sna_threshold = 5 # Number of intervals/slots in time # If the project lasts for 10 years and you give 10, then you will # have ten 1-year slots # Should be a python list config_slots = [10] # Percentage above which commiters are not considered as most active # If you set it to 20, then the top 20% most active commiters will be # considered as the most active ones # Should be a python list config_thresholds = [20] # Web server database information # (this is important if cvsanal-web is run in another computer) # cvsanal-web location # Local cvsanal-web # config_webdirectory = '/var/www/cvsanal/' # Remote cvsanal-web - use scp syntax config_webserver = 0 config_webdirectory = '' Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 20

21 config_web_dbname = config_dbname config_web_dbuser = config_dbuser config_web_dbpass = config_dbpass config_web_dbhost = config_dbhost # (Python) list with the modules CVSAnalY should ommit # Please, leave CVS always in this list (or if not, at least you # should leave the empty list with an '' entry) config_ommitmodules = [ 'CVS' ] # (Python) dictionary with the commiters CVSAnalY should merge # Please, if there is no merge needed, then leave the dictionray empty # Entries should look like this: "old name": "new name" config_mergecommiters = { } # Logs register commits with the local time of the CVS repository # server. If for any circumstance, the server has temporarily an # absurd time, it will mess up all statistics. # # Hence, writing here the date of the first commit should be # a good idea. config_serverdateerror_where = "date > ' '" # Database global variable import _mysql db=_mysql.connect(config_dbhost, config_dbuser, config_dbpass, config_dbname) Ύστερα από τη ρύθμιση είμαστε σε θέση να τρέξουμε το εργαλείο πληκτρολογώντας σε μια κονσόλα την εντολή : $ python cvsanal.py Το CVSAnalY αρχικά θα κατεβάσει ένα αντίγραφο του Repository στον τοπικό κατάλογο που έχει προηγουμένως οριστεί. Στον υποκατάλογο src/ αποθηκεύονται τα αρχεία πηγαίου κώδικα, στον υποκατάλογο logs/ τα logs του Repository, στον υποκατάλογο sql/ θα δημιουργηθούν τα αρχεία που συμπληρώνουν τη βάση δεδομένων με στοιχεία και στον υποκατάλογο graphs/ θα δημιουργηθούν οι γραφικές παραστάσεις εφόσον η ενέργεια αυτή έχει προηγουμένως επιλεχτεί. Η συνολική διαδικασία μπορεί να διαρκέσει μεγάλο χρονικό διάστημα (έως και μία ημέρα) ανάλογα με το μέγεθος του Repository καθώς και της επιλογής των επιπλέον λειτουργιών. Μετά την περάτωση της διαδικασίας στη βάση δεδομένων έχουν δημιουργηθεί 3 βασικοί σχεσιακοί πίνακες που περιέχουν τον αριθμό και τα ονόματα των συντελεστών, τον αριθμό και την περιγραφή των διαφορετικών τύπων αρχείων και τον αριθμό των modules του project με την περιγραφή Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 21

22 τους. Για το κάθε module υπάρχουν τρεις σχεσιακοί πίνακες με στοιχεία για τους προγραμματιστές που έχουν συνεισφέρει στο συγκεκριμένο module, τους καταλόγους του Repository όπου βρίσκονται αρχεία του και τα logs του Repository που το αφορούν. Ο πίνακας με τα logs είναι ο πιο σημαντικός διότι περιέχει αναλυτικά πληροφορίες για την κάθε καταχώρηση και από αυτόν εξάγονται οι περισσότερες πληροφορίες. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 22

23 3. Το CVSAnalY-DBExport Το CVSAnalY-DBExport είναι ένα εργαλείο που έγραψα με σκοπό την ανάκτηση των πληροφοριών από τη βάση δεδομένων που δημιουργεί το CVSAnalY, σε μορφή τέτοια έτσι ώστε να μπορούν να συγκριθούν με τα αποτελέσματα της προσομοίωσης. Επίσης υπάρχει η δυνατότητα υπολογισμού των δεδομένων εισόδου του μοντέλου για ένα δοσμένο αριθμό αρχικών ημερών του project. Το εργαλείο είναι γραμμένο σε γλώσσα προγραμματισμού PHP ( και τα αποτελέσματά του παράγονται σε HTML ιστοσελίδες. Αρχικά το CVSAnalY-DBExport απαιτεί την εισαγωγή των ορισμάτων για σύνδεση με τη βάση δεδομένων (MySQL) όπου βρίσκονται αποθηκευμένες οι πληροφορίες του project. Τα ορίσματα αποθηκεύονται σε ένα PHP SESSION μοναδικό για το χρήστη. Στην εικόνα φαίνεται η αρχική σελίδα του εργαλείου. Εικόνα : Εισαγωγή ορισμάτων για σύνδεση με τη Βάση Δεδομένων. Στη συνέχεια ελέγχονται οι δοσμένες τιμές και ον η σύνδεση είναι επιτυχής τότε ο χρήστης μπορεί να συνεχίσει στην επόμενη σελίδα (Εικόνα 3.3.2). Αν η σύνδεση αποτύχει τότε πρέπει να γίνει επιστροφή στην προηγούμενη σελίδα των ρυθμίσεων και να διορθωθούν τα τυχόν λάθος ορίσματα (Εικόνα 3.3.3). Στο επόμενο βήμα εμφανίζεται μια λίστα με τα modules του project και δυνατότητα επιλογής του module που μας ενδιαφέρει (Εικόνα 3.3.4). Για το κάθε module υπάρχουν δύο διαθέσιμες ενέργειες: Η εμφάνιση της εξέλιξής του στο χρόνο και ο υπολογισμός των δεδομένων εισόδου που απαιτεί το μοντέλο προσομοίωσης για δοσμένο αριθμό αρχικών ημερών (Εικόνα 3.3.5). Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 23

24 Εικόνα : Έλεγχος τιμών. Επιτυχία και προτροπή συνέχισης στην επόμενη σελίδα. Εικόνα : Έλεγχος τιμών. Αποτυχία και προτροπή επιστροφής στη σελίδα ρυθμίσεων. Εικόνα : Λίστα των modules του project. Εικόνα : Πληροφορίες επιλεγμένου module και διαθέσιμες επιλογές. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 24

25 Η επιλογή της εξέλιξης στο χρόνο περιέχει αναλυτικά για κάθε ημέρα του project τον αριθμό των καταχωρήσεων (commits) ανά ημέρα, τις συνολικές καταχωρήσεις, τον αριθμό των γραμμών κώδικα που προστέθηκαν ανά ημέρα, το συνολικό αριθμό γραμμών κώδικα και το σύνολο των ενεργών συντελεστών (commiters) (Εικόνα 3.3.5). Εικόνα : Εξέλιξη στο χρόνο για το επιλεγμένο module. O υπολογισμός των παραπάνω τιμών γίνεται ως εξής : Για κάθε ημέρα πού στο project υπάρχει καταχώρηση αθροίζεται το σύνολό τους και παράλληλα προστίθεται και στις συνολικές καταχωρήσεις όλων των ημερών. Επίσης υπολογίζεται ο αριθμός των γραμμών κώδικα που προστέθηκαν στις ημερήσιες καταχωρήσεις και όμοια ο αριθμός αυτός προστίθεται και στο σύνολό τους για όλες τις ημέρες που έχουν περάσει. Σε κάθε ημέρα του project υπολογίζεται επίσης και ο αριθμός των ενεργών προγραμματιστών, δηλαδή όσων έχουν ήδη πραγματοποιήσει τουλάχιστον μία καταχώρηση στις προηγούμενες ή στην τρέχουσα ημέρα. Η επιλογή του υπολογισμού δεδομένων εισόδου εκτελεί έναν υπολογισμό με τα στοιχεία της βάσης δεδομένων και παράγει τις τιμές που θα χρησιμοποιηθούν ως είσοδοι στο μοντέλο προσομοίωσης. Οι τιμές που παράγονται είναι η μέση τιμή και η τυπική απόκλιση του αριθμού γραμμών κώδικα ανά καταχώρηση, η μέση τιμή και η τυπική απόκλιση του αριθμού των ημερών που απαιτούνται για τη συγγραφή μίας γραμμής κώδικα, η μέση τιμή του αριθμού των καταχωρήσεων ανά ημέρα, η μέση τιμή των ημερών όπου παρουσιάστηκε το μέγιστο ενδιαφέρον κάθε προγραμματιστή και το σύνολό των βασικών προγραμματιστών, δηλαδή όσων έχουν κάνει τη μεγαλύτερη συνεισφορά κατά την εξέλιξη του έργου. (Εικόνα 3.3.6). Όλοι οι προαναφερόμενοι υπολογισμοί εκτελούνται για ένα αριθμό αρχικών ημερών που έχει εισάγει ο χρήστης με την επιλογή της ενέργειας αυτής. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 25

26 Εικόνα : Υπολογισμός δεδομένων εισόδου δια δοσμένο αριθμό αρχικών ημερών. O υπολογισμός των παραπάνω τιμών γίνεται ως εξής : Για τον υπολογισμό των γραμμών κώδικα ανά καταχώρηση αρχικά δημιουργείται ένας πίνακας με μήκος όσο και ο αριθμός όλων των καταχωρήσεων και με τιμές τον αριθμό των γραμμών κώδικα που προστέθηκαν σε κάθε καταχώρηση. Στη συνέχεια υπολογίζεται η μέση τιμή και η τυπική απόκλιση όλων των τιμών του πίνακα. Για τον υπολογισμό των ημερών που απαιτούνται για τη συγγραφή μιας γραμμής κώδικα αρχικά ανακτούμε όλες τις καταχωρήσεις με τον αριθμό των γραμμών κώδικα και τη χρονική στιγμή που πραγματοποιήθηκε. Αφού δεσμευθεί η πρώτη τιμή ως αναφορά στη συνέχεια αφαιρείται από τη χρονική στιγμή της κάθε καταχώρησης η χρονική στιγμή της προηγούμενης και το αποτέλεσμα διαιρείται με τον αριθμό των γραμμών που προστέθηκαν στη συγκεκριμένη καταχώρηση. Οι τιμές αυτές συλλέγονται σε ένα πίνακα και υπολογίζεται η μέση τιμή και η τυπική απόκλισή τους. Ο υπολογισμός των καταχωρήσεων ανά ημέρα έχει περιγραφεί στην προηγούμενη ενέργεια. Η επιπλέον διαδικασία είναι η συλλογή όλων των τιμών και ο υπολογισμός της μέσης τιμής τους. Όπως περιγράφτηκε στο Κεφάλαιο 2.1 υπάρχει για κάθε προγραμματιστή μία ημέρα S0 όπου το ενδιαφέρον του για το project μεγιστοποιείται, ενώ μετά από αυτή την ημέρα το ενδιαφέρον του μειώνεται. Θεωρώντας ότι η ημέρα αυτή είναι το μέσο από το σύνολο των ημερών όπου κάθε προγραμματιστής είχε ενεργή συνεισφορά στο project [ (Ημέρα Τελευταίας Καταχώρησης Ημέρα Πρώτης Καταχώρησης)/2 ], υπολογίζονται οι ημέρες αυτές για όλους τους συνεισφέροντες καθώς και η μέση τιμή τους. Για τον υπολογισμό του αριθμού των βασικών προγραμματιστών χρησιμοποιείται ο νόμος του Pareto. Σύμφωνα με το νόμο αυτό το 80% της συνολικής δουλειάς παράγεται από το 20% των εργαζόμενων. Έτσι υπολογίζεται το σύνολο των προγραμματιστών και επιλέγεται το 1/5 ως ο αριθμός των βασικών προγραμματιστών. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 26

27 Κεφάλαιο 4 Προσομοίωση & Σύγκριση Αποτελεσμάτων Τα δύο βήματα που απαιτούνται για την επικύρωση του μοντέλου είναι η βαθμονόμηση των εσωτερικών παραμέτρων συμπεριφοράς του (ανεξάρτητοι των project ) και η προσομοίωση άλλων project ΕΛ/ΛΑΚ για σύγκριση των αποτελεσμάτων με πραγματικά δεδομένα. Το μοντέλο στο παρελθόν έχει εφαρμοστεί επιτυχώς στον Apache Web Server ( (Ι. Αντωνιάδης, 2003) και στο gtk+ module του GNOME project ( (Ι. Αντωνιάδης 2005). Στις προαναφερόμενες μελέτες όπου χρησιμοποιήθηκαν δεδομένα από σχετικές για τα project αναλύσεις (case studies), υπολογίστηκαν οι παράμετροι συμπεριφοράς του μοντέλου καθώς και οι αρχικές τιμές της προσομοίωσης για τα αντίστοιχα project. Οι τιμές των παραμέτρων της συμπεριφοράς του μοντέλου που έχουν υπολογιστεί μπορούν να χρησιμοποιηθούν και σε προσομοιώσεις άλλων έργων εφόσον είναι ανεξάρτητες των project. Στο υπολογισμό όμως των συγκεκριμένων για κάθε project τιμών υπάρχει πρόβλημα γιατί τέτοιου είδους αναλύσεις δε γίνονται συχνά και οι διαθέσιμες εστιάζουν στα δημοφιλή project. Για να μπορέσει όμως το μοντέλο να εφαρμοστεί σε όλα τα project ΕΛ/ΛΑΚ η συλλογή δεδομένων έπρεπε να γίνει από στοιχεία που είναι διαθέσιμα στο κοινό όπως τα repository του CVS ή του Subversion, τα οποία χρησιμοποιούνται από σχεδόν όλα τα έργα ανοιχτού κώδικα. Δυστυχώς όμως η παρούσα έκδοση του μοντέλου δεν μπορεί να επικυρωθεί ολόκληρη λόγω έλλειψης σημαντικών στοιχείων. Συγκεκριμένα δεν υπάρχουν καθόλου δεδομένα για τη δραστηριότητα στην εργασία τύπου T (δοκιμή και αναφορά ελαττωμάτων) και για την πυκνότητα ελαττωμάτων.. Στις ενότητες που ακολουθούν παρουσιάζονται τα αποτελέσματα από την εφαρμογή της προσομοίωσης σε δύο project πολυμέσων, το XMMS και τον Mplayer. Τα δεδομένα από το CVS (γραμμές κώδικα, αριθμός καταχωρήσεων κτλ) είναι διαθέσιμα ανά module και όχι συνολικά για όλο το project. Για το λόγο αυτό εφαρμόστηκε η προσομοίωση στο κυριότερο και μεγαλύτερο module κάθε project που ουσιαστικά αποτελεί το βασικό τμήμα της λειτουργίας του. Άλλωστε τα συγκεκριμένα project αποτελούνταν από πολύ λίγα modules τα οποία είχαν πολύ μικρή ανάπτυξη. Έτσι απενεργοποιήθηκαν οι εργασίες τύπου S καθότι δεν υπάρχει αλλαγή του αριθμού των modules κατά τη διάρκεια της προσομοίωσης. Τα ποσοστά του αρχικού ενδιαφέροντος των προγραμματιστών πάρθηκαν από την προσομοίωση του gtk+ module και έχουν ως εξής: 0% των προγραμματιστών αρχικά ενδιαφέρονται για δημιουργία νέου module (S), 3.89% για διόρθωση ελαττωμάτων (B), 53.7% για δοκιμή και αναφορά ελαττωμάτων (T) και 42.41% για λειτουργική βελτίωση (F). Στους παράγοντες συμπεριφοράς του μοντέλου και στις αρχικές τιμές που δεν υπάρχουν δεδομένα για τον υπολογισμό Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 27

28 τους, χρησιμοποιήθηκαν στοιχεία που είχαν υπολογιστεί στην προσομοίωση του Apache Project. Στη συνέχεια με το CVSAnalY-DBExport υπολογίστηκαν οι διαθέσιμες αρχικές τιμές για τις μισές ημέρες του κάθε project. Ακολούθησε η προσομοίωση για το σύνολο των ημερών ανάπτυξης και σύγκριση των αποτελεσμάτων. Επίσης τα αποτελέσματα των στοιχείων για τα οποία υπάρχει έλλειψη πραγματικών δεδομένων, παρουσιάζονται αλλά χωρίς σύγκριση. Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 28

29 1. Το XMMS Project (X MultiMedia System) Το XMMS (X Multimedia System) είναι ένας αναπαραγωγέας ήχου και διαθέτει ένα προσαρμόσιμο ενδιάμεσο χρήστη γραμμένο στη βιβλιοθήκη γραφικών gtk+ των XWindows. Χρησιμοποιείται για αναπαραγωγή αρχείων ήχου αλλά και άλλου είδους αρχεία πολυμέσων. Το XMMS μπορεί αναπαράγει MPEG audio, Ogg Vorbis, RIFF wav και κάποιες ακόμα μορφές αρχείων. Επίσης έχει τη δυνατότητα της επέκτασης μέσω plugins και την αναπαραγωγή διάφορων μορφών ήχου και βίντεο. Είναι ελεύθερο λογισμικό και είναι διαθέσιμο από την ιστοσελίδα Τη χρονική στιγμή που συλλέχθηκαν δεδομένα από το CVS του XMMS, το project είχε ήδη διανύσει 2112 ημέρες. Έτσι υπολογίστηκαν οι αρχικές τιμές του μοντέλου για τις πρώτες 1000 ημέρες και στη συνέχεια εκτελέστηκε η προσομοίωση για τις διπλάσιες (2000 ημέρες). Στον Πίνακα παρουσιάζονται οι τιμές αυτές μαζί με την πηγή προέλευσής τους. Πίνακας : Τιμές και Παράμετροι εισόδου για την προσομοίωση του XMMS project. Παράμετρος Τιμή Πηγή L i S,σ Li S L i F,σ Li F ( , ) - Γραμμές Κώδικα / Καταχώρηση d i,σ d i (2, 3) Ελαττώματα / 1000 Γραμμές Κώδικα Υπολογισμός με το CVSAnalY-DBExport Έλλειψη δεδομένων - Ίδιες τιμές με αυτές του Apache Project T i,σ T i (50%, 25%) Έλλειψη δεδομένων - Ίδιες τιμές με αυτές του Apache Project t i S, σ ti S ( , ) Υπολογισμός με το CVSAnalY-DBExport t i B,σ ti B (35, 47) Ημέρες Έλλειψη δεδομένων - Ίδιες τιμές με αυτές του Apache Project t i T,σ ti T (1, 2) Ημέρες Έλλειψη δεδομένων - Ίδιες τιμές με αυτές του Apache Project N 0 8 Υπολογισμός με το CVSAnalY-DBExport Q Υπολογισμός από την εφαρμογή του Η/Υ w R, w L, w A, J ( , , 0.0, 0.0) Έλλειψη δεδομένων - Ίδιες τιμές με αυτές του Apache Project N core 3 Υπολογισμός με το CVSAnalY-DBExport S Ημέρες Υπολογισμός με το CVSAnalY-DBExport Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 29

30 Κατώφλι Λειτουργικής Ολοκλήρωσης Γραμμές Κώδικα Λογική Υπόθεση Η παράμετρος «Κατώφλι Λειτουργικής Ολοκλήρωσης» είναι το σημείο όπου πιστεύεται πως το project θα ολοκληρωθεί λειτουργικά και θα σταματήσει να αναπτύσσεται. Δεδομένου του ότι το XMMS από τις 1500 ημέρες και έπειτα παρουσιάζει μια μείωση στο ρυθμό ανάπτυξης και κυμαίνεται μέχρι την ημέρα 2000 στις 300 με 350 χιλιάδες γραμμές κώδικα, θεωρείται ότι η ανάπτυξή του δεν θα ξεπεράσει τις 500 χιλιάδες γραμμές κώδικα. Η προσομοίωση επαναλήφθηκε 100 φορές και οι μέσες τιμές παρουσιάζονται στον πίνακα Επίσης οι τιμές αυτές συγκρίνονται με όσα πραγματικά δεδομένα ήταν διαθέσιμα. Πίνακας : Σύγκριση αποτελεσμάτων προσομοίωσης με πραγματικά δεδομένα για το XMMS project. Μεταβλητή Προσομοίωση (Μέση τιμή +/- Τυπική Απόκλιση) Πραγματικά Δεδομένα Σύνολο γραμμών κώδικα (1000 ημέρες) / ΓΚ ΓΚ Σύνολο γραμμών κώδικα (2000 ημέρες) ,86 +/ ,1 ΓΚ ΓΚ Μέση πυκνότητα ελαττωμάτων (1000 ημέρες) / Ελαττώματα/1000ΓΚ - Μέση πυκνότητα ελαττωμάτων (2000 ημέρες) / Ελαττώματα/1000ΓΚ - Μέσος αριθμός αναφερόμενων ελαττωμάτων (1000 ημέρες) Μέσος αριθμός αναφερόμενων ελαττωμάτων (2000 ημέρες) Συνολική δραστηριότητα σε εργασίες τύπου B+F (1000 ημέρες) Συνολική δραστηριότητα σε εργασίες τύπου B+F (2000 ημέρες) Συνολική δραστηριότητα σε εργασίες τύπου T (1000 ημέρες) Συνολική δραστηριότητα σε εργασίες τύπου T (2000 ημέρες) Συνολική δραστηριότητα σε όλες τις εργασίες (1000 ημέρες) Συνολική δραστηριότητα σε όλες τις εργασίες (2000 ημέρες) / Ελαττώματα/1000ΓΚ / Ελαττώματα/1000ΓΚ / Εργασίες 3645 Εργασίες / Εργασίες 4925 Εργασίες / Εργασίες / Εργασίες / Εργασίες / Εργασίες - Αριθμός συνολικών συντελεστών (1000 ημέρες) / Συντελεστές 15 Συντελεστές Αριθμός συνολικών συντελεστών (2000 ημέρες) / Συντελεστές 16 Συντελεστές - - Στην εικόνα (α) φαίνονται οι συνολικές γραμμές κώδικα για 2000 ημέρες ανάπτυξης του Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 30

31 XMMS. Την ημέρα 1000 έχουν γραφτεί ±20895 γραμμές κώδικα σύμφωνα με τα αποτελέσματα της προσομοίωσης και στην πραγματικότητα έχουν γραφτεί γραμμές κώδικα. Την ημέρα 2000 έχουν γραφτεί ±30674 γραμμές κώδικα σύμφωνα με τα αποτελέσματα της προσομοίωση και στην πραγματικότητα έχουν γραφτεί γραμμές κώδικα. Η μεσαία καμπύλη είναι ο μέσος όρος των 100 επαναλήψεων και οι άλλες δύο είναι η τυπική απόκλιση πάνω και κάτω από το μέσο όρο. Είναι φανερό πως το μοντέλο έχει δώσει πολύ αξιόπιστα αποτελέσματα για τις γραμμές κώδικα. Η εικόνα (β) παρουσιάζει την πραγματική καμπύλη των συνολικών γραμμών κώδικα στο χρόνο για το XMMS project. Την εικόνα αυτή κατασκεύασε το CVSAnalY με τα δεδομένα από το CVS Repository του XMMS. Εικόνα : Εξέλιξη στον αριθμού των γραμμών κώδικα του XMMS project. (α) (Αποτελέσματα προσομοίωσης) Συνολικές Γραμμές Κώδικα στο χρόνο. Η μπλε γραμμή είναι ο μέσος όρος των 100 επαναλήψεων ενώ η κόκκινη και κίτρινη είναι η τυπική απόκλιση από το μέσο όρο πάνω και κάτω αντίστοιχα. Γραμμές Κώδικα Σύνολικές Γραμμές Κώδικα στο Χρόνο Χρόνος (Ημέρες) Επικύρωση ενός Μοντέλου Προσομοίωσης έργων ΕΛ/ΛΑΚ 31

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

Διαβάστε περισσότερα

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Χειμερινό Εξάμηνο

Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Χειμερινό Εξάμηνο Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ463 Συστήματα Ανάκτησης Πληροφοριών 2009-2010 Χειμερινό Εξάμηνο 2 η Σειρά Ασκήσεων Αξία: 5% του τελικού σας βαθμού Bzr (Bazaar) Το Bazaar (ή bzr) είναι

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1 Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave Περιεχόμενο εργαστηρίου: - Το περιβάλλον ανάπτυξης προγραμμάτων Octave - Διαδικασία ανάπτυξης προγραμμάτων MATLAB - Απλά

Διαβάστε περισσότερα

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δημιουργία μιας εφαρμογής Java με το NetBeans Δημιουργία μιας εφαρμογής Java με το NetBeans Για να δημιουργήσετε μια εφαρμογή Java πρέπει να ακολουθήσετε τα εξής βήματα : Αρχικά πρέπει να δημιουργηθεί ένα project το οποίο θα περιέχει όλα τα αρχεία

Διαβάστε περισσότερα

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP)

Γιάννης Σαμωνάκης. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP) ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 4 - PHP) Γιάννης Σαμωνάκης 1 Περιεχόμενα Τι είναι η PHP Που μπορεί να χρησιμοποιηθεί

Διαβάστε περισσότερα

Τεκμηρίωση Tetravex i. Τεκμηρίωση Tetravex

Τεκμηρίωση Tetravex i. Τεκμηρίωση Tetravex i Τεκμηρίωση Tetravex ii Copyright 2001 Rob Bradford Copyright 2007-2008 Χρήστος Μπούνταλης (mpounta@gmail.com) Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης

Διαβάστε περισσότερα

Αναζήτηση στον Ιστό. Πληκτρολόγηση του URL: στο πλαίσιο αναζήτησης του Mozilla Firefox. Enter ή κλικ στο Αναζήτηση

Αναζήτηση στον Ιστό. Πληκτρολόγηση του URL:  στο πλαίσιο αναζήτησης του Mozilla Firefox. Enter ή κλικ στο Αναζήτηση Αναζήτηση στον Ιστό Χρήση μιας μηχανής αναζήτησης Επιλογή συγκεκριμένης μηχανής αναζήτησης Είναι συχνό το φαινόμενο να θέλει ο χρήστης να εντοπίσει πληροφορίες στο διαδίκτυο και να μην ξέρει που να κοιτάξει.

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

Διαβάστε περισσότερα

Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης

Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Οδηγίες Αναβάθμισης (Upgrade) Ομάδα Εργασίας: Τσιμπάνης Κωνσταντίνος, Εξηνταρίδης Γιάννης Αθήνα, 30 Σεπτεμβρίου 2009 Εισαγωγή Η πλατφόρμα Open eclass

Διαβάστε περισσότερα

Ελεύθερο Λογισμικό. Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι)

Ελεύθερο Λογισμικό. Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι) Ελεύθερο Λογισμικό Η αρχή της ιστορίας Κιαγιαδάκης Γιώργος (το labάκι) Τι είναι το Λογισμικό; Τι είναι το Λογισμικό; Λογισμικό Οδηγίες (Προγράμματα) Δεδομένα... για τον Ηλεκτρονικό Υπολογιστή Τι είναι

Διαβάστε περισσότερα

Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i. Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6

Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i. Εγχειρίδιο της εφαρμογής αναπαραγωγής CD V2.6 i της CD V2.6 ii Copyright 2002, 2003, 2004 Sun Microsystems Copyright 2009 Στέργιος Προσινικλής (steriosprosinikls@gmail.com) Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους

Διαβάστε περισσότερα

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων .. Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Μάθημα Βασικές Έννοιες - . Ύλη Εργαστηρίου ΒΔ Ύλη - 4 Ενότητες.1 - Σχεδιασμός Βάσης Δεδομένων.2 Δημιουργία Βάσης Δεδομένων Δημιουργία Πινάκων Εισαγωγή/Ανανέωση/Διαγραφή

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Βήμα 1: Step 1: Βρείτε το βιβλίο που θα θέλατε να αγοράσετε και πατήστε Add to Cart, για να το προσθέσετε στο καλάθι σας. Αυτόματα θα

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

Διαβάστε περισσότερα

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή Δημιουργία Νέου αρχείου Από το μενού προγραμμάτων ανοίγετε το DEV C++ Επιλέγετε File-> New-> Source File (συντόμευση πληκτρολογίου Ctrl+N)

Διαβάστε περισσότερα

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

Διαβάστε περισσότερα

Οδηγός Ιδιοτήτων GStreamer V2.4

Οδηγός Ιδιοτήτων GStreamer V2.4 i Οδηγός Ιδιοτήτων GStreamer ii Copyright 2003 Christian Fredrik Kalager Schaller Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC

ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC ΛΟΓΙΣΜΙΚΟ ΠΡΟΣΟΜΟΙΩΣΗΣ ANYLOGIC Χρησιμοποιούμε την δωρεάν έκδοση του λογισμικού προσομοίωσης Anylogic. Για εκπαιδευτική χρήση μπορείτε να «κατεβάσετε» και να εγκαταστήσετε στον υπολογιστή σας την Personal

Διαβάστε περισσότερα

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η χρησιμοποίηση κάποιων εφαρμογών που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων)

Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων) Σεμινάριο Wordpress CMS (Δημιουργία Δυναμικών Ιστοσελίδων) Τι είναι το Wordpress: To Wordpress είναι ένα δωρεάν ανοικτού κώδικα (open source) λογισμικό (εφαρμογή), με το οποίο μπορεί κάποιος να δημιουργεί

Διαβάστε περισσότερα

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

Διαβάστε περισσότερα

PortSip Softphone. Ελληνικά Ι English 1/20

PortSip Softphone. Ελληνικά Ι English 1/20 PortSip Softphone Ελληνικά Ι English 1/20 1. Περιεχόμενα 2. Εγκατάσταση σε Smartphone & Tablet (Android ή ios)... 1 3. Εγκατάσταση σε ηλεκτρονικό υπολογιστή (Windows ή Mac).... 5 4. Installation in Smartphone

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων -Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a) Create

Διαβάστε περισσότερα

28η Συνάντηση Εκπαιδευτικών Δυτικής Μακεδονίας στις ΤΠΕ Φλώρινα 7/4/2013. To wordpress εγκατάσταση στο ΠΣΔ

28η Συνάντηση Εκπαιδευτικών Δυτικής Μακεδονίας στις ΤΠΕ Φλώρινα 7/4/2013. To wordpress εγκατάσταση στο ΠΣΔ Δυτικής Μακεδονίας στις ΤΠΕ Φλώρινα 7/4/2013 To wordpress εγκατάσταση στο ΠΣΔ 1 Τι είναι το wordpress; Το WordPress ξεκίνησε ως μια πλατφόρμα για blogs, αλλά από τότε έχει εξελιχθεί σε μια πλήρη πλατφόρμα

Διαβάστε περισσότερα

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων ..?????? Εργαστήριο ΒΑΣΕΙΣ????????? ΔΕΔΟΜΕΝΩΝ Βάσεων Δεδομένων?? ΙΙ Εισαγωγικό Μάθημα Βασικές Έννοιες - . Γενικά Τρόπος Διεξαγωγής Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα

Διαβάστε περισσότερα

Ένωση Ελλήνων Χρηστών και Φίλων ΕΛ/ΛΑΚ

Ένωση Ελλήνων Χρηστών και Φίλων ΕΛ/ΛΑΚ Ένωση Ελλήνων Χρηστών και Φίλων ΕΛ/ΛΑΚ Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα Ελεύθερο Λογισμικό Λογισμικό Ανοικτού Κώδικα GNU/Linux and FOSS Το κίνημα του ελεύθερου λογισμικού Έχει ως στόχο να

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++

ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση του περιβάλλοντος Dev C++ το οποίο θα χρησιμοποιηθεί για την υλοποίηση

Διαβάστε περισσότερα

Εισαγωγή στο περιβάλλον Code::Blocks

Εισαγωγή στο περιβάλλον Code::Blocks Εισαγωγή στο περιβάλλον Code::Blocks Στο παρόν εγχειρίδιο παρουσιάζεται η διαδικασία ανάπτυξης, μεταγλώττισης και εκτέλεσης ενός προγράμματος C στο περιβάλλον του Code::Blocks. Η διαδικασία αυτή παρουσιάζεται

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

Θερινό Σχολείο, 14 20 Ιουλίου 2014. Εισαγωγή στο. Αχιλλέας Πιπινέλης. Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας

Θερινό Σχολείο, 14 20 Ιουλίου 2014. Εισαγωγή στο. Αχιλλέας Πιπινέλης. Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας Θερινό Σχολείο, 14 20 Ιουλίου 2014 Εισαγωγή στο Αχιλλέας Πιπινέλης Μονάδα Αριστείας ΕΛ/ΛΑΚ ΤΕΙ Αθήνας Βασικές πληροφορίες 2 Το Git αρχικά σχεδιάστηκε και αναπτύχθηκε από τον Linus Torvalds για την ανάπτυξη

Διαβάστε περισσότερα

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

Διαβάστε περισσότερα

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην

Διαβάστε περισσότερα

Οδηγός Χρήσης Εργαστηρίων UNIX (LINUX) B103 και 103 και απομακρυσμένης πρόσβασης με την χρήση X2Go

Οδηγός Χρήσης Εργαστηρίων UNIX (LINUX) B103 και 103 και απομακρυσμένης πρόσβασης με την χρήση X2Go 28 Ιουλίου 2016 Οδηγός Χρήσης Εργαστηρίων UNIX (LINUX) B103 και 103 και απομακρυσμένης πρόσβασης με την χρήση X2Go Πανεπιστήμιο Κύπρου, Τμήμα Πληροφορικής Σάββας Νικηφόρου Version 2.3 Πίνακας περιεχομένων

Διαβάστε περισσότερα

Διαχείριση Βάσης Δεδομένων (dbadmin)

Διαχείριση Βάσης Δεδομένων (dbadmin) Published on PRISMA Win Help - Megasoft (http://docs.megasoft.gr) Home > Εμπορική Διαχείριση > Διαχείριση Βάσης Δεδομένων (dbadmin) Διαχείριση Βάσης Δεδομένων (dbadmin) Μέσα από τη διαχείριση βάσης δεδομένων

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Τρόπος Διεξαγωγής #1 Ύλη (4 Ενότητες) 1. Ανάλυση Απαιτήσεων - Σχεδιασμός Βάσης Δεδομένων 2. Δημιουργία βάσης a)

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε

Διαβάστε περισσότερα

Εισαγωγή στην Python. Διάλεξη 0

Εισαγωγή στην Python. Διάλεξη 0 Εισαγωγή στην Python Διάλεξη 0 Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Τι είναι ο προγραμματισμός : Αλγόριθμος γραμμένος σε γλώσσα που καταλαβαίνει

Διαβάστε περισσότερα

«ΨΥΧΙΚΗ ΥΓΕΙΑ ΚΑΙ ΣΕΞΟΥΑΛΙΚΗ» ΠΑΝΕΥΡΩΠΑΪΚΗ ΕΡΕΥΝΑ ΤΗΣ GAMIAN- EUROPE

«ΨΥΧΙΚΗ ΥΓΕΙΑ ΚΑΙ ΣΕΞΟΥΑΛΙΚΗ» ΠΑΝΕΥΡΩΠΑΪΚΗ ΕΡΕΥΝΑ ΤΗΣ GAMIAN- EUROPE «ΨΥΧΙΚΗ ΥΓΕΙΑ ΚΑΙ ΣΕΞΟΥΑΛΙΚΗ» ΠΑΝΕΥΡΩΠΑΪΚΗ ΕΡΕΥΝΑ ΤΗΣ GAMIAN- EUROPE We would like to invite you to participate in GAMIAN- Europe research project. You should only participate if you want to and choosing

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. ΟΔΗΓΙΕΣ ΓΙΑ ΤΟ ΠΑΙΧΝΙΔΙ. Το πρώτο πράγμα που βλέπουμε μόλις ξεκινάμε το παιχνίδι είναι μια λίστα με όλα τα διαθέσιμα βίντεο με τα οποία μπορούμε να εξασκηθούμε. Σε αυτή περιλαμβάνονται επίσης πληροφορίες

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός

Δομημένος Προγραμματισμός Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΕΣΜΕΥΜΕΝΑ ΟΝΟΜΑΤΑ +- Υπάρχουν ορισμένες

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I Πιτροπάκης Νικόλαος Υποψήφιος Διδάκτορας Contact: npitrop@unipi.gr Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr If at first you don't succeed, call it version

Διαβάστε περισσότερα

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Μανώλης Κιαγιάς, MSc Aiolos Project Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Χανιά, 2015 2 (C) 2014 Μανώλης Κιαγιάς, manolis@freebsd.org Το παρόν έργο διατίθεται υπό τους όρους της Άδειας: Αναφορά

Διαβάστε περισσότερα

Σχεδιασμός Βάσεων Δεδομένων

Σχεδιασμός Βάσεων Δεδομένων Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Σχεδιασμός Βάσεων Δεδομένων Εργαστήριο 4 Δρ. Βασιλική Κούφη Περιεχόμενα Υλοποίηση Βάσεως Δεδομένων Εκτέλεση ερωτημάτων SQL στην Βάση Δεδομένων BHMA 1. Σχεδιασμός

Διαβάστε περισσότερα

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!!

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! VBA ΣΤΟ WORD Version 25-7-2015 ΗΜΙΤΕΛΗΣ!!!! Μου παρουσιάστηκαν δύο θέματα. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Εγραφα σε ένα αρχείο του Word τις

Διαβάστε περισσότερα

3. Προσομοίωση ενός Συστήματος Αναμονής.

3. Προσομοίωση ενός Συστήματος Αναμονής. 3. Προσομοίωση ενός Συστήματος Αναμονής. 3.1. Διατύπωση του Προβλήματος. Τα συστήματα αναμονής (queueing systems), βρίσκονται πίσω από τα περισσότερα μοντέλα μελέτης της απόδοσης υπολογιστικών συστημάτων,

Διαβάστε περισσότερα

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη.

Όλοι οι χρήστες του Turnitin πρέπει να δημιουργήσουν ένα προφίλ χρήστη. Οδηγίες για καθηγητές Για τη χρήση του Turnitin απαιτούνται τα παρακάτω βήματα: 1. Δημιουργία λογαριασμού 2. Δημιουργία τάξης και διαχείριση πληροφοριών τάξης 3. Δημιουργία εργασίας και σχετικές ρυθμίσεις

Διαβάστε περισσότερα

Simulation Parameters. Behavioural model fixed parameters (BMFixed)

Simulation Parameters. Behavioural model fixed parameters (BMFixed) Simulation s Number of simulation steps Number of repetions Time Scale Ο αριθµός των βηµάτων χρόνου για κάθε ένα run. Ο αριθµός των runs που θα εκτελεστούν για να ολοκληρωθεί η προσοµοίωση. Το µήκος της

Διαβάστε περισσότερα

O7: Πρόγραμμα Κατάρτισης Εκπαιδευτικών O7-A1: Αναπτύσσοντας εργαλεία για το Πρόγραμμα Κατάρτισης Εκπαιδευτικών

O7: Πρόγραμμα Κατάρτισης Εκπαιδευτικών O7-A1: Αναπτύσσοντας εργαλεία για το Πρόγραμμα Κατάρτισης Εκπαιδευτικών O7: Πρόγραμμα Κατάρτισης Εκπαιδευτικών O7-A1: Αναπτύσσοντας εργαλεία για το Πρόγραμμα Κατάρτισης Εκπαιδευτικών Prepared by University Paderborn 30/11/2015 Project name: Project acronym: Project number:

Διαβάστε περισσότερα

Διαχείριση Έργων Πληροφορικής Εργαστήριο

Διαχείριση Έργων Πληροφορικής Εργαστήριο Διαχείριση Έργων Πληροφορικής Εργαστήριο «Microsoft Project - Παρακολούθηση Έργου» Μ.Τσικνάκης, Ρ.Χατζάκη Ε. Μανιαδή, Α. Μαριδάκη 1. Κρίσιμη διαδρομή Για να αποτυπώσουμε την κρίσιμη διαδρομή ενός έργου

Διαβάστε περισσότερα

Subversion. Τριγάζη Ελισάβετ. Επιβλέπων: Μηνάς Δασυγένης http://arch.icte.uowm.gr

Subversion. Τριγάζη Ελισάβετ. Επιβλέπων: Μηνάς Δασυγένης http://arch.icte.uowm.gr Subversion Τριγάζη Ελισάβετ Επιβλέπων: Μηνάς Δασυγένης http://arch.icte.uowm.gr Το Πρόβλημα Τα προγράμματα λογισμικού μπορεί να είναι μεγάλα και πολύπλοκα. Μπορεί να εμπλέκουν πολλά άτομα Μπορεί να απαιτείται

Διαβάστε περισσότερα

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ανάδοχοι Φορέας Υλοποίησης Έργο ΛΑΕΡΤΗΣ Λογισμικό Δικτύων Οδηγίες αξιοποίησης για τον Εκπαιδευτικό Ερευνητικό Ακαδημαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Ανάδοχος φορέας: CONCEPTUM A.E. 1 Προσομοίωση

Διαβάστε περισσότερα

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

Διαβάστε περισσότερα

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) - 1 - Αθήνα, 16 Μαρτίου 2007. 1. Εισαγωγή

Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) - 1 - Αθήνα, 16 Μαρτίου 2007. 1. Εισαγωγή Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7 Οδηγίες Αναβάθμισης (Upgrade) Ομάδα Εργασίας: Τσιμπάνης Κωνσταντίνος, Εξηνταρίδης Γιάννης Αθήνα, 16 Μαρτίου 2007 1. Εισαγωγή Η πλατφόρμα eclass είναι ένα

Διαβάστε περισσότερα

Βασικές Έννοιες Ηλεκτρονικού Ταχυδρομείου

Βασικές Έννοιες Ηλεκτρονικού Ταχυδρομείου Α5.2 Δίκτυα Υπολογιστών και Διαδίκτυο/Ηλεκτρονικό Ταχυδρομείο Α.5.2.Μ1-Μ2 Α5.2.1 Βασικές Έννοιες Ηλεκτρονικού Ταχυδρομείου Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι το ηλεκτρονικό ταχυδρομείο (e-mail)

Διαβάστε περισσότερα

1. ΕΙΣΑΓΩΓΗ ΣΤΟ GRASS GIS 1.1. ΤΙ ΕΙΝΑΙ ΤΟ GRASS GIS ;

1. ΕΙΣΑΓΩΓΗ ΣΤΟ GRASS GIS 1.1. ΤΙ ΕΙΝΑΙ ΤΟ GRASS GIS ; 1. ΕΙΣΑΓΩΓΗ ΣΤΟ GRASS GIS 1.1. ΤΙ ΕΙΝΑΙ ΤΟ GRASS GIS ; Το GRASS (Geographical Resources Analysis Support System) αποτελεί ένα raster/vector φορέα / κομμάτι του GIS που συνδυάζει την ολοκληρωμένη επεξεργασία

Διαβάστε περισσότερα

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER Η εφαρμογή LiveTripTraveller διατίθεται για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Στο υπο-ιστοσελίδα www.livetrips.com/sources μπορείτε να κατεβάσετε την εφαρμογή

Διαβάστε περισσότερα

Vodafone Business Connect

Vodafone Business Connect Vodafone Business Connect Vodafone Business WebHosting Αναλυτικός Οδηγός Χρήσης MSSQL Manager Αναλυτικός οδηγός χρήσης: MS SQL Manager Vodafone Business Connect - Υπηρεσίες φιλοξενίας εταιρικού e-mail

Διαβάστε περισσότερα

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

Διαβάστε περισσότερα

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ

ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr. Εγχειρίδιο Χρήσης Μελών ΔΕΠ ΠΛΑΤΦΟΡΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΒΙΝΤΕΟΔΙΑΛΕΞΕΩΝ ΔΗΛΟΣ delos.uoa.gr Εγχειρίδιο Χρήσης Μελών ΔΕΠ Αναζήτηση Δημόσιου Περιεχομένου Η διεύθυνση ιστού της νεάς πλατφόρμας διαχείρισης βιντεοδιαλέξεων Δήλος είναι: http://delos.uoa.gr

Διαβάστε περισσότερα

E-LIS: E-prints για τη Βιβλιοθηκονομία και την Επιστήμη της Πληροφόρησης (ΒΕΠ)

E-LIS: E-prints για τη Βιβλιοθηκονομία και την Επιστήμη της Πληροφόρησης (ΒΕΠ) E-LIS: E-prints για τη Βιβλιοθηκονομία και την Επιστήμη της Πληροφόρησης (ΒΕΠ) Τι είναι το E-LIS E-LIS = E-prints in Library and Information Services (Ηλεκτρονικά κείμενα με θέμα τη Βιβλιοθηκονομία και

Διαβάστε περισσότερα

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε

Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων ΟΔΗΓΟΣ ΧΡΗΣΗΣ System Συμβουλευτική Α.Ε σχετικά με τον έλεγχο της καπνιστικής συνήθειας 1 22 Λογισμικές εφαρμογές καταγραφής και αξιοποίησης πληροφοριών σχετικά με τον έλεγχο της καπνιστικής συνήθειας Λογισμική Εφαρμογή Διαχείρισης Ερωτηματολογίων

Διαβάστε περισσότερα

2. Για να δημιουργήσουμε το πρώτο ή κάθε νέο Backup set πατάμε στο εικονίδιο και εμφανίζεται ο Wizard του Backup set

2. Για να δημιουργήσουμε το πρώτο ή κάθε νέο Backup set πατάμε στο εικονίδιο και εμφανίζεται ο Wizard του Backup set Δημιουργία Backup Set για ( file Backup ) 1. Τρέχουμε την εφαρμογή BACKUP365. Όταν συνδεθεί με τα κεντρικό σύστημα της Digital SIMA εμφανίζεται η παρακάτω εικόνα : 2. Για να δημιουργήσουμε το πρώτο ή κάθε

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

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

1 ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ - ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ 1 2 Περιεχόμενα 1. Εισαγωγή... 5 2. Επεξήγηση των εργαλείων που χρησιμοποιήθηκαν για την δημιουργία της ιστοσελίδας... 6 2.1 Γλώσσα προγραμματισμού ΗΤML για την δημιουργία της Ιστοσελίδας... 6 2.2 Γλώσσα

Διαβάστε περισσότερα

How to register an account with the Hellenic Community of Sheffield.

How to register an account with the Hellenic Community of Sheffield. How to register an account with the Hellenic Community of Sheffield. (1) EN: Go to address GR: Πηγαίνετε στη διεύθυνση: http://www.helleniccommunityofsheffield.com (2) EN: At the bottom of the page, click

Διαβάστε περισσότερα

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο Εγχειρίδιο Χρήσης για Διαχειριστές Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο 1. Εισαγωγή 1.1 Περιγραφή Λειτουργίας Πλατφόρμας Η Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο παρέχει τη δυνατότητα της

Διαβάστε περισσότερα

MathDebate Οδηγός για διαχειριστές

MathDebate Οδηγός για διαχειριστές Goce Delchev University Shtip MathDebate Οδηγός για διαχειριστές MATHDebate - Η Φωνή των Φοιτητών - Ψάχνοντας την Αριστεία στην Εκπαίδευση Μαθηματικών μέσω της Αύξησης των Κινήτρων για Μάθηση (project

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

ΜΟΝΑΔΕΣ ΑΡΙΣΤΕΙΑΣ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ

ΜΟΝΑΔΕΣ ΑΡΙΣΤΕΙΑΣ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΜΟΝΑΔΕΣ ΑΡΙΣΤΕΙΑΣ ΑΝΟΙΧΤΟΥ ΛΟΓΙΣΜΙΚΟΥ Συστήματα γεωγραφικών πληροφοριών 1 ος Κύκλος Εκπαίδευσης 1 ο σεμινάριο 27 Μαΐου 2014 Ελεύθερο Λογισμικό ΕΛ/ΛΑΚ: Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα (ΕΛ/ΛΑΚ)

Διαβάστε περισσότερα

Management School School Profile Save

Management School School Profile Save School School Profile Ο School Manager μπορεί να δει και να επεξεργαστεί γενικές πληροφορίες για το σχολείο που ανήκει και διαχειρίζεται. Από το κεντρικό μενού Management School School Profile. Η σελίδα

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Εργαστήριο Βάσεων Δεδομένων Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων Βάσεις Δεδομένων - Γενικά Ορισμός: Βάση Δεδομένων (ΒΔ) είναι μια συλλογή από σχετιζόμενα αντικείμενα. Τα περιεχόμενα

Διαβάστε περισσότερα

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝΩ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ ΘΕΜΑ 1 ο : Α. Να αναφέρετε ονομαστικά τις βασικές λειτουργίες (πράξεις) επί των δομών δεδομένων. Μονάδες 8 Β. Στον

Διαβάστε περισσότερα

Αθήνα, Απρίλιος 2018 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΚΩΝ

Αθήνα, Απρίλιος 2018 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΚΩΝ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΚΩΝ Αθήνα, Απρίλιος 2018 ΓΕΝΙΚΗ ΓΡΑΜΜΑΤΕΙΑ ΔΗΜΟΣΙΑΣ ΠΕΡΙΟΥΣΙΑΣ ΓΕΝΙΚΗ ΔΙΕΥΘΥΝΣΗ ΔΗΜΟΣΙΑΣ ΠΕΡΙΟΥΣΙΑΣ ΚΑΙ ΚΟΙΝΩΦΕΛΩΝ ΠΕΡΙΟΥΣΙΩΝ Διεύθυνση Τεχνικών Υπηρεσιών Τμήμα Α

Διαβάστε περισσότερα

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

Διαβάστε περισσότερα

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ

Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ Εισαγωγή στις Αρχές της Επιστήμης των ΗΥ 2.3.1.1. Παπαγιάννη Νάσια Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών ΕΜΠ 1 περιλαμβάνει: Η έννοια του προγράμματος Επίλυση προβλήματος 1. Ακριβή προσδιορισμό

Διαβάστε περισσότερα

Document Scanning System Ιανουάριος, 2014

Document Scanning System Ιανουάριος, 2014 Document Scanning System Ιανουάριος, 2014 Το DSS, είναι ένα ολοκληρωμένο συστημα διαχείρισης ψηφιοποίησης εγγράφων, αφού εκτός από την διαδικασία ψηφιοποίησης των εγγράφων, αρχειοθετεί και μία σειρά δεδομένων

Διαβάστε περισσότερα

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

Οδηγίες για την εγκατάσταση του πακέτου Cygwin Οδηγίες για την εγκατάσταση του πακέτου Cygwin Ακολουθήστε τις οδηγίες που περιγράφονται σε αυτό το file μόνο αν έχετε κάποιο laptop ή desktop PC που τρέχουν κάποιο version των Microsoft Windows. 1) Copy

Διαβάστε περισσότερα

Εγχειρίδιο του εργαλείου σχεδίασης διεπαφών Glade i. Εγχειρίδιο του εργαλείου σχεδίασης διεπαφών Glade

Εγχειρίδιο του εργαλείου σχεδίασης διεπαφών Glade i. Εγχειρίδιο του εργαλείου σχεδίασης διεπαφών Glade i του εργαλείου σχεδίασης διεπαφών Glade ii Copyright 2006 Vincent Geddes Copyright 2004, 2003 Sun Microsystems Copyright 2002, 2000 Michael Vance Χορηγείται άδεια αντιγραφής, διανομής και/ή τροποποίησης

Διαβάστε περισσότερα

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P.

BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. BHMATA ΓΙΑ ΑΝΑΒΑΘΜΙΣΗ ΣΤΟ 3S/I.T.P. Πριν την έναρξη της διαδικασίας θα θέλαμε να σας ενημερώσουμε ότι η αναβάθμιση διαφέρει σε κάποιες λεπτομέρειες, ανάλογα με το τύπο της βάσης δεδομένων της κάθε χρήσης.

Διαβάστε περισσότερα

3. Γράψτε μία εντολή που να εμφανίζει π.χ. «Πόσα είναι τα κορίτσια του;» και μία που να εμφανίζει: «Τα κορίτσια του Τζειμς Μποντ είναι 4»

3. Γράψτε μία εντολή που να εμφανίζει π.χ. «Πόσα είναι τα κορίτσια του;» και μία που να εμφανίζει: «Τα κορίτσια του Τζειμς Μποντ είναι 4» 1. Τι φαντάζεστε ότι θα κάνει η παρακάτω εντολή: print("καλημέρα.") εκτελέστε την στο περιβάλλον Python Shell 2. γράψτε μια παρόμοια π.χ. print("το όνομα μου είναι Μποντ.") 3. Γράψτε μία εντολή που να

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού

ΚΕΦΑΛΑΙΑ XIII, XIV. Εκσφαλμάτωση προγράμματος - Κύκλος Ζωής Λογισμικού ΚΕΦΑΛΑΙΑ XIII, XIV Ένας προγραμματιστής ανεξάρτητα από το πόσο ικανός είναι, όταν δημιουργεί ένα πρόγραμμα, είναι φυσικό να κάνει ορισμένα λάθη. Σε ένα πρόγραμμα είναι δυνατό να παρουσιαστούν διαφορετικής

Διαβάστε περισσότερα

Το πρόγραμμα συγχρηματοδοτείται 75% από το Ευρωπαϊκό κοινωνικό ταμείο και 25% από εθνικούς πόρους.

Το πρόγραμμα συγχρηματοδοτείται 75% από το Ευρωπαϊκό κοινωνικό ταμείο και 25% από εθνικούς πόρους. Το πρόγραμμα συγχρηματοδοτείται 75% από το Ευρωπαϊκό κοινωνικό ταμείο και 25% από εθνικούς πόρους. ΓΕΝΙΚΟ ΤΜΗΜΑ ΦΥΣΙΚΗΣ, ΧΗΜΕΙΑΣ & ΤΕΧΝΟΛΟΓΙΑΣ ΥΛΙΚΩΝ ΕΡΓΑΣΤΗΡΙΑ ΦΥΣΙΚΗΣ ORIGIN ΕΙΣΑΓΩΓΙΚΟ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Διαβάστε περισσότερα

ΕΠΕΞΕΡΓΑΣΙΑ ΒΙΝΤΕΟ ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ VSDC FREE VIDEO EDITOR

ΕΠΕΞΕΡΓΑΣΙΑ ΒΙΝΤΕΟ ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ VSDC FREE VIDEO EDITOR ΕΠΕΞΕΡΓΑΣΙΑ ΒΙΝΤΕΟ ΜΕ ΤΟ ΠΡΟΓΡΑΜΜΑ VSDC FREE VIDEO EDITOR ΠΕΡΙΕΧΟΜΕΝΑ Σελίδα Πως ανοίγουμε αρχείο βίντεο ή εικόνα για επεξεργασία 1 Εφαρμογή εφφέ σε βίντεο ή σε εικόνα 2 Πως κόβεται ένα κομμάτι του βίντεο

Διαβάστε περισσότερα

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

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

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

Διαβάστε περισσότερα

Γιατί OpenOffice;;; (2)

Γιατί OpenOffice;;; (2) OpenOffice Απο τον: Ανδρέα Μπουράκη Msc in Distributed Systems Engineering Bourakis@gmail.com ΕΙΣΑΓΩΓΗ Το OpenOffice σπονσοράρεται απο την Sun Microsystems. H Sun Microsystems αναπτύσσει το StarOffice

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα