ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΣΥΣΤΑΤΙΚΩΝ ΛΟΓΙΣΜΙΚΟΥ ΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Φανή Α. Ορεστιάδου. Αναπληρωτής Καθηγητής Πληροφορικής

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

Download "ΕΠΑΝΑΧΡΗΣΙΜΟΠΟΙΗΣΗ ΣΥΣΤΑΤΙΚΩΝ ΛΟΓΙΣΜΙΚΟΥ ΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Φανή Α. Ορεστιάδου. Αναπληρωτής Καθηγητής Πληροφορικής"

Transcript

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

2 Πίνακας περιεχομένων Περίληψη...5 Ευχαριστίες Εισαγωγή Λογισμικό ΕΛ/ΛΑΚ Ιστορική Αναδρομή Άδειες του Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού Κώδικα Πλεονεκτήματα ΕΛ/ΛΑΚ Κοινότητες και Απωθετήρια κώδικα των έργων ΕΛ/ΛΑΚ Η Εταιρία του Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού Κώδικα (ΕΕΛ/ΛΑΚ) Στόχοι ΕΕΛ/ΛΑΚ Επαναχρησιμοποίηση του κώδικα Η γλώσσα προγραμματισμού Java Χαρακτηριστικά της Java Eπαναχρησιμοποίηση Κώδικα Τι είναι το Software Reuse Πλεονεκτήματα και Μειονεκτήματα του Software Reuse H ανάπτυξη του λογισμικού με βάση την επαναχρησιμοποίηση του κώδικα Απαιτήσεις για την επαναχρησιμοποίηση του λογισμικού Επίπεδα και τύπου του Software Reuse Παραδείγματα από Software Reuse OPEN- SME / Cope Tι είναι το OPEN- SME Eργαλεία του project OPEN- SME Cope Χρησιμοποιώντας το Cope Συστατικά Λογισμικού Συστατικά Λογισμικού 52 2

3 4.1 Έργα προς μελέτη Συστατικά ανά έργο atunes XTreme Media Player Frost Java Msn Messanger Makagiga Morar char Επισκόπηση της διαδικασίας εξαγωγής συστατικών Βήματα της διαδικασίας εξαγωγής συστατικών Γενικά Συμπεράσματα Επίλογος Αναφορές.97 8.Ευρετήριο.98 3

4 4

5 Περίληψη Σε μία ψηφιακή εποχή όπως η σημερινή, η έννοια του ελεύθερου λογισμικού έχει γνωρίσει ιδιαίτερη διάδοση ως προϊόν αλλά και ως ιδέα. Μια ιδέα που αναπτύσσεται ομαδικά από την παγκόσμια προγραμματιστική κοινότητα και παρέχει στους χρήστες την ελευθερία για μελέτη, αντιγραφή ακόμα και τροποποίηση του ελεύθερου λογισμικού. Πρόκειται για το τεχνολογικό μέλλον το οποίο δεν επηρεάζει αρνητικά τις βασικές ελευθερίες του ανθρώπου, ενώ συντηρείται από διαφανή συστήματα (όπως το ελεύθερο και ανοικτού κώδικα λογισμικό), τα οποία είναι βασισμένα σε ανοικτά και ασφαλή πρότυπα. Η παρούσα διπλωματική εργασία έχει ως στόχο την γνωριμία του φοιτητή με συγκεκριμένα εργαλεία που αποτελούν μέρος της πλατφόρμας OPEN- SME. Εφόσον εκπαιδευτεί σωστά καλείται να εφαρμόσει τα εργαλεία αυτά σε έργα Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού Κώδικα (ΕΛ/ΛΑΚ), με βασική προϋπόθεση ο πηγαίος κώδικας των έργων να είναι γραμμένος στην αντικειμενοστραφή γλώσσα προγραμματισμού Java, ενώ απαραίτητο είναι επίσης τα έργα να είναι επιλεγμένα από ένα συγκεκριμένο πεδίο εφαρμογής (domain). Το πεδίο το οποίο επιλέχτηκε για τη συγκεκριμένη εργασία είναι Communications. Στόχος, λοιπόν, της εφαρμογής των εργαλείων στα έργα αυτά είναι η εξαγωγή συστατικών λογισμικού (software components), τα οποία είναι ικάνα να θεωρηθούν ως ξεχωριστές εφαρμογές και να χρησιμοποιηθούν μετέπειτα από άλλους προγραμματιστές. Για να μπορέσει η διαδικασία αυτή να είναι εφικτή, απαραίτητη είναι και η τεκμηρίωση των συστατικών ως προς τη λειτουργηκότητά τους, με αποτέλεσμα να διευκολυνθεί η επαναχρησιμοποίησή τους ως ξεχωριστό κομμάτι του κώδικα. 5

6 Ευχαριστίες Η διπλωματική αυτή εργασία πραγματοποιήθηκε κατά τη διάρκεια του 8 ου εξαμήνου φοιτήσής μου στο τμήμα Πληροφορικής της Σχολής Θετικών Επιστημών του Αριστοτελείου Πανεπιστημίου Θεσσαλονίκης. Λόγω του μεγάλου επιστημονικού ενδιαφέροντος που υπάρχει στο ελεύθερο λογισμικό ανοιχτού κώδικα αλλά και των εργαλείων της πλατφόρμας OPEN- SME, η εργασία αυτή αποτέλεσε ένα από τα σημαντικότερα κομμάτια των σπουδών μου, ανοίγοντας μου νέους ορίζοντες και προοπτικές για το μέλλον μου ως επιστήμων. Αρχικά, θα ήθελα να ευχαριστήσω τον καθηγητή κ. Ιωάννη Σταμέλο επιβλέποντα της παρούσας διπλωματικής, για την ευκαιρία που μου παρείχε μέσω της εργασίας αυτής να ασχοληθώ με ένα θέμα που βρίσκεται στην αιχμή της Τεχνολογίας, καθώς και για την πολύτιμη καθοδήγηση που μου παρείχε κατά την διάρκεια της συνεργασίας μας. Επίσης θα ήθελα να ευχαριστήσω τον υποψήφιο διδάκτορα του κύριου Σταμέλου κ. Απόστολο Κρητικό για την πολύτιμη βοήθεια που μου προσέφερε πριν και κατά τη διάρκεια της υλοποίησης της συγκεκριμένης διπλωματικής εργασίας. Φανή Α. Ορεστιάδου Θεσσαλονίκη, Οκτώβριος

7 7

8 8

9 Κεφάλαιο 1 : Εισαγωγή Στο πρώτο κεφάλαιο περιγράφεται αρχικά η έννοια του λογισμικού η οποία είναι αρκετά σημαντική για το κλάδο της πληροφορικής, και βοηθά στην καλύτερη κατανόηση των επόμενων παραγράφων που αναπτύσσονται. Στη συνέχεια ορίζεται η έννοια του Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού Κώδικα (ΕΛ/ΛΑΚ), και παρουσιάζονται οι άδειες του ΕΛ/ΛΑΚ, κάποια από τα οφέλη του, και κοινότητες που υποστηρίζουν έργα του ΕΛ/ΛΑΚ. Τέλος γίνεται αναφορά για την Εταιρία του Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού κώδικα (ΕΕΛ/ΛΑΚ), ποιοι ακριβώς είναι οι στόχοι της και ποια είναι τα μέλη της. 1.1 Λογισμικό Ορισμός : Με τον όρο Λογισμικό (Software) ορίζεται η συλλογή από προγράμματα υπολογιστών, διαδικασίες και οδηγίες χρήσης που εκτελούνται ορισμένες εργασίες σε ένα υπολογιστικό σύστημα. Οι βασικές λειτουργίες που επιτελούνται και καθορίζουν το περιεχόμενο ενός λογισμικού αλλά και η χρηστικότητά του είναι παράγοντες που μας βοηθούν να διακρίνουμε κάποιες κατηγορίες. Πιο συγκεκριμένα 1) Λογισμικό εφαρμογών το οποίο αποτελείται από όλα εκείνα τα προγράμματα που καθορίζουν τον τρόπο με τον οποίο θα λειτουργήσει το υλικό, ώστε να μπορέσει ο χρήστης να ικανοποιήσει συγκεκριμένες απαιτήσεις του. Παράδειγματα του λογισμικού εφαρμογών αποτελούν οι επεξεργαστές κειμένου, η διαχείρηση μια βάσης δεδομένων κ.τ.λ. 2) Λογισμικό συστήματος το οποίο αποτελείται από όλα τα προγράμματα εκείνα που έχουν σκοπό να βοηθούν και να υποστηρίζουν τις εφαρμογές λογισμικού, αλλά και την επικοινωνία του χρήστη τόσο με τις εφαρμογές 9

10 όσο και με τις συσκευές του υπολογιστή. Παράδειγμα του λογισμικού συστήματος αποτελεί το λειτουργικό σύστημα που παρέχει τις αναγκαίες υπηρεσίες του υλικού στο λογισμικό εφαρμογών. 3) Το ενδιάμεσο λογισμικό (Middleware) που επιλέγει και συντονίζει τα κατανεμημένα συστήματα Το λογισμικό περιλαμβάνει ιστότοπους, προγράμματα, βιντεοπαιχνίδια και άλλα τα οποία έχουν αναπτυχθεί σε μια γλώσσα όπως για παράδειγμα C ή C++, ενώ είναι κωδικοποιημένο με τη βοήθεια δυαδικού ψηφιακού συστήματος, ώστε να είναι κατανοητό από το υλικό. Ως λογισμικό υπολογιστών θεωρείται ότι δεν ανήκει στο υλικό, hardware, του υπολογιστή. Στο υλικό περιλαμβάνονται τα αντικείμενα που έχουν υλική υπόσταση, ενώ στο λογισμικό περιλαμβάνονται τα άυλα προγράμματα και οι εφαρμογές που υπάρχουν στο εσωτερικό του υπολογιστή. Το λογισμικό καλύπτει ένα ευρύτατο φάσμα προϊόντων και τεχνολογιών που αναπτύσσονται με χρήση διαφορετικών τεχνικών όπως οι γλώσσες προγραμματισμού, οι γλώσσες μορφοποίησης κλπ. Οι διαφορετικοί τύποι λογισμικού περιλαμβάνουν ιστοσελίδες που αναπτύχθηκαν από τις γλώσσες HTML, PHP, Perl, JSP, ASP.NET, XML, και desktop εφαρμογές όπως το Microsoft Word και το OpenOffice που αναπτύχθηκαν από τις γλώσσες C, C++, Java, C #, κλπ. Το λογισμικό εκτελείται συνήθως μέσα από ένα λειτουργικό σύστημα (που είναι επίσης λογισμικό) όπως τα Microsoft Windows, το Linux (με περιβάλλον GNOME ή KDE), το Solaris της Sun κ.α. Ως λογισμικό επίσης, θεωρούνται και τα βιντεοπαιχνίδια όπως το Super Mario και το Grand Theft Auto για προσωπικούς υπολογιστές ή κονσόλες βιντεοπαιχνιδιών. Αυτά τα παιχνίδια αναπτύσσονται από εφαρμογές CGI (computer generated imagery) αφού έχουν σχεδιαστεί πρώτα τα γραφικά τους από εφαρμογές όπως το Maya, το 3ds Max κ.α. Επίσης, ένα λογισμικό συνήθως λειτουργεί πάνω σε μια πλατφόρμα λογισμικού που παρέχεται είτε από λειτουργικό σύστημα ή από ανεξάρτητες πλατφόρμες όπως η Java και η.νετ. Λογισμικό γραμμένο για μία πλατφόρμα συνήθως δεν μπορεί να λειτουργεί και σε άλλες πλατφόρμες, για παράδειγμα, οι εφαρμογές των Microsoft Windows δεν θα είναι σε θέση να λειτουργήσουν σε Mac OS λόγω των διαφορών που σχετίζονται με τις πλατφόρμες και τα πρότυπά τους. Οι 10

