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

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

Download "ΣΗΜΕΙΩΣΕΙΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ"

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλέξανδρος N. Χατζηγεωργίου ΣΗΜΕΙΩΣΕΙΣ ΤΕΧΝΟΛΟΓΙΑΣ ΛΟΓΙΣΜΙΚΟΥ Θεσσαλονίκη, Μάρτιος 008

2 Περιεχόμενα ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ. Χρονικός Προγραμματισμός.... Εισαγωγή.... Κατασκευή δικτυακού διαγράμματος....3 Πλασματικές Δραστηριότητες Υπολογισμοί Δικτύων Εκτίμηση Κόστους (Τεχνική COCOMO)... 7 ΠΕΡΙΓΡΑΦΗ ΑΠΑΙΤΗΣΕΩΝ ΛΟΓΙΣΜΙΚΟΥ. Μηχανές Πεπερασμένων Καταστάσεων Δίκτυα Petri Γλώσσα Z... ΜΕΤΡΙΚΕΣ ΛΟΓΙΣΜΙΚΟΥ. Εισαγωγή Γενικά Μετρικές Διαδικασίας Μετρικές Έργου Μετρικές Προϊόντος Αρχές Μετρήσεων Ανάλυση Μετρικές βασισμένες σε συναρτήσεις Μετρική Bang Μετρικές για την ποιότητα των προδιαγραφών Σχεδίαση Κωδικοποίηση - Έλεγχος Μέγεθος κώδικα Γράφοι (Ορισμοί) Κυκλωματική Πολυπλοκότητα του McCabe Εξαγωγή περιπτώσεων ελέγχου... 50

3 5.5 Μέτρηση εσωτερικών χαρακτηριστικών προγράμματος Ακολουθία και φώλιασμα Η έννοια της δομικότητας Ιεραρχικά μέτρα Προγραμματιστική Προσπάθεια κατά Halstead Μετρική Πολυπλοκότητας Δεδομένων Κριτήρια Τερματισμού Ελέγχου Βασικό Μοντέλο Ανάλυση Δεδομένων και Εξαγωγή Παραμέτρων Παράδειγμα Αντικειμενοστραφείς Μετρικές Εισαγωγή Παράδειγμα: Οικογένεια Robot Μετρικές σε επίπεδο κλάσης Βιβλιογραφία... 8

4 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ. ΧΡΟΝΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εισαγωγή Η διαχείριση έργων λογισμικού (software project management) αποτελεί μία από τις σημαντικότερες παραμέτρους στην ανάπτυξη λογισμικού και συχνά η κακή διαχείριση συνιστά την κυριότερη αιτία αποτυχίας μεγάλων έργων λογισμικού. Παρόλο που τα έργα λογισμικού διαφέρουν σημαντικά από άλλα τεχνικά έργα λόγω της φύσεως και της πολυπλοκότητας του λογισμικού, η διαχείριση τους περιλαμβάνει πολλές ενέργειες που συναντώνται και στη διαχείριση άλλων τεχνικών δραστηριοτήτων. Ένα έργο ορίζεται ως μια δραστηριότητα με ένα καθορισμένο στόχο που πρέπει να επιτευχθεί σε προδιαγεγραμμένα χρονικά όρια και χρησιμοποιώντας πεπερασμένους πόρους. (Για ένα έργο λογισμικού ως πόροι νοούνται μόνο τα μέλη της ομάδας ανάπτυξης, ήτοι σχεδιαστές, προγραμματιστές, ελεγκτές κλπ). Η διαχείριση ενός έργου απαιτεί το σχεδιασμό των ενεργειών που θα γίνουν (planning), τη διασφάλιση των απαιτούμενων πόρων, τον χρονικό προγραμματισμό (scheduling) και τον έλεγχο/αξιολόγηση κάθε ολοκληρωμένης δραστηριότητας. Σε μια οργανωμένη εταιρεία ανάπτυξης λογισμικού η διαχείριση των έργων είναι μια διακεκριμένη αρμοδιότητα (δεν πρέπει δηλαδή να συγχέεται με άλλες τεχνικές δραστηριότητες) και πρέπει να διεκπεραιώνεται από κατάλληλο προσωπικό. Στη συνέχεια, δεν θα αναλυθούν όλες οι ενέργειες που περιλαμβάνονται στη διαχείριση έργων αλλά θα δοθεί έμφαση στον χρονικό προγραμματισμό. Ειδικότερα, θα εξεταστούν τεχνικές δικτύων για τον προγραμματισμό δραστηριοτήτων με πρωταρχικό σκοπό την εκτίμηση της απαιτούμενης χρονικής διάρκειας για την ολοκλήρωση του έργου. Τα βήματα που απαιτούνται για την εφαρμογή μιας τέτοιας τεχνικής προγραμματισμού είναι τα εξής:. Κατασκευή ενός δικτυακού διαγράμματος (network diagram) που αναπαριστά το έργο, συμβολίζοντας την ακολουθία και την αλληλεξάρτηση μεταξύ των δραστηριοτήτων. Καθορισμός της διάρκειας κάθε δραστηριότητας 3. Εκτέλεση υπολογισμών επί του δικτύου για τον καθορισμό της συνολικής διάρκειας του έργου και της κρισιμότητας κάθε δραστηριότητας 4. Τροποποίηση του δικτύου/διάρκειας εργασιών σε περίπτωση προβλημάτων (π.χ. χρόνος περάτωσης αργότερος από τον επιθυμητό). Κατασκευή δικτυακού διαγράμματος Οποιοδήποτε έργο μπορεί να αναπαρασταθεί ως ένα δικτυακό (ή τοξωτό) διάγραμμα (γράφος) όπου κάθε δραστηριότητα αναπαρίσταται ως μια ακμή (activity on arrow diagram). Η αναπαράσταση των δραστηριοτήτων με ακμές συμβαδίζει με την γενική αντίληψη ότι μια δραστηριότητα έχει διάρκεια (το μήκος της ακμής θα μπορούσε να είναι ανάλογο με την απαιτούμενη διάρκεια, ωστόσο αυτό δεν είναι απαραίτητο). Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ.

5 Διαχείριση Έργων Λογισμικού Οι κόμβοι στο διάγραμμα αναπαριστώνται ως κύκλοι και υποδηλώνουν την περάτωση ή την έναρξη μιας εργασίας. Θεωρείται δε, ότι δεν έχουν χρονική διάρκεια. Μπορεί για παράδειγμα να συμβολίζουν ένα γεγονός, ένα χρονικό ορόσημο (milestone) ή την ύπαρξη ενός παραδοτέου (deliverable) μετά την ολοκλήρωση μιας δραστηριότητας. Μια διαδρομή (path) είναι μια ακολουθία κόμβων (ή δραστηριοτήτων). Μια δραστηριότητα Α που ξεκινά με το γεγονός και ολοκληρώνεται με το γεγονός αναπαρίσταται όπως φαίνεται στο διάγραμμα του σχήματος.. Γεγονός Δραστηριότητα Γεγονός Α Σχήμα.: Αναπαράσταση δραστηριότητας ως ακμή Η κατασκευή ενός δικτυακού διαγράμματος προκύπτει από την τοποθέτηση των δραστηριοτήτων σε λογική σειρά, όπως αυτή που αναμένεται να έχουν στην πραγματικότητα. Για παράδειγμα στο σχήμα. παρουσιάζονται δραστηριότητες που βρίσκονται στην ίδια διαδρομή και αποτελούν ακολουθιακές δραστηριότητες (δηλαδή η έναρξη της μιας πραγματοποιείται μετά την περάτωση της προηγούμενης). Παρουσιάζονται επίσης παράλληλες δραστηριότητες που βρίσκονται σε ξεχωριστές διαδρομές και κατά συνέπεια μπορούν να πραγματοποιούνται ταυτόχρονα. Καμία δραστηριότητα δεν μπορεί να ξεκινήσει προτού ολοκληρωθούν όλες οι δραστηριότητες που καταλήγουν σε αυτή (προαπαιτούμενες δραστηριότητες). Για παράδειγμα με βάση το διάγραμμα του σχήματος., η δραστηριότητα "J" δεν μπορεί να ξεκινήσει προτού ολοκληρωθεί η δραστηριότητα "I" και η "Η". Α 0 Β C D 3 4 E F 5 6 G H 7 I 8 J 9 Ακολουθιακές Δραστηριότητες Παράλληλες Δραστηριότητες Σχήμα.: Ακολουθιακές και Παράλληλες Δραστηριότητες Η συνήθης σύμβαση είναι τα διαγράμματα να σχεδιάζονται κατά τέτοιο τρόπο ώστε ο χρόνος να "κυλά" από αριστερά προς τα δεξιά και οι κόμβοι να αριθμούνται ανάλογα με τη χρονική στιγμή εμφάνισης του αντίστοιχου γεγονότος. Εν γένει, για να μπορούν να πραγματοποιηθούν οι υπολογισμοί επί του δικτύου δεν επιτρέπονται βρόχοι (κυκλικές διαδρομές δραστηριοτήτων) και ελεύθεροι κόμβοι (πλην αυτού που αναπαριστά το πέρας του έργου). Σελ. Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

6 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ.3 Πλασματικές Δραστηριότητες Οι δραστηριότητες που αναφέρθηκαν συνιστούν ενέργειες που καταναλώνουν χρόνο και που αποτελούν πραγματικές εργασίες του έργου. Οι πλασματικές δραστηριότητες (dummy activities) δεν καταναλώνουν χρόνο (έχουν μηδενική διάρκεια) και χρησιμοποιούνται μόνο για τη διευκόλυνση της κατασκευής του διαγράμματος. Συμβολίζονται ως διακεκομμένες ακμές. Οι πλασματικές δραστηριότητες χρησιμοποιούνται στις ακόλουθες τρεις περιπτώσεις: α) για την αναπαράσταση της ορθής λογικής σειράς των δραστηριοτήτων στο διάγραμμα: στο άνω διάγραμμα του σχήματος.3, η ολοκλήρωση των δραστηριοτήτων C και D είναι απαραίτητη ώστε να μπορέσει να ξεκινήσει η E ή η F. Αν στην πραγματικότητα, αυτό που ισχύει είναι ότι μόνο η δραστηριότητα Ε εξαρτάται από την ολοκλήρωση των C και D, ενώ η δραστηριότητα F εξαρτάται μόνο από την D, η κατάλληλη αναπαράσταση επιτυγχάνεται με τη χρήση μιας πλασματικής δραστηριότητας, όπως φαίνεται στο κάτω διάγραμμα του σχήματος.3. Η πλασματική δραστηριότητα υποδηλώνει απλώς την αναγκαιότητα ολοκλήρωσης και της D για την έναρξη της E. Α C E 4 G Β D F 5 H... Α C 3 E 5 G... 0 Β D 4 F 6 H... Σχήμα.3: Χρήση Πλασματικών Δραστηριοτήτων για σωστή αναπαράσταση β) Για την αποφυγή περισσοτέρων της μιας δραστηριοτήτων με τον ίδιο κόμβο έναρξης και τον ίδιο κόμβο λήξης (άνω διάγραμμα σχήματος.4). Επειδή ορισμένες φορές οι δραστηριότητες περιγράφονται από τους κόμβους έναρξης και λήξης, οι δύο δραστηριότητες του σχήματος δεν θα μπορούσαν να διαχωριστούν. Για την επίλυση αυτού του προβλήματος μπορεί να χρησιμοποιηθεί μια πλασματική δραστηριότητα όπως φαίνεται στο κάτω διάγραμμα του σχήματος.4. Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 3

7 Διαχείριση Έργων Λογισμικού Α n Β C n D Α n Β n3 C Σχήμα.4: Χρήση Πλασματικών Δραστηριοτήτων για αποφυγή δραστηριοτήτων με τους ίδιους κόμβους έναρξης και λήξης n D γ) για την απλοποίηση της σχεδίασης του δικτυωτού διαγράμματος. Πολλές φορές, η ύπαρξη μεγάλων "καμπύλων" ακμών που συνδέουν απομακρυσμένους κόμβους του γράφου δυσκολεύει τη σχεδίαση. Πλασματικές δραστηριότητες μπορούν να διευκολύνουν τη σχεδίαση ώστε αυτή να πραγματοποιείται με "ευθείες" ακμές..4 Υπολογισμοί Δικτύων Για την πραγματοποίηση υπολογισμών (αρχικά της εκτιμώμενης χρονικής διάρκειας ολοκλήρωσης) απαιτείται αφενός η περιγραφή του έργου ως δικτυακού διαγράμματος και αφετέρου η καταγραφή η χρονική διάρκεια όλων των δραστηριοτήτων του έργου. Συνήθως, οι προδιαγραφές παρέχονται υπό μορφή μιας λίστας δραστηριοτήτων, της προαπαιτούμενων δραστηριοτήτων για κάθε μία καθώς και της εκτιμώμενης χρονικής διάρκειας κάθε δραστηριότητας (π.χ. σε ημέρες), όπως φαίνεται παρακάτω: Συμβολισμός Δραστηριότητα Προαπαιτούμενες Διάρκεια (ημέρες) Α Απαιτήσεις - 3 Β Ανάλυση Απαιτήσεις C Πρωτυποποίηση Απαιτήσεις D Σχεδίαση Ανάλυση 4 Ε Αναδόμηση Πρωτυποποίηση 3 F Υλοποίηση Σχεδίαση 5 G Τεκμηρίωση Αναδόμηση 5 H Έλεγχος Υλοποίηση 6 I Εγκατάσταση Τεκμηρίωση.4. Ενωρίτερος Χρόνος Έναρξης (Earliest Start Date - ES) Ο ενωρίτερος χρόνος έναρξης κάθε δραστηριότητας υπολογίζεται από την αρχή του δικτύου αθροίζοντας τις διάρκειες όλων των προηγούμενων δραστηριοτήτων. Όταν δύο (ή περισσότερες) δραστηριότητες καταλήγουν στον ίδιο κόμβο, η επόμενη δραστηριότητα δεν μπορεί να ξεκινήσει προτού ολοκληρωθούν όλες οι Σελ. 4 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

