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

Μέγεθος: 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

ΔΕΟ 40 ΤΟΜΟΣ Β ΘΕΩΡΙΑ ΚΑΙ ΑΣΚΗΣΕΙΣ ΔΙΚΤΥΩΝ ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ

ΔΕΟ 40 ΤΟΜΟΣ Β ΘΕΩΡΙΑ ΚΑΙ ΑΣΚΗΣΕΙΣ ΔΙΚΤΥΩΝ ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ ΔΕΟ 40 ΤΟΜΟΣ Β ΘΕΩΡΙΑ ΚΑΙ ΑΣΚΗΣΕΙΣ ΔΙΚΤΥΩΝ ΔΙΟΙΚΗΣΗ ΕΡΓΩΝ ΟΡΙΣΜΟΣ ΤΟΥ ΕΡΓΟΥ Έργο είναι μια ακολουθία μοναδικών, σύνθετων και αλληλοσυσχετιζόμενων δραστηριοτήτων που αποσκοπούν στην επίτευξη κάποιου συγκεκριμένου

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

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

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

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

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

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

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

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

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

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

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ

5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5 ΕΙΣΑΓΩΓΗ ΣΤΗ ΘΕΩΡΙΑ ΑΛΓΟΡΙΘΜΩΝ 5.1 Εισαγωγή στους αλγορίθμους 5.1.1 Εισαγωγή και ορισμοί Αλγόριθμος (algorithm) είναι ένα πεπερασμένο σύνολο εντολών οι οποίες εκτελούν κάποιο ιδιαίτερο έργο. Κάθε αλγόριθμος

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

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

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

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

ΗΥ-121: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος. Βασικές Αρχές Ηλεκτρικών Κυκλωμάτων