11 εφαρμογές αυτές μπορούν να λειτουργήσουν μόνο εάν μεταφερθούν, χρησιμοποιώντας ένα διερμηνέα ή εκ νέου ανάπτυξη του πηγαίου κώδικα για την εν λόγω πλατφόρμα. Το λογισμικό υπολογιστών καλείται έτσι ώστε να διακρίνεται από το υλικό του υπολογιστή, που εποπτεύει τις φυσικές διασυνδέσεις και διατάξεις που απαιτούνται για να αποθηκευτεί και να εκτελεστεί το λογισμικό. Σε χαμηλότερο επίπεδο, το λογισμικό αποκωδικοποιείται σε γλώσσα μηχανής ειδικά προσαρμοσμένη για έναν συγκεκριμένο τύπο επεξεργαστή. Μια γλώσσα μηχανής είναι στην ουσία δυαδική αναπαράσταση των οδηγιών που στέλνονται στον επεξεργαστή ώστε να αλλάξει την κατάσταση του υπολογιστή από την προηγούμενη κατάσταση. Λογισμικό είναι η διατεταγμένη ακολουθία οδηγιών για την αλλαγή της κατάστασης του υλικού του υπολογιστή σε μια συγκεκριμένη επιθυμητή κατάσταση. Είναι συνήθως γραμμένο σε υψηλού επιπέδου γλώσσες προγραμματισμού που είναι ευκολότερες στη χρήση για τους ανθρώπους (πιο κοντά στη φυσική γλώσσα) και πιο αποτελεσματικές από την γλώσσα μηχανής. Οι υψηλού επιπέδου γλώσσες μεταγλωττίζονται σε γλώσσα μηχανής. Το λογισμικό μπορεί επίσης να είναι γραμμένο σε γλώσσα assembly, μια μνημονική αναπαράσταση της γλώσσας μηχανής που χρησιμοποιεί αλφάβητο φυσικής γλώσσας. Η γλώσσα assembly μεταγλωττίζεται σε γλώσσα μηχανής μέσω ενός assembler. Ο όρος "λογισμικό" χρησιμοποιήθηκε για πρώτη φορά με αυτή την έννοια από τον John W. Tukey το Στην επιστήμη των υπολογιστών και του λογισμικού, λογισμικό υπολογιστών είναι όλα τα προγράμματα για ηλεκτρονικούς υπολογιστές. Αυτή η θεωρία είναι η βάση του σύγχρονου λογισμικού και προτάθηκε για πρώτη φορά από τον Alan Turing το 1935 στο δοκίμιο του Υπολογίσιμοι αριθμοί με μια εφαρμογή στο Entscheidungsproblem. 11

12 1.2 ΕΛΛΑΚ Οι όροι «Ελεύθερο Λογισμικό» (Free Software) και «Λογισμικό Ανοιχτού Κώδικα» (Open Source Software) περιγράφουν το λογισμικό το οποίο διατίθεται με ειδικές άδειες που επιτρέπουν στους χρήστες να μελετούν, να τροποποιούν και να βελτιώνουν το λογισμικό. Ο τεχνικός τρόπος με τον οποίο επιτυγχάνεται η διαδικασία αυτή είναι η διαθεσιμότητα του πηγαίου κώδικα (source code) στους απλούς χρήστες. Η λέξη ελεύθερο αναφέρεται στην ελευθερία του λογισμικού, κι όχι στην αγοραστική τιμή του, καθώς το ελεύθερο λογισμικό/ λογισμικό ανοιχτού κώδικα μπορεί να έχει τιμή πώλησης, η οποία τις περισσότερες φορές είναι μεγάλη, ενώ αντίθετα υπάρχουν πακέτα δωρεάν λογισμικού που δεν διαθέτουν τον πηγαίο κώδικά τους σε άτομα εκτός της εταιρίας παραγωγής. Ο Richard Stallman και το FSF (Free Software Foundation) εισήγαγαν τον όρο ελεύθερο λογισμικό (free software). Αργότερα, ο οργανισμός Open Source Initiative πρότεινε τον όρο λογισμικό ανοιχτού κώδικα (open source software), πιθανότατα προκειμένου να αποφευχθεί η παρερμηνεία του αγγλικού όρου free, ο οποίος χρησιμοποιήθηκε από τον FSF για την απόδοση της έννοιας της ελευθερίας. Επίσης χρησιμοποιήθηκε και ο όρος libre για την απόδοση της έννοιας της ελευθερίας ο οποίος χρησιμοποιήθηκε κυρίως στην Ευρώπη. Ο όρος ΕΛ/ΛΑΚ εισήχθη από τον Rishab Gosh στο πλαίσιο ενός προγράμματος που χρηματοδοτούταν από την Ευρωπαϊκή Ένωση με την ονομασία Ελεύθερο Λογισμικό/Λογισμικό Ανοιχτού Κώδικα: έρευνα και μελέτη και έχει καθιερωθεί ευρέως από το Ιστορική αναδρομή Από τις δεκαετίες του 1950 εως και 1960 σχεδόν όλο το λογισμικό παράγεται από τη συνεργασία ακαδημαϊκών και ερευνητών ενώ το κόστος 12

13 παραγωγής περιλαμβάνεται στην τιμή του υλικού. Τα λειτουργικά συστήματα διανέμονται ελεύθερα και συντηρούνται από τη κοινότητα των χρηστών τους, ενώ ο πηγαίος κώδικας συμπεριλαμβάνεται μαζί με το λογισμικό καθώς οι χρήστες πραγματοποιούν συχνά παρεμβάσεις και διορθώσεις. Έτσι δημιουργούνται ομάδες χρηστών όπως η SHARE (Society to Help Avoid Redundant Efforts), η οποία ιδρύθηκε το 1955 και επικεντρώθηκε σε συστήματα IBM και η DECUS (Digital Equipment Computer User Society), οι οποίες έχουν ως στόχο την ανταλλαγή και βελτίωση του λογισμικού. Από τα τέλη του 1960 όμως, το κόστος παραγωγής αλλά και συντήρησης του λογισμικού συνεχώς αυξάνεται, κι έτσι αρχίζει να αναπτύσσεται μια βιομηχανία παραγωγής λογισμικού προς πώληση ανεξάρτητα πλέον από το υλικό. Η αποκλειστική διάθεση του λογισμικού μαζί με το υλικό κρίνεται απο τη κυβέρνηση των ΗΠΑ ως βλαβερό για τον ανταγωνισμό. Το 1970 η AT&T (American Telephone and Telegraph Company) διαθέτει πρώιμες εκδόσεις του λειτουργικού συστήματος UNIX δωρεάν στην κυβέρνηση και στην ακαδημαϊκή κοινότητα, χωρίς όμως την άδεια αναδιαμονής. Το 1979 όμως αρχίζει και θέτει περιοριστικές άδειες χρήσης εφόσον αντιλαμβάνεται ότι η πώληση του λειτουργικού συστήματος μπορεί να αποφέρει πολλά κέρδη. Στις αρχές του 1980 η βιομηχανία λογισμικού ξεκινά να εφορμάζει μέτρα, όπως η διάθεση μόνο των εκτελέσιμων μορφών προγραμμάτων και ο νόμος περί πνευμάτικής ιδιοκτησίας (copyright) επεκτείνεται και στο λογισμικό. Το 1983 ο Richard Stallman ανακοινώνει το έργο GNU για την παραγωγή ενός πλήρους λειτουργικού συστήματος απαλλαγμένου από περιορισμούς στη διανομή και χρήση του πηγαίου κώδικα, μέσα στο πλαίσιο του πνεύματος που διέπει την κοινότητα των hackers και αφορά την απρόσκοπτη διάχυση των πληροφοριών. Στόχος του FSF ήταν η δημιουργία μιας ολοκληρωμένης νέας υλοποίησης του λειτουργικού συστήματος UNIX, το οποίο την τότε εποχή αποτελούσε σημαντικό σημείο αναφοράς για τις περισσότερες μεγάλες επιχειρήσεις και τα ερευνητικά κέντρα. Έτσι, ο Stallman και αρκετοί άλλοι προγραμματιστές δημιούργησαν ένα πλήρες περιβάλλον ανάπτυξης και εκτέλεσης, από το οποίο στα τέλη της δεκαετίας του 1980 έλειπε μόνο ο πυρήνας (το κεντρικό τμήμα ενός λειτουργικού συστήματος). Το 1985 ιδρύει το 13

14 ίδρυμα του ελεύθερου λογισμικού (Free Software Foundation). To Φεβρουάριου του 1986 δημοσιεύεται και ο πρώτος τεκμηριωμένος και σαφής ορισμός του ελεύθερου λογισμικού στο GNU s Bulletin, και πλέον το 1991 έχει ολοκληρωθεί η ανάπτυξη πολλών εργαλείων και εφαρμογών. Το κενό του πυρήνα που υπήρχε καλύφτηκε τελικά την ίδια χρονία, από δύο διαφορετικές ομάδες: η ομάδα της οποίας επικεφαλής ήταν ο Linus Torvalds ανέπτυξε τον πυρήνα του Linux, ενώ η ομάδα των William και Lynne Jolitz δημοσίευσαν σειρά άρθρων στο περιοδικό Dr. Dobbs περιγράφοντας τον τρόπο με τον οποίο μπορούσε κανείς να μεταφέρει το BSD Unix σε PCs αρχιτεκτονικής i386, δημιουργώντας με τον τρόπο αυτό τη βάση για ένα ολοκληρωμένο, ελεύθερο λειτουργικό σύστημα για σύγχρονους προσωπικούς υπολογιστές. Το FSF δίνει έμφαση σε τέσσερις ελευθερίες του λογισμικού : 1. Ελευθερία εκτέλεσης του προγράμματος για οποιοδήποτε σκοπό (ελευθερία 0) 2. Ελευθερία μελέτης των μηχανισμών λειτουργιας του λογισμικού και προσαρμογής του (ελευθερία 1) 3. Ελευθερία αναδιανομής αντιγράφων (ελευθερία 2) 4. Ελευθερία βελτίωσης του λογισμικού και κοινοποίησης των βελτιώσεων αυτών στο ευρύ κοινό, έτσι ώστε να επωφεληθεί ολόκληρη η κοινότητα (ελευθερία 3). Τα προγράμματα τα οποία προσφέρουν και τις τέσσερις ελευθερίες ανήκουν στο ελεύθερο λογισμικό. Οι άδειες των προγραμμάτων ενός κλειστού κώδικα προσφέρουν μόνο την πρώτη ελευθερία (ελευθερία 0), και θεωρούν ποινικό αδίκημα κατά της πνευματικής ιδιοκτησίας τις υπόλοιπες τρεις. Θεωρητικά, οποιοδήποτε άλλο πρόγραμμα προσφέρει την ελευθερία 1, θεωρείται ότι ανήκει στη κατηγορία του λογισμικού ανοιχτού κώδικα, ανεξάρτητα από το αν προσφέρει τις υπόλοιπες. Η πλειοψηφία των προγραμμάτων ενός ανοιχτού 14

15 κώδικα, είναι και ελεύθερα, δηλαδή προσφέρουν τον κώδικά τους για τροποποίηση από τους χρήστες, ενώ είναι λίγα εκείνα που έχουν τον πηγαίο τους κώδικα ανοιχτό, αλλά απαγορεύουν την τροποποίηση του. Για αυτό τον λόγο οι έννοιες «ελεύθερο» και «ανοιχτό» είναι για αρκετούς συνώνυμοι, χωρίς βέβαια αυτό να σημαίνει ότι είναι και σωστό Άδειες του Ελεύθερου Λογισμικού Σύμφωνα με τη νομοθεσία περί πνευματικής ιδιοκτησίας, η ελεύθερη αντιγραφή, διανομή και τροποποίηση ενός λογισμικού δεν επιτρέπεται. Για τον λόγο αυτό, οι εκδόσεις του ελεύθερου λογισμικού κάνουν χρήση ειδικών αδειών (free software licence), σύμφωνα με τις οποίες παραχωρούνται τα δικαιώματα αντιγραφής, τροποποίησης και αναδιανομής του λογισμικού στους χρήστες. Φυσικά οι άδειες αυτές του ελεύθερου λογιμικού θα πρέπει να πληρούν τις τέσσερις ελευθερίες, οι οποίες αναφέρθηκαν στην προηγούμενη παράγραφο. Συγκεκριμένα, οι κυριότερες άδειες του ανοικτού λογισμικού είναι οι εξής : Apache Licence Δημιουργήθηκε από το Apache Foundation και είναι η άδεια υπό την οποία διανέμεται ο εξυπηρετητής HTTP Apache. Είναι μια πολύ αναλυτικά διατυπωμένη άδεια, που ενώ επιτρέπει την αναδιανομή και τροποποίηση του λογισμικού, απαιτεί αυτή να γίνεται υπό την ίδια άδεια, να δείχνονται αναλυτικά ποια αρχεία του πηγαίου κώδικα πείραξε ο χρήστης και απαγορεύει τη χρήση υλικού που σχετίζεται με πατέντες λογισμικού καθώς και τη χρήση ονομάτων και συμβόλων του αρχικού συγγραφέα για διαφημιστικούς σκοπούς. Τέλος, απαλλάσει το δημιουργό από κάθε ευθύνη σχετική με τη χρήση του προγράμματος. 15