8 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ προηγούμενες. Κατά συνέπεια, ο αργότερος χρόνος λήξης από αυτές τις δραστηριότητες καθορίζει τον ενωρίτερο χρόνο έναρξης της επόμενης δραστηριότητας. Στο διάγραμμα του σχήματος.5 απεικονίζονται στο αριστερό τμήμα κάθε πλαισίου που σημειώνεται πλησίον των κόμβων οι ενωρίτεροι χρόνοι έναρξης των δραστηριοτήτων που ξεκινούν από τον κόμβο. Ως χρόνος έναρξης της δραστηριότητας "Απαιτήσεις" (που δεν έχει προηγούμενες) θεωρείται η μέρα 0. Στο διάγραμμα, σημειώνεται πάνω σε κάθε ακμή η χρονική διάρκεια κάθε δραστηριότητας. Ανάλυση 0 3 d = Απαιτήσεις 0 d = 3 d = Πρωτυποποίηση 5 9 Σχεδίαση Υλοποίηση d = 4 d = 5 d = 3 d = 5 4 Αναδόμηση Τεκμηρίωση d = 6 Έλεγχος 8 0 d = Εγκατάσταση Σχήμα.5: Επίλυση δικτύου: υπολογισμός ενωρίτερων χρόνων έναρξης.4. Αργότερος Χρόνος Λήξης (Latest Finish Date - LF) Ο αργότερος χρόνος λήξης κάθε δραστηριότητας υπολογίζεται από το τέλος του έργου αφαιρώντας τις διάρκειες των δραστηριοτήτων. Όταν δύο (ή περισσότερες) δραστηριότητες εκβάλλουν από τον ίδιο κόμβο, ο ενωρίτερος από τους χρόνους αυτούς καθορίζει τον αργότερο χρόνο λήξης της προηγούμενης δραστηριότητας. Στο διάγραμμα του σχήματος.6 απεικονίζονται στο δεξί τμήμα κάθε πλαισίου που σημειώνεται πλησίον των κόμβων οι αργότεροι χρόνοι λήξης των δραστηριοτήτων που καταλήγουν στον κόμβο. Ως αργότερος χρόνος λήξης των δραστηριοτήτων που καταλήγουν στον κόμβο που συμβολίζει το τέλος του έργου, λαμβάνεται ο ενωρίτερος χρόνος έναρξης της επόμενης δραστηριότητας (ότι δηλαδή ακολουθεί το υπό εξέταση έργο - μπορεί να μην είναι τίποτε). Ανάλυση d = Απαιτήσεις Σχεδίαση 4 Υλοποίηση d = 4 d = 5 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ d = 6 Έλεγχος d = 3 d = d = Πρωτυποποίηση d = 3 d = 5 Εγκατάσταση Αναδόμηση Τεκμηρίωση Σχήμα.6: Επίλυση δικτύου: υπολογισμός αργότερων χρόνων λήξης 8 0 0

9 Διαχείριση Έργων Λογισμικού.4.3 Ενωρίτερος Χρόνος Λήξης (Earliest Finish Date - EF) Ο ενωρίτερος χρόνος λήξης συνήθως δεν απεικονίζεται επάνω στο διάγραμμα. Υπολογίζεται ως το άθροισμα του ενωρίτερου χρόνου έναρξης και της διάρκειας κάθε δραστηριότητας, δηλαδή EF = ES + d..4.4 Αργότερος Χρόνος Έναρξης (Latest Start Date - LS) Ο αργότερος χρόνος λήξης συνήθως δεν απεικονίζεται επάνω στο διάγραμμα. Υπολογίζεται ως η διαφορά του αργότερου χρόνου λήξης και της διάρκειας κάθε δραστηριότητας, δηλαδή LS = LF - d..4.5 Περιθώριο ή Πλεόνασμα Χρόνου (Float) Στο προηγούμενο παράδειγμα ο ενωρίτερος χρόνος ολοκλήρωσης του έργου καθορίζεται από τους ενωρίτερους χρόνους λήξης των δραστηριοτήτων Έλεγχος και Εγκατάσταση. Η δραστηριότητα Εγκατάσταση θα μπορούσε να ολοκληρωθεί την ημέρα 4 (ES+d) αλλά η δραστηριότητα Έλεγχος δεν μπορεί να ολοκληρωθεί πριν από την ημέρα 0. Αυτή ακριβώς η δραστηριότητα καθορίζει και το χρόνο ολοκλήρωσης όλου του έργου. Στην πραγματικότητα, η διαδρομή Απαιτήσεις- Ανάλυση-Σχεδίαση-Υλοποίηση-Έλεγχος καθορίζει τον ενωρίτερο χρόνο ολοκλήρωσης του έργου παρά η διαδρομή Απαιτήσεις-Πρωτυποποίηση-Αναδόμηση-Τεκμηρίωση- Εγκατάσταση. Ο ενωρίτερος χρόνος ολοκλήρωσης ενός έργου καθορίζεται από τη "μακρύτερη" διαδρομή μέσα στο δίκτυο: κατά συνέπεια, οι συντομότερες διαδρομές θα έχουν περισσότερο διαθέσιμο χρόνο από όσο χρειάζονται. Η διαφορά μεταξύ του διαθέσιμου χρόνου για μια δραστηριότητα και του απαιτούμενου χρόνου καλείται Συνολικό Περιθώριο Χρόνου (ΣΠΧ). Απομονώντας τη δραστηριότητα G Τεκμηρίωση από το διάγραμμα, όπως φαίνεται στο σχήμα.6, προκύπτει ότι: Διαθέσιμος Χρόνος = LF - ES Απαιτούμενος Χρόνος = d Συνολικό Περιθώριο Χρόνου = LF - ES - d δηλαδή, ΣΠΧ G = (8-7) - 5 = 6 ημέρες Με άλλα λόγια, η δραστηριότητα G μπορεί να καθυστερήσει μέχρι και 6 ημέρες, χωρίς να επιφέρει μετατόπιση του χρόνου λήξης του έργου. Σημειώνεται ότι, το συνολικό περιθώριο χρόνου είναι ένα χαρακτηριστικό μιας διαδρομής και όχι μια μεμονωμένης δραστηριότητας. Το μακρύτερο (χρονικά) μονοπάτι σε ένα δικτυωτό διάγραμμα καλείται κρίσιμο μονοπάτι (critical path) και είναι αυτό με το μικρότερο συνολικό περιθώριο χρόνου (μηδενικό περιθώριο σε πολλές περιπτώσεις). Οποιαδήποτε καθυστέρηση στις δραστηριότητες του κρίσιμου μονοπατιού θα καθυστερήσει την ολοκλήρωση του έργου. Το κρίσιμο μονοπάτι δεν είναι κατ' ανάγκη μοναδικό. Η τεχνική υπολογισμού χρόνων επί ενός δικτύου που προαναφέρθηκε ονομάζεται τεχνική του κρίσιμου μονοπατιού (Critical Path Method - CPM). Σελ. 6 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

10 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ. ΕΚΤΙΜΗΣΗ ΚΟΣΤΟΥΣ (ΤΕΧΝΙΚΗ COCOMO) Η τεχνική COCOMO (COnstructive COst MOdel) βασίζεται σε αλγοριθμικό μοντέλο για την εκτίμηση του κόστους ενός έργου λογισμικού και αναπτύχθηκε από τον Barry Boehm τη δεκαετία του 970 και δημοσιεύτηκε το 98, αξιοποιώντας δεδομένα από πληθώρα έργων λογισμικού της εταιρείας TRW. Το μοντέλο έχει τρεις εκδόσεις. Στη συνέχεια θα περιγραφεί η δεύτερη έκδοση του μοντέλου COCOMO που ονομάζεται "ενδιάμεσο μοντέλο". Για την εφαρμογή της τεχνικής COCOMO απαιτείται η κατάταξη ενός έργου λογισμικού σε μία από τις κατηγορίες "οργανική" (organic), "ημιαποσπασμένη" (semi-detached) και "ενσωματωμένη" (embedded). Η κατάταξη πραγματοποιείται με βάση τα χαρακτηριστικά που παρουσιάζονται στον πίνακα.. Το είδος του έργου καθορίζει τις τιμές ορισμένων παραμέτρων που χρησιμοποιούνται στις εξισώσεις του μοντέλου. Πίνακας.: Κατηγορίες έργων λογισμικού κατά COCOMO κατηγορία Χαρακτηριστικά οργανική ημιαποσπασμένη ενσωματωμένη Κατανόηση από όλους τους εμπλεκόμενους των αντικειμενικών λεπτομερής λεπτομερής γενική σκοπών του προϊόντος Εμπειρία σε σχετικά έργα λογισμικού εκτενής σημαντική μέτρια Αναγκαιότητα συμμόρφωσης λογισμικού με απαιτήσεις βασική σημαντική πλήρης Αναγκαιότητα συμμόρφωσης με προκατασκευασμένη εξωτερική βασική σημαντική πλήρης διαπροσωπεία Ταυτόχρονη ανάπτυξη νέων λειτουργικών διαδικασιών και υλικού χαμηλή μέτρια υψηλή Αναγκαιότητα νεωτεριστικών αρχιτεκτονικών, νέων αλγορίθμων ελάχιστη μερική σημαντική Bonus για ταχεία αποπεράτωση χαμηλό μέτριο υψηλό Μέγεθος προϊόντος <50 KDSI <300 KDSI >300 KDSI Παραδείγματα Καινούργια Απλά Συστήματα Λειτουργικά επιστημονικά ή ελέγχου Συστήματα, νέα εμπορικά εναέριας Συστήματα προγράμματα κυκλοφορίας Διαχείρισης ΒΔ Για την εκτίμηση του κόστους χρησιμοποιούνται: () μία "εξίσωση υπολογισμού απαιτούμενης ονομαστικής προσπάθειας" που έχει τη μορφή: MM NOM = C ( KDSI ) K όπου: ΜΜ ΝΟΜ : η ονομαστική προσπάθεια σε ανθρωπομήνες που απαιτείται για την εκτέλεση του έργου Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 7

11 Διαχείριση Έργων Λογισμικού KDSI: μέγεθος σε χιλιάδες εντολές πηγαίου προγράμματος C, K: παράμετροι, η τιμή των οποίων καθορίζεται με βάση τον πίνακα. Πίνακας.: Εξισώσεις ονομαστικής προσπάθειας και διάρκειας ανάπτυξης ανά κατηγορία λογισμικού κατηγορία ονομαστική προσπάθεια διάρκεια ανάπτυξης οργανική MM 3.( KDSI ). 05 NOM = ( ) TDEV =.5 MM DEV ημιαποσπασμένη MM 3.0( KDSI ). NOM = TDEV =.5( MM ) DEV ενσωματωμένη MM.8( KDSI ). 0 NOM = TDEV =.5( MM ) 0. 3 DEV Η επίδραση των συντελεστών κάθε κατηγορίας λογισμικού στην προσπάθεια ανάπτυξης παρουσιάζεται γραφικά στο σχήμα.3 Σχήμα.3: Επίδραση κατηγορίας έργου στην προσπάθεια ανάπτυξης () ένα σύνολο από 5 "παράγοντες κόστους" (cost drivers) που συνεισφέρουν στο συνολικό κόστος του έργου. Σε κάθε παράγοντα κόστους αντιστοιχεί μία παράμετρος που ονομάζεται "πολλαπλασιαστής προσπάθειας" (effort multiplier). Στη συνέχεια, οι πολλαπλασιαστές αυτοί θα συμβολίζονται ως q, q,..., q 5. Η σημασία του κάθε παράγοντα κόστους και η μνημονική ονομασία τους παρουσιάζεται στον πίνακα.3. Η κατάταξη των παραγόντων κόστους γίνεται με βάση τον πίνακα.4 (ειδικά για τον παράγοντα κόστους πολυπλοκότητα, χρησιμοποιείται ο πίνακας.5), ενώ η εύρεση της αντίστοιχης τιμής του κάθε πολλαπλασιαστή προσπάθειας για κάθε παράγοντα κόστους γίνεται με τη βοήθεια του πίνακα.6. Σελ. 8 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