ΗΥ-121: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος. Βασικές Αρχές Ηλεκτρικών Κυκλωμάτων Πανεπιστήμιο Κρήτης Τμήμα Επιστήμης Υπολογιστών ΗΥ-121: Ηλεκτρονικά Κυκλώματα Γιώργος Δημητρακόπουλος Άνοιξη 2008 Βασικές Αρχές Ηλεκτρικών Κυκλωμάτων Ηλεκτρικό ρεύμα Το ρεύμα είναι αποτέλεσμα της κίνησης

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

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα. i Π Ρ Ο Λ Ο Γ Ο Σ Το βιβλίο αυτό αποτελεί μια εισαγωγή στα βασικά προβλήματα των αριθμητικών μεθόδων της υπολογιστικής γραμμικής άλγεβρας (computational linear algebra) και της αριθμητικής ανάλυσης (numerical

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

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

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

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

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

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

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

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

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

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

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

ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ ΑΝΑΣΚΟΠΗΣΗ ΘΕΩΡΙΑΣ ΣΥΝΟΡΘΩΣΕΩΝ Βασίλης Δ. Ανδριτσάνος Δρ. Αγρονόμος - Τοπογράφος Μηχανικός ΑΠΘ Επίκουρος Καθηγητής ΤΕΙ Αθήνας 3ο εξάμηνο http://eclass.teiath.gr Παρουσιάσεις,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

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

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών

Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών ΕΠΛ362: Τεχνολογία Λογισμικού ΙΙ (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Software Engineering, 9/E, Ian Sommerville, 2011) Ενότητα 12 (κεφάλαιο 28) Αρχιτεκτονικές Εφαρμογών Οι διαφάνειες αυτές

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

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

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

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

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

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

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

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

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

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

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

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

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

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

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

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

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου

J-GANNO. Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β, Φεβ.1998) Χάρης Γεωργίου J-GANNO ΓΕΝΙΚΕΥΜΕΝΟ ΠΑΚΕΤΟ ΥΛΟΠΟΙΗΣΗΣ ΤΕΧΝΗΤΩΝ ΝΕΥΡΩΝΙΚΩΝ ΙΚΤΥΩΝ ΣΤΗ ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ JAVA Σύντοµη αναφορά στους κύριους στόχους σχεδίασης και τα βασικά χαρακτηριστικά του πακέτου (προέκδοση 0.9Β,

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

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

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

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 4: Εισαγωγή / Σύνολα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 4: Εισαγωγή / Σύνολα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

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

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/

Τεχνητή Νοημοσύνη. 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος. http://www.aueb.gr/users/ion/ Τεχνητή Νοημοσύνη 2η διάλεξη (2015-16) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Οι διαφάνειες αυτής της διάλεξης βασίζονται στα βιβλία: Τεχνητή Νοημοσύνη των Βλαχάβα κ.ά., 3η έκδοση, Β. Γκιούρδας

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

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων.

Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Εκπαιδευτική Μονάδα 10.2: Εργαλεία χρονοπρογραμματισμού των δραστηριοτήτων. Στην προηγούμενη Εκπαιδευτική Μονάδα παρουσιάστηκαν ορισμένα χρήσιμα παραδείγματα διαδεδομένων εργαλείων για τον χρονοπρογραμματισμό

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

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ B ΤΑΞΗΣ. χρησιμοποιήσουμε καθημερινά φαινόμενα όπως το θερμόμετρο, Θετικοί-Αρνητικοί αριθμοί.

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

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

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

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

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

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

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

ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΟΟΔΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΟΚΤΩΒΡΙΟΥ 2015 ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΠΡΟΟΔΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΟΚΤΩΒΡΙΟΥ 2015 Θέμα 1 (Α) Να απαντήσετε στις παρακάτω προτάσεις χαρακτηρίζοντάς τες με το γράμμα Σ αν

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

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

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

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

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα

Β Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.E. Π.Μ Προαπαιτούµενα ΤΕΙ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Τ.Ε. ΣΥΝΟΠΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΑΝΑ ΕΞΑΜΗΝΟ Α Εξάµηνο Τίτλος Μαθήµατος Θ Φ Α.Π Ε Φ.Ε Π.Μ Προαπαιτούµενα Κ10 ΜΑΘΗΜΑΤΙΚΗ ΑΝΑΛΥΣΗ

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

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός

ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός 2 ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός 3 ΟΔΗΓΟΣ στη ΧΡΗΣΗ του ΥΠΟΛΟΓΙΣΤΗ 4 ΤΟΜΟΣ Α : Συμβολικός Προγραμματισμός 5 ΓΕΩΡΓΙΟΣ ΘΕΟΔΩΡΟΥ Καθηγητής Α.Π.Θ. ΧΡΙΣΤΙΝΑ ΘΕΟΔΩΡΟΥ Μαθηματικός ΟΔΗΓΟΣ στη ΧΡΗΣΗ του ΥΠΟΛΟΓΙΣΤΗ

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

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

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

Τοποθετήστε τη δισκέτα στο drive B και σε περιβάλλον MS-DOS πληκτρολογήστε: B:

Τοποθετήστε τη δισκέτα στο drive B και σε περιβάλλον MS-DOS πληκτρολογήστε: B: Συστήματα floppy disk Τοποθετήστε τη δισκέτα στο drive B και σε περιβάλλον MS-DOS πληκτρολογήστε: B: Συστήματα σκληρού δίσκου Οι χρήστες σκληρού δίσκου θα πρέπει να δημιουργήσουν ένα directory με το όνομα

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

Διδακτική της Πληροφορικής ΙΙ

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

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

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ

Η δυαδική σχέση M ( «παράγει σε ένα βήμα» ) ορίζεται ως εξής: (q, w) M (q, w ), αν και μόνο αν w = σw, για κάποιο σ Σ Πεπερασμένα Αυτόματα (ΠΑ) Τα πεπερασμένα αυτόματα είναι οι απλούστερες «υπολογιστικές μηχανές». Δεν έχουν μνήμη, μόνο μία εσωτερική μονάδα με πεπερασμένο αριθμό καταστάσεων. Διαβάζουν τη συμβολοσειρά εισόδου

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

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

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

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

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

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

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

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

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

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

ΜΑΘΗΜΑΤΙΚΑ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ

ΜΑΘΗΜΑΤΙΚΑ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ ΑΘΑΝΑΣΙΟΣ Χ. ΑΛΕΞΑΝΔΡΑΚΗΣ ΑΝ. ΚΑΘΗΓΗΤΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΜΑΚΕΔΟΝΙΑΣ ΜΑΘΗΜΑΤΙΚΑ ΟΙΚΟΝΟΜΙΚΗΣ ΑΝΑΛΥΣΗΣ Β ΤΟΜΟΣ Κάθε γνήσιο αντίτυπο φέρει την υπογραφή του συγγραφέα και τη σφραγίδα του εκδότη ISBN SET: 960-56-026-9

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

K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα

K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Λογικές πύλες Περιεχόμενα 1 Λογικές πύλες

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

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση) TETY Εφαρμοσμένα Μαθηματικά Ενότητα ΙΙ: Γραμμική Άλγεβρα Ύλη: Διανυσματικοί χώροι και διανύσματα, μετασχηματισμοί διανυσμάτων, τελεστές και πίνακες, ιδιοδιανύσματα και ιδιοτιμές πινάκων, επίλυση γραμμικών

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

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων

ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων ΚΕΦΑΛΑΙΟ 2: Χειρισµός εδοµένων 2.1 Αρχιτεκτονική Υπολογιστών 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράµµατος 2.4 Αριθµητικές και λογικές εντολές 2.5 Επικοινωνία µε άλλες συσκευές

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