16 Apache Licences: Artistic Licence Την συνέταξε ο συγγραφέας της perl, Larry Wall. Η πρώτη της έκδοση ήταν τόσο περίπλοκα διατυπωμένη που πολλοί την κατηγόρησαν ότι δεν είναι άδεια ελεύθερου λογισμικού. Η δεύτερη έκδοση είναι πιο σαφώς διατυπωμένη, και δίδει το δικαίωμα ανάγνωσης, τροποποίησης και αναδιανομής του πηγαίου κώδικα/προγράμματος (υπό οποιαδήποτε άδεια), εφ'όσον διατηρείται η αναφορά στον αρχικό συγγραφέα του προγράμματος, σε περίπτωση που δεν υπάρξει τροποποίηση. Επιπλέον, απαλλάσει το συγγραφέα από κάθε ευθύνη σχετική με τη χρήση του προγράμματος. Αρχική Artistic Licence: Artistic Licence, 2nd Edition: BSD Licence Η άδεια αυτή αφορά λογισμικό που αναπτύχθηκε αρχικά στο πανεπιστήμιο Berkeley στην Καλιφόρνια των ΗΠΑ. Είναι μια από τις πιο ελεύθερες άδειες, εφόσον επιτρέπει την ανάγνωση, την τροποποίηση και την αναδημοσίευση του προγράμματος υπό οποιαδήποτε άδεια, με ή χωρίς τον πηγαίο κώδικα, σε εμπορικά ή μη εμπορικά πακέτα. Επιπλέον, υπάρχουν τροποποιήσεις της άδειας, που αφορούν όμως μόνο το θέμα της χρήσης του ονόματος του αρχικού συγγραφέα για διαφημιστικούς σκοπούς. Ως αποτέλεσμα της ελευθερίας που δίδει η άδεια για χρήση κώδικα ελεύθερων προγραμμάτων σε προγράμματα κλειστού κώδικα, πολλά κλειστά λειτουργικά συστήματα έχουν κομμάτια βασισμένα στο BSD. 16

17 Η BSD Licence: license.php GNU General Public Licence (GPL) Γράφτηκε αρχικά από τον Richard Stallman για το GNU project. Επιτρέπει την ανάγνωση, τροποποίηση και αναδιανομή του λογισμικού, μαζί με τον πηγαίο κώδικα του, με τον όρο ότι τροποποιημένες ή μη εκδόσεις του θα αναδιανείμονται υπό την ίδια άδεια. Εν ολίγοις, διασφαλίζει ότι οι χρήστες του τροποποιημένου λογισμικού θα απολαμβάνουν τις ίδιες ελευθερίες με το χρήστη του αρχικού λογισμικού. Συνεπώς απαγορεύει την χρήση (ολόκληρου ή τμήματος) του πηγαίου κώδικα του προγράμματος σε κλειστά πακέτα λογισμικού. Αυτό εξασφαλίζεται δίνοντας το copyright του προγράμματος στον αρχικό δημιουργό, οπότε σε περίπτωση που κάποιος δε σεβαστεί την GPL μπορεί να μηνυθεί για καταπάτηση πνευματικών δικαιωμάτων. Η GNU GPL έχει κατηγορηθεί από πολλούς ως "ιός" (επειδή θα πρέπει κάθε πρόγραμμα που έχει σχέση με το αρχικό να τη φέρει) και ότι στερεί τη δημιουργία άμεσου κέρδους στον προγραμματιστή. Παρά τις κριτικές αποτελεί τη σημαντικότερη και πιο διαδεδομένη άδεια ελεύθερου λογισμικού. Σημαντικά προγράμματα που τη χρησιμοποιούν είναι ο πυρήνας του Linux, o μεταγλωττιστής gcc, ο επεξεργαστής κειμένου Emacs, ο διερμηνέας της Perl, o Mozilla Firefox, η ΜySQL, το Cygwin, το σύστημα αρχείων ReiserFS και πλέον και η βιβλιοθήκη Qt. Μια πιο ελαστική έκδοση της GPL είναι η GNU Lesser General Public Licence (LGPL). Το 2005 άρχισαν συζητήσεις για την τρίτη έκδοση της άδειας, η οποία δίνει ιδιαίτερη έμφαση σε θέματα πατεντών λογισμικού και DRM. H GNU GPLv3 εκδόθηκε στις 27 Ιουνίου GNU GPL, v3.0: GNU LGPL, v3.0: 17

18 MIT Licence H άδεια αυτή επιτρέπει την τροποποίηση και την αναδιανομή του προγράμματος με οποιονδήποτε τρόπο, υπό οποιαδήποτε άδεια, για οποιονδήποτε σκοπό. Το πιο γνωστό πρόγραμμα που τη χρησιμοιποιεί είναι ο X Window System (X11) που χρησιμοποιείται για το παραθυρικό περιβάλλον στις περισσότερες διανομές Linux, και γι'αυτό η άδεια αυτή ονομάζεται πολλές φορές και X Licence ή X11 Licence. MIT Licence Template: license.php Open Software Licence Ουσιαστικά δίνει τις ίδιες ελευθερίες και τους ίδιους περιορισμούς με την GNU GPL με σημαντική διαφορά τον όρο που αφορά τις πατέντες λογισμικού. Ο όρος αυτός τερματίζει αυτόματα την άδεια και στερεί τον χρήστη από τις ελευθερίες της στην περίπτωση που ο χρήστης μηνύσει οποιοδήποτε λογισμικό που τη χρησιμοποιεί για καταπάτηση πατεντών λογισμικού. Open Software Licence: Κάποιες γενικές αρχές των αδειών χρήσης Μια άδεια χρήσης πρέπει να επιτρέπει τροποποιήσεις ενός προγράμματος καθώς και για τα πιθανά παραγόμενα έργα, τα οποία θα πρέπει να διανέμονται με τους ίδιους όρους που διέπουν το αρχικό λογισμικό. 18

19 Μια άδεια χρήσης έχει τη δυνατότητα να απαγορεύει τη διανομή του κώδικα όταν αυτός έχει τροποποιηθεί, μόνο αν επιτρέπεται η διανομή βελτιωμένων αρχείων μαζί με τον πηγαίο κώδικα. Επίσης μπορεί να απαιτεί από τα παραγόμενα έργα την αλλαγή ονόματος, ή μια διαφορετική έκδοση από το αρχικό λογισμικό. Δεν θα πρέπει να περιλαμβάνει διακρίσεις ενάντιας ατόμων ή ομάδας ατόμων Δεν θα πρέπει να περιορίζει κανέναν από του προγράμματος σε κάποιο συγκεκριμένο πεδίο δραστηριοποίησης. Μια άδεια χρήσης δεν θα πρέπει να θέτει περιορισμούς σε άλλα λογισμικά τα οποία διανέμονται μαζί με αυτό. Κανένας όρος της άδειας χρήσης δεν θα πρέπει να επιβάλλει τη χρήση συγκεκριμένων τεχνολογιών ή διεπαφών Πλεονεκτήματα του ΕΛΛΑΚ Αρκετοί είναι εκείνοι οι φορείς, ιδιωτικοί ή δημόσιοι, αλλά και οργανισμοί οι οποίοι προχωρούν στην υιοθέτηση και στην χρήση ΕΛ/ΛΑΚ, καθώς τα σχετικά πλεονεκτήματα που προκύπτουν υπερτερούν από το κόστος της αλλαγής. Η αλήθεια βέβαια είναι ότι χρειάστηκαν αρκετά χρόνια προκειμένου να εγκαταληφθούν οι προκαταλήψεις που αφορούσαν το ΕΛ/ΛΑΚ, έτσι ώστε σήμερα να θεωρείται ισότιμο, αν όχι προνομοιακό, με το εμπορικό λογισμικό του κλειστού κώδικα. Εκτός, λοιπόν, από το χαμηλό κόστος υπάρχουν και άλλοι πολλοί λόγοι που οδηγούν στη χρησιμοποίηση ΕΛ/ΛΑΚ. Αυτοί συνοπτικά είναι 1)Μειωμένες απαιτήσεις σε υλικό, 2) Ασφάλεια, 3) Αξιοπιστία, 4)Ανοικτά πρότυπα κι ανεξαρτησία πωλήσεων, 5)Δυνατότητα προσαρμογής των έργων, 6)Ανάπτυξη τοπικού λογισμικού, 7)Πειρατεία και δικαιώματα πνευματικής ιδιοκτησίας, 8)Τεχνογνωσία. 19

20 Αναλυτικότερα : 1) Μειωμένες απαιτήσεις σε υλικό Ένα έργο ελεύθερου λογισμικού και λογισμικού ανοικτού κώδικα διαθέτει πληθώρα διαφορετικών εναλλακτικών συστημάτων τα οποία μπορούν να χρησιμοποιηθούν ακόμα και σε ασθενής υπολογιστικές πλατφόρμες, όπως για παράδειγμα το OLPC. 2) Ασφάλεια Από τη στιγμή που κανένα λειτουργικό σύστημα ή πλατφόρμα δεν είναι ασφαλής, η αρχιτεκτονική ενός προγράμματος αλλά ακόμα και οι στόχοι της αγοράς μπορούν να επηρεάσουν την ασφάλεια του συστήματος και κατ επέκταση να καταστήσουν πιο δύσκολη ή πιο εύκολη την παραβίαση του λογισμικού. Υπάρχουν αρκετές ενδείξεις οι οποίες αποδεικνύουν πως τα συστήματα ΕΛ/ΛΑΚ υπερέχουν των ιδιόκτητων συστημάτων στο συγκεκριμένο θέμα. Συγκεκριμένα : Η Gartner Group προτείνει στις επιχειρήσεις να μεταβούν από τον Internet Information Server της Microsoft στον Apache (ΕΛΛΑΚ), ή σε κάποιον άλλο διακομιστή. Επίσης το Hacker Insurance τονίζει ότι η χρήση του Windows λειτουργικού συστήματος σε μια επιχείρηση μπορεί να επιφέρει παραπάνω έξοδα από ότι αν χρησιμοποιούσε GNU/Linux ή Unix. Οι κυριότεροι λόγοι οι οποίοι περιγράφουν την ασφάλεια του ΕΛ/ΛΑΚ είναι : Η διαθεσιμότητα του πηγαίου κώδικα επιτρέπει στον κάθε ενδιαφερόμενο να μελετήσει και να ανιχνεύσει τυχόν ελαττώματα. Στα δημοφιλή έργα του ΕΛ/ΛΑΚ τα σφάλματα εντοπίζονται σε ελάχιστο χρονικό διάστημα διανέμοντας τον διορθωτικό κώδικα. Προτού προστεθούν τα χαρακτηριστικά ενός έργου ΕΛ/ΛΑΚ λαμβάνονται υπόψιν οι εκτιμήσεις ασφαλείας τους, και προστίθονται μόνο όταν διαπιστωθεί ότι δεν θα επηρεάσει την ασφάλεια του συστήματος. Τελος, τα περισσότερα ΕΛ/ΛΑΚ συστήματα βασίζονται στο μοντέλο Unix, και για αυτό διαθέτουν ισχυρή ασφάλεια. 20