12 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Πίνακας.3: Παράγοντες κόστους κατά COCOMO α/α μνημονικό σημασία σχετίζεται με RELY Απαιτούμενη αξιοπιστία λογισμικού προϊόν DATA Μέγεθος βάσης δεδομένων -//- 3 CPLX Πολυπλοκότητα προϊόντος -//- 4 ΤΙΜΕ Περιορισμός στο χρόνο εκτέλεσης υπολογιστή 5 STOR Περιορισμός στην κύρια μνήμη -//- 6 VIRT Αλλαγές στο σύστημα HW/SW -//- 7 TURN Χρόνος απόκρισης υπολογιστή (απηρχειωμ.) -//- 8 ACAP Ικανότητα αναλυτών προσωπικό 9 AEXP Εμπειρία αναλυτών σε εφαρμογές -//- 0 PCAP Ικανότητα προγραμματιστών -//- VEXP Εμπειρία με το σύστημα HW/SW (OS etc) -//- LEXP Εμπειρία με τη γλώσσα προγραμματισμού -//- 3 MODP Χρήση μοντέρνων πρακτικών προγραμματ έργο 4 TOOL Χρήση εργαλείων προγραμματισμού -//- 5 SCED Πίεση από χρονοδιάγραμμα ανάπτυξης -//- παράγοντας κόστους RELY Πίνακας.4: Κατάταξη Παραγόντων Κόστους [Σκορδαλάκης 99] κατάταξη χαμηλότερη χαμηλή ονομαστική υψηλή υψηλότερη υψηλότατη Αποτέλεσμα: μικρή ενόχληση Μικρές, εύκολα ανακτήσιμες απώλειες Μέτριες, ανακτήσιμες απώλειες Μεγάλες Οικονομικές απώλειες Κίνδυνος για ανθρώπινες ζωές DATA L < 0 0<L<00 00<L< 000 L>000 CPLX βλέπε πίνακα 3.5 ΤΙΜΕ <50% ΧΔΧΕ 70% ΧΔΧΕ 85% ΧΔΧΕ 95% ΧΔΧΕ STOR <50% XΔΜ 70% ΧΔΜ 85% ΧΔΜ 95% ΧΔΜ VIRT Σημαντικές αλλαγές κάθε μήνες Σημαντικές αλλαγές κάθε 6 μήνες Σημαντικές αλλαγές κάθε μήνες Σημαντικές αλλαγές κάθε εβδομάδες TURN Απηρχειωμένο -> Χρησιμοποιείται η ονομαστική τιμή ACAP 5% 35% 55% 75% 90% AEXP <4 μήνες έτος 3 έτη 6 έτη έτη PCAP 5% 35% 55% 75% 90% VEXP < μήνα 4 μήνες έτος 3 έτη LEXP < μήνα 4 μήνες έτος 3 έτη MODP όχι χρήση αρχή χρήσης μερική χρήση γενική χρήση αποκλειστική TOOL Βασικά εργαλεία μικρο Η/Υ (assembler) Βασικά εργαλεία Η/Υ (compiler etc) Ενδιάμεσα εργαλεία (debugger, interactive editors) Ισχυρά εργαλεία προγρ/σμού και ελέγχου Επιπρόσθετα εργαλεία (απαιτήσεων, σχεδίου, μετρικών) SCED 75% 85% 00% 30% 60% L = (DBbytes)/(Prog.DSI), ΧΔΧΕ Χρησιμοποίηση Διαθέσιμου Χρόνου Εκτέλεσης, ΧΔΜ: Χρησιμοποίηση Διαθέσιμης Μνήμης, ΜΧΚΕ: Μέση Διάρκεια Κύκλου Εξυπηρέτησης Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 9

13 Διαχείριση Έργων Λογισμικού Πίνακας.5: Κατάταξη του παράγοντα κόστους πολυπλοκότητα με βάση τέσσερις κατηγορίες λειτουργιών του λογισμικού [Σκορδαλάκης 99] κατάταξη χαμηλότερη χαμηλή ονομαστική λειτουργίες ελέγχου Ευθυγραμμισμένος κώδικας (ΔΠ) με λίγους βρόχους επανάληψης, δομές ελέγχου (χωρίς φώλιασμα) Ομαλό φώλιασμα τελεστών Ομαλό φώλιασμα. Μικρός έλεγχος μεταξύ δομών. λειτουργίες υπολογισμού Αποτίμηση απλών εκφράσεων π.χ. Α=Β*C+(D-E) Αποτίμηση μετρίου επιπέδου εκφράσεων π.χ. D = SQRT(B^- 4*A*C) Χρήση προτύπων μαθηματικών και στατιστικών συναρτήσεων. Βασικές λειτουργίες μητρών. λειτουργίες εξαρτημένες από υλικό Απλές εντολές read/write Δεν απαιτείται γνώση χαρακτηριστικών του επεξεργαστή ή συσκευής ΕΕ. (π.χ. γράψιμο σε αρχείο) Επιλογή συσκευής, έλεγχος κατάστασης και λαθών λειτουργίες διαχείρισης δεδομένων Απλοί πίνακες στην κύρια μνήμη Απλή χρήση αρχείων χωρίς αλλαγές στη δομή των δεδομένων Πολλαπλά αρχεία εισόδου και ένα αρχείο εξόδου. υψηλή Υφηλός βαθμός φωλιάσματος. Σημαντικός έλεγχος μεταξύ δομών. Βασική ΑΑ: παρεμβολή, κοινές ΔΕ, Απλές απαιτήσεις ακρίβειας Μεταφράσεις φυσικών διευθύνσεων μνήμης, προσπελάσεις κτλ Συναρτήσεις που ενεργοποιούνται με βάση το περιεχόμενο data stream. Αλλαγή των δομών σε επίπεδο εγγραφής υψηλότερη Δύσκολες αλλά Γενικές, Διαδικασίες για Κώδικας με πολλαπλά δομημένες παραμετρικές διάγνωση, σημεία εισόδου. λειτουργίες ΑΑ: συναρτήσεις εξυπηρέτηση και Αναδρομικές συναρτήσεις. γραμμικές δόμησης αρχείων. απομόνωση Χειρισμός διακοπών. εξισώσεις, ΔΕ με Βελτιστοποίηση διακοπών μερ. παραγώγους αναζήτησης. υψηλότατη Δύσκολες και Ισχυρά συζευγμένες Κωδικοποίηση που Χρονο-προγραμματισμός αδόμητες δυναμικές εξαρτάται από το πολλών πόρων με λειτουργίες ΑΑ: σχεσιακές δομές. χρονισμό της προτεραιότητες που Υψηλή ακρίβεια, Διαχείριση συσκευής, μικροπρογραμματισμός αλλάζουν δυναμικά. στοχαστικά δεδομένων φυσικής δεδομένα γλώσσας. ΔΠ: Δομημένος Προγρ/σμός, ΕΕ: Είσοδος/Έξοδος, ΑΑ: Αριθμητική Ανάλυση, ΔΕ: Διαφορ. εξισώσεις Πίνακας.6: Τιμές πολλαπλασιαστών προσπάθειας με βάση την κατάταξη κατάταξη παράγοντας χαμηλότερη χαμηλή ονομαστική υψηλή υψηλότερη υψηλότατη RELY DATA CPLX ΤΙΜΕ STOR VIRT TURN ACAP AEXP PCAP VEXP LEXP MODP TOOL SCED Σελ. 0 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

14 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ (3) μία "εξίσωση υπολογισμού παράγοντα προσαρμογής προσπάθειας" που έχει τη μορφή q = 5 q i i= όπου: q: o παράγοντας προσαρμογής προσπάθειας q i : o πολλαπλασιαστής προσπάθειας που αντιστοιχεί στον παράγοντα κόστους i (4) μία "εξίσωση υπολογισμού προσπάθειας ανάπτυξης" που έχει τη μορφή: όπου: q : ΜΜ ΝΟΜ : ΜΜ DEV : MM = q DEV MM NOM ο παράγοντας προσαρμογής προσπάθειας η ονομαστική προσπάθεια για την εκτέλεση του έργου σε ανθρωπομήνες η προσπάθεια για την εκτέλεση του έργου σε ανθρωπομήνες Η επόμενη εξίσωση του μοντέλου, είναι η "εξίσωση υπολογισμού του κόστους" και είναι άμεση συνέπεια των προηγουμένων, αν θεωρηθεί ότι η αξία σε χρήμα ενός ανθρωπομήνα είναι p. Το συνολικό κόστος σε χρήμα (C t ) που απαιτείται για την ανάπτυξη ενός έργου λογισμικού είναι: C = p t MM DEV Εκτός από την εκτίμηση του κόστους ενός έργου λογισμικού, η τεχνική COCOMO μπορεί να εφαρμοσθεί και για την εκτίμηση της διάρκειας ανάπτυξης του έργου. Η διάρκεια του έργου δεν μπορεί απλά να υπολογιστεί από την τιμή της προσπάθειας που απαιτείται για την εκτέλεση του έργου (MM DEV ) διαιρώντας με τη μέση τιμή του προσωπικού. Ο λόγος είναι ότι η σχέση μεταξύ διάρκειας του έργου και συνολικής προσπάθειας (σε ανθρωπομήνες) δεν είναι γραμμική: Αν ο στόχος είναι η μείωση στο μισό της διάρκειας του έργου, τότε ο διπλασιασμός των ανθρωπομηνών δεν είναι λύση. Ο κύριος λόγος είναι ότι αν το προσωπικό απαιτείται να επικοινωνεί για την ολοκλήρωση μιας εργασίας, τότε ο χρόνος επικοινωνίας πρέπει να συνυπολογιστεί. Σύμφωνα με το μοντέλο COCOMO, η "εξίσωση υπολογισμού της διάρκειας του έργου" έχει τη μορφή: όπου: Τ DEV : T = R ( ) m DEV MM DEV η χρονική διάρκεια του έργου σε ανθρωπομήνες R, m : παράμετροι που υπολογίζονται βάσει του πίνακα.. Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ.

15 Διαχείριση Έργων Λογισμικού Είναι φανερό ότι η ακρίβεια της τεχνικής COCOMO εξαρτάται από το είδος των έργων που χρησιμοποιήθηκαν για τη βαθμονόμηση (calibration) των παραμέτρων του μοντέλου. Η τεχνική COCOMO εφαρμόσθηκε ευρύτατα στη βιομηχανία λογισμικού τα τελευταία 0 χρόνια. Ωστόσο, το κυριότερο μειονέκτημά της, είναι το γεγονός ότι για τον υπολογισμό του κόστους του λογισμικού, απαιτείται η γνώση του μεγέθους του κώδικα, στοιχεία που δεν είναι γνωστό στις αρχικές φάσεις ανάπτυξης. Για το λόγο αυτό αναπτύχθηκε το μοντέλο COCOMOII στα τέλη της δεκαετίας του '90. Σελ. Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

16 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΠΕΡΙΓΡΑΦΗ ΑΠΑΙΤΗΣΕΩΝ ΛΟΓΙΣΜΙΚΟΥ. Μηχανές Πεπερασμένων Καταστάσεων Συνήθως, για την περιγραφή των απαιτήσεων σε πληροφοριακά συστήματα απαιτείται ο καθορισμός της ροής των δεδομένων δια μέσου του λογισμικού (διαγράμματα ροής δεδομένων) ή ο καθορισμός των αλληλεπιδράσεων του συστήματος με τους εξωτερικούς χρήστες (διαγράμματα περιπτώσεων χρήσης). Υπάρχουν ωστόσο περιπτώσεις συστημάτων όπου πρέπει να περιγραφούν θέματα ροής ελέγχου (control flow) στο λογισμικό. Για παράδειγμα, σε ένα διάγραμμα ροής δεδομένων μπορεί να υπάρξει η αναγκαιότητα να καθοριστεί αν ένας μετασχηματισμός πρέπει να "περιμένει" όλες τις εισόδους για να παράγει κάποια έξοδο ή όχι. Όλες οι γλώσσες προγραμματισμού έχουν δομές για να περιγράψουν διάφορες περιπτώσεις ροής ελέγχου. Τα χρησιμοποιούμενα μοντέλα για την περιγραφή των απαιτήσεων ενός συστήματος ποικίλλουν ανάλογα με τις ανάγκες και είναι πολύ πιθανόν να πρέπει να χρησιμοποιηθούν διαφορετικά μοντέλα για την περιγραφή διαφορετικών όψεων του συστήματος. Οι Μηχανές Πεπερασμένων Καταστάσεων (Finite State Machines FSMs) αποτελούν έναν απλό, ευρέως διαδεδομένο και τυπικό συμβολισμό για την περιγραφή θεμάτων ελέγχου. Μία μηχανή πεπερασμένων καταστάσεων αποτελείται:. ένα πεπερασμένο σύνολο καταστάσεων, Q. ένα πεπερασμένο σύνολο εισόδων, I 3. μια συνάρτηση μετάβασης δ: Q I Q. Η δ μπορεί να είναι μια μερική συνάρτηση, δηλαδή μπορεί να μην είναι ορισμένη για κάποιες τιμές του πεδίου ορισμού. Μια μηχανή πεπερασμένων καταστάσεων μπορεί να αναπαρασταθεί ως γράφος όπου οι κόμβοι συμβολίζουν καταστάσεις. Μια ακμή μεταξύ των κόμβων q και q που συμβολίζεται i υφίσταται αν και μόνο αν δ(q, i) = q. Μια απλή μηχανή παρουσιάζεται στο σχήμα. q a a q 0 b q c q Σχήμα : Μηχανή Πεπερασμένων Καταστάσεων Όπως προκύπτει από το όνομα, μια μηχανή πεπερασμένων καταστάσεων είναι κατάλληλη για την περιγραφή συστημάτων που μπορούν να βρεθούν σε ένα πεπερασμένο σύνολο καταστάσεων και μεταβαίνουν από τη μια κατάσταση σε μια άλλη ως συνέπεια κάποιου γεγονότος. Για παράδειγμα, μια λάμπα μπορεί να είναι ανοικτή ή κλειστή και μεταβαίνει από τη μια κατάσταση στην άλλη με το πάτημα του πλήκτρου. Θεωρούμε ένα σύστημα ελέγχου ενός (μικρού) χημικού εργοστασίου. Η θερμοκρασία και η πίεση παρακολουθούνται από αισθητήρες για λόγους ασφαλείας. Όταν οποιοδήποτε παρακολουθούμενο μέγεθος ξεπεράσει κάποιο όριο παράγεται ένα 3 b Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 3