Συστήματα Αυτόματου Ελέγχου

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

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

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

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

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

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

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

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

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams)

Σημειογραφία των προτύπων BPMN και UML (Activity Diagrams) ΚΟΙΝΩΝΙΑ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Α.Ε. «Ελληνικό Πλαίσιο Παροχής Υπηρεσιών» Πρόσθετο Υλικό (White Paper) Σημειογραφία των προτύπων BPMN και UML (Activity Φεβρουάριος 2008 PLANET ΑΝΩΝΥΜΗ ΕΤΑΙΡΕΙΑ ΠΑΡΟΧΗΣ ΣΥΜΒΟΥΛΕΥΤΙΚΩΝ

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

Πράξεις με δυαδικούς αριθμούς

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην πληροφορική Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εισαγωγή στην πληροφορική Ενότητα 6: Εισαγωγή στις βάσεις δεδομένων (Μέρος Α) Αγγελίδης Παντελής Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

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

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

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

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

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

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

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

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

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

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

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

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

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

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

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

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

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

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

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

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

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

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

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

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

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

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

Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΦΩΝΗΣΕΙΣ ÏÅÖÅ 1 Γ' ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο ΕΚΦΩΝΗΣΕΙΣ Α. Να γράψετε στην κόλλα σας τον αριθµό καθεµιάς από τις παρακάτω προτάσεις 1 5 και δίπλα τη λέξη

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

NETCOM S.A. ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΠΑΛΜΟΜΕΤΑΤΡΟΠΕΩΝ DIGITAL CONTROL OF SWITCHING POWER CONVERTERS

NETCOM S.A. ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΠΑΛΜΟΜΕΤΑΤΡΟΠΕΩΝ DIGITAL CONTROL OF SWITCHING POWER CONVERTERS NETCOM S.A. ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΠΑΛΜΟΜΕΤΑΤΡΟΠΕΩΝ DIGITAL CONTROL OF SWITCHING POWER CONVERTERS Αρχή λειτουργίας των Αναλογικών και ψηφιακών Παλμομετατροπεων Ο παλμός οδήγησης ενός παλμομετατροπέα, με αναλογική

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ 1ΗΣ ΣΕΛΙΔΑΣ ΘΕΜΑ Α ΑΝΑΚΕΦΑΛΑΙΩΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ Γ' ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΠΕΜΠΤΗ 26 ΑΠΡΙΛΙΟΥ 2012 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ

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

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

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

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

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

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

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

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

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

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

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

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

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

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

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

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

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

Περιγραφή Προβλημάτων

Περιγραφή Προβλημάτων Τεχνητή Νοημοσύνη 02 Περιγραφή Προβλημάτων Φώτης Κόκκορας Τμ.Τεχν/γίας Πληροφορικής & Τηλ/νιών - ΤΕΙ Λάρισας Παραδείγματα Προβλημάτων κύβοι (blocks) Τρεις κύβοι βρίσκονται σε τυχαία διάταξη πάνω στο τραπέζι

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

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ

ΘΕΜΑ 1ο. Μονάδες 10. Β. ίνεται το παρακάτω τμήμα αλγορίθμου: Όσο Ι < 10 επανάλαβε Εμφάνισε Ι Ι Ι + 3 Τέλος_επανάληψης ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΘΕΜΑ 1ο ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΠΟΛΥΤΗΡΙΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 4 ΙΟΥΛΙΟΥ 2007 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ

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

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

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

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

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

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

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

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

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

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

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

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

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

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

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

ΘΕΜΑ 1. 1. Συμβολική γλώσσα 2. Γλώσσες υψηλού επιπέδου 3. Γλώσσες τέταρτής γενιάς 4. Γλώσσα μηχανής

ΘΕΜΑ 1. 1. Συμβολική γλώσσα 2. Γλώσσες υψηλού επιπέδου 3. Γλώσσες τέταρτής γενιάς 4. Γλώσσα μηχανής ΘΕΜΑ 1 Α1Να γράψετε στο τετράδιο σας τον αριθμό καθεμίας από τις παρακάτω προτάσεις και δίπλα τη λέξη Σώστο,αν είναι σωστή και τη λέξη Λάθος, αν είναι λανθασμένη. 1.ο αλγόριθμος του πολλαπλασιασμού αλά

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή Ποιος είμαι εγώ! Ναύπλιο, 4/1976-9/1993 Williamsburg, VA, USA, 7/2004-7/2006 2 Πάτρα, 9/1993-6/2004 Μυτιλήνη, 10/2006-2/2007 Βόλος, 2/2007 - Ο Υπεύθυνος των

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

ΤΕΙ Χαλκίδας Σχολή Διοίκησης και Οικονομίας Τμήμα Διοίκησης Επιχειρήσεων

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

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

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης Περιεχόμενα Δομές δεδομένων 37. Δομές δεδομένων (θεωρητικά στοιχεία)...11 38. Εισαγωγή στους μονοδιάστατους πίνακες...16 39. Βασικές επεξεργασίες στους μονοδιάστατους πίνακες...25 40. Ασκήσεις στους μονοδιάστατους

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

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας.

ΠΡΟΛΟΓΟΣ. Θεσσαλονίκη, Μάρτιος 2009. Οι συγγραφείς. Κ. Παπαρρίζος, Ν. Σαμαράς, Α. Σιφαλέρας. ΠΡΟΛΟΓΟΣ Το βιβλίο «Δικτυακή Βελτιστοποίηση» γράφτηκε με κύριο στόχο να καλύψει τις ανάγκες της διδασκαλίας του μαθήματος «Δικτυακός Προγραμματισμός», που διδάσκεται στο Τμήμα Εφαρμοσμένης Πληροφορικής,

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

ΤΕΥΧΟΣ VΙ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΕΚΜΕΤΑΛΛΕΥΣΗ

ΤΕΥΧΟΣ VΙ: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, ΔΙΑΧΕΙΡΙΣΗ ΚΑΙ ΕΚΜΕΤΑΛΛΕΥΣΗ ΜΕΤΟΧΙΚΟ ΤΑΜΕΙΟ ΠΟΛΙΤΙΚΩΝ ΥΠΑΛΛΗΛΩΝ «ΣΥΜΒΑΣΗ ΠΑΡΑΧΩΡΗΣΗΣ ΔΙΑΧΕΙΡΙΣΗΣ (MANAGEMENT) ΓΙΑ ΟΡΙΣΜΕΝΟ ΧΡΟΝΟ ΤΟΥ ΔΙΑΤΗΡΗΤΕΟΥ ΚΤΙΡΙΟΥ ΙΔΙΟΚΤΗΣΙΑΣ Μ.Τ.Π.Υ. ΣΤΟΝ ΔΗΜΟ ΑΘΗΝΑΙΩΝ ΕΠΙ ΤΗΣ ΟΔΟΥ ΛΥΚΟΥΡΓΟΥ 10» ΤΕΥΧΟΣ VΙ:

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

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33

ΚΕΦΑΛΑΙΟ 2: Τύποι δεδομένων και εμφάνιση στοιχείων...33 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα... 13 Πρόλογος του καθηγητή Τιμολέοντα Σελλή... 15 ΚΕΦΑΛΑΙΟ 1: Εργαλεία γλωσσών προγραμματισμού...17 1.1 Γλώσσες προγραμματισμού τρίτης γεννεάς... 18 τι είναι η γλώσσα

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

Orchid: Integrating Schema Mapping and ETL ICDE 2008

Orchid: Integrating Schema Mapping and ETL ICDE 2008 Orchid: Integrating Schema Mapping and ETL ICDE 2008 Δομουχτσίδης Παναγιώτης Γενικά Data warehouse (DW): Είναι μία αποθήκη πληροφοριών οργανωμένη από ένα ενοποιημένο μοντέλο. Τα δεδομένα συλλέγονται από

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

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

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

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

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

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

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