21 3) Αξιοπιστία Τα έργα ΕΛ/ΛΑΚ είναι γνωστά για την σταθερότητα και την αξιοπιστία τους. Δεν είναι τυχαίο το ότι οι περισσότεροι εξυπηρετητές- διακομιστές εκτελούν ΕΛ/ΛΑΚ, οι οποίοι από τη φύση τους εκτελούν κρίσιμες υπηρεσίες. Ενδεικτικά μπορούν να αναφερθούν εταιρίες και φορείς όπως η Amazon ή η Google, οι οποίες χρησιμοποιούν εκτεταμένα τα βασικά τους συστήματα. 4) Ανοικτά πρότυπα κι ανεξαρτησία πωλήσεων Τα ανοικτά πρότυπα παρέχουν στους χρήστες την ευελιξία και την ελευθερία να αλλάζουν μεταξύ διαφορετικών πακέτων λογισμικού, πλατφόρμων, και πωλητών. Αντιθέτως τα ιδιόκτητα μυστικά πρότυπα περιορίζουν τους χρήστες να χρησιμοποιούν το λογισμικό μόνο από ένα πωλητή και τους αφήνουν στο έλεος του πωλητή σε μεταγενέστερο στάδιο, όταν όλα τους τα στοιχεία είναι σε ιδιόκτητη μορφή (που ορίζει ο πωλητής) το κόστος μετατροπής τους σε ανοικτό πρότυπο είναι απαγορευτικό. Οι συντάκτες του εγγράφου Free / Libre and Open Source Software : έρευνα και μελέτη υποστηρίζουν την άποψη που είναι κατά της χρήσης του ιδιόκτητου λογισμικού στην κυβέρνηση. Ένα σημαντικό επιχείρημα σύμφωνα με τους συντάκτες κατά της εφαρμογής του ιδιόκτητου λογισμικού στον δημόσιο τομέα είναι η εξάρτηση που θα υπάρχει από μετέπειτα προμηθευτές ιδιόκτητου λογισμικού. Με αυτόν τον τρόπο διαιωνίζεται η εξάρτηση αυτή. Ένα πλεονέκτημα ακόμη του ΕΛΛΑΚ είναι ότι σχεδόν πάντοτε κάνει χρήση ανοιχτών προτύπων και αυτό οφείλεται σε δύο βασικούς λόγους : α) διαθεσιμότητα του πηγαίου κώδικα και β)ενεργός τήρηση προτύπων. 5) Δυνατότητα προσαρμογής των έργων Το λογισμικό ΕΛΛΑΚ μπορεί να διαμορφωθεί γλωσσικά και πολιτισμικά για την χώρα στην οποία θα χρησιμοποιηθεί και θα πωληθεί. Οι χρήστες μπορούν να τροποποιήσουν το ΕΛΛΑΚ ώστε να ανταποκρίνεται στις απαιτήσεις μιας μοναδικής πολιτιστικής περιοχής ανεξαρτήτως οικονομικού μεγέθους. 21

22 6) Ανάπτυξη τοπικού λογισμικού Έχει σημειωθεί ότι υπάρχει θετική συσχέτιση μεταξύ της ανάπτυξης ενός ΕΛΛΑΚ έργου και των καινοτόμων ικανοτήτων της οικονομίας. Μία έκθεση από το διεθνές ινστιτούτο Infonomics απαριθμεί 3 λόγους για αυτό : α) Χαμηλοί φραγμοί στην αγορά : το ΕΛΛΑΚ ενθαρρύνει την ελεύθερη τροποποίηση και ανακατανομή του είναι εύκολο να αποκτηθεί και να χρησιμοποιηθεί β) το ΕΛΛΑΚ είναι ένα εξαιρετικό σύστημα εκπαίδευσης καθώς η ανοιχτή και συνεργατική φύση του επιτρέπει σε ένα μαθητή να εξετάσει και πειραματιστεί με τις έννοιες του λογισμικού χωρίς άμεσο κόστος στην κοινωνία και την οικονομία γ) το ΕΛΛΑΚ είναι πηγή προτύπων. 7) Πειρατεία και δικαιώματα πνευματικής ιδιοκτησίας Η πειρατεία του λογισμικού αποτελεί ένα σοβαρό πρόβλημα σε όλες σχεδόν τις χώρες του κόσμου. Το 2002 υπολογίστηκε ότι η πειρατεία λογισμικού κόστισε στις ΗΠΑ 13 δισεκατομμύρια δολάρια. Ακόμη και στις αναπτυγμένες χώρες όπου θεωρητικά οι τιμές του λογισμικού είναι προσιτές τα ποσοστά της πειρατείας είναι 24% ψηλότερα από ότι είναι στις ΗΠΑ και 35% από ότι είναι στην Ευρώπη. Εκτιμάται ότι η πειρατεία στις αναπτυσσόμενες χώρες όπου τα εισοδήματα είναι χαμηλά και καθιστούν την απόκτηση ιδιόκτητου λογισμικού δύσκολη, ανέρχεται στο 90%. Η πειρατεία λογισμικού και οι χαλαροί νόμοι εναντίον της μπορούν να κάνουν κακό σε μία χώρα με πολλούς τρόπους. Μια χώρα με ελλειπή προστασία των δικαιωμάτων πνευματικής ιδιοκτησίας δεν είναι ελκυστική σε ξένους επενδυτές. 8) Τεχνογνωσία Η τριβή ενός οργανισμού ή ενός φορέα με έργα ελεύθερου λογισμικού και λογισμικού ανοικτού κώδικα έχει ως αποτέλεσμα την ανάπτυξη των δεξιοτήτων των στελεχών τους, καθώς ο προγραμματισμός και η επέκταση μιας εφαρμογής του ΕΛ/ΛΑΚ απαιτεί τη κατανόηση της σε βάθος. Παρότι η διαδικασία αυτή μπορεί να αποδειχτεί επίπονη, έχει ως αποτέλεσμα τη μεταφορά τεχνογνωσίας στο ανθρώπινο δυναμικό του προσωπικού αλλά και στην ουσιαστική ανάπτυξη των δεξιοτήτων του. Αντίθετα, η διαρκείς 22

23 χρήση έτοιμων προγραμμάτων, δεν απαιτεί τις εξειδικευμένες γνώσεις πληροφορικής Κοινότητες και απωθετήρια κώδικα των έργων ΕΛ/ΛΑΚ Οι κοινότητες αυτές απασχολούνται κυρίως από ερευνητικές ομάδες, και άτομα τα οποία ενδιαφέρουνται και ασχολούνται με την παραγωγή ή βελτίωση του πηγαίου κώδικα. Πρόκειται για sites στα οποία developers open source έργων διαθέτουν την εφαρμογή στους χρήστες, καθώς και τον πηγαίο κώδικα. Οι χρήστες μπορούν να επικοινωνούν και να συνεργάζονται για την παραγωγή του κώδικα, για την εύρεση σφαλμάτων και την άμεση αντιμετώπιση τους. Όταν πραγματοποιούνται αλλαγές από ένα μέλος πάνω σε ένα έργο, γίνεται εύκολα και γρήγορα η ενημέρωση των υπολοίπων μελών, έτσι ώστε να είναι και πιο αποτελεσματική η συνεργασία τους. Στα sites αυτά αποθηκεύονται καθημερινά τεράστιες ποσότητες κώδικα, ενώ υποστηρίζουν έλεγχο έκδοσης, λίστες και wikis με βάσεις τεκμηρίωσης. Μερικές από τις πιο δημοφιλής κοινότητες και sites των έργων ΕΛ/ΛΑΚ είναι : Apache Software Foundation To Apache Software Foundation παρέχει οργανωτική, οικονομική και νομική υποστήριξη για ένα ευρύ φάσμα των έργων ελεύθερου λογισμικού. Μέσα από μια συλλογική και αξιοκρατική διαδικασία ανάπτυξης τα έργα του Apache είναι ελεύθερα διαθέσιμα προϊόντα λογισμικού τα οποία προσελκύουν μεγάλες κοινότητες των χρήστων. Ιδρύθηκε το 1999 και αρχικά ήταν γνωστή με το όνομα Apache Group. Πρόκειται για μια εταιρία μη κερδοσκοπικού χαρακτήρα, η οποία διασφαλίζει ότι τα έργα εξακολουθούν να υπάρχουν πέρα από τη συμμετοχή των μεμονομένων εθελοντών. Επίσης τα άτομα εκείνα τα 23

24 οποία έχουν επιδείξει μια συνεχής ενασχόληση αλλά και προσφορά στο πλαίσιο των έργων του ιδρύματος, είναι επιλέξιμα για την ένταξή τους στο ASF. Link : SourceForge Πρόκειται για ένα web- based αποθετήριο πηγαίου κώδικα. Λειτουργεί ως μια κεντρική τοποθεσία για την ανάπτυξη του λογισμικού, αλλά και για τον έλεγχο και την διαχείρηση έργων του ελεύθερου λογισμικού και λογισμικού ανοικτού κώδικα. Ήταν το πρώτο το οποίο παρείχε την υπηρεσία αυτή δωρεάν σε έργα ανοικτού κώδικα. Από μετρήσεις που έγιναν τον Ιούλιο του 2011 διαπιστώθηκε ότι φιλοξενεί περισσότερα από έργα, ενώ έχει παραπάνω από 2 εκατομμύρια εγγεγραμένους χρήστες. Link : Tigris Πρόκειτα για μια κοινότητα ανάπτυξης λογισμικού ανοιχτού κώδικα. Φιλοξενεί υπηρεσίες ανάπτυξης λογισμικού όπως web hosting, mailing lists, issue tracking, wiki, download and revision control. Φιλοξενείται από το CollabNet και τρέχει την CollabNet Enterprise Edition. To tigris.org ανταγωνίζεται με το πιο γνωστό SourceForge, αν και επικεντρώνεται κυρίως σε έργα για την από κοινού ανάπτυξη λογισμικού. 24

25 Link : GitHub Πρόκειται επίσης για μια web- based υπηρεσία φιλοξενίας έργα ανάπτυξης λογισμικού τα οποία χρησιμοποιούν το Git revision control system. Προσφέρει τόσο πληρωμένα σχέδια για ιδιωτική αποθήκευση, όσο και δωρεάν λογαριασμούς για έργα ανοικτού κώδικα. Τον Μάϊο του 2011, το GitHub ήταν το δημοφιλέστερο open source code repository site. Ιδρύθηκε το 2008 και εδρεύει στον Σαν Φρανσίσκο της Καλιφόρνια. Link : Launchpad Πρόκειται για ένα διαδικτυακό τόπο που επιτρέπει στους χρήστες να αναπτύξουν και να διατηρήσουν το λογισμικό, κυρίως το ελεύθερο λογισμικό. Το Launchpad αναπτύσσεται και συντηρείται από την Canonical Ltd. Τον Ιούλιο του 2011, το Launchpad φιλοξενούσε περισσότερα από έργα. Link : Assembla Πρόκειται για μια εταιρεία που παρέχει cloud- based εργαλεία για την οργάνωση και τη διαχείριση ανοικτού κώδικα και την εμπορική ανάπτυξη λογισμικού. Το Assembla χρησιμοποιείται σήμερα από περισσότερους από χρήστες σε 100 χώρες. 25

26 Link : Gitorious Πρόκειται για μια ιστοσελίδα που φιλοξενεί έργα ανοικτού κώδικα με τη χρήση του κατανεμημένου συστήματος Git. Το όνομα επίσης αναφέρεται και στον διακομιστή στον οποίο φιλοξενείται η ιστοσελίδα. Το 2010 βγήκε το δεύτερο δημοφιλέστερο site φιλοξενίας του Git, μετά από το GitHub. Link : JavaForge Πρόκειται για μια μη κερδοσκοπική κοινότητα του ελεύθερου λογισμικού και λογισμικού ανοικτού κώδικα. Φιλιξενεί έργα που σχετίζονται με Web Hosting, διαχείρηση εγγράφων, wikis και forum. Ξεκίνησε το Σεπτέμβριο του 2005 ως το πρώτο που βασίζεται σε Java. Link : Bitbucket Πρόκειται για μια υπηρεσία η οποία φιλοξενεί έργα που χρησιμοποιούν είτε το σύστημα ελέγχου αναθεώρησης Mercurial είτε το Git. Προσφέρει τόσο εμπορικά σχέδια όσο και ελεύθερους λογαριασμούς στους χρήστες, με απεριόριστο αριθμό από ιδιωτικές αποθήκες. Το Σεπτέμβριο του 2008, εξαγοράστηκε από την VC- funded Atlassian και τον Οκτώβριο 26

27 του 2011 ανακοίνωσε επίσημα την υποστήριξη για φιλοξενία και έργων του Git. Link : 1.3 Η Εταιρία Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού κώδικα (ΕΕΛ/ΛΑΚ) Η Εταιρία Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού κώδικα είναι μια μη κερδοσκοπική εταιρία η οποία ιδρύθηκε από 25 Πανεπηστήμια, Ερευνητικά κέντρα και Τεχνολογικά Ιδρύματα το Στόχος της της εταιρίας αυτής είναι η συμβολή της στην προώθηση αλλά και στην ανάπτυξη του Ελεύθερου Λογισμικού, του Ανοικτού Περιεχομένου και των Τεχνολογιών Ανοικτής Αρχιτεκτονικής στο χώρο της εκπαίδευσης, του δημόσιου τομέα και των επιχειρήσεων στην Ελλάδα, ενώ παράλληλα φιλοδοξεί να αποτελέσει κέντρο γνώσης και πλατφόρμα διαλόγου για τις ανοικτές τεχνολογίες. Πολλά από τα Ελληνικά Πανεπηστήμια, Τεχνολογικά Ιδρύματα κι Ερευνητικά Κέντρα συμμετέχουν στην Εταιρία Ελεύθερου Λογισμικού και Λογισμικού Ανοικτού Κώδικα (ΕΕΛ/ΛΑΚ) και συνεργάζονται προκειμένου να υλοποιηθούν οι δράσεις της. Η ΕΛ/ΛΑΚ συνεργάζεται με τα Creative Commons ενώ είναι μέλος του COMMUNIA Στόχοι της ΕΕΛ/ΛΑΚ Μέσα από τις πρωτοβουλίες που αναλαμβάνει ως εταιρία έχει τους εξής στόχους : 27