17 Περιγραφή Απαιτήσεων Λογισμικού σήμα συναγερμού, κλείνοντας τη διαδικασία του εργοστασίου. Η διαδικασία ενεργοποιείται χειροκίνητα όταν διορθωθεί το πρόβλημα. Τα ανωτέρω περιγράφονται από τη μηχανή του σχήματος. High-pressure alarm High-temperature alarm On Off Restart Σχήμα : Μηχανή Πεπερασμένων Καταστάσεων που περιγράφει τη λειτουργία χημικού εργοστασίου Αυτή η απλή πολιτική είναι προφανώς ανεπαρκής. Ένας καλύτερος τρόπος διαχείρισης του εργοστασίου είναι ο εξής: Όταν ένα από τα δύο σήματα εμφανιστεί, το σύστημα εισέρχεται σε μια κατάσταση ανάκτησης όπου προσπαθεί να εφαρμόσει κάποια διορθωτική ενέργεια. Αν η προσπάθεια είναι επιτυχής, το σύστημα επανέρχεται σε κανονική λειτουργία. Ειδάλλως, αν η προσπάθεια είναι ανεπιτυχής ή αν κατά την προσπάθεια ανάκτησης εμφανιστεί και το άλλο σήμα συναγερμού, η διαδικασία του εργοστασίου τερματίζεται. Θεωρείται ότι τα δύο σήματα δεν μπορούν να εμφανιστούν ταυτόχρονα. Η νέα πολιτική περιγράφεται από το σχήμα 3. Pressure signal Pressure action Temperature signal Normal Normal Successful recovery Unsuccessful recovery Off Off Successful recovery Unsuccessful recovery Temperature signal Temperature action Pressure signal Σχήμα 3: Βελτιωμένη Μηχανή Πεπερασμένων Καταστάσεων που περιγράφει τη λειτουργία χημικού εργοστασίου Μια μηχανή πεπερασμένων καταστάσεων μπορεί να εμπλουτιστεί με τη δυνατότητα παραγωγής σημάτων εξόδου. Στην περίπτωση αυτή η συνάρτηση μετάβασης δ γίνεται δ: Q I Q Ο, όπου Ο είναι ένα πεπερασμένο σύνολο εξόδων. Γραφικά, μια ακμή μεταξύ των κόμβων q και q που συμβολίζεται <i/o> υφίσταται αν και μόνο αν δ(q, i) = <q, ο>. Με άλλα λόγια, η εμφάνιση του γεγονός i μεταφέρει το σύστημα από την κατάσταση q στην κατάσταση q και παράγει την έξοδο o. Οι μηχανές πεπερασμένων καταστάσεων χρησιμοποιούνται σε ευρύ φάσμα εφαρμογών, από την περιγραφή μεταγλωττιστών, συστημάτων αναγνώρισης προτύπων, πρωτοκόλλων και ψηφιακών κυκλωμάτων. Η απλότητά τους αποτελεί συνήθως πλεονέκτημα, σε ορισμένες όμως περιπτώσεις εισάγει περιορισμούς. Πρώτα από όλα, όπως συνάγεται από το όνομά τους, αποτελούν περιγραφές πεπερασμένης μνήμης. Για παράδειγμα, έστω ότι στην περίπτωση του χημικού Σελ. 4 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

18 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ εργοστασίου, η απόκριση σε μια υψηλή θερμοκρασία είναι να εφαρμοστεί μια ενέργεια ψύξης που είναι ανάλογη της διαφοράς (DiffTemp) μεταξύ της τρέχουσας θερμοκρασίας και μιας θερμοκρασίας αναφοράς. Ένα τέτοιο σύστημα δεν μπορεί να περιγραφεί με μηχανή πεπερασμένων καταστάσεων, επειδή οι δυνατές καταστάσεις είναι άπειρες (μια για κάθε τιμή της διαφοράς DiffTemp). Ακόμα και αν το εύρος των δυνατών τιμών είναι πεπερασμένο, η περιγραφή όλων των καταστάσεων και αποκρίσεων μπορεί να γίνει εξαιρετικά περίπλοκη. Π.χ. για την περιγραφή ενός καταχωρητή 8 bit μέσω μιας μηχανής πεπερασμένων καταστάσεων απαιτούνται 8 διαφορετικές καταστάσεις! Σε τέτοιες περιπτώσεις υπάρχουν διάφορες λύσεις, όπως το να περιγραφεί ένα χαρακτηριστικό μόνο υποσύνολο των καταστάσεων, να συνοδευτούν τα διαγράμματα από λεκτικές περιγραφές ή να χρησιμοποιηθούν και άλλα μοντέλα. Επιπλέον, οι μεταβάσεις μπορούν να συνοδεύονται από συνθήκες φρουρούς, κατηγορήματα που πρέπει να είναι αληθή ώστε να λάβει χώρα η μετάβαση. Για παράδειγμα, στο σχήμα, η μετάβαση από την κατάσταση "normal" στην κατάσταση "off" μπορεί να συνοδεύεται από μια συνθήκη φρουρό του τύπου temp very_dangerous_value. Οι μηχανές πεπερασμένων καταστάσεων έχουν ένα επιπλέον μειονέκτημα που είναι χαρακτηριστικό συστημάτων περιγραφής της ροής του ελέγχου. Έστω μια διαδικασία παραγωγής μηνυμάτων που τοποθετεί τα μηνύματα σε ένα δίαυλο δύο θέσεων. Μια διαδικασία κατανάλωσης μηνυμάτων διαβάζει τα μηνύματα απομακρύνοντάς τα από το δίαυλο. Αν ο δίαυλος είναι γεμάτος, η διαδικασία παραγωγής πρέπει να περιμένει την κατανάλωση ενός μηνύματος ώστε να ελευθερωθεί μια θέση. Παρόμοια, αν ο δίαυλος είναι κενός, η διαδικασία ανάγνωσης πρέπει να αναμένει την παραγωγή ενός μηνύματος. Οι δύο διαδικασίες και η λειτουργία του διαύλου περιγράφονται από διαφορετικές μηχανές πεπερασμένων καταστάσεων όπως φαίνεται στο σχήμα 4. Producer produce p p deposit Consumer get c c consume Storage deposit deposit 0 get Σχήμα 4: Χρήση τριών μηχανών για την περιγραφή ενός συστήματος Είναι προφανές, ότι το λογικό θα ήταν να χρησιμοποιηθεί μια μηχανή για την περιγραφή όλου του συστήματος. Μια τέτοια μηχανή θα προέκυπτε από το καρτεσιανό γινόμενο των συνόλων καταστάσεων. Μια τέτοια σύνθεση θα κατέληγε στη μηχανή του σχήματος 5. Μια κατάσταση όπως η <0, p, c > αντιστοιχεί σε get Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 5

19 Περιγραφή Απαιτήσεων Λογισμικού έναν δίαυλο που είναι κενός, μια διαδικασία παραγωγής στην κατάσταση p και μια διαδικασία κατανάλωσης στην κατάσταση c. <0, p,c > consume write <, p,c > consume write consume <, p,c > produce <0, p,c > <0, p,c > read produce <, p,c> read <, p,c > produce <, p,c > <, p,c > produce read produce read produce write consume <0, p, c > consume write consume <, p,c > <, p,c > Σχήμα 5: Χρήση μιας μηχανής για την περιγραφή του ιδίου συστήματος Η προκύπτουσα πολυπλοκότητα, ακόμα και για ένα τέτοιο μικρό σύστημα είναι εμφανής. Από τη σύνθεση n υποσυστημάτων με k i καταστάσεις το καθένα, προκύπτει ένα σύστημα με k k... k n καταστάσεις. Ένα σημαντικότερο ωστόσο πρόβλημα σχετίζεται με την ύπαρξη συγχρονισμένων σημάτων. Η μηχανή του σχήματος 5 αναφέρεται σε ένα σύγχρονο σύστημα: κάθε χρονική στιγμή βρίσκεται σε μία κατάσταση και μπορεί να λάβει χώρα μία μόνο ενέργεια. Είναι όμως προφανές, ότι οι διαδικασίες παραγωγής και κατανάλωσης μηνυμάτων θα μπορούσαν να ενεργοποιούνται ταυτόχρονα. Ειδικά αν οι διάφορες ενέργειες έχουν διαφορετικούς χρόνους ολοκλήρωσης, μια μηχανή πεπερασμένων καταστάσεων είναι ανεπαρκής για την περιγραφή ασύγχρονων συστημάτων όπου διάφορες μεταβάσεις μπορούν να συμβαίνουν ταυτόχρονα.. Δίκτυα Petri Τα δίκτυα Petri είναι ένας φορμαλισμός για την περιγραφή σύγχρονων συστημάτων που περιλαμβάνουν παράλληλες ή ταυτόχρονες δραστηριότητες. Ορίζονται ως μια πλειάδα (P, T, F, W) όπου. P είναι ένας πεπερασμένος αριθμός θέσεων. Τ είναι ένα πεπερασμένο σύνολο μεταβάσεων 3. P T 4. Ορίζεται η διμελής σχέση ροών F { P T} { T P} 5. Ορίζεται μια συνάρτηση βάρους W : F N { 0} που συσχετίζει έναν μή αρνητικό φυσικό αριθμό σε κάθε στοιχείο της F. Αν δεν προσδιορίζεται τιμή βάρους σε μια ροή, θεωρείται η εξ'ορισμού τιμή. Τα δίκτυα Petri τυγχάνουν ευρείας χρήσης λόγω της ελκυστικής γραφικής τους αναπαράστασης. Οι θέσεις συμβολίζονται ως κόμβοι, οι μεταβάσεις ως οριζόντιες μπάρες και οι ροές ως ακμές. Ένα δίκτυο Petri απεικονίζεται στο σχήμα 6. Σελ. 6 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

20 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ P P t P 4 P 3 t P 5 P 6 t 3 t 5 t 4 t 6 P 7 Σχήμα 6: Δίκτυο Petri Ένα δίκτυο Petri αποκτά κατάσταση τοποθετώντας σύμβολα (token) στις θέσεις του. Τυπικά η τοποθέτηση συμβόλων είναι μια συνάρτηση αντιστοίχισης θέσεων σε φυσικούς αριθμούς, M: P N. Η τοποθέτηση ενός αριθμού x συμβόλων σε μια θέση p (όπως σημειώνεται γραφικά στο σχήμα 7a), συμβολίζει ότι x = M(p). Μια μετάβαση (οριζόντια μπάρα) μπορεί να έχει μία ή περισσότερες θέσεις εισόδου και εξόδου. Αν μια ακμή εξέρχεται από μια θέση και καταλήγει σε μια μετάβαση, η αντίστοιχη θέση θεωρείται θέση εισόδου. Αν μια ακμή εξέρχεται από μια μετάβαση και καταλήγει σε μια θέση, η αντίστοιχη θέση καλείται θέση εξόδου. Μια μετάβαση είναι ενεργοποιημένη αν κάθε μια από τις θέσεις εισόδου περιλαμβάνει αριθμό συμβόλων που είναι μεγαλύτερος ή ίσος με το βάρος των ροών που συνδέουν τη θέση εισόδου με τη μετάβαση. Μια μετάβαση χωρίς θέσεις εισόδου είναι πάντοτε ενεργοποιημένη. Μια ενεργοποιημένη μετάβαση μπορεί να πυροδοτήσει. Η πυροδότηση μιας μετάβασης t απομακρύνει από κάθε θέση εισόδου p i έναν αριθμό συμβόλων που είναι ίσος με το βάρος της ροής από την p i προς την t και τοποθετεί σε κάθε θέση εξόδου q i έναν αριθμό συμβόλων που είναι ίσος με το βάρος της ροής από την t στην q i. Στο σχήμα 7a, οι μεταβάσεις t και t είναι ενεργοποιημένες. Καμία άλλη μετάβαση δεν είναι ενεργοποιημένη. Σε μία τέτοια περίπτωση, το δίκτυο μπορεί να εξελιχθεί με ένα από τους εξής δύο τρόπους: είτε με την πυροδότηση της t είτε με την πυροδότηση της t. Το μοντέλο είναι μή-ντετερμινιστικό, υπό την έννοια ότι με βάση την αρχική κατάσταση δύο διαφορετικές εξελίξεις είναι πιθανές. Αν πυροδοτήσει η t προκύπτει η κατάσταση του σχήματος 7b, ενώ αν πυροδοτήσει η t προκύπτει η κατάσταση του σχήματος 7c. Μετά την πυροδότηση της t, η t παραμένει ενεργοποιημένη και μπορεί να πυροδοτήσει. Σε κάθε περίπτωση, το σύστημα θα καταλήξει στην κατάσταση του σχήματος 7d. Στο σημείο αυτό οι t 3 και t 4 είναι ενεργοποιημένες και μπορούν να πυροδοτήσουν με μή-ντετερμινιστικό τρόπο. Αυτή τη φορά ωστόσο, η πυροδότηση της μιας απαγορεύει την πυροδότηση της άλλης. Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 7