28 Να συμβάλλει στην ευαισθητοποίηση του κοινού σχετικά με τα οφέλη που προκύπτουν από την χρήση και ανάπτυξη του Ελεύθερου Λογισμικού, του Ανοιχτού Περιεχομένου και των Τεχνολογιών Ανοιχτής Αρχιτεκτονικής. Να φροντίσει για την έγκυρη και έγκαιρη πληροφόρηση σε θέματα που αφορούν τις ανοιχτές τεχνολογίες στην Ελλάδα και το διεθνή χώρο. Να εργαστεί ώστε να υπάρχει συνεργασία με την ισότιμη συμμετοχή όλων των άλλων φορέων που έχουν άμεσο ή έμμεσο ρόλο στη διάδοση και ανάπτυξη του του Ελεύθερου Λογισμικού, του Ανοιχτού Περιεχομένου και των Τεχνολογιών Ανοιχτής Αρχιτεκτονικής στην Ελλάδα, όπως μεταξύ άλλων της κοινότητας προγραμματιστών EΛ/ΛΑΚ στην Ελλάδα καθώς και όσων ενδιαφέρονται να αναπτύξουν επιχειρηματική δραστηριότητα που σχετίζεται με το EΛ/ΛΑΚ. Να δημιουργήσει κέντρα προώθησης για τις ανοιχτές τεχνολογίες στην Ελλάδα (με στόχους: την διοργάνωση εκπαιδευτικών σεμιναρίων, την καταγραφή αναγκών για την εισαγωγή και χρήση του EΛ/ΛΑΚ σε διαφορετικούς τομείς καθώς και την καταγραφή των φορέων και των οργανώσεων που ασχολούνται με το EΛ/ΛΑΚ στην Ελλάδα). Να συμβάλει στο συντονισμό των ομάδων εθελοντών προγραμματιστών EΛ/ΛΑΚ στην Ελλάδα, ώστε να αποτελέσουν τον βασικό κορμό για την ανάπτυξη και υλοποίηση λογισμικού και εφαρμογών. Να υποστηρίξει την ανάπτυξη και προώθηση επιχειρηματικών μοντέλων που βασίζονται στο EΛ/ΛΑΚ, καθώς και την ενημέρωση επιχειρήσεων για την υιοθέτηση τους ή για τη μετάβαση τους σε αυτά. 28

29 Να προσφέρει τεχνική υποστήριξη εφαρμογών EΛ/ΛΑΚ και συγκεκριμένα: δημιουργία υπηρεσίας υποστήριξης(help- desk) για χρήστες και ομάδες EΛ/ΛΑΚ, μέριμνα για εξελληνισμό λογισμικού,ανάπτυξη γλωσσαρίου, καθώς και να συμβάλει στην ανάπτυξη εφαρμογών για τις οποίες υπάρχει ζήτηση στην Ελλάδα. Να συμβάλει στο σχεδιασμό, ανάπτυξη και προώθηση δράσεων Ανοιχτού Περιεχομένου και Τεχνολογιών Ανοιχτής Αρχιτεκτονικής. Η υλοποίηση των παραπάνω στόχων βασίζεται στην ενεργή συνεργασία: - των ελληνικών κοινότητων χρηστών και δημιουργών έργων Ελεύθερου Λογισμικού, Ανοιχτού Περιεχομένου και Τεχνολογιών Ανοιχτής Αρχιτεκτονικής. - των ενδιαφερόμενων φορέων- χρηστών(δημόσιοι φορείς, εκπαιδευτικοί φορείς και επιχειρήσεις), - των εταιρειών που δραστηριοποιούνται στους τομείς των τεχνολογιών πληροφορικής και επικοινωνιών που θα συμβάλλουν στην ανάπτυξη και υποστήριξη υπηρεσιών ΕΛ/ΛΑΚ. - των εργαστηρίων ΑΕΙ, ΑΤΕΙ και Ερευνητικών Κέντρων της Χώρας που χρησιμοποιούν και αναπτύσσουν Ελεύθερο Λογισμικό, Ανοιχτό Περιεχομένο και Τεχνολογίες Ανοιχτής Αρχιτεκτονικής. 1.4 Επαναχρησιμοποίηση του κώδικα Η παρούσα διπλωματική εργασία στηρίζεται κυρίως στην διαδικασία της επαναχρησιμοποίησης του κώδικα. Πρόκειται για μια διαδικασία κατά την οποία 29

30 χρησιμοποιούνται έτοιμα κομμάτια του λογισμικού ή έτοιμος κώδικας με σκοπό την παραγωγή νέου λογισμικού. Ουσιαστικά εκμεταλλεύονται τα έτοιμα κομμάτια που έχουν ήδη παραχθεί από τους προγραμματιστές, ώστε να προκύψουν κάποια νέα χωρίς όμως να απαιτείται να γίνει ολόκληρη η διαδικασία από το μηδέν. Με αυτό τον τρόπο προκύπτουν πολλά πλεονεκτήματα, κι ένα από αυτά η ελάττωση του χρόνου. Τόσο τα πλεονεκτήματα αυτά, όσο και η έννοια του Software Reuse περιγράφονται αναλυτικά στο επόμενο κεφάλαιο του παρόν εγγράφου. 1.5 Η γλώσσα προγραμματισμού Java Τα έργα τα οποία είχε σαν βάση η παρούσα πτυχιακή είναι γραμμένα αποκλειστικά στη γλώσσα προγραμματισμού Java και για αυτό το λόγο γίνεται μια αναφορά στην ιστορία της, καθώς και τα βασικά χαρακτηριστικά τα οποία την διέπουν. H Java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού, η οποία αρχικά αναπτύχθηκε από την εταιρία πληροφορικής Sun Microsystems, σαν μέρος ενός ερευνητικού έργου ανάπτυξης λογισμικού για ηλεκτρονικές συσκευές καταναλωτικού επιπέδου. Η εταιρία αυτή ξεκίνησε ένα εσωτερικό ερευνητικό έργο με τον κωδικό όνομα Green το 1991, το οποίο οδήγησε στην ανάπτυξη μιας γλώσσας βασισμένης στην C++, την οποία ο δημιουργός της, James Gosling, ονόμασε Oak, από μια βελανιδιά που βρισκόταν έξω από το παράθυρο του στην Sun. Αργότερα ανακαλύφθηκε ότι υπήρχε ήδη μια γλώσσα που είχε το ίδιο όνομα, Oak, κι έτσι μια ομάδα ανθρώπων της Sun πρότεινε το όνομα Java, όταν βρίσκονταν σε ένα τοπικό καφέ, το οποίο και παρέμεινε. Το έργο Green συνάντησε κάποιες δυσκολίες. Η αγορά για τέτοιες συσκευές δεν αναπτυσσόταν τόσο γρήγορα στις αρχές της δεκαετίας του 1990 όσο είχε εκτιμήσει η Sun. Το έργο κινδύνευε να ακυρωθεί, όταν καθαρά από τύχη, το 1993 η δημοτικότητα του World Wide Web εκτοξεύθηκε ψηλά, και η Sun είδε την άμεση δυνατότητα για χρήση της Java για τη 30

31 δημιουργία δυναμικών περιεχομένων, όπως διαδραστικότητας και κινούμενων παραστάσεων σε ιστοσελίδες. Αυτό ενέπνευσε νέα πνοή στο έργο. Η Sun ανακοίνωσε επισήμως την Java σε ένα συνέδριο τον Μάιο του Η Java τράβηξε αμέσως την προσοχή της επιχειρηματικής κοινότητας, λόγω του νέου, εκτενούς ενδιαφέροντος για το World Wide Web. Η Java χρησιμοποιείται τώρα για δημιουργία ιστοσελίδων με δυναμικά περιεχόμενα, για τη δόμηση εφαρμογών enterprise μεγάλης κλίμακας, για τη βελτίωση τγς λειτουργικότητας των World Wide Web servers (των υπολογιστών που παρέχουν τα περιεχόμενα που βλέπουμε στα προγράμματα μιας περιήγησης στο Web), για την παροχή εγαρμογών για καταναλωτικές συσκευές (π.χ. κινητά τηλέφωνα, pages, PDAs) και για πολλούς άλλους σκοπούς. Στις 27 Απριλίου του 2012 η εταιρία λογισμικού Oracle Corporation ανακοίνωσε ότι ήρθε σε συμφωνία για την εξαγορά της Sun Microsystems και των τεχνολογιών που η Sun είχε στη κατοχή της ή δημιούργησε. Η συμφωνία αυτή θεωρείται αρκετά σημαντική για την πορεία της εξέλιξης της Java Τα χαρακτηριστικά της Java H εταιρία Sun περιγράφει την Java ως «μια απλή, αντικειμενοστραφή, κατανεμημένη, συμπαγή, ασφαλή, ανεξάρτητη αρχιτεκτονικής, μεταφέρσιμη, υψηλής απόδοσης, υποστηρίζουσα πολλαπλά νήματα, και δυναμική γλώσσα». Αναλυτικά : Aπλή : Ο όρος απλή αναφέρεται στην εκμάθησή της καθώς είναι σχετικά εύκολη. Περιέχει λίγες προγραμματιστικές δομές με καλά ορισμένη σημασιολογία. Μοιάζει αρκετά με τις διαδεδομένες γλώσσες προγραμματισμού C και C++, συνεπώς η μετάβαση από αυτές στη Java είναι πιο εύκολη. 31

32 Αντικειμενοστραφής : Η Java εστιάζει τη δραστηριότητα του προγραμματιστή στον ορισμό αντικειμένων και λειτουργιών πάνω σε αυτά. Ιδιαίτερη σημασία έχει η έννοια της κλάσης, η οποία περιγράφει μια συλλογή δεδομένων καθώς και τις λειτουργίες που αυτά επιδέχοντα. Κάθε κλάση προέρχεται από κάποια άλλη ήδη ορισμένη μέσω της κληρονομικότητας. Αντικείμενα μιας κλάσης μπορούν να οριστούν και να χρησιμοποιηθούν σε ένα πρόγραμμα της Java, ενώ δημιουργούνται κατά τη διάρκεια εκτέλεσης του προγράμματος. Κατανεμημένη : Η Java υποστηρίζει την ανάπτυξη κατανεμημένων εφαρμογών δικτύων, και συγκεκριμένα επιτρέπει την προσπέλαση αντικειμένων που βρίσκονται σε απομακρυσμένες θέσεις στο δίκτυο. Ερμηνευόμενη : Ο μεταγλωττιστής δεν παράγει τελικό κώδικα, για κάποιο συγκεκριμένο υπολογιστή, αλλά ενδιάμεσο κώδικα σε μορφή bytes, που ονομάζεται bytecode. Ο ενδιάμεσος κώδικας στη συνέχεια εκτελείται από έναν διερμηνέα της Java. To πλεονέκτημα είναι ότι ο κώδικας μπορεί να εκτελεστεί σε πολλά διαφορετικά περιβάλλοντα υπολογιστών. Ο διερμηνέας μαζί με το σύστημα εκτέλεσης των προγραμμάτων υλοποιεί μια εικονική μηχανή Java (Java Virtual Machine, JVM). Συμπαγής : H Java είναι σχεδιασμένη έτσι ώστε να είναι δυνατή η ανάπτυξη συμπαγούς και αξιόπιστου λογισμικού. Η γλώσσα έχει ένα ισχυρό σύστημα τύπων, το οποίο επιτρέπει εκτενείς ελέγχους κατά τη διάρκεια της μετάφρασης των προγραμμάτων, βοηθώντας έτσι την ανάπτυξη αξιόπιστου λογισμικου. Ένα άλλο στοιχείο το οποίο βοηθάει την ανάπτυξη αξιόπιστου λογισμικού είναι το μοντέλο μνήμης. Η Java δεν παρέχει στον προγραμματιστή εντολές για παραχώρηση και αποδέσμευση μνήμης, αλλά η διαχείρηση της μνήμης γίνεται εξ ολοκλήρου από το σύστημα εκτέλεσης. Ασφαλής : Τα προγράμματα που έχουν αναπτυχθεί σε Java μπορούν να εκτελεστούν από πολλούς χρήστες με διαφορετικά δικαιώματα πρόσβασης στο σύστημα, χωρίς να είναι δυνατό να υπάρξουν ανεπιθύμητες παρενέργειες. Ανεξάρτητη αρχιτεκτονικής : Τα προγράμματα Java μεταφράζονται σε ενδιάμεσο κώδικα, ο οποίος δεν είναι προσανατολισμένος σε μια 32

33 συγκεκριμένη αρχιτεκτονική ή τύπο υπολογιστή. Ο κώδικας είναι μεταφέρσιμος, μια και μπορεί να εκτελεστεί από διερμηνείς της γλώσσας που έχουν αναπτυχθεί για πολλές αρχιτεκτονικές και περιβάλλοντα υπολογιστών. Μεταφέρσιμη : Το γεγονός ότι η Java είναι ανεξάρτητη αρχιτεκτονικής καθιστά τα προγράμματα μεταφέρσιμα. Οι προδιαγραφές της Java καθορίζουν σαφώς τα μεγέθη των διάφορων πρωταρχικών τύπων δεδομένων καθώς και τα αποτελέσματα των διάφορων λειτουργιών πάνω σε μεταβλητές αυτών των τύπων. Κατά συνέπεια, ένα πρόγραμμα Java θα δώσει τα ίδια αποτελέσματα όταν δεχθεί τα ίδια δεδομένα, ανεξάρτητα της αρχιτεκτονικής στην οποία θα εκτελεστεί. Υψηλής απόδοσης : Η Java σαν ερμηνευόμενη γλώσσα δεν μπορεί να φτάσει την απόδοση των γλωσσών προγραμματισμού όπως η C και η C++, που υλοποιούνται σε μεταγλωττιστές. Παρ όλα αυτά, η απόδοσή της είναι αρκετά υψηλή, με περίπου 20% καθυστέρηση των αντίστοιχων προγραμμάτων σε C ή C++. Yποστηρίζουσα πολλαπλά νήματα : Οι διεργασίες μοιράζονται τον ίδιο χώρο μνήμης για την εκτέλεση τους και τη διαχείριση δεδομένων. Τα πολλαπλά νήματα αποτελούν μια αποδοτική λύση σε πολλά προβλήματα, αλλά απαιτούν την ύπαρξη μηχανισμών συγχρονισμού μεταξύ των νημάτων. Αυτό είναι απαραίτητο προκειμένου να αποφεύγεται η ταυτόχρονη προσπέλαση του ίδιου αντικειμένου. Δυναμική : Κλάσεις μπορούν να μεταφερθούν δυναμικά από άλλα μέρη δικτύου και να εκτελεστούν τοπικά. Με αυτό το τρόπο προγράμματα της Java μπορούν να μεταφερθούν και να εκτελέσουν κλάσεις από άλλα μέρη δικτύου και δεν είναι απαραίτητο οι κλάσεις αυτές να ενσωματωθούν στο πρόγραμμα κατά τη διάρκεια της μετάφρασής του. Υποστήριξη πολυμέσων : Η Java καθιστά δυνατή τη μεταφορά εκτελέσιμου περιεχομένου σε εφαρμογές πολυμέσων. Πριν από τη Java, οι εφαρμογές πολυμέσων περιείχαν κείμενο, ακίνητη ή κινούμενη εικόνα, ήχο κ.τ.λ. Αυτό που έλειπε ήταν η δυνατότητα εκτέλεσης προγραμμάτων στο περιβάλλον του χρήστη, κι αυτό το κενό καλύπτεται από τη Java, η οποία επιτρέπει να 33

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

35 Κεφάλαιο 2 : Επαναχρησιμοποίηση του κώδικα 2.1 Τι είναι το Software Reuse Η επαναχρησιμοποίηση του κώδικα σαν έννοια δεν είναι καινούρια. Χρονολογείται απο το 1968, όταν προτάθηκε από τον N. Mcllay της Bell Laboratories. Τόσο οι εταιρίες λογισμικού, όσο και οι προγραμματιστές ατομικά γνωρίζουν το γεγονός ότι υπάρχουν συγκεκριμένα τμήματα κώδικα, τα περισσότερα από τα οποία προέρχονται από εμπορικά προγράμματα λογισμικού. Επιπλέον υπάρχουν και οι περιπτώσεις στις οποίες ο κώδικας αναπτύσσεται με συγκεκριμένες απαιτήσεις και με τέτοιο τρόπο, έτσι ώστε να μπορεί να εξυπηρετεί παρόμοια έργα που μπορεί να χρειαστούν σε μελλοντικό χρόνο. Συνήθως ο κώδικας αυτό αναφέρεται ως κώδικας κληρονομιάς. Η τεράστια ανάπτυξη που γνώρισε το Ελεύθερο Λογισμικό Ανοικτού Κώδικα τα τελευταία χρόνια, έφερε στην επιφάνεια την από κοινού ανάπτυξη του λογισμικού. Επίσης ο κώδικας των προγραμμάτων είναι ανοικτός, και προβιβάσιμος από τον καθένα μέσω του Web, και αυτό μεταμόρφωσε το world wide web σε μια τεράστια αποθήκη επαναχρησιμοποιήσιμου κώδικα. Γενικότερα, πρόκειται για μια ιδέα, σύμφωνα με την οποία δημιουργούνται νέα συστήματα λογισμικού, χρησιμοποιώντας ήδη υπάρχον λογισμικό, αντί για την κατασκευή τους από το μηδεν. Οι τύποι των αντικειμένων που μπορούν να επαναχρησιμοποιηθούν, δεν περιορίζονται μόνο σε πηγαίο κώδικα, αλλά μπορούν να περιλαμβάνουν δομές σχεδιασμού, περιγραφές, τεκμηρίωση κ.τ.λ. Στόχος αυτής της διαδικασίας είναι η εξοικονόμηση χρόνου αλλά και ενέργειας με τη μείωση των εργασιών, οι οποίες δεν είναι απαραίτητο να γίνουν ξανά. Πολλοί είναι εκείνοι οι ερευνητές που έχουν προσπαθήσει να κάνουν την επαναχρησιμοποίηση ταχύτερη, ευκολότερη, πιο συστηματική έτσι ώστε να αποτελεί ένα αναπόσπαστο μέρος της διαδικασίας του προγραμματισμού. 35

36 2.2 Πλεονεκτήματα και Μειονεκτήματα του Software Reuse Πλεονεκτήματα Αύξηση της αξιοπιστίας του συστήματος : Τα επαναχρησιμοποιημένα τμήματα του λογισμικού είναι κατά βάση δοκιμασμένα κι ελεγχμένα, με αποτέλεσμα, η πιθανότητα ενός πιθανούς σφάλματος να ελαχιστοποιείται σε σύγκριση με τη χρήση ενός νέου τμήματος του λογισμικού. Debbuging : Όπως αναφέρθηκε και προηγουμένως, η πιθανότητα εμφάνισης σφάλματος είναι αρκετά πιο μικρή, συνεπώς δεν χρειάζεται να ξοδευτεί χρόνος για την διόρθωση τμημάτων του λογισμικού. Το συνολικό ρίσκο και κόστος μειώνεται : Το κόστος ενός επαναχρησιμοποιήσιμου τμήματος λογισμικού μπορεί να εκτιμηθεί με μεγαλύτερη ακρίβεια από την αρχή. Αύξηση της αποδοτικότητας : Ο συνολικός χρόνος δημιουργίας του λογισμικού μειώνεται, καθώς μειώνεται και ο χρόνος σχεδιασμού αλλά και εγγραφής του κώδικα. Κέρδη : Η επαναχρησιμοποίηση μπορεί να οδηγήσει στην αγορά του τμήματος του λογισμικού. Ζωντανά παραδείγματα είναι τα συστατικά (components) Activex, Hypercard stacks, καθώς και τα πακέτα της Java. Μειονεκτήματα Ασυμφωνία : Είναι πολύ πιθανό τα τμήματα του λογισμικού να μην ταιριάζουν απόλυτα με μια κατάσταση. Χρόνος : Ενώ τις περισσότερες φορές ο χρόνος είναι ένα απο τα πλεονεκτήματα της επαναχρησιμοποίησης του λογισμικού, υπάρχουν και οι περιπτώσεις όπου η μετατροπή του τμήματος απαιτεί αρκετό χρόνο αλλά και ακρετή προσπάθεια. 36

37 Συνήθεια : Οι περισσότεροι τεχνολόγοι λογισμικού έχουν μάθει να παράγωγουν λογισμικό από την αρχή, και τις περισσότερες φορές δεν εμπιστεύονται την ποιότητα των τμημάτων τα οποία έχουν αναπτυχθεί από άλλους, κι αντί αυτού προτιμούν να ξαναγράφουν από την αρχή. Η επαναχρησιμοποίηση πρέπει να στηρίζεται σε τεχνικές κατηγοριοποίησης και ανάκτησης τμημάτων από βιβλιοθήκες : Κάτι το οποίο δεν βρίσκεται ακόμα σε ώριμο επίπεδο. 2.3 Η ανάπτυξη του λογισμικού με βάση την επαναχρησιμοποίηση του κώδικα Ο μηχανισμός της επαναχρησιμοποίησης βασίζεται στην κάλυψη των αναγκών του προϊόντος λογισμικού στο οποίο πρόκειται να εφαρμοστεί. Τα περισσότερα από τα κομμάτια του επαναχρησιμοποιήσιμου κώδικα βρίσκονται σε ανοικτά απωθετήρια λογισμικού. Η διαδικασία του software reuse αποτελεί επίσης μια κοινή πρακτική για την ανάπτυξη λογισμικού ανοικτού κώδικα, έτσι ώστε να οργανωθεί ο κώδικά τους σε συστατικά (components), αλλά μεγαλύτερα κι άλλα μικρότερα. Έχοντας αυτό κατά νου, μπορούμε να οργανώσουμε τις απαιτήσεις του προϊόντος του λογισμικού, σε πιθανά συστατικά με βάση μια προσέγγιση, όπως για παράδειγμα αυτή που απεικονίζεται στο επόμενο σχήμα. 37

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

39 2. Τα άτομα τα οποία θα επαναχρησιμοποιήσουν τα τμήματα θα πρέπει να είναι σε θέση να κατανοήσουν πλήρως τα στοιχεία, προκειμένου η διαδικασία να γίνει σωστά αλλά και να είναι σίγουροι ότι καλύπτουν τις ανάγκες τους. 3. Τα στοιχεία πρέπει να είναι τεκμηριωμένα έτσι ώστε αν κάποιος επιθυμεί να τα χρησιμοποιήσει να είναι φανερό το πως αυτά μπορούν να επαναχρησιμοποιηθούν, χωρίς να απαιτείται η ανάγνωση του κώδικά τους. 2.5 Επίπεδα και τύποι του Software Reuse Επίπεδα Application system reuse Έχει να κάνει με την επαναχρησιμοποίηση ολόκληρης της εφαρμογής. Βασικό της πρόβλημα είναι ότι είναι λειτουργικά ανεξάρτητη από την πλατφόρμα. Sub- system reuse Έχει να κάνει με την επαναχρησιμοποίηση μεγάλου μέρους μιας εφαρμογής (π.χ. query matching). Module ή object reuse Αφορά την επαναχρησιμοποίηση Τμημάτων του συστήματος που περιέχουν συλλογή συναρτήσεων. 39

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

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

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

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

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

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

Μπορούμε και χωρίς Πατέντες

Μπορούμε και χωρίς Πατέντες Μπορούμε και χωρίς Πατέντες Ι. Σταμέλος Αναπλ. Καθηγητής Α.Π.Θ. Μέλος Δ.Σ. Εταιρείας ΕΛΛΑΚ Με τη συνδρομή του Π. Τσιάβου, Νομικού, Μέλους Δ.Σ. ΕΛΛΑΚ Εταιρεία ΕΛΛΑΚ Εταιρεία μη κερδοσκοπικού χαρακτήρα,

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

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης Μικρομεσαίες Επιχειρήσεις και Καινοτομία Ηλεκτρονικό Εμπόριο H δυνατότητα των καταναλωτών και των εμπορικών καταστημάτων να κάνουν

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1