21 Περιγραφή Απαιτήσεων Λογισμικού P P P P P 6 t P 4 t3 t5 P 3 t4 t6 t P 5 P 7 P 6 t P 4 t3 t5 P 3 t 4 t 6 t P5 P 7 (a) (b) P P P P P 6 t P 4 t3 t5 P 3 t 4 t 6 t P 5 P 7 P 6 t P 4 t3 t5 P 3 t 4 t 6 t P5 P 7 (c) (d) Σχήμα 7: Εξέλιξη ενός δικτύου Petri Μια ακολουθία πυροδοτήσεων ενός δικτύου Petri δεδομένης μιας αρχικής κατάστασης συμβολίζεται ως <t, t,..., t n > υποδηλώνοντας ότι η t είναι ενεργοποιημένη με βάση την αρχική κατάσταση, η t ενεργοποιείται μετά την πυροδότηση της t κ.ο.κ. Σε ένα δίκτυο Petri μια μετάβαση συνήθως αντιπροσωπεύει ένα γεγονός και η πυροδότησή του σημαίνει ότι το γεγονός λαμβάνει χώρα. Κατά συνέπεια, μια μετάβαση είναι ενεργοποιημένη αν ικανοποιούνται οι συνθήκες για την πραγματοποίηση του υπό εξέταση γεγονότος. Η ύπαρξη ενός συμβόλου σε μια θέση υποδηλώνει την ύπαρξη μιας κατάστασης ή την εξασφάλιση μιας συνθήκης. Για παράδειγμα, αν μια θέση μοντελοποιεί έναν πόρο του συστήματος, η ύπαρξη ενός ή περισσοτέρων συμβόλων υποδηλώνει τη διαθεσιμότητα ενός ή περισσοτέρων στιγμιοτύπων αυτού του πόρου. Στο δίκτυο του σχήματος 7, οι μεταβάσεις t, t 3, t 5 και οι μεταβάσεις t, t 4, t 6 μπορούν να ερμηνευτούν ως δύο ανεξάρτητες δραστηριότητες. Οι δύο δραστηριότητες μοιράζονται έναν κοινό πόρο (π.χ. έναν κοινό επεξεργαστή) που μοντελοποιείται από τη θέση P 3. Αρχικά, οι δύο δραστηριότητες μπορούν να εξελιχθούν ανεξάρτητα, δηλαδή η πυροδότηση μιας εκ των t ή t δεν αποτρέπει την πυροδότηση της άλλης. Οι δύο μεταβάσεις είναι ταυτόχρονες. Μετά την πυροδότηση των δύο μεταβάσεων, οι δύο δραστηριότητες είναι πάλι ενεργοποιημένες, με αμοιβαίο ωστόσο αποκλεισμό καθώς ο πόρος που μοντελοποιείται από τη θέση P 3 είναι διαθέσιμος σε μία από τις δύο δραστηριότητες. Οι δύο μεταβάσεις είναι αντικρουόμενες. Εάν ο πόρος δοθεί στην αριστερή δραστηριότητα η εξέλιξη θα συνεχιστεί με τις μεταβάσεις t 3 και t 5 αφήνοντας την άλλη δραστηριότητα προσωρινά "μπλοκαρισμένη". Η πυροδότηση της t 5 απελευθερώνει πάλι τον απαιτούμενο πόρο στη θέση P 3 και η μετάβαση t 4 θα μπορούσε να πυροδοτήσει. Είναι όμως πιθανό η Σελ. 8 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

22 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ εξέλιξη να συνεχιστεί με την ακολουθία t και t 3 για ακόμα μία φορά. Το δίκτυο Petri δεν επιβάλει κάποια πολιτική για την επίλυση συγκρούσεων. Μια διαδικασία (όπως αυτή που μοντελοποιείται από την ακολουθία < t, t 4, t 6 >, αν δεν αποκτήσει ποτέ πρόσβαση στον απαιτούμενο πόρο θα υποστεί εξάντληση (starvation). Αν υποθέσουμε ότι η αρχική κατάσταση του συστήματος είχε δύο σύμβολα στη θέση P 3 (αναπαριστώντας δύο διαθέσιμους πόρους, π.χ. δύο επεξεργαστές), οι μεταβάσεις t 3 και t 4 δεν θα ήταν πλέον σε σύγκρουση, αλλά ταυτόχρονες. Στο σχήμα 8 παρουσιάζεται ένα τροποποιημένο δίκτυο Petri όπου δύο δραστηριότητες απαιτούν δύο πόρους για να συνεχιστούν (φαίνονται στη θέση R). Αν μία δραστηριότητα (έστω η αριστερή) ξεκινήσει με την πυροδότηση της t, μπορεί να καταναλώσει τον ένα πόρο με την πυροδότηση της ' 3 t. Στη συνέχεια, προσπαθεί να '' αποκτήσει πρόσβαση στον δεύτερο πόρο (πυροδοτώντας την t 3 ). Αν μία δραστηριότητα αποκτήσει και τους δύο πόρους η εξέλιξη μπορεί να συνεχιστεί και τελικά με την πυροδότηση της t 5 οι δύο πόροι θα απελευθερωθούν. P P t t R t' 3 t' 4 t" 3 t" 4 t 5 t 6 Σχήμα 8: Δίκτυο Petri που μπορεί να βρεθεί σε αδιέξοδο ' ' Αν θεωρήσουμε όμως την ακολουθία <t, t 3, t, t 4 >, το σύστημα θα καταλήξει σε μια κατάσταση όπου καμία μετάβαση δεν θα είναι ενεργοποιημένη. Κατά συνέπεια, το δίκτυο δεν μπορεί να εξελιχθεί καθώς κάθε δραστηριότητα έχει από έναν πόρο και απαιτεί τον άλλο για να προχωρήσει. Αυτή είναι μια τυπική περίπτωση αδιεξόδου (deadlock) που μοντελοποιείται ιδανικά από ένα δίκτυο Petri. Τυπικά, ένα δίκτυο με συγκεκριμένη κατάσταση βρίσκεται σε αδιέξοδο εάν καμία μετάβαση δεν είναι ενεργοποιημένη. Οι σχεδιαστές συστημάτων προσπαθούν να αποφύγουν τη δημιουργία αδιεξόδων, των οποίων ο εντοπισμός, στη γενική περίπτωση, είναι ιδιαίτερα δύσκολος. Δίκτυα Petri μπορούν να χρησιμοποιηθούν και για τη μοντελοποίηση των διαδικασιών παραγωγής και κατανάλωσης μηνυμάτων του σχήματος 4. Τα αντίστοιχα δίκτυα για τις τρεις διαδικασίες παρουσιάζονται στο σχήμα 9. Το πλεονέκτημα τώρα είναι ότι η σύνθεση των μοντέλων (παρουσιάζεται στο σχήμα 0) δεν οδηγεί σε εκρηκτική αύξηση του αριθμού των κόμβων θέσεων. Σημειώνεται, ότι στο σχήμα 0, ο αριθμός των καταστάσεων προκύπτει από την τοποθέτηση των συμβόλων σε όλες τις δυνατές θέσεις. Δεύτερο πλεονέκτημα είναι ότι οι μοντελοποιούμενες Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 9

23 Περιγραφή Απαιτήσεων Λογισμικού δραστηριότητες μπορούν να είναι ταυτόχρονες, δηλαδή το σύστημα δεν είναι κατ' ανάγκη σύγχρονο. Για παράδειγμα, αν το σύστημα βρίσκεται στην κατάσταση <, p, c > και οι δύο μεταβάσεις (produce και consume) είναι ενεργοποιημένες. Οι δύο μεταβάσεις μπορούν να πυροδοτήσουν παράλληλα χωρίς η μία να αποτρέπει την άλλη. write consume P P C C produce read read read 0 write Σχήμα 9: Τρία διαφορετικά δίκτυα Petri για το σύστημα παραγωγής-κατανάλωσης μηνυμάτων write C consume C read read 0 write write P produce P Σχήμα 0: Κοινό δίκτυο Petri για το σύστημα παραγωγής-κατανάλωσης μηνυμάτων Η απλότητα των δικτύων Petri είναι εν γένει πλεονέκτημα. Ωστόσο, το γεγονός ότι τα σύμβολα στις διάφορες θέσεις είναι ανώνυμα μπορεί να είναι περιοριστικό. Αν για παράδειγμα ένα δίκτυο Petri (σχήμα ) μοντελοποιεί την προώθηση ενός μηνύματος σε ένα από τα δύο κανάλια (channel αν το μήνυμα είναι σωστό, channel αν το μήνυμα είναι λάθος), τότε το δίκτυο του σχήματος είναι ανεπαρκές, διότι η εξέλιξη Σελ. 0 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

24 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ του δικτύου φαίνεται να είναι μή-ντετερμινιστική. Με άλλα λόγια, η πυροδότηση μιας μετάβασης θα έπρεπε να εξαρτάται από το περιεχόμενο του μηνύματος. P channel channel Σχήμα : Προώθηση μηνυμάτων με βάση το περιεχόμενο Επίσης, όπως ήδη φάνηκε, τα δίκτυα Petri δεν μπορούν να καθορίσουν μια πολιτική επιλογής μεταξύ πολλών δυνατών εξελίξεων. Στη γενική περίπτωση, αποδεικνύεται ότι ένα δίκτυο δεν μπορεί να περιγράψει μια επιλογή του τύπου: if η μετάβαση t είναι ενεργοποιημένη πυροδότησε την t; else πυροδότησε την πρώτη ενεργοποιημένη μετάβαση με βάση κάποιο κριτήριο διάταξης Τέλος, τα δίκτυα Petri δεν λαμβάνουν υπόψη το χρόνο και κατά συνέπεια δεν είναι δυνατή η αναπαράσταση χρονικών εξαρτήσεων. Η πραγματοποίηση κάποιου γεγονότος, που αναπαρίσταται με την πυροδότηση μιας μετάβασης, θεωρείται ότι δεν έχει χρονική διάρκεια. Κάτι τέτοιο είναι απαραίτητο σε πολλά συστήματα (όπως συστήματα πραγματικού χρόνου), όπου η απόκριση σε κάποιο εξωτερικό ή εσωτερικό συμβάν πρέπει να καθοριστεί ότι θα λαμβάνει χώρα σε συγκεκριμένο χρονικό διάστημα. Αξίζει πάντως να σημειωθεί ότι υπάρχουν επεκτάσεις των δικτύων Petri για την επίλυση των ανωτέρω προβλημάτων. 3. Γλώσσα Ζ Η γλώσσα προδιαγραφών Z αναπτύχθηκε από τον Jean-Raymond Abrial το 979 και εν συνεχεία εξελίχθηκε στο Πανεπιστήμιο της Οξφόρδης. Ένα ισχυρό χαρακτηριστικό της γλώσσας Ζ είναι ότι ο δομημένος καθορισμός των απαιτήσεων ενός συστήματος μπορεί να επιτευχθεί με τη χρήση μιας άλγεβρας σχημάτων. Το στοιχείο αυτό επιτρέπει στις προδιαγραφές να κατασκευάζονται από απλούστερα δομικά στοιχεία, με μια προσέγγιση από κάτω-προς-τα-πάνω (bottom-up approach), αντίστοιχα με την υλοποίηση προγραμμάτων από απλούστερα υποπρογράμματα. Η σημειογραφία της γλώσσας Z βασίζεται στη χρήση συνόλων (sets). Ένα σύνολο είναι μια συλλογή αντικειμένων που κατέχουν μια κοινή ιδιότητα. Τα αντικείμενα καλούνται στοιχεία ή μέλη του συνόλου, ενώ ο συνήθης συμβολισμός ενός συνόλου είναι η απαρίθμηση των στοιχείων του μέσα σε άγκιστρα. Π.χ. {Bob, Carol, Ted, Alice} είναι ένα σύνολο ονομάτων. Αν ένα αντικείμενο x είναι μέλος ενός συνόλου S, η σχέση αυτή συμβολίζεται ως x S, ενώ αν ένα αντικείμενο x δεν είναι μέλος ενός συνόλου S, ο συμβολισμός είναι x S. Σημειώνεται ότι ένα σύνολο δεν μπορεί να περιέχει επαναλαμβανόμενα στοιχεία. Η ένωση (union) δύο συνόλων A και B (συμβολίζεται ως A B) είναι το σύνολο των στοιχείων που περιέχονται είτε στο σύνολο Α, είτε στο Β, είτε και στα δύο. Για παράδειγμα: {Bob, Carol, Ted} {Ted, Alice} = {Bob, Carol, Ted, Alice} Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ.

25 Î Περιγραφή Απαιτήσεων Λογισμικού Η τομή (intersection) δύο συνόλων A και B (συμβολίζεται ως Α Β) είναι το σύνολο των στοιχείων που περιέχονται και στο σύνολο Α και στο Β. Επομένως: {Bob, Carol, Ted} {Ted, Alice} = {Ted} Ένα σύνολο Α είναι υποσύνολο του Β (συμβολίζεται ως Α Β) αν κάθε στοιχείο του Α είναι και στοιχείο του Β. Π.χ. {Bob, Ted} {Bob, Carol, Ted} H διαφορά (difference) μεταξύ δύο συνόλων Α και Β (συμβολίζεται ως Α \ Β) είναι το σύνολο των στοιχείων που απομένουν όταν τα στοιχεία που περιέχονται στο Β απομακρυνθούν από το Α. Δηλαδή: {Bob, Carol, Ted} \ {Ted, Alice} = {Bob, Carol} Στη συνέχεια, θα χρησιμοποιηθεί η γλώσσα Z (που βασίζεται στις ανωτέρω έννοιες συνόλων) για την περιγραφή των απαιτήσεων ενός απλού συστήματος βιβλιοθήκης. Το σύστημα γνωρίζει ανά πάσα στιγμή τα βιβλία που είναι στα "ράφια" της βιβλιοθήκης και κατά συνέπεια είναι διαθέσιμα (shelved) καθώς και τα βιβλία που έχουν δανειστεί (loaned). Οι προδιαγραφές περιλαμβάνουν τις λειτουργίες του δανεισμού και της επιστροφής ενός βιβλίου. Θεωρούμε ότι όλα τα βιβλία της βιβλιοθήκης αναγνωρίζονται από έναν μοναδικό αριθμό καταλόγου και για το λόγο αυτό εισάγουμε ένα νέο τύπο δεδομένων που ονομάζεται CATNO χρησιμοποιώντας το συμβολισμό της Z για τον καθορισμό τύπων σε ένα σύστημα: [CATNO] Ένας τύπος στη Z είναι επίσης ένα σύνολο. Κατά συνέπεια, ο τύπος CATNO μπορεί να θεωρηθεί ως το σύνολο όλων των δυνατών αριθμών καταλόγου. Η συγκεκριμένη αναπαράσταση του τύπου (π.χ. αν θα είναι κάποιος συνδυασμός γραμμάτων και αριθμών) δεν είναι απαραίτητη για την κατανόηση του συστήματος και αυτό είναι ένα από τα πλεονεκτήματα της γλώσσας Z. Η βιβλιοθήκη μοντελοποιείται ως δύο σύνολα βιβλίων (ή αριθμών καταλόγου βιβλίων) τα οποία στο εξής θα ονομάζονται shelved και loaned. Είναι προφανές ότι ένα συγκεκριμένο βιβλίο δεν μπορεί να ανήκει και στα δύο σύνολα, γιατί δεν μπορεί να βρίσκεται στη βιβλιοθήκη και να είναι δανεισμένο την ίδια χρονική στιγμή. Η στοιχειώδης αυτή περιγραφή της βιβλιοθήκης καταγράφεται με ένα σχήμα Z που ονομάζεται Library: Library shelved, loaned : CATNO shelved loaned = Το σχήμα Library περιγράφει την κατάσταση του συστήματος (δηλαδή το μοντέλο της βιβλιοθήκης) και μια αναλλοίωτη που αφορά τα δεδομένα (δηλαδή ένα κατηγόρημα που αφορά το μοντέλο). Στο άνω τμήμα του σχήματος δηλώνονται τα συστατικά της κατάστασης, στην προκειμένη περίπτωση οι μεταβλητές shelved και loaned καθώς και ο τύπος δεδομένων τους. Ο τύπος CATNO αντιστοιχεί στο δυναμοσύνολο του CATNO, όπου δυναμοσύνολο είναι το σύνολο όλων των υποσυνόλων του CATNO. Μαθηματικά, το δυναμοσύνολο ενός συνόλου S είναι: S = {Χ: Χ S} δηλαδή για το σύνολο {,} το δυναμοσύνολο είναι {, {}, {}, {,} }. Κατά συνέπεια οι μεταβλητές shelved, loaned της βιβλιοθήκης μπορούν να έχουν ως τιμές οποιοδήποτε σύνολο αριθμών καταλόγου από το CATNO. Το κάτω Σελ. Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

26 ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ τμήμα του σχήματος περιέχει ένα κατηγόρημα το οποίο εκφράζει μια αναλλοίωτη (έναν ισχυρισμό για τα συστατικά-μεταβλητές του συστήματος ο οποίος πρέπει πάντοτε να ισχύει ανεξαρτήτως των λειτουργιών που επιδρούν επί του συστήματος). Στο συγκεκριμένο σχήμα, η αναλλοίωτη αναφέρεται στο ότι οι μεταβλητές shelved και loaned δεν θα έχουν ποτέ κοινά στοιχεία (το σύμβολο υποδηλώνει το κενό σύνολο {}). Υποθέτοντας ότι ο τύπος CATNO είναι το απειροσύνολο {c, c, c3, c4, c5, }, τυπικές τιμές για τις μεταβλητές shelved και loaned που ικανοποιούν την αναλλοίωτη θα ήταν: shelved = {c, c, c4} loaned = {c3, c5} Αντίστροφα, οι τιμές shelved = {c, c, c4} loaned = {c, c3, c5} θα ήταν σε σύγκρουση με την αναλλοίωτη καθώς το στοιχείο c ανήκει και στα διαθέσιμα και στα δανεισμένα βιβλία ταυτοχρόνως. Κατά την περιγραφή των λειτουργιών επί ενός συστήματος, οι αναλλοίωτες αποτελούν ένα χρήσιμο μέσο για την εξασφάλιση της συνέπειας των λειτουργικών απαιτήσεων που συγκροτούν τις προδιαγραφές. Θα πρέπει να εξασφαλίζεται ότι αν κάποια αναλλοίωτη ισχύει πριν από την εκτέλεση μιας λειτουργίας, θα πρέπει να ισχύει και μετά την ολοκλήρωση της λειτουργίας. Στη συνέχεια, παρουσιάζεται υπό μορφή σχήματος Ζ η λειτουργία του δανεισμού ενός βιβλίου από τη βιβλιοθήκη (λειτουργία Borrow): Borrow Δ Library book? : CATNO book? shelved shelved = shelved \ {book?} loaned = loaned {book?} Επειδή έχει ήδη οριστεί ένα σχήμα που ονομάζεται Library, εξ' ορισμού υπάρχει επίσης πρόσβαση σε ένα σχήμα που καλείται ΔLibrary, και το οποίο έχει ως εξής: ΔLibrary shelved, loaned : P CATNO shelved, loaned : P CATNO shelved loaned = shelved loaned = Μια σύμβαση της γλώσσας Z είναι ότι τα ονόματα σχημάτων που ξεκινούν με το γράμμα Δ υποδηλώνουν σχήματα των οποίων ο σκοπός είναι η περιγραφή της κατάστασης ενός συστήματος πριν και μετά την εκτέλεση μιας λειτουργίας, όταν η κατάσταση μετά διαφέρει από την κατάσταση πριν. Στη γλώσσα Ζ επίσης μιας τονισμένη μεταβλητή αναφέρεται στην κατάσταση μετά την εκτέλεση μιας λειτουργίας. Για παράδειγμα, η shelved αναφέρεται στα διαθέσιμα βιβλία πριν από τη λειτουργία δανεισμού (Borrow), ενώ η shelved' αναφέρεται στα διαθέσιμα βιβλία μετά την εκτέλεση μιας λειτουργίας δανεισμού. Το σχήμα Borrow αξιοποιεί την περιγραφή του σχήματος ΔLibrary με μια τεχνική που ονομάζεται συμπερίληψη σχήματος. Η τεχνική επιτρέπει την παραγωγή Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006 Σελ. 3

27 Περιγραφή Απαιτήσεων Λογισμικού σύνθετων προδιαγραφών από άλλες απλούστερες. Αν δεν χρησιμοποιούνταν αυτή η τεχνική, και η περιγραφή του σχήματος Borrow ήταν πλήρης, θα ήταν ως εξής: Borrow shelved, loaned : CATNO shelved, loaned : CATNO book? : CATNO book? shelved shelved loaned = shelved loaned = shelved = shelved \ {book?} loaned = loaned {book?} Î Î Για την κατασκευή του σχήματος Borrow, οι δηλώσεις των μεταβλητών από το σχήμα ΔLibrary συνενώθηκαν με τις δηλώσεις του σχήματος Borrow, και τα κατηγορήματα του σχήματος ΔLibrary συνδέθηκαν με λογικό "και" με τα κατηγορήματα του σχήματος Borrow. Επομένως, μετά την λειτουργία Borrow, και τα πέντε κατηγορήματα πρέπει να είναι αληθή. Το σχήμα Borrow είναι απολύτως ισοδύναμο με το σχήμα Borrow, αν το σχήμα Library είναι ορισμένο. Προφανώς, η ύπαρξη ενός ήδη ορισμένου σχήματος, επιτρέπει τη συμπερίληψή του σε άλλους ορισμούς σχημάτων. Η λειτουργία Borrow χρειάζεται ως είσοδο τον αριθμό καταλόγου του βιβλίου που δανείζεται. Το στοιχείο αυτό υποδηλώνεται με τη μεταβλητή εισόδου book? (μια ακόμα σύμβαση της γλώσσας Z είναι να δηλώνονται οι μεταβλητές εισόδου με το σύμβολο? στο τέλος). Το πρώτο κατηγόρημα περιγράφει την προ-συνθήκη που πρέπει να ισχύει ώστε να μπορεί να εφαρμοστεί η λειτουργία δανεισμού. Με άλλα λόγια, πρέπει ένα βιβλίο να είναι διαθέσιμο για να μπορεί να το δανειστεί κάποιος. Τα τελευταία δύο κατηγορήματα εκφράζουν την κατάσταση του συστήματος μετά την εφαρμογή της λειτουργίας (μετά-συνθήκες). Υποδηλώνεται ότι το νέο σύνολο διαθέσιμων βιβλίων θα ελαττωθεί κατά το δανειζόμενο βιβλίο και το νέο σύνολο δανεισμένων βιβλίων θα επαυξηθεί. Αν επομένως η αρχική κατάσταση της βιβλιοθήκης είναι: shelved = {c, c, c4} loaned = {c3, c5} και book? = c, η νέα κατάσταση του συστήματος μετά τη λειτουργία Borrow θα είναι: shelved' = {c, c, c4} \ {c} = {c, c4} loaned' ={c3, c5} {c} = {c, c3, c5} Η λειτουργία επιστροφής ενός βιβλίου στη βιβλιοθήκη (Return) περιγράφεται από το κάτωθι σχήμα: Σελ. 4 Χατζηγεωργίου Αλέξανδρος, Τμήμα Εφαρμοσμένης Πληροφορικής Θεσσαλονίκη, 006

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βήματα προς τη δημιουργία εκτελέσιμου κώδικα Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Βήματα προς τη δημιουργία εκτελέσιμου κώδικα

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

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

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

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

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

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

4.6 Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού)