Ενότητα 2. Πηγές Λογισμικού. Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1 Ενότητα 2 Πηγές Λογισμικού Πληροφοριακά Συστήματα Διοίκησης ΙI Νίκος Καρακαπιλίδης 2-1 Μαθησιακοί στόχοι Εξοικείωση με εναλλακτικές πηγές λογισμικού Κατανόηση του τρόπου αξιολόγησης έτοιμου λογισμικού

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

Επιτελική σύνοψη κάθε παραγόµενο λογισµικό µπορεί να χρησιµοποιηθεί, να αντιγραφεί και να διανεµηθεί ελεύθερα

Επιτελική σύνοψη κάθε παραγόµενο λογισµικό µπορεί να χρησιµοποιηθεί, να αντιγραφεί και να διανεµηθεί ελεύθερα Επιτελική σύνοψη Το Ελεύθερο Λογισµικό/Λογισµικό Ανοικτού Κώδικα (ΕΛ/ΛΑΚ) είναι ένα εναλλακτικό µοντέλο ανάπτυξης και χρήσης λογισµικού, σύµφωνα µε το οποίο κάθε παραγόµενο λογισµικό µπορεί να χρησιµοποιηθεί,

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

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

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

Λειτουργικό Σύστημα Linux ~ Μια σύντομη εισαγωγή

Λειτουργικό Σύστημα Linux ~ Μια σύντομη εισαγωγή Λειτουργικό Σύστημα Linux ~ Μια σύντομη εισαγωγή Πως ξεκίνησε το Linux Linus Torvalds : Εμπνευστής και δημιουργός του, φοιτητής του Πανεπιστημίου του Helsinki στην Φιλανδία Πως ξεκίνησε το Linux Βασίστηκε

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

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

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

ΤΕΧΝΙΚΗ ΝΟΜΟΘΕΣΙΑ ΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ-ΛΟΓΙΣΜΙΚΟ ΑΝΟΙΧΤΟΥ ΚΩΔΙΚΑ(ΕΛ-ΛΑΚ)

ΤΕΧΝΙΚΗ ΝΟΜΟΘΕΣΙΑ ΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ-ΛΟΓΙΣΜΙΚΟ ΑΝΟΙΧΤΟΥ ΚΩΔΙΚΑ(ΕΛ-ΛΑΚ) ΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ-ΛΟΓΙΣΜΙΚΟ ΑΝΟΙΧΤΟΥ ΚΩΔΙΚΑ(ΕΛ-ΛΑΚ) ΕΛΕΥΘΕΡΟ ΛΟΓΙΣΜΙΚΟ (STALLMAN) Το ελεύθερο λογισμικό παρέχει στους χρήστες την ελευθερία να εκτελούν, αντιγράφουν, διανέμουν, μελετούν, τροποποιούν και

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

Εισαγωγή στην Πληροφορική

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

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

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

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

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1 ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 03/01/09 Χαράλαμπος Τζόκας 1 Πρόγραμμα - Προγραμματισμός Πρόγραμμα: Σύνολο εντολών που πρέπει να δοθούν στον Υπολογιστή, ώστε να υλοποιηθεί ο αλγόριθμος της επίλυσης

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

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 7ο X Window System Μιχαηλίδης Παναγιώτης Tι είναι παραθυρικό σύστημα; Ένα παραθυρικό σύστημα (window system) είναι μια γραφική διεπαφή χρήστη (Graphical

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Εκμάθηση, δοκιμή και εφαρμογή των εργαλείων της πλατφόρμας OPEN-SME για επαναχρησιμοποίηση κώδικα»

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Εκμάθηση, δοκιμή και εφαρμογή των εργαλείων της πλατφόρμας OPEN-SME για επαναχρησιμοποίηση κώδικα» ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «Εκμάθηση, δοκιμή και εφαρμογή των εργαλείων της πλατφόρμας OPEN-SME για επαναχρησιμοποίηση κώδικα» Θεοδωρίδης Γεώργιος Επιβλέπων

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

Ελεύθερο Ανοικτό Λογισμικό

Ελεύθερο Ανοικτό Λογισμικό Ελεύθερο Ανοικτό Λογισμικό Σειρά τριών διαλέξεων σχετικών με το Ελεύθερο-Ανοικτό Λογισμικό στο Τμήμα Διοίκησης Τεχνολογίας Κ.Γ. Μαργαρίτης, Απρίλιος 2007 Ελεύθερο-Ανοικτό Λογισμικό, Διαδίκτυο και Επιχειρηματικότητα

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

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress

Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου, Wordpress και BuddyPress Σταύρος Καουκάκης Χάρης Παπαγιαννάκης Ευτύχης Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα

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

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα

Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα Copyright (C) Konstantinos Togias. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

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

Ελεύθερο Λογισμικό και GNU/Linux

Ελεύθερο Λογισμικό και GNU/Linux Ελεύθερο Λογισμικό και GNU/Linux Δημήτρης Γλυνός Υπ. Διδάκτορας Τμήμα Πληροφορικής Πανεπιστήμιο Πειραιά [oss-cs-unipi-events] user@host:~$./greeting hello world! [oss-cs-unipi-events] Ποιοι είμαστε Κοινότητα

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

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

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

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

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής Βασιλάκης Βασίλειος Τζανάκης Δημήτριος Εισαγωγή Σκοπός Να παρουσιαστούν προτάσεις αξιοποίησης

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

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

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

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

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια.

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει τρία εξίσου σημαντικά στάδια. Τον ακριβή προσδιορισμό του προβλήματος. Την ανάπτυξη του αντίστοιχου αλγορίθμου.

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

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ ΤΙ ΕΊΝΑΙ ΛΟΓΙΣΜΙΚΟ Για τη λειτουργία ενός υπολογιστικού συστήματος χρειάζεται εκτός από το υλικό (hardware) και το λογισμικό (software). Σε αυτό περιλαμβάνονται όλα τα Προγράμματα

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

www.ellak.gr ΠΑΡΟΥΣΙΑΣΗ ΕΕΛ/ΛΑΚ www.eellak.gr

www.ellak.gr ΠΑΡΟΥΣΙΑΣΗ ΕΕΛ/ΛΑΚ www.eellak.gr www.ellak.gr ΠΑΡΟΥΣΙΑΣΗ ΕΕΛ/ΛΑΚ www.eellak.gr Εταιρεία ΕΛ/ΛΑΚ Η ΕΕΛ/ΛΑΚ (www.eellak.gr) είναι μη κερδοσκοπική εταιρεία που ιδρύθηκε το 2008 Αποτελείται σήμερα από 29 μέλη (Πανεπιστήμια, Ερευνητικά Κέντρα

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Μάθημα 0.2: Το Λογισμικό (Software) Δίκτυα υπολογιστών Αντώνης Χατζηνούσκας 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήματος

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

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

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

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

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας) Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016 Γεωργία Καπιτσάκη (Λέκτορας) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα συλλογής

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

Linux με τη χρήση κονσόλας

Linux με τη χρήση κονσόλας Linux με τη χρήση κονσόλας Κεφάλαιο 1 Κείμενα Χρυσούλα Παπάζογλου Πανεπιστήμιο Μακεδονίας, Βιβλιοθήκη και Κέντρο Πληροφόρησης Υπηρεσία Ασύγχρονης Τηλεκπαίδευσης Θεσσαλονίκη, Μάρτης 2009 Το υλικό διατίθεται

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Λογισμικό Συστήματος & Εφαρμογών ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Γενική Δομή Υπολογιστών Λειτουργικό σύστημα Υπολογιστής

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

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος Λογισμικό Συστήματος Λογισμικό 2 Λογισμικό Συστήματος Τα ειδικά εργαλεία χρησιμοποιούνται για την ανάπτυξη λογισμικού εφαρμογών και την εκτέλεση βοηθητικών εργασιών. Το λειτουργικό σύστημα (operating system)

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

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Ελεύθερο Λογισμικό και GNU/Linux

Ελεύθερο Λογισμικό και GNU/Linux Ελεύθερο Λογισμικό και GNU/Linux Πηγές: http://rainbow.cs.unipi.gr/projects/oss/wiki/eventzero http://dimitris.glezos.com/opensource/ http://www.myubuntu.gr/index.php/γιατί-linux/ http://www.gnu.org/philosophy/free-sw.el.html

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

Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά

Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά Δρ. Οδυσσέας Ι. Πυροβολακης Πρόεδρος ΔΣ ΕΜηΠΕΕ Ένωση Μηχανικών Πληροφορικής και Επικοινωνιών Ελλάδας (ΕΜηΠΕΕ) συνοπτικά Ιδρύθηκε το 1987, ως Πανελλήνιος Σύλλογος ιπλωματούχων Μηχανικών Η/Υ & Πληροφορικής

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

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στην Python Σύνοψη Σε αυτό το κεφάλαιο κάνουμε μια σύντομη εισαγωγή στην Python και στα εργαλεία λογισμικού που θα χρησιμοποιήσουμε στη συνέχεια του συγγράμματος. Προαπαιτούμενη γνώση

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα 4o Εργαστήριο Σ.Α.Ε Ενότητα : Μελέτη και Σχεδίαση Σ.Α.Ε Με χρήση του MATLAB Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν

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

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου

Εργαλεία CASE. Computer Assisted Systems Engineering. Δρ Βαγγελιώ Καβακλή. Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Εργαλεία CASE Computer Assisted Systems Engineering Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Εργαλεία CASE

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

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

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

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

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής Εργαλεία και τεχνικές από την πλευρά του πελάτη Java Applet

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

Μονάδες Αριστείας ΕΛ/ΛΑΚ. 28/9/2014 Μονάδες Αριστείας ΕΛ/ΛΑΚ 1

Μονάδες Αριστείας ΕΛ/ΛΑΚ. 28/9/2014 Μονάδες Αριστείας ΕΛ/ΛΑΚ 1 28/9/2014 Μονάδες Αριστείας ΕΛ/ΛΑΚ 1 Τι είναι; Οι Μονάδες Αριστείας, είναι ομάδες σε Πανεπιστημιακά Ιδρύματα και Ερευνητικά Κέντρα που υλοποιούν το έργο ΕΣΠΑ «Ηλεκτρονικές Υπηρεσίες για την Ανάπτυξη και

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Α. ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΦΥΛΛΑΔΙΟ 6 ο ( Ενότητες 2.3 ) 1.Τι είναι πρόγραμμα; 2. Ποια είναι τα πλεονεκτήματα των γλωσσών υψηλού επιπέδου σε σχέση με τις γλώσσες

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

ΠΟΛΙΤΙΚΗ ΔΙΑΧΕΙΡΙΣΗΣ ΤΟΥ ΕΡΕΥΝΗΤΙΚΟΥ ΑΠΟΘΕΤΗΡΙΟΥ CRIS (CURRENT RESEARCH INFORMATION SYSTEMS) ΤΟΥ ΤΕΙ ΗΠΕΙΡΟΥ

ΠΟΛΙΤΙΚΗ ΔΙΑΧΕΙΡΙΣΗΣ ΤΟΥ ΕΡΕΥΝΗΤΙΚΟΥ ΑΠΟΘΕΤΗΡΙΟΥ CRIS (CURRENT RESEARCH INFORMATION SYSTEMS) ΤΟΥ ΤΕΙ ΗΠΕΙΡΟΥ ΠΟΛΙΤΙΚΗ ΔΙΑΧΕΙΡΙΣΗΣ ΤΟΥ ΕΡΕΥΝΗΤΙΚΟΥ ΑΠΟΘΕΤΗΡΙΟΥ CRIS (CURRENT RESEARCH INFORMATION SYSTEMS) ΤΟΥ ΤΕΙ ΗΠΕΙΡΟΥ 1 Περιεχόμενα ΤΟ ΙΔΡΥΜΑΤΙΚΟ ΚΑΙ ΤΟ ΕΡΕΥΝΗΤΙΚΟ ΑΠΟΘΕΤΗΡΙΟ ΤΟΥ ΤΕΙ ΗΠΕΙΡΟΥ... 3 ΠΟΛΙΤΙΚΗ ΔΙΑΧΕΙΡΙΣΗΣ...

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤOΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

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

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

Εγχειρίδιο της εφαρμογής αναπαραγωγής 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: Λογισμικό Συστήματος

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

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

ΕΝΙΑΙΟ ΠΛΑΙΣΙΟ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΠΟΥΔΩΝ

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

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

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

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

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

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

Χρήση, προώθηση και συνεισφορά ΕΛ/ΛΑΚ από το ΕΚΤ

Χρήση, προώθηση και συνεισφορά ΕΛ/ΛΑΚ από το ΕΚΤ Χρήση, προώθηση και συνεισφορά ΕΛ/ΛΑΚ από το ΕΚΤ Δρ. Εύη Σαχίνη, Εθνικό Κέντρο Τεκμηρίωσης Προϊστάμενη Τμήματος Στρατηγικής & Ανάπτυξης To EKT Θεσμικός ρόλος: "η εξασφάλιση της ροής επιστημονικών και τεχνολογικών

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

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018 Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια) ΠΕΡΙΟΧΗ Α: ΕΦΑΡΜΟΓΕΣ ΜΕ ΑΙΣΘΗΤΗΡΕΣ ΓΙΑ ΕΠΙΓΝΩΣΗ ΣΥΓΚΕΙΜΕΝΟΥ Οι αισθητήρες μας δίνουν τη δυνατότητα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Λογισμικό ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αλληλεπίδραση Συστημάτων Χρήστες Λογισμικό Εφαρμογών Λειτουργικό Σύστημα Επιπλέον

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

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

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

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