4.6 Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού) . Critical Path Analysis (Μέθοδος του κρίσιμου μονοπατιού) Η πετυχημένη διοίκηση των μεγάλων έργων χρειάζεται προσεχτικό προγραμματισμό, σχεδιασμό και συντονισμό αλληλοσυνδεόμενων δραστηριοτήτων (εργσιών).

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

Περιεχόμενο του μαθήματος

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΜΑΘΗΜΑ: ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΔΙΑΔΙΚΑΣΙΕΣ ΠΑΡΑΓΩΓΗΣ ΛΟΓΙΣΜΙΚΟΥ Διδάσκων: Γ. Χαραλαμπίδης,

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

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ

ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΔΙΔΑΚΤΙΚΗ της ΠΛΗΡΟΦΟΡΙΚΗΣ Μ. Γρηγοριάδου Ρ. Γόγουλου Ενότητα: Η Διδασκαλία του Προγραμματισμού Περιεχόμενα Παρουσίασης

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

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

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Κεφάλαιο 3

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

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

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα Κεφάλαιο 7. 7.1 ομές εδομένων για Γραφικά Υπολογιστών. Οι δομές δεδομένων αποτελούν αντικείμενο της επιστήμης υπολογιστών. Κατά συνέπεια πρέπει να γνωρίζουμε πώς οργανώνονται τα γεωμετρικά δεδομένα, προκειμένου

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

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

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

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης)

ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) ΑΣΦΑΛΕΙΑ ΔΕΔΟΜΕΝΩΝ ΣΤΗΝ ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ (Μηχανισμοί Ελέγχου Προσπέλασης) Καλλονιάτης Χρήστος Επίκουρος Καθηγητής Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας, Πανεπιστήμιο Αιγαίου http://www.ct.aegean.gr/people/kalloniatis

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

Γλώσσες Προγραμματισμού Μεταγλωττιστές

Γλώσσες Προγραμματισμού Μεταγλωττιστές Γλώσσες Προγραμματισμού Μεταγλωττιστές Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου Δομή Γλώσσες Προγραμματισμού Εισαγωγικά Γλώσσα Μηχανής Γλώσσες υψηλού επιπέδου Μεταγλωττιστές

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

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

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

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 24-5 Πράξεις με δυαδικούς αριθμούς (λογικές πράξεις) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης ; Ποιες κατηγορίες

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

Η ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ COACH 5 ΣΤΗΝ ΔΙΔΑΣΚΑΛΙΑ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΟΜΕΑ ΤΩΝ Τ.Ε.Ε.

Η ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ COACH 5 ΣΤΗΝ ΔΙΔΑΣΚΑΛΙΑ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΟΜΕΑ ΤΩΝ Τ.Ε.Ε. 2 Ο ΣΥΝΕΔΡΙΟ ΣΤΗ ΣΥΡΟ ΤΠΕ ΣΤΗΝ ΕΚΠΑΙΔΕΥΣΗ 485 Η ΑΞΙΟΠΟΙΗΣΗ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΛΟΓΙΣΜΙΚΟΥ COACH 5 ΣΤΗΝ ΔΙΔΑΣΚΑΛΙΑ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΟΜΕΑ ΤΩΝ Τ.Ε.Ε. Μπουλταδάκης Στέλιος Εκπαιδευτικός

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

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

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

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ

ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

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

Συνδυαστικά Κυκλώματα

Συνδυαστικά Κυκλώματα 3 Συνδυαστικά Κυκλώματα 3.1. ΣΥΝΔΥΑΣΤΙΚΗ Λ ΟΓΙΚΗ Συνδυαστικά κυκλώματα ονομάζονται τα ψηφιακά κυκλώματα των οποίων οι τιμές της εξόδου ή των εξόδων τους διαμορφώνονται αποκλειστικά, οποιαδήποτε στιγμή,

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

ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες Παύλος Εφραιμίδης Δομές Δεδομένων και Αλγόριθμοι

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

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

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα

Δύο κύριοι τρόποι παρουσίασης δεδομένων. Παράδειγμα Δύο κύριοι τρόποι παρουσίασης δεδομένων Παράδειγμα Με πίνακες Με διαγράμματα Ονομαστικά δεδομένα Εδώ τα περιγραφικά μέτρα (μέσος, διάμεσος κλπ ) δεν έχουν νόημα Πήραμε ένα δείγμα από 25 άτομα και τα ρωτήσαμε

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

Υπερπροσαρμογή (Overfitting) (1)

Υπερπροσαρμογή (Overfitting) (1) Αλγόριθμος C4.5 Αποφυγή υπερπροσαρμογής (overfitting) Reduced error pruning Rule post-pruning Χειρισμός χαρακτηριστικών συνεχών τιμών Επιλογή κατάλληλης μετρικής για την επιλογή των χαρακτηριστικών διάσπασης

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

UTECO ABEE ΒΙΟΜΗΧΑΝΙΚΟΣ & ΝΑΥΤΙΛΙΑΚΟΣ ΑΥΤΟΜΑΤΙΣΜΟΣ

UTECO ABEE ΒΙΟΜΗΧΑΝΙΚΟΣ & ΝΑΥΤΙΛΙΑΚΟΣ ΑΥΤΟΜΑΤΙΣΜΟΣ IMAGO F3000 Συνοπτική περιγραφή Αυτοί οι ελεγκτές διαδικασίας χτίζονται σε ένα σχεδιασμό επεκτάσιμης μονάδας, και είναι κατάλληλοι για τον έλεγχο ρύθμιση λειτουργίας, ψησίματος, καπνίσματος και ελέγχου

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Εισαγωγικά ΘΕ ΠΛΗ 204-5 ONLINE ΕΡΓΑΣΙΑ E2- Η Online Εργασία Ε2- αποτελεί (όπως περιγράφεται αναλυτικότερα και στον Οδηγό Σπουδών της Θ.Ε. που σας έχει διατεθεί) συμπληρωματική άσκηση στα πλαίσια της Γραπτής

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

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

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

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

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

ΕΡΓΑΛΕΙΑ ΧΡΟΝΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΛΕΙΑ ΧΡΟΝΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δρ. Βασιλική Καζάνα Αναπλ. Καθηγήτρια ΤΕΙ Καβάλας, Τμήμα Δασοπονίας & Διαχείρισης Φυσικού Περιβάλλοντος Δράμας Εργαστήριο Δασικής Διαχειριστικής Τηλ. & Φαξ: 25210 60435

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ. ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΟΙΚΟΝΟΜΙΑΣ ΔΙΟΙΚΗΣΗΣ και ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ και ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΟΔΗΓΟΣ ΜΕΤΑΒΑΤΙΚΩΝ ΔΙΑΤΑΞΕΩΝ 2014 2015 Επιτροπή προπτυχιακών σπουδών: Κ. Βασιλάκης Κ. Γιαννόπουλος

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

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ

ΠΡΟΒΛΗΜΑΤΑ ΜΕΤΑΦΟΡΑΣ (Transportation Problems) Βασίλης Κώστογλου E-mail: vkostogl@it.teithe.gr URL: www.it.teithe.gr/~vkostogl Περιγραφή Ένα πρόβλημα μεταφοράς ασχολείται με το πρόβλημα του προσδιορισμού του καλύτερου δυνατού

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

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

Περιεχόμενα. Πρόλογος... 15 Σημείωμα του συγγραφέα... 18 Υποστηρικτικό υλικό... 22

Περιεχόμενα. Πρόλογος... 15 Σημείωμα του συγγραφέα... 18 Υποστηρικτικό υλικό... 22 Περιεχόμενα Πρόλογος........................................................ 15 Σημείωμα του συγγραφέα............................................ 18 Υποστηρικτικό υλικό................................................

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

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6

ΠΕΡΙΕΧΟΜΕΝΑ. 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή στην Δομή, Οργάνωση, Λειτουργία και Αξιολόγηση Υπολογιστών 1.1. Υλικό και Λογισμικό.. 1 1.2 Αρχιτεκτονική Υπολογιστών.. 3 1.3 Δομή, Οργάνωση και Λειτουργία Υπολογιστών 6 1.3.1 Δομή

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

Συσχέτιση μεταξύ δύο συνόλων δεδομένων

Συσχέτιση μεταξύ δύο συνόλων δεδομένων Διαγράμματα διασποράς (scattergrams) Συσχέτιση μεταξύ δύο συνόλων δεδομένων Η οπτική απεικόνιση δύο συνόλων δεδομένων μπορεί να αποκαλύψει με παραστατικό τρόπο πιθανές τάσεις και μεταξύ τους συσχετίσεις,

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 1: Εισαγωγή στη C - Αλγόριθμοι Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε

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

ΠΛΗ 405 Τεχνητή Νοηµοσύνη 2006. Ε ανάληψη. δοµή δεδοµένων για κατασκευή ευρετικών συναρτήσεων Ο αλγόριθµος GraphPlan

ΠΛΗ 405 Τεχνητή Νοηµοσύνη 2006. Ε ανάληψη. δοµή δεδοµένων για κατασκευή ευρετικών συναρτήσεων Ο αλγόριθµος GraphPlan ΠΛΗ 405 Τεχνητή Νοηµοσύνη Σχεδιασµός και ράση στον Πραγµατικό Κόσµο Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υ ολογιστών Πολυτεχνείο Κρήτης Ε ανάληψη Γραφήµατα σχεδιασµού δοµή δεδοµένων για κατασκευή

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

Ψηφιακά Φίλτρα. Αναλογικά και ψηφιακά φίλτρα 20/5/2005 1 20/5/2005 2

Ψηφιακά Φίλτρα. Αναλογικά και ψηφιακά φίλτρα 20/5/2005 1 20/5/2005 2 Ψηφιακά Φίλτρα Αναλογικά και ψηφιακά φίλτρα 20/5/2005 1 Αναλογικά και ψηφιακά φίλτρα Στην επεξεργασία σήματος, η λειτουργία ενός φίλτρου είναι να απομακρύνει τα ανεπιθύμητα μέρη ενός σήματος, όπως ένα

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

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

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

Σενάριο 15: Ενεργός Μετεωρολογικός Χάρτης

Σενάριο 15: Ενεργός Μετεωρολογικός Χάρτης Σενάριο 15: Ενεργός Μετεωρολογικός Χάρτης Ταυτότητα Σεναρίου Τίτλος : Ενεργός Μετεωρολογικός Χάρτης Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω,

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

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1)

Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1) Case 08: Επιλογή Διαφημιστικών Μέσων Ι ΣΕΝΑΡΙΟ (1) Το πρόβλημα της επιλογής των μέσων διαφήμισης (??) το αντιμετωπίζουν τόσο οι επιχειρήσεις όσο και οι διαφημιστικές εταιρείες στην προσπάθειά τους ν' αναπτύξουν

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

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ

ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΕΙΣΑΓΩΓΗ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ. ΤΙ ΕΙΝΑΙ ΤΑ ΜΑΘΗΜΑΤΙΚΑ; Η επιστήμη των αριθμών Βασανιστήριο για τους μαθητές και φοιτητές Τέχνη για τους μαθηματικούς ΜΑΘΗΜΑΤΙΚΑ Α Εξάμηνο ΙΩΑΝΝΗΣ

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

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

ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ ΜΑΘΗΜΑ ΤΑΞΗ ΚΕΦΑΛΑΙΟ 2 ο ΕΙΣΗΓΗΤΗΣ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ : Γ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ : ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ : ΚΑΖΑΝΤΖΗΣ ΧΡΗΣΤΟΣ 1. Γενικός

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

Σχεδιαστής Ιστοσελίδων

Σχεδιαστής Ιστοσελίδων Σχεδιαστής Ιστοσελίδων 1. Περιγραφή Ρόλου Τίτλος Προφίλ Σχεδιαστής Ιστοσελίδων Γνωστό και ως Συνοπτική Ένας σχεδιαστής ιστοσελίδων κατασκευάζει και ενημερώνει ιστοσελίδες ως προς τη σχεδίαση και τη διαμόρφωση

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής. Ακαδημαϊκό Έτος 2007-2008 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Ακαδημαϊκό Έτος 2007-2008 ΠΑΡΑΔΟΤΕΟ: Έκθεση Προόδου Υλοποίησης του Μαθήματος Εισαγωγή στην Επιστήμη των Υπολογιστών Διδάσκοντες: Θ.Ανδρόνικος - Μ.Στεφανιδάκης Περιεχόμενα

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

Προηγμένες Τεχνολογίες Εξοικονόμησης Ενέργειας και Μείωσης Απωλειών Σε Συστήματα Μεταβλητής Ροής Ψυκτικού Μέσου

Προηγμένες Τεχνολογίες Εξοικονόμησης Ενέργειας και Μείωσης Απωλειών Σε Συστήματα Μεταβλητής Ροής Ψυκτικού Μέσου Προηγμένες Τεχνολογίες Εξοικονόμησης Ενέργειας και Μείωσης Απωλειών Σε Συστήματα Μεταβλητής Ροής Ψυκτικού Μέσου Eισαγωγή Λόγω των κλιματικών αλλαγών, η εξοικονόμηση ενέργειας έιναι πλέον ένα απο τα βασικά

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

Πρότυπο Πειραματικό Γυμνάσιο Πανεπιστημίου Πατρών. Αθανασία Μπαλωμένου ΠΕ03 Βασιλική Ρήγα ΠΕ03 Λαμπρινή Βουτσινά ΠΕ04.01

Πρότυπο Πειραματικό Γυμνάσιο Πανεπιστημίου Πατρών. Αθανασία Μπαλωμένου ΠΕ03 Βασιλική Ρήγα ΠΕ03 Λαμπρινή Βουτσινά ΠΕ04.01 Πρότυπο Πειραματικό Γυμνάσιο Πανεπιστημίου Πατρών Αθανασία Μπαλωμένου ΠΕ03 Βασιλική Ρήγα ΠΕ03 Λαμπρινή Βουτσινά ΠΕ04.01 Τα ερωτήματα που προκύπτουν από την εισαγωγή της Φυσικής στην Α γυμνασίου είναι :

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

Προσομοίωση ΚΕΦΑΛΑΙΟ 7

Προσομοίωση ΚΕΦΑΛΑΙΟ 7 ΚΕΦΑΛΑΙΟ 7 Προσομοίωση 7.1 Συστήματα και πρότυπα συστημάτων 7.2 Η διαδικασία της προσομοίωσης 7.3 Ανάπτυξη προτύπων διακριτών γεγονότων 7.4 Τυχαίοι αριθμοί 7.5 Δείγματα από τυχαίες μεταβλητές 7.6 Προσομοίωση

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

1. Εναλλάκτες θερµότητας (Heat Exchangers)

1. Εναλλάκτες θερµότητας (Heat Exchangers) 1. Εναλλάκτες θερµότητας (Heat Exangers) Οι εναλλάκτες θερµότητας είναι συσκευές µε τις οποίες επιτυγχάνεται η µεταφορά ενέργειας από ένα ρευστό υψηλής θερµοκρασίας σε ένα άλλο ρευστό χαµηλότερης θερµοκρασίας.

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

Εκτυπώσεις -> Ενσωματωμένες -> Νέες Μισθολογικές Εκτυπώσεις -> Νέα Μηνιαία Κατάσταση (3 γραμμές) Α3 (Οριζόντια) Α/Α 1037

Εκτυπώσεις -> Ενσωματωμένες -> Νέες Μισθολογικές Εκτυπώσεις -> Νέα Μηνιαία Κατάσταση (3 γραμμές) Α3 (Οριζόντια) Α/Α 1037 Εκτυπώσεις -> Ενσωματωμένες -> Νέες Μισθολογικές Εκτυπώσεις -> Νέα Μηνιαία Κατάσταση (3 γραμμές) Α3 (Οριζόντια) Α/Α 1037 Πρόκειται για εκτύπωση που απεικονίζει μία ή περισσότερες μισθοδοσίες μηνός, είτε

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

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

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ

ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ ΚΕΦΑΛΑΙΟ 3ο ΤΥΧΑΙΟΙ ΑΡΙΘΜΟΙ ΕΛΕΓΧΟΣ ΤΥΧΑΙΟΤΗΤΑΣ 3.1 Τυχαίοι αριθμοί Στην προσομοίωση διακριτών γεγονότων γίνεται χρήση ακολουθίας τυχαίων αριθμών στις περιπτώσεις που απαιτείται η δημιουργία στοχαστικών

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

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση

ΚΕΦΑΛΑΙΟ 18. 18 Μηχανική Μάθηση ΚΕΦΑΛΑΙΟ 18 18 Μηχανική Μάθηση Ένα φυσικό ή τεχνητό σύστηµα επεξεργασίας πληροφορίας συµπεριλαµβανοµένων εκείνων µε δυνατότητες αντίληψης, µάθησης, συλλογισµού, λήψης απόφασης, επικοινωνίας και δράσης

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

Εισαγωγή στα ψηφιακά Συστήµατα Μετρήσεων

Εισαγωγή στα ψηφιακά Συστήµατα Μετρήσεων 1 Εισαγωγή στα ψηφιακά Συστήµατα Μετρήσεων 1.1 Ηλεκτρικά και Ηλεκτρονικά Συστήµατα Μετρήσεων Στο παρελθόν χρησιµοποιήθηκαν µέθοδοι µετρήσεων που στηριζόταν στις αρχές της µηχανικής, της οπτικής ή της θερµοδυναµικής.

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

Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1. Μιγαδικοί αριθμοί. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1

Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1. Μιγαδικοί αριθμοί. ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1 ΤΕΤΥ Εφαρμοσμένα Μαθηματικά Μιγαδική Ανάλυση Α 1 Μιγαδική ανάλυση Μέρος Α Πρόχειρες σημειώσεις 1 Μιγαδικοί αριθμοί Τι είναι και πώς τους αναπαριστούμε Οι μιγαδικοί αριθμοί είναι μια επέκταση του συνόλου

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

ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ. Ακαδημαϊκό Έτος 2011 2012, Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ. Ακαδημαϊκό Έτος 2011 2012, Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΕΠΙΚΟΙΝΩΝΙΑΣ & ΣΠΟΥΔΩΝ ΔΙΑΔΙΚΤΥΟΥ ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ Ακαδημαϊκό Έτος 2011 2012, Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης ΕΡΩΤΗΣΕΙΣ ΕΠΑΝΑΛΗΨΗΣ

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

EasyControl Οδηγίες εγκατάστασης και χρήσης (v 0.9.0)