Από την Διακίνηση της Πληροφορίας ως τα Creative Commons

Από την Διακίνηση της Πληροφορίας ως τα Creative Commons Εργαστήριο Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής Δημοσίευσης Τμήμα Αρχειονομίας Βιβλιοθηκονομίας Ιόνιο Πανεπιστήμιο Από την Διακίνηση της Πληροφορίας ως τα Creative Commons Σαράντος Καπιδάκης sarantos@ionio.gr

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

Κεφ. 1: Εισαγωγή στην έννοια του Αλγορίθμου και στον Προγραμματισμό. Η έννοια του προβλήματος

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

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

οικονομικές τάσεις Εκτεταμένη συνεργασία της εφοδιαστικής αλυσίδας. έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Παγκόσμιες

οικονομικές τάσεις Εκτεταμένη συνεργασία της εφοδιαστικής αλυσίδας. έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Παγκόσμιες Συνοπτική παρουσίαση του ευνητικού έργου FLUID-WIN το οποίο χρηματοδοτήθηκε από το 6ο Πρόγραμμα Πλαίσιο Ενοποίηση τρίτων παρόχων υπηρεσιών με ολόκληρη την εφοδιαστική αλυσίδα σε πολυλειτουργικές πλατφόρμες

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

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

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

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

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

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Διαδικασίες παραγωγής λογισμικού Περιεχόμενα Παρουσίαση μοντέλων διεργασίας ανάπτυξης λογισμικού Περιγραφή τριών γενικών μοντέλων διεργασίας ανάπτυξης λογισμικού Γενική περιγραφή των διαδικασιών που περιλαμβάνονται

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

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα1 Υλικό Λογισμικό και Εφαρμογές Τι ονομάζουμε λογισμικό (software); Με τον όρο λογισμικό (software) αναφερόμαστε στο σύνολο των προγραμμάτων που μπορεί να εκτελεστεί από ένα υπολογιστικό σύστημα.

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

Τεχνολογία Πολυμέσων. Ενότητα4: Επεξεργασία Βίντεο - Avidemux. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τεχνολογία Πολυμέσων. Ενότητα4: Επεξεργασία Βίντεο - Avidemux. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Τεχνολογία Πολυμέσων Ενότητα4: Επεξεργασία Βίντεο - Avidemux Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Πως μπορούν τα μέρη του υλικού ενός υπολογιστή να επικοινωνούν και να συνεργάζονται μεταξύ τους; Επειδή ακολουθούν συγκεκριμένες οδηγίες (εντολές).

Πως μπορούν τα μέρη του υλικού ενός υπολογιστή να επικοινωνούν και να συνεργάζονται μεταξύ τους; Επειδή ακολουθούν συγκεκριμένες οδηγίες (εντολές). Κεφάλαιο 5 Πως μπορούν τα μέρη του υλικού ενός υπολογιστή να επικοινωνούν και να συνεργάζονται μεταξύ τους; Επειδή ακολουθούν συγκεκριμένες οδηγίες (εντολές). Το σύνολο αυτών των εντολών το ονομάζουμε

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

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

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό Μάριος Αραποστάθης Καθηγητής πληροφορικής Βαρβάκειου Λύκειου http://users.sch.gr/mariosarapostathis 6.1 Η έννοια του

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

Wikis: Ανάπτυξη συνεργατικότητας με αξιοποίηση εφαρμογών και υπηρεσιών διαδικτύου

Wikis: Ανάπτυξη συνεργατικότητας με αξιοποίηση εφαρμογών και υπηρεσιών διαδικτύου ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΑΥΤΟΔΙΟΙΚΗΣΗΣ Wikis: Ανάπτυξη συνεργατικότητας με αξιοποίηση εφαρμογών και υπηρεσιών διαδικτύου Το υλικό παραχωρήθηκε από τον Δρ Σπυρίδωνα Σαλαμούρα (ssalamouras@gmail.com)

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

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

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

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

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

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

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

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

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

ΤΕΧΝΟΛΟΓΙΕΣ ΚΟΙΝΩΝΙΚΗΣ ΔΙΚΤΥΩΣΗΣ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ ΤΕΧΝΟΛΟΓΙΕΣ ΚΟΙΝΩΝΙΚΗΣ ΔΙΚΤΥΩΣΗΣ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ Κιουτσιούκη Δήμητρα, 485 Τελική δραστηριότητα Φάση 1 :Ατομική μελέτη 1. Πώς θα περιγράφατε το ρόλο της τεχνολογίας στην εκπαιδευτική καινοτομία; Οι Web

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

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

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

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

Πληροφορική 2. Τεχνολογία Λογισμικού

Πληροφορική 2. Τεχνολογία Λογισμικού Πληροφορική 2 Τεχνολογία Λογισμικού 1 2 Κρίση Λογισμικού (1968) Στην δεκαετία του 1970 παρατηρήθηκαν μαζικά: Μεγάλες καθυστερήσεις στην ολοκλήρωση κατασκευής λογισμικών Μεγαλύτερα κόστη ανάπτυξης λογισμικού

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

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

ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. ΤΕΙ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΥΣ Θέμα: ΜΕΛΕΤΗ ΣΧΕΔΙΑΣΗ ΕΦΑΡΜΟΓΗΣ ΣΕ ΥΠΟΛΟΓΙΣΤΙΚΟ ΝΕΦΟΣ (CLOUD COMPUTING) ΜΕ ΕΜΦΑΣΗ ΣΤΗΝ ΚΑΤΑΣΚΕΥΗ ΔΕΝΤΡΩΝ. Εισηγητής: Δ. Ν. Καλλέργης, MSc. Φοιτήτρια: Κοντζοπούλου Παναγιώτα Εισαγωγή

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

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45 Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45 ΤΟΜΟΣ Α «Ηλεκτρονικό Επιχειρείν» πηγή: ibm.com Ηλεκτρονικό Επιχειρείν Η εφαρμογή τεχνολογιών πληροφορίας και επικοινωνίας (ΤΠΕ) για

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

Μεταδεδομένα ψηφιακού περιεχομένου

Μεταδεδομένα ψηφιακού περιεχομένου Μεταδεδομένα ψηφιακού περιεχομένου Ελεύθερο λογισμικό και λογισμικό ανοιχτού κώδικα για τη δημιουργία ψηφιακών βιβλιοθηκών - αποθετηρίων Αλέξανδρος Ταγκούλης Αριστεία ΕΛ/ΛΑΚ ΤΕΙ Αθήνας 2 Μεταδεδομένα Δεδομένα

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

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος. Û ØÓÒ ÔÖÓ Ö ÑÑ Ø Ñ ¾ Ç Ö ÐÓ ØÛÒ ÙÔÓÐÓ ØôÒ Ο υπολογιστής είναι εργαλείο επίλυσης προβλημάτων λόγω: ταχύτητας υπολογισμού και μεγέθους μνήμης γενικής χρησιμότητας μέσω της έννοιας του προγραμματισμού. Η

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

ΕΛΛΑΚ και Τοπική Αυτοδιοίκηση

ΕΛΛΑΚ και Τοπική Αυτοδιοίκηση ΕΛΛΑΚ και Τοπική Αυτοδιοίκηση Παναγιώτης Κρανιδιώτης panagiotis.kranidiotis@gmail.com 21 Δεκεμβρίου 2012 Τι είναι το ΕΛΛΑΚ Το λογισμικό το οποίο διατίθεται με ειδικές άδειες οι οποίες επιτρέπουν στους

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

Υποέργο: 2 Τίτλος: «Δημιουργία και Αξιολόγηση Εικονικού Χώρου Εργαστηριών Ηλεκτρονικής» Επιστημονικός Υπεύθυνος: ΠΑΝΕΤΣΟΣ ΣΠΥΡΟΣ

Υποέργο: 2 Τίτλος: «Δημιουργία και Αξιολόγηση Εικονικού Χώρου Εργαστηριών Ηλεκτρονικής» Επιστημονικός Υπεύθυνος: ΠΑΝΕΤΣΟΣ ΣΠΥΡΟΣ ΑΝΩΤΑΤΗ ΣΧΟΛΗ ΠΑΙΔΑΓΩΓΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΚΗΣ ΕΚΠΑΙΔΕΥΣΗΣ (Α.Σ.ΠΑΙ.Τ.Ε.) «Αρχιμήδης ΙΙΙ Ενίσχυση Ερευνητικών ομάδων στην Α.Σ.ΠΑΙ.Τ.Ε.» Υποέργο: 2 Τίτλος: «Δημιουργία και Αξιολόγηση Εικονικού Χώρου Εργαστηριών

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

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα

GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα GreekLUG Ελεύθερο Λογισμικό & Λογισμικό Ανοικτού Κώδικα Μάθημα 2ο Εισαγωγή στο GNU/Linux Ύλη Μαθημάτων ΙΙ Μαθ. 2 : Εισαγωγή στο GNU/Linux Διανομές GNU/Linux, Filesystem/Δικαιώματα, Διανομές live σε VirtualBox,

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ TRAVIS-V1-2012 TRAVIS Λογισμικό Διαχείρισης Παραβάσεων Φωτοεπισήμανσης Το σύστημα διαχείρισης παραβάσεων φωτοεπισήμανσης

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

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1

<<ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ ΜCs>> 1 ΚΕΦΑΛΑΙΟ 7 ο ΠΡΟΓΡΑΜΜΑ : Το πρόγραμμα αποτελείται από μια σειρά οδηγιών, που ονομάζονται εντολές, για την εκτέλεση τέτοιου είδους πράξεων, καθώς επίσης και από ένα σύνολο πρόσθετων οδηγιών ελέγχου, που

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

Η χρήση των wikis στις βιβλιοθήκες: δημιουργία "διαδραστικών" συλλογώναποθετηρίων. Το wiki της Βιβλιοθήκης του Μουσείου Μπενάκη.

Η χρήση των wikis στις βιβλιοθήκες: δημιουργία διαδραστικών συλλογώναποθετηρίων. Το wiki της Βιβλιοθήκης του Μουσείου Μπενάκη. Η χρήση των wikis στις βιβλιοθήκες: δημιουργία "διαδραστικών" συλλογώναποθετηρίων γνώσης Το wiki της Βιβλιοθήκης του Μουσείου Μπενάκη Πανωραία Γαϊτάνου Βιβλιοθηκονόμος MSc Βιβλιοθήκη Μουσείου Μπενάκη gaitanou@benaki.gr,

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

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

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ Εισαγωγή στην γλώσσα προγραμματισμού Ακαδημαϊκό έτος 2016-2017, Εαρινό εξάμηνο Οι σημειώσεις βασίζονται στα συγγράμματα: A byte of Python (ελληνική

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

Εισαγωγή στο ΕΛ/ΛΑΚ. Προσαρμογή: Α. Ανδρεάτος Μάϊος 2011. Εισαγωγή στο ΕΛ\ΛΑΚ 1

Εισαγωγή στο ΕΛ/ΛΑΚ. Προσαρμογή: Α. Ανδρεάτος Μάϊος 2011. Εισαγωγή στο ΕΛ\ΛΑΚ 1 Εισαγωγή στο ΕΛ/ΛΑΚ Προσαρμογή: Α. Ανδρεάτος Μάϊος 2011 Εισαγωγή στο ΕΛ\ΛΑΚ 1 Εισαγωγή στο ΕΛ/ΛΑΚ και τη χρήση του Ελεύθερο Λογισμικό / Λογισμικό Ανοικτού Κώδικα (ΕΛ/ΛΑΚ) στην Εκπαίδευση, τη ημόσια ιοίκηση

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