EasyControl Οδηγίες εγκατάστασης και χρήσης (v 0.9.0) Ultima EasyControl Οδηγίες εγκατάστασης και χρήσης (v 0.9.0) E05.06.02.GR.0.9.0.31.7.2013 2/44 ΕΥΡΕΤΗΡΙΟ 1. ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ...5 2. ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ Η/Υ...6 3. ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ...6 4. ΧΡΗΣΗ

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ονοματεπώνυμο: Βαθμός:

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

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

Θέµατα αξιολόγησης εκπαιδευτικού λογισµικού

Θέµατα αξιολόγησης εκπαιδευτικού λογισµικού Θέµατα αξιολόγησης εκπαιδευτικού λογισµικού Όνοµα: Τάσος Αναστάσιος Επώνυµο: Μικρόπουλος Τίτλος: Αναπληρωτής Καθηγητής, Εργαστήριο Εφαρµογών Εικονικής Πραγµατικότητας στην Εκπαίδευση, Πανεπιστήµιο Ιωαννίνων

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

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

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

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

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

ΛΟΓΙΣΜΙΚΟ ΜΕΛΕΤΩΝ ΗΛΕΚΤΡΙΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΥΠΟΣΤΑΘΜΩΝ ΜΕΣΗΣ ΤΑΣΗΣ ΛΟΓΙΣΜΙΚΟ ΜΕΛΕΤΩΝ ΗΛΕΚΤΡΙΚΩΝ ΕΓΚΑΤΑΣΤΑΣΕΩΝ ΚΑΙ ΥΠΟΣΤΑΘΜΩΝ ΜΕΣΗΣ ΤΑΣΗΣ Βασίλης Τσέτογλου, Ηλεκτρολόγος Μηχ/κός ΑΠΘ (Φρυγίας 30 Καβάλα, τηλ. 2510-241735, e-mail:vatset@panafonet.gr) ΠΕΡΙΛΗΨΗ Η συνεχής και

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

Εγχειρίδιο οδηγιών. Θερμοστάτης 02905 Εγχειρίδιο χρήστη

Εγχειρίδιο οδηγιών. Θερμοστάτης 02905 Εγχειρίδιο χρήστη Εγχειρίδιο οδηγιών Θερμοστάτης 02905 Εγχειρίδιο χρήστη Περιεχόμενα 1. Θερμοστάτης 02905 2 2. Τοποθέτηση/Αντικατάσταση μπαταριών τροφοδοσίας 2 3. Οθόνη 3 3.1 Λειτουργίες πλήκτρων 4 3.2 Σύμβολα 4 3.3 Ecometer

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

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β.

ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ. a β a β. ΕΙΣΑΓΩΓΙΚΟ ΚΕΦΑΛΑΙΟ Ε.1 ΤΟ ΛΕΞΙΛΟΓΙΟ ΤΗΣ ΛΟΓΙΚΗΣ Στη παράγραφο αυτή θα γνωρίσουμε μερικές βασικές έννοιες της Λογικής, τις οποίες θα χρησιμοποιήσουμε στη συνέχεια, όπου αυτό κρίνεται αναγκαίο, για τη σαφέστερη

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

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

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

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

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

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

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

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL

Περιγραφή Κυκλωμάτων με χρήση της VHDL. Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Περιγραφή Κυκλωμάτων με χρήση της VHDL Εισαγωγικές έννοιες για σχεδιασμό με τη VHDL Οργάνωση Παρουσίασης VHDL εισαγωγικές έννοιες Ροή και επίπεδα σχεδιασμού ψηφιακών κυκλωμάτων Μοντελοποίηση Καθυστερήσεων

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

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

ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΞΕΤΑΣΤΙΚΗ ΙΟΥΝΙΟΥ 2015 ΕΞΑΜΗΝΟ Α' ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΕΞΕΤΑΣΤΙΚΗ ΙΟΥΝΙΟΥ 2015 ΕΞΑΜΗΝΟ Α' ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ - ΓΛΩΣΣΑ C (ΤΕΣΥΔ) -64 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ (ΕΠΔΟ Α) -0 ΤΡΙΤΗ 23/6/2015 ΤΕΧΝΙΚΕΣ ΠΡΟΓ/ΣΜΟΥ

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΣΤΑΤΙΣΤΙΚΗ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ. Κεφάλαιο 6. Πιθανότητες

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

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

Γρήγορη Εκκίνηση. Όταν ξεκινήσετε το GeoGebra, εμφανίζεται το παρακάτω παράθυρο:

Γρήγορη Εκκίνηση. Όταν ξεκινήσετε το GeoGebra, εμφανίζεται το παρακάτω παράθυρο: Τι είναι το GeoGebra; Γρήγορη Εκκίνηση Λογισμικό Δυναμικών Μαθηματικών σε ένα - απλό στη χρήση - πακέτο Για την εκμάθηση και τη διδασκαλία σε όλα τα επίπεδα της εκπαίδευσης Συνδυάζει διαδραστικά γεωμετρία,

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εισαγωγή Κώστας Στεργίου Τι είναι ο Η/Υ; Ένας ηλεκτρονικός υπολογιστής (Η/Υ) είναι

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

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

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

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

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

Ε Θ Ν Ι Κ Ο Μ Ε Τ Σ Ο Β Ι Ο Π Ο Λ Υ Τ Ε Χ Ν Ε Ι Ο ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Ε Θ Ν Ι Κ Ο Μ Ε Τ Σ Ο Β Ι Ο Π Ο Λ Υ Τ Ε Χ Ν Ε Ι Ο ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Η κατάταξη πτυχιούχων ΑΕΙ & ΤΕΙ στη Σχολή ΗΜΜΥ, για το ακαδημαϊκό έτος 2010-11, θα γίνει με κατατακτήριες

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

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ : ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ 4 ο ΕΞΑΜΗΝΟ Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο

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

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

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

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Βάλβης Δημήτριος Μηχανικός Πληροφορικής ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα

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

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας

Μαθησιακές δυσκολίες ΙΙ. Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μαθησιακές δυσκολίες ΙΙ Παλαιγεωργίου Γιώργος Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών Τηλεπικοινωνιών και Δικτύων, Πανεπιστήμιο Θεσσαλίας Μάρτιος 2010 Προηγούμενη διάλεξη Μαθησιακές δυσκολίες Σε όλες

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

Εισαγωγή στην Αρχιτεκτονική Η/Υ

Εισαγωγή στην Αρχιτεκτονική Η/Υ Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2014-15 Εισαγωγή στην Αρχιτεκτονική (θεμελιώδεις αρχές λειτουργίας των υπολογιστών) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης

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

Θεωρία Υπολογισμού και Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 1. Μαθηματικό Υπόβαθρο 23, 26 Ιανουαρίου 2007 Δρ. Παπαδοπούλου Βίκη 1 1.1. Σύνολα Ορισμός : Σύνολο μια συλλογή από αντικείμενα Στοιχεία: Μέλη συνόλου Τα στοιχεία

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

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ" ΜΕΡΟΣ ΔΕΥΤΕΡΟ Υπεύθυνος Καθηγητής Λυκοθανάσης Σπυρίδων Ακαδημαικό Έτος:

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

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

ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΗΛΕΚΤΡΟΝΙΚΟ ΣΥΣΤΗΜΑ ΥΠΟΒΟΛΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟΥ ΔΕΛΤΙΟΥ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΥΠΟΨΗΦΙΟΥ ΕΠΑΛ Α Έκδοση 1.0, Ιούνιος 2014 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ ΛΙΣΤΑ ΣΧΗΜΑΤΩΝ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

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

1. ΓΕΝΙΚΟΙ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΥΠΟΘΕΣΕΙΣ ΛΗΨΗΣ ΠΤΥΧΙΟΥ

1. ΓΕΝΙΚΟΙ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΥΠΟΘΕΣΕΙΣ ΛΗΨΗΣ ΠΤΥΧΙΟΥ 1. ΓΕΝΙΚΟΙ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΥΠΟΘΕΣΕΙΣ ΛΗΨΗΣ ΠΤΥΧΙΟΥ Ισχύει ένα πρόγραμμα σπουδών από τον Οκτώβριο του 2013. Για να πάρει κάποιος πτυχίο από το 2014 κι έπειτα απαιτείται να πληροί όλους τους παρακάτω όρους:

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

ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 1.3-1.4: Εισαγωγή Στον Προγραµµατισµό ( ιάλεξη 2) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Περιεχόµενα Εισαγωγικές Έννοιες - Ορισµοί Ο κύκλος ανάπτυξης προγράµµατος Παραδείγµατα Πότε χρησιµοποιούµε υπολογιστή?

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ ΥΠΟΛΟΓΙΣΜΩΝ ΚΑΙ ΑΥΤΟΜΑΤΩΝ Τελικές εξετάσεις 3 Ιανουαρίου 27 Διάρκεια εξέτασης: 3 ώρες (2:-5:) ΘΕΜΑ ο

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

Kalman Filter Γιατί ο όρος φίλτρο;

Kalman Filter Γιατί ο όρος φίλτρο; Kalman Filter Γιατί ο όρος φίλτρο; Συνήθως ο όρος φίλτρο υποδηλώνει µια διαδικασία αποµάκρυνσης µη επιθυµητών στοιχείων Απότολατινικόόροfelt : το υλικό για το φιλτράρισµα υγρών Στη εποχή των ραδιολυχνίων:

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 6 ο Με τι ασχολείται ο προγραμματισμός; Ο προγραμματισμός ασχολείται με την διατύπωση του αλγορίθμου σε κατανοητή μορφή από τον Η/Υ, δηλ. τη δημιουργία του προγράμματος, του συνόλου των εντολών που πρέπει

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Τμήμα Λογιστικής Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Μάθημα 8 Κεντρική Μονάδα Επεξεργασίας και Μνήμη 1 Αρχιτεκτονική του Ηλεκτρονικού Υπολογιστή Μονάδες Εισόδου Κεντρική

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

1 η εξεταστική περίοδος από 20/10/2013 έως 17/11/2013. γραπτή εξέταση στο μάθημα Α ΝΑΠΤΥΞΗ ΕΦΑΡΜ Ο ΓΩ Ν ΣΕ ΠΡΟΓΡ ΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ

1 η εξεταστική περίοδος από 20/10/2013 έως 17/11/2013. γραπτή εξέταση στο μάθημα Α ΝΑΠΤΥΞΗ ΕΦΑΡΜ Ο ΓΩ Ν ΣΕ ΠΡΟΓΡ ΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ γραπτή εξέταση στο μάθημα Α ΝΑΠΤΥΞΗ ΕΦΑΡΜ Ο ΓΩ Ν ΣΕ ΠΡΟΓΡ ΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ Τάξη: Τμήμα: Βαθμός: Ονοματεπώνυμο: Καθηγητές: ΒΛΙΣΙΔΗΣ ΓΙΩΡΓΟΣ ΘΕΜΑ Α Α1. Να αναφέρετε τους λόγους για τους οποίους

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

ΜΕΤΑ-ΑΝΑΛΥΣΗ (Meta-Analysis)

ΜΕΤΑ-ΑΝΑΛΥΣΗ (Meta-Analysis) ΚΕΦΑΛΑΙΟ 23 ΜΕΤΑ-ΑΝΑΛΥΣΗ (Meta-Analysis) ΕΙΣΑΓΩΓΗ Έχοντας παρουσιάσει τις βασικές έννοιες των ελέγχων υποθέσεων, θα ήταν, ίσως, χρήσιμο να αναφερθούμε σε μια άλλη περιοχή στατιστικής συμπερασματολογίας

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

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects)

ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ. Τίτλος Μαθήματος. Διαλέξεις - Θεωρητική Διδασκαλία, Εποπτευόμενο Εργαστήριο Επίδειξη, Μελέτες (Projects) ΒΑΣΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ Τίτλος Μαθήματος Μικροελεγκτές και Ενσωματωμένα συστήματα Ανάπτυξη και Εφαρμογές Κωδικός Μαθήματος Μ2 Θεωρία / Εργαστήριο Θεωρία + Εργαστήριο Πιστωτικές μονάδες 4 Ώρες Διδασκαλίας 2Θ+1Ε

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

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... iii 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ... 11 1.1 Η αρχιτεκτονική von Neumann... 11 1.2 Περιφερειακές συσκευές...

ΠΕΡΙΕΧΟΜΕΝΑ. ΠΡΟΛΟΓΟΣ... iii 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ... 11 1.1 Η αρχιτεκτονική von Neumann... 11 1.2 Περιφερειακές συσκευές... ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ... iii 1 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ... 11 1.1 Η αρχιτεκτονική von Neumann... 11 1.2 Περιφερειακές συσκευές... 12 1.2.1 Συσκευές εισόδου δεδομένων (input devices)12 1.2.1.1 Το πληκτρολόγιο

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

Προηγμένες Υπολογιστικές Υπηρεσίες για την Ερευνητική και Ακαδημαϊκή Κοινότητα ΠΙΝΑΚΑΣ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΔΗΜΟΣΙΑΣ ΔΙΑΒΟΥΛΕΥΣΗΣ

Προηγμένες Υπολογιστικές Υπηρεσίες για την Ερευνητική και Ακαδημαϊκή Κοινότητα ΠΙΝΑΚΑΣ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΔΗΜΟΣΙΑΣ ΔΙΑΒΟΥΛΕΥΣΗΣ Προηγμένες υπηρεσίες μεταδόσεων και τηλεδιασκέψεων Πράξη: Αναθέτουσα Αρχή: Προηγμένες Υπολογιστικές Υπηρεσίες για την Ερευνητική και Ακαδημαϊκή Κοινότητα Εθνικό Δίκτυο Έρευνας και Τεχνολογίας Α.Ε. ΠΙΝΑΚΑΣ

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