Ενδεικτικές απαντήσεις στα "Θέµατα για περαιτέρω ενασχόληση - Ασκήσεις"

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

Download "Ενδεικτικές απαντήσεις στα "Θέµατα για περαιτέρω ενασχόληση - Ασκήσεις""

Transcript

1 Ενδεικτικές απαντήσεις στα "Θέµατα για περαιτέρω ενασχόληση - Ασκήσεις" 1. ΓΝΩΡΙΜΙΑ ΜΕ ΤΗΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Θέµα 1.1 Οµοιότητες 1. Τόσο οι εφαρµογές λογισµικού όσο και τα έργα οδοποιίας πρέπει να κατασκευάζονται µε συγκεκριµένο περιοριστικό χρονοδιάγραµµα και προϋπολογισµό. 2. Η κατασκευή αµφοτέρων πρέπει να γίνει σε διακριτές φάσεις οι οποίες σχετίζονται µεταξύ τους. 3. εν είναι δυνατή η κατασκευή ούτε του λογισµικού, ούτε των έργων οδοποιίας, χωρίς την χρήση ενός λεπτοµερούς σχεδίου. 4. Η διάταξη και η αλληλοσύνδεση των επιµέρους στοιχείων τόσο του λογισµικού, όσο και των συστατικών ενός έργου οδοποιίας (υπόβαθρο, άσφαλτος, συστήµατα ενηµέρωσης οδικής κυκλοφορίας) επηρεάζουν τη συνολική συµπεριφορά του και την εικόνα που αυτό εµφανίζει στους χρήστες του. 5. Οι απαιτήσεις από αµφότερα τα κατασκευάσµατα τίθενται από τους χρήστες αυτών. Στην περίπτωση του λογισµικού µιλάµε για τον πελάτη ο οποίος παραγγέλλει το λογισµικό, ενώ στα έργα οδοποιίας χρήστες είναι το κοινωνικό σύνολο τις απαιτήσεις του οποίου περιγράφουν οι εκπρόσωποι αυτού. ιαφορές 1. Αρκετά από τα ποιοτικά χαρακτηριστικά ενός έργου οδοποιίας είναι ορατά µε γυµνό µάτι, πράγµα που δεν ισχύει για το Λογισµικό. 2. Η ευστάθεια και η διάρκεια στο χρόνο ενός έργου οδοποιίας απειλείται περισσότερο από φυσικά φαινόµενα και σχεδόν καθόλου από τη φυσιολογική χρήση, πράγµα που δεν ισχύει για το Λογισµικό. 3. Η πιθανότητα κατά την κατασκευή ενός έργου οδοποιίας να αλλάξουν οι απαιτήσεις του πελάτη ώστε αυτή να πρέπει να ξεκινήσει από µηδενικήβάσηείναιπολύµικρότερη από την αντίστοιχη πιθανότητα για την κατασκευή µιας εφαρµογής Λογισµικού. 4. Τα σχέδια των έργων οδοποιίας είναι σαφή και ακολουθούν ένα καθολικά αποδεκτό πρότυπο, πράγµα που δεν ισχύει για τα σχέδια του λογισµικού. Ο αναγνώστης προτρέπεται να αναγνωρίσει και άλλες διαφορές εστιάζοντας την προσοχή του κυρίως στη µη απτή φύση του λογισµικού, αλλά και στην συχνά παρατηρούµενη ραγδαία µεταβολή των

2 αρχικών απαιτήσεων του πελάτη πριν ακόµη ολοκληρωθεί η κατασκευή του λογισµικού που τις ικανοποιεί. Θέµα 1.2 Αιτία Παράδειγµα ιόρθωση σφαλµάτων Βελτιστοποίηση της απόδοσης Αυτοµατοποίηση νέων εργασιών Ενσωµάτωση µεταβολών από τον πραγµατικό κόσµο Το πρόγραµµα αρνείται να λειτουργήσει κάτω από συγκεκριµένες συνθήκες και παράγει ένα λάθος κατά την εκτέλεση. Το πρόγραµµα παράγει τα επιθυµητά αποτελέσµατα σε χρόνο που µπορεί να βελτιωθεί (για τον ίδιο υπολογιστή). ιαπιστώνεται ότι υπάρχει µια εργασία η οποία θα ήταν χρήσιµο να προστεθεί σε αυτές που εκτελεί το πρόγραµµα. Αλλάζει το νοµικό πλαίσιο της τήρησης «βιβλίων και στοιχείων» καιοιαλλαγέςαυτέςπρέπειναενσωµατωθούν στο Λογισµικό Σηµείωση: Για ευνόητους λόγους δε γίνονται αναφορές σε συγκεκριµένες εφαρµογές Λογισµικού. Ωστόσο η διαπίστωση ότι "το καλό µπορεί πάντα να γίνει καλύτερο" µπορεί να µας οδηγήσει στην εύρεση και άλλων τέτοιων παραδειγµάτων, ιδιαίτερα σε έναν κόσµο όπωςοδικόςµας, στον οποίο όλα αλλάζουν µε γοργούς ρυθµούς. Θέµα 1.3 Πωλητής αναψυκτικών Αυτόµατο ανταλλακτήριο συναλλάγµατος Αυτόµατος κλιµατισµός χώρου Σύστηµα χρονισµού και ελέγχου κινητήρα αυτοκινήτου Σύστηµα ελέγχου ανελκυστήρα Συσκευή video, audio CD, κλπ ψηφιακά ηχητικά µηχανήµατα Κινητό τηλέφωνο Μπορείτε να ανακαλύψετε πολλά ακόµη τέτοια παραδείγµατα. Σκεφτείτε ότι οποιοσδήποτε µικρός ή µεγάλος αυτοµατισµός στις σύγχρονες συσκευές υλοποιείται µε τη βοήθεια λογισµικού. Αυτό ισχύει και στις πλέον απίθανες περιπτώσεις (π.χ. ηλεκτρική κουζίνα, ή ηλεκτρικό κάθισµα πολυτελούς αυτοκινήτου µε µνήµες). 2

3 Θέµα 1.4 Συστήµατος Sun Solaris Microsoft Windows 98 SGI Irix Microsoft Windows 2000 Linux Εφαρµογών Oracle SAP/R3 Corel Draw Autocad Microsoft Word Netscape Communicator Adobe Pagemaker Σε επίπεδο λειτουργικών συστηµάτων, θα βρείτε αρκετά ακόµη αν ανατρέξετε σε µια µηχανή αναζήτησης του Internet (π.χ. ζητώντας πληροφορίες για "computer operating systems". Σε επίπεδο λογισµικού εφαρµογών, µπορείτε, όπως είπαµε, να κάνετε µια βόλτα σε κάποιο κατάστηµα προϊόντων υψηλής τεχνολογίας και να δείτε εκατοντάδες ακόµη τίτλους. Θέµα 1.5 Συστατικά Λογισµικού είναι τα 1, 3, 6, 8. Από τα υπόλοιπα παρατηρήσεις έχει νόηµα να αναφερθούν για τα 4, 5 και 7: το (4) είναι εργαλείο ανάπτυξης, το (5) είναι παράγωγο του εργαλείου, το (7) δεν είναι το ίδιο (αν και µπορεί να πυροδοτήσει την διαδικασία δηµιουργίας συστατικών λογισµικού). εν είναι εύκολη η διάκριση των συστατικών λογισµικού από την αρχή. Ακόµα και πεπειραµένοι µηχανικοί λογισµικού συχνά υποτιµούν κάτι και δεν το κατατάσσουν στα συστατικά λογισµικού. Οσο προχωράτε στην µελέτη της ύλης του βιβλίου αυτού, θασαςείναιπερισσότεροπροφανήςηαντίληψη των συστατικών λογισµικού, τα οποία απλά θα αποκαλύπτονται µπροστά σας αβίαστα. 3

4

5 2. ΜΟΝΤΕΛΑ ΚΥΚΛΟΥ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ Θέµα 2.1 Ενα µοντέλο κύκλου ζωής µπορεί να υλοποιείται στην πράξη από περισσότερες από µία διαδικασίες ανάπτυξης. Μια διαδικασία ανάπτυξης αφορά ακριβώς ένα µοντέλο κύκλου ζωής (συνήθως). Μια µεθοδολογία µπορεί να υποστηρίζεται από περισσότερα του ενός εργαλεία. Ενα εργαλείο µπορεί να υποστηρίζει περισσότερες της µίας µεθοδολογίες. Αν οι δικές σας απόψεις αποκλίνουν από τις παραπάνω διατυπώσεις, τότε απλά εµφανίζεται ένα φυσιολογικό για την πρώτη γνωριµία µε το λογισµικό φαινόµενο. Μπορείτε να ξαναδιαβάσετε την ενότητα 2.1 και ιδιαίτερα να µελετήσετε το σχήµα 2.2. Οπως και να 'χει, η ενασχόληση µε πραγµατικές ασκήσεις ανάπτυξης λογισµικού θα σας βοηθήσει να αποσαφηνήσετε στην πράξη όλες αυτές τις έννοιες και τις σχέσεις µεταξύ τους. Θέµα εν είναι δυνατόν να υπάρχει µια πρώτη εικόνα του συστήµατος λογισµικού που κατασκευάζεται, παρά µόνο σε προχωρηµένη φάση της ανάπτυξης. 2. Οσο µεγαλώνει η έκταση της εφαρµογής λογισµικού που κατασκευάζεται, τόσο δυσκολότερη γίνεται η µετάβαση από τη µια φάση στην επόµενη και η αποφυγή σφαλµάτων που δεν είναι δυνατό να εντοπιστούν παρά σε πολύ προχωρηµένες φάσεις της ανάπτυξης. 3. Οσοαργότεραστηνανάπτυξηεντοπίζεταιένασφάλµα, τόσο µεγαλύτερες είναι οι επιπτώσεις που η διόρθωσή του µπορείναέχεισεόρουςκόστουςοπισθοδροµήσεων και επανάληψης τουλάχιστον µέρους της διαδικασίας, παρενεργειών και γέννησης και νέων σφαλµάτων, καθυστερήσεων, κλπ. Οι παραπάνω διατυπώσεις (ιδιαίτερα οι 2 και 3) µπορούν να ακούγονται περισσότερο διασκεδαστικές -εξίσου εύστοχες- αν θυµηθούµε τον παραλληλισµό µε τον ογκόλιθο της παραγράφου 2.1: "Οσο µεγαλύτερος ο ογκόλιθος, τόσο δυσκολότερη η µεταφορά του" και "όσο αργότερα διαπιστώνεται ότι ακολουθούµε λάθος πορεία τόσο περισσότερο δρόµο προς τα πίσω έχουµε να διανύσουµε µεταφέροντας µεγάλος βάρος, προκειµένου να ξαναβρούµε το σωστό δρόµο" Θέµα 2.3 Από τα όσα αναφέρονται στο κεφάλαιο 1, σε περίπτωση που για οποιονδήποτε λόγο µεταβληθούν οι λειτουργικές απαιτήσεις από µια εφαρµογή λογισµικού κατά τη διάρκεια της ανάπτυξης αυτής

6 σύµφωνα µε το µοντέλο της λειτουργικής επαύξησης, µπορεί να καταστεί ακατάλληλη η κατάτµηση της εφαρµογής που έχει γίνει και να πρέπει να επαναληφθεί µεγάλο µέρος της ανάπτυξης. Σχετικά µπορείτε να ανατρέξετε και στις ενότητες 1.4 και 1.5. Το λεπτό σηµείο εδώ είναι η διατύπωση "ακατάλληλη η κατάτµηση της εφαρµογής". Αν δεν το εντοπίσατε αµέσως, αυτό είναι απολύτως φυσιολογικό, ιδιαίτερα για τους έχοντες µικρή πρακτική εµπειρία. Η Τεχνολογία Λογισµικού στοχεύει στην ελαχιστοποίηση της πιθανότητας να συµβεί κάτι τέτοιο. Θέµα 2.4 Το κόστος για την εκτέλεση των ενεργειών προγραµµατισµού εργασιών, εκτίµησης του ρίσκου κλπ, κάθε άλλο παρά αµελητέο µπορεί να χαρακτηριστεί. Είναι αντιληπτό ότι το κόστος αυτό έχει µια ελάχιστη τιµή πέραν της οποίας δεν µπορεί να µειωθεί, όσο και να µειώνεται το µέγεθος της εφαρµογής λογισµικού που αναπτύσσεται. Στις περιπτώσεις µικρών εφαρµογών λογισµικού, το κόστος αυτό είναι δυσανάλογο σχετικά µε το καθαρό κόστος των ενεργειών ανάπτυξης, ως εκ τούτου µπορεί η χρήση του σπειροειδούς µοντέλου να µην αποτελεί την καλύτερη από οικονοµικής άποψης επιλογή. Επιπροσθέτως, τα µειονεκτήµατα άλλων µοντέλων κύκλου ζωής ελαχιστοποιούνται για µικρές εφαρµογές λογισµικού, οπότε µπορεί να εξεταστεί η χρήση ενός άλλου µοντέλου κύκλου ζωής. Θέµα 2.5 Σκεφτείτε ότι κάθε "κύκλος ανάπτυξης" µπορεί να εννοηθεί σαν επανάληψη, σαν βήµα επαύξησης, ή σαν παράλληλη εκτέλεση τµήµατος του έργου. Επίσης σκεφτείτε ότι το "πλάνο εργασιών" µπορεί να συµπεριλαµβάνει την εκτίµηση του ρίσκου συνέχισης της ανάπτυξης. 6

7 3. ΠΡΟ ΙΑΓΡΑΦΗ ΑΠΑΙΤΗΣΕΩΝ Θέµα 3.1 Λειτουργικές απαιτήσεις: Κ2-Κ14. Μη λειτουργικές απαιτήσεις: Κ1. Οφείλουµε να σας συγχαρούµε αν βρήκατε την απάντηση µε τηνπρώτη! Αν η πρώτη σας άποψη είναι διαφορετική, µπορείτε να ανατρέξετε και πάλι στην ενότητα και να ξαναπροσπαθήσετε. Θέµα 3.2 Λειτουργικές απαιτήσεις: 1.εκτέλεση της πράξης "πρόσθεση". 2. εκτέλεση της πράξης "αφαίρεση". 3. εκτέλεση της πράξης "πολλαπλασιασµός" 4. εκτέλεση της πράξης "διαίρεση". 5. εκτέλεση υπολογισµού ποσοστού επί τοις εκατό. 6.Μηδενισµός καταχωρητή. Μη λειτουργικές απαιτήσεις: 1.Η µορφή του να θυµίζει τη γνώριµη µορφή του υπολογιστή τσέπης. 2. Να χειρίζεται πραγµατικούς αριθµούς 10 ψηφίων. 3. Να δέχεται εντολές από το ποντίκι και από το πληκτρολόγιο. 4.Να µπορεί να ενεργοποιείται µε ένα συνδυασµό πλήκτρων µέσα από οποιοδήποτε πρόγραµµα. Οπως φαίνεται, οι λειτουργικές απαιτήσεις περιγράφουν κάτι που θέλουµε νακάνει το λογισµικό, ενώ οι µη λειτουργικές, περιγράφουν κάποια χαρακτηριστικά που θέλουµε να έχει. Μπορείτε να ορίσετε πολύ περισσότερες απαιτήσεις ρίχνοντας µια προσεκτική µατιά σε ένα οποιοδήποτε πρόγραµµα τύπου calculator, όπως αυτό των Windows 98. Για παράδειγµα µπορείτε να διαπιστώσετε τη δυνατότητα εµφάνισης ως απλού ή επιστηµονικού υπολογιστή τσέπης και το πλήθος των πράξεων που διατίθενται στη δεύτερη περίπτωση. Θέµα 3.3 Απαιτήσεις από το σύστηµα: 1. Λήψη και αποστολή µέτρησης θερµοκρασίας. 2. Λήψη και αποστολή µέτρησης υγρασίας. 3. Λήψη και αποστολή µέτρησης πίεσης. Απαιτήσεις από το λογισµικό: 1. Αποθήκευση µετρήσεων θερµοκρασίας. 2. Αποθήκευση µετρήσεων πίεσης. 3. Αποθήκευση µετρήσεων υγρασίας Επεξεργασία µετρήσεων (θερµοκρασίας - πίεσης - υγρασίας) και υπολογισµός µέσης τιµής, µέγιστης-ελάχιστης τιµής και τυπικής απόκλισης Κατανοµή στις συνιστώσες του συστήµατος:

8 Μηχανές: Λήψη, αποστολή και αποθήκευση µετρήσεων. Λογισµικό: επεξεργασία µετρήσεων. Ανθρωποι: επίβλεψη λειτουργίας και αξιολόγηση µετρήσεων Μπορείτε να εµπλουτίσετε την περιγραφή, αν ως συνιστώσα του συστήµατος θεωρήσετε και το τηλεπικοινωνιακό δίκτυο, το οποίο µπορεί να είναι ενσύρµατο ή ασύρµατο, να ανταποκρίνεται µε συγκεκριµένες απαιτήσεις επιδόσεων, κ.ά. Οδιαχωρισµός των απαιτήσεων από το σύστηµα καιτο λογισµικό δεν είναι πάντα εύκολη υπόθεση. Συχνά µπορεί κανείς να επιχειρηµατολογήσει για τον χαρακτηρισµό µιας απαίτησης και στις δύο κατηγορίες. Αν αυτό σας δηµιουργεί σύγχυση, µπορείτε να ξαναδιαβάσετε την ενότητα 3.1. Ενας άλλος πρακτικός τρόπος αντιµετώπισης είναι ο εξής: χαρακτηρίστε προσωρινά την υπό αµφισβήτηση απαίτηση ως απαίτηση από το λογισµικό και αφήστε σε εκκρεµότητα τον οριστικό χαρακτηρισµό της. Σε επόµενο βήµα της ανάπτυξης και ιδιαίτερα στην δηµιουργία του διαγράµµατος ροής δεδοµένων θα πρέπει να είστε σε θέση να διαπιστώσετε αν πράξατε ορθά: αν βρείτε µετασχηµατισµό που να αντιστοιχεί στην υπό αµφισβήτηση απαίτηση, τότε πράγµατι πρόκειται για απαίτηση από το λογισµικό. ιαφορετικά, πρόκειται για απαίτηση από το σύστηµα. Θέµα Μη λειτουργική, φυσική - 2. Λειτουργική - 3. Μη λειτουργική, φυσική - 4. Μη λειτουργική, σχεδίασης - 5. Λειτουργική - 6. Μη λειτουργική, χρήσης - 7.Μη λειτουργική, υλοποίησης - 8. Μη λειτουργική, επικοινωνίας µε άλλα συστήµατα - 9. Μη λειτουργική, αξιοπιστίας Λειτουργική. Ο χαρακτηρισµός των απαιτήσεων και ιδιαίτερα η ταξινόµηση των µη λειτουργικών απαιτήσεων µπορεί να είναι µια ιδιαίτερα δύσκολη εργασία, ιδίως όταν η διατύπωση επιδέχεται περισσότερες της µίας ερµηνείες. Προσπαθήστε να επιβεβαιώσετε τις απαντήσεις που δίνονται εδώ ανατρέχοντας στην ύλη της ενότητας και στο σχήµα 3.2. Μπράβο σε όσους και όσες χαρακτήρισαν σωστά τις απαιτήσεις! Θέµα 3.5 Κατά την ανάλυση απαιτήσεων κατασκευάζονται τρία διαγράµµατα, ενώ η διάκριση και προδιαγραφή κάθε συγκεκριµένης απαίτησης γίνεται από τον κατασκευαστή µε σκοπό τη συγγραφή του σχετικού εγγράφου. Πρόκειται, δηλαδή για διαφορετικές εργασίες η πρώτη από τις οποίες δίνει µια γενική περιγραφή της εφαρµογής µε τη βοήθεια διαγραµµάτων, ενώ η δεύτερη µπαίνει σε µεγαλύτερο βάθος και αναλύει κάθε συγκεκριµένη απαίτηση διεξοδικότερα. Είναι φυσιολογικό να µην µπορεί κανείς να εντοπίσει τη διάκριση αυτή µε την πρώτη φορά. Συχνά, εξάλλου, στην πράξη οι εργασίες αυτές είναι συµπληρωµατικές και συµβαίνουν παράλληλα. Μπορείτε να ανατρέξετε στα γραφόµενα στην ενότητα 3.2 και ιδιαίτερα στο σχήµα

9 Θέµα 3.6 Η ανάλυση απαιτήσεων γίνεται σε στενή επαφή µε τον πελάτη και στοχεύει στην κατανόηση του προβλήµατος από τον κατασκευαστή. Αποτέλεσµα αυτής της εργασίας είναι µια λίστα απαιτήσεων και τρία διαγράµµατα, τα οποία είναι κατανοητά από τον πελάτη και χρήσιµα στονκατασκευαστήγιατη συνέχιση της εργασίας του. Η διάκριση και προδιαγραφή κάθε συγκεκριµένης απαίτησης γίνεται από τον µηχανικό λογισµικού και περιγράφει µε σηµαντικά µεγαλύτερη λεπτοµέρεια και αυστηρή δοµή κάθε απαίτηση από το λογισµικό, µε αποτέλεσµα την σύνταξη του εγγράφου "προδιαγραφές των απαιτήσεων από το λογισµικό". Με απλά λόγια, σκεφτείτε το πρώτο σαν ένα σύνολο συνεντεύξεων και (κατά τη γνώµη µας) ιδιαίτερα δηµιουργικών συζητήσεων, ενώ το δεύτερο σαν το προϊόν µιας αναλυτικής επεξεργασίας των αποτελεσµάτων των συνεντεύξεων. Αν συλλάβατε την διαφορά, µπορείτε µε εµπιστοσύνη να επιχειρήσετε την σύνταξη ενός εγγράφου προδιαγραφών των απαιτήσεων από το λογισµικό. Αν όχι, µην ανησυχείτε! Η σύνταξη του εγγράφου προδιαγραφών των απαιτήσεων από το λογισµικό είναι η διαδικασία που επιδέχεται τις περισσότερες ερµηνείες στην ανάπτυξη του λογισµικού. ιαβάστε ξανά τις ενότητες 3.2 και 3.3 και συνεχίστε, επαληθεύοντας σε κάθε βήµα τα παραγόµενα προϊόντα σας. Θέµα 3.7 Μπορεί κανείς να εντοπίσει αρκετά αλληλοσυγκρουόµενα χαρακτηριστικά ενός τέτοιου εγγράφου, µιας και κοντολογίς θέλουµε να είναι σύντοµο, πλήρες και χρήσιµο. Αυτά τα τρία χαρακτηριστικά είναι αλληλοσυγκρουόµενα ανά δύο µεταξύ τους. ύο σχετικές διατυπώσεις είναι οι ακόλουθες: 1. Ενα έγγραφο που είναι αρκετά λεπτοµερές ώστε να είναι χρήσιµο στη συντήρηση του λογισµικού, δεν είναι πάντα εύκολο να αλλαχτεί, καθώς για την ενσωµάτωση αλλαγών απαιτείται "βαθύ σκάψιµο". 2. Ενα έγγραφο που περιγράφει τη συµπεριφορά του λογισµικού σε ανεπιθύµητες καταστάσεις µπορεί να χρειάζεται να αναφερθεί σε εσωτερικά χαρακτηριστικά του λογισµικού, πράγµα ανεπιθύµητο στη φάση αυτή. εν είναι απαραίτητο τα παραπάνω να είναι αντιληπτά από τον αναγνώστη µε την πρώτη- βέβαια αξίζει ένα µπράβο σε αυτόν που έδωσε ακόµη περισσότερες από τις απαντήσεις που παρατέθηκαν εδώ. Η εµπειρία στην σύνταξη τέτοιων εγγράφων, είναι που αποδίδει την ωριµότητα που χρειάζεται για να διατηρούνται οι πολύ λεπτές ισορροπίες µεταξύ των "επιθυµητών χαρακτηριστικών" του εγγράφου προδιαγραφών των απαιτήσεων από το λογισµικό. Τα πρότυπα είναι καλά, αλλά δεν είναι πάντα εύκολο να ακολουθηθούν. 9

10 Θέµα Λειτουργική απαίτηση Α6 Καταχώρηση βαθµολογίας. Η εφαρµογή εµφανίζει φόρµα µέσω της οποίας ο χρήστης ενηµερώνει δίνει στοιχεία σπουδαστή, µαθήµατος και βαθµολογίας, το αρχείο της οποίας ενηµερώνεται. Εισοδος: στοιχεία σπουδαστή, µαθήµατος, βαθµός. Επεξεργασία: έλεγχος αν έχει γίνει εγγραφή του σπουδαστή στο µάθηµα και αν ναι, τότε ετοιµασία και επαλήθευση της εγγραφής. Εξοδοι: ενηµερωµένο αρχείο βαθµολογίας ή µήνυµα λάθους Λειτουργική απαίτηση Α7 Εκτύπωση αρχείου σπουδαστών. Η εφαρµογή τυπώνει στον εκτυπωτή ολόκληρο το αρχείο σπουδαστών. Εισοδος: αρχείο σπουδαστών. Επεξεργασία: µορφοποίηση εκτύπωσης. Εξοδοι: εκτύπωση στον εκτυπωτή Λειτουργική απαίτηση Α8 Εκτύπωση βαθµολογίας σπουδαστή. Ηεφαρµογή εµφανίζει διάλογο ερώτησης των στοιχείων του σπουδαστή και ετοιµάζει την εκτύπωση της βαθµολογίας αυτού σε όλα τα µαθήµατα την οποία στέλνει στον εκτυπωτή. Εισοδος: στοιχεία σπουδαστή. Επεξεργασία: έλεγχος ύπαρξης σπουδαστή, έλεγχος ύπαρξης εγγραφών βαθµολογίας, ετοιµασία και µορφοποίηση της εκτύπωσης. Εξοδοι: ηεκτύπωση στον εκτυπωτή του συστήµατος ή µήνυµα λάθους. Ασφαλώς ο αναγνώστης µπορεί να έχει διαφορετική άποψη για τη συµπεριφορά του λογισµικού κατά την πραγµατοποίηση κάποιας λειτουργίας. Αυτό είναι φυσιολογικό και αποδεκτό. Με κανένα τρόπο οι απαντήσεις που προτείνονται εδώ δεν είναι οι µοναδικές ή οι καλύτερες. Σκοπός είναι η ανάδειξη του τρόπου και της σηµασίας της περιγραφής των απαιτήσεων και δευτερευόντως η "βέλτιστη λύση". Ο αναγνώστης ενθαρρύνεται να δώσει και δικές του λύσεις. Θέµα 3.9 Για κάθε µία από τις απαιτήσεις που παρατίθενται αρχικά στη λίστα, αναζητήστε ένα µετασχηµατισµό στα διαγράµµατα ροής δεδοµένων που να της αντιστοιχεί. Αν βρείτε, τότε εντοπίσατε το συσχετισµό. Αν όχι, τότε ενδεχοµένως να υπάρχουν δύο ή και περισσότερες απαιτήσεις της λίστας που αντιστοιχούν στον ίδιο µετασχηµατισµό. Στην πράξη είναι πολύ χρήσιµη η αντιστοίχηση αυτή. Μπορούν να εντοπιστούν είτε νέες απαιτήσεις (δηλαδή µετασχηµατισµοί που καταγράφηκαν στο διάγραµµα ροής δεδοµένων αλλά δεν περιέχονται ως απαιτήσεις αρχικά), είτε απαιτήσεις που πρέπει να καταργηθούν ή να επαναδιατυπωθούν (δηλαδή απαιτήσεις που δεν αντιστοιχούν σε κανέναν από τους µετασχηµατισµούς του διαγράµµατος ροής δεδοµένων). 10

11 Θέµα 3.10 Θεωρείστε τις ροές εισόδου σε κάθε µετασχηµατισµό στο επίπεδο µε τη µικρότερη λεπτοµέρεια και αντιστοιχίστε τις σε ροές στους αντίστοιχους µετασχηµατισµούς στο επίπεδο µε τη µεγαλύτερη λεπτοµέρεια. Θα διαπιστώσετε σηµασιολογική συνάφεια. Για παράδειγµα, η ροή"στοιχεία µαθητών κλπ" αντιστοιχεί στις ροές "στοιχεία µαθητή", "στοιχεία καθηγητή" και "στοιχεία µαθήµατος". Θέµα 3.11 Ενα προτεινόµενο διάγραµµα ροής δεδοµένων για τη ζητούµενη εργασία, είναι το ακόλουθο: Αρ.µητρώου σπουδαστή ιαγραφή σπουδαστή Αποτέλεσµα εργασίας ΧΡΗΣΤΗΣ ΧΡΗΣΤΗΣ Αρ.µητρώου σπουδαστή Υπαρξη εγγραφής Αρχείο σπουδαστών Ελεγχος δεδοµένων Υπαρξη εγγραφής Αρχείο εγγραφών Επίτρεψη διαγραφής Υπαρξη εγγραφής Αρχείο βαθµολογίας Στοιχεία προς διαγραφή Αρχείο σπουδαστών Ο µετασχηµατισµός "έλεγχος δεδοµένων" χρησιµοποιείται για να ελέγξει αν ο "αρ.µητρώου σπουδαστή" υπάρχει στις αποθήκες δεδοµένων. Στην περίπτωση αυτή, δίνει τιµή στο δεδοµένο "επίτρεψη διαγραφής" το οποίο µαζί µε τον "αρ.µητρώου σπουδαστή" τροφοδοτούνται στο µετασχηµατισµό " ιαγραφή σπουδαστή" ο οποίος και πραγµατοποιεί την εργασία και επιστρέφει το αποτέλεσµα στο χρήστη. Θέµα 3.12 Στα διαγράµµατα ροής δεδοµένων εµφανίζονται δύο αρχεία, το αρχείο εγγραφών και βαθµολογίας αντίστοιχα. Αυτά δεν εµφανίζονται στο διάγραµµα οντοτήτων-συσχετίσεων. Ο λόγος είναι ότι στην πραγµατικότητα τα δύο αυτά αρχεία παριστάνουν ιδιώµατα των δύο σχέσεων Μ:Ν που υπάρχουν µεταξύ των οντοτήτων "ΣΠΟΥ ΑΣΤΗΣ" και "ΜΑΘΗΜΑ" και πρόκειται να "αποκαλυφθούν" στη φάση της σχεδίασης. Το γεγονός αυτό δεν αποτελεί έλλειψη στη σχεδίαση των συγκεκριµένων διαγραµµάτων ροής δεδοµένων, αλλά πρόκειται για αδυναµία του διαγράµµατος ροής δεδοµένων να περιλάβει τέτοιες πληροφορίες, διότικάτιτέτοιοείναιεκτόςτωνστόχωντου. 11

12 Με την ευκαιρία, στο σηµείο αυτό τονίζεται η αναγκαία συµπληρωµατικότητα των µοντέλων παράστασης λογισµικού, η οποία αναφέρθηκε. Θέµα 3.13 Ευθέως: Κάθε φοιτητής εγγράφεται σε περισσότερα του ενός µαθήµατα Κάθε φοιτητής βαθµολογείται σε περισσότερα του ενός µαθήµατα Αντίστροφα: Σε κάθε µάθηµα εγγράφονται πολλοί φοιτητές. Σε κάθε µάθηµα λαµβάνουν βαθµολογία πολλοί φοιτητές Θέµα 3.14 Τα πράγµατα είναι πολύ εύκολα. Από την περιγραφή φαίνεται ότι µοναδικός λόγος εξόδου από την κατάσταση "σε τρέχουσα διδασκαλία" είναι το γεγονός "αρχειοθέτηση". Τα υπόλοιπα γεγονότα διατηρούν την κατάσταση "σε τρέχουσα διδασκαλία". Η απάντηση που θα δώσετε θα πρέπει να οµοιάζει αρκετά στο σχήµα Αν δεν τα καταφέρετε µε την πρώτη, µην απογοητεύεστε! Τα διαγράµµατα καταστάσεων είναι ίσως τα πιο δυσνόητα από τα µοντέλα παράστασης λογισµικού που περιγράψαµε. ιαβάστε πάλι την ενότητα και ξαναπροσπαθήστε. Θέµα 3.15 Οόρος"εγγραφή" χρησιµοποιείται σε δύο περιπτώσεις: Με την έννοια που έχει στις βάσεις δεδοµένων για να περιγράψει την καταγραφή µιας οντότητας σε έναν πίνακα. Με την έννοια της εγγραφής σε µάθηµα η οποία σχετίζεται καθαρά µε το πεδίο του προβλήµατος που εξετάζουµε. Το διφορούµενο δεν µπορεί παρά να επιλύεται από τα συµφραζόµενα, δηλαδή ανάλογα µε το νόηµα της έκφρασης στην οποία γίνεται η αναφορά στον όρο, γίνεται αντιληπτό και το νόηµα αυτού. Ενας άλλος τρόπος, είναι να καταφεύγουµε στη χρήση όρων από την αγγλική, πράγµα που πιστεύουµε ότι θα πρέπει να γίνεται µόνο όταν είναι απολύτως αναγκαίο. 12

13 Γενικά χρειάζεται µεγάλη προσοχή στη σωστή χρήση των όρων. Ισως φαίνεται κουραστικό, αλλά είναι συνετό να θεωρείται ότι "δεν εννοείται τίποτε απολύτως", όλα πρέπει να γράφονται µε τρόποώστενα επιδέχονται όσο το δυνατόν λιγότερες ερµηνείες. Αυτό δεν είναι καθόλου εύκολο, αποτελεί όµως ενδιαφέρουσα πρόκληση! Η Τεχνολογία Λογισµικού είναι από τους λίγους κλάδους της µηχανικής όπου ο επαρκής χειρισµός του λόγου είναι άκρως απαραίτητος. Θέµα 3.16 Οπως αντιλαµβάνεται ο αναγνώστης, πρόκειται για ιδιαίτερα επίκαιρο παράδειγµα καταλλήλως περιορισµένο στους εκπαιδευτικούς σκοπούς του. Ακολούθως δίνεται µια πρώτη προσέγγιση. Ο αναγνώστης ενθαρρύνεται να την συµπληρώσει και, γιατί όχι, να ολοκληρώσει την εφαρµογή που παρουσιάζεται εδώ. Λειτουργικές απαιτήσεις 1. Τήρηση αρχείου εισηγµένων εταιριών 2. Τήρηση αναλυτικού ηµερολογίου χρηµατιστηριακών πράξεων 3. Τήρηση αρχείου κλεισιµάτων 4. Υπολογισµός ηµερησίου µέγιστου, ελάχιστου, µέσης τιµής, τιµής κλεισίµατος, όγκου συναλλαγών 5. Υπολογισµός µέσου τζίρου περιόδου 6. Υπολογισµός µέγιστης και ελάχιστης τιµής περιόδου 7. Υπολογισµός µεταβολής τιµής περιόδου 13

14 ιάγραµµα ροής δεδοµένων ΧΡΗΣΤΗΣ Στοιχεία µετοχής Στοιχεία πράξης Ελεγχος δεδοµένων Μετοχή Ηµεροµηνία, ώρα Αγορά/ πώληση Τιµή Ετοιµασία εγγραφής Υπαρξη εγγραφής Αγοραστής πωλητής Νέα εγγραφή Αρχείο εισηγµ. εταιριών Αρχείο πράξεων Εγγραφές Εγγραφές Εγγραφές Υπολογισµός ηµερησίων τιµών Εγγραφές Αρχείο κλεισιµάτων Υπολογισµός µέσων τιµών κλπ Εγγραφές Αποτελέσµατα ΧΡΗΣΤΗΣ Παρατηρήσεις: Ο "υπολογισµός µέσων τιµών κλπ" µπορεί να αναλυθεί σε ένα ακόµη επίπεδο λεπτοµέρειας έτσι ώστε να εντοπιστούν οι τέσσερις µετασχηµατισµοί που αντιστοιχούν στις λειτουργικές απαιτήσεις 4-7. Το αρχείο πράξεων περιέχει ένα τεράστιο πλήθος εγγραφών, ενώ το αρχείο κλεισιµάτων µόνο µία εγγραφή την ηµέρα για κάθε εισηγµένη εταιρία. ιάγραµµα οντοτήτων-συσχετίσεων ΚΛΕΙΣΙΜΟ ΑΦΟΡΑ ΕΙΣΗΓΜΕΝΗ ΕΤΑΙΡΙΑ ΠΡΑΓΜΑΤΟΠΟΙΕΙ ΠΡΑΞΗ 14

15 4. ΣΧΕ ΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Θέµα 4.1 Η παραδοχή που θεωρείται ότι ισχύει είναι ότι κατά την έναρξη της σχεδίασης θεωρούνται γνωστές οι απαιτήσεις από το λογισµικό. Αυτό όµως ισχύει µόνο στιγµιαία, δηλαδή κατά την έναρξη της σχεδίασης. Συγχαρητήρια σε όσους έδωσαν αβίαστα την απάντηση. Στην πράξη, η εµπειρία µε την ανάπτυξη έργων λογισµικού δυστυχώς επιβεβαιώνει τη θέση αυτή, η οποία συνήθως γίνεται συνειδητή µετά την χρέωση του κόστους πραγµατοποίησης µεταβολών στο λογισµικό για απαιτήσεις που τέθηκαν εκ των υστέρων. Ο αναγνώστης παραπέµπεται και στη συζήτηση της παραγράφου 1.5, όπου αναφέρεται ότι οι απαιτήσεις από το λογισµικό µπορεί να µεταβάλλονται ακόµη και κατά τη διάρκεια ανάπτυξης του λογισµικού. Οι µεταβολές αυτές προκαλούν οπισθοδροµήσεις και ταλανισµούς στη σχεδίαση, οι οποίες στοιχίζουν τόσο περισσότερο, όσο σε πιο προχωρηµένο σηµείο της σχεδίασης συµβαίνουν. Αν τα παραπάνω απέχουν από τη δική σας άποψη, δηλαδή αν δώσατε άλλη απάντηση, θα σας πρότεινα να ξαναδιαβάσετε τις εισαγωγικές παραγράφους των κεφαλαίων 1, 2 και 3, καθώς και την ενότητα 4.1 και να ξαναπροσπαθήσετε. Θέµα 4.2 Στην δοµηµένη ανάλυση και σχεδίαση το λογισµικό περιγράφεται σαν µία ιεραρχία συστατικών, η οποία επιδρά σε κάποια ανεξάρτητα από αυτή δεδοµένα. Στην αντικειµενοστρεφή σχεδίαση, δεδοµένα και ενεργά συστατικά λογισµικού συνυπάρχουν σε οντότητες που ονοµάζονται αντικείµενα. Κάθε αντικείµενο περιέχει ένα υποσύνολο δεδοµένων και κάποια ενεργά συστατικά, των οποίων η απόδοση έχει γίνει µε κριτήριο το πεδίο ευθύνης του αντικειµένου. Η ουσιώδης διαφορά της δοµηµένης από την αντικειµενοστρεφή σχεδίαση, είναι η ανεξαρτησία των δεδοµένων από τα συστατικά λογισµικού, που χαρακτηρίζει την πρώτη, ενώ δεν ισχύει στη δεύτερη. Μπορείτε να αναπτύξετε πολύ περισσότερο τις θέσεις αυτές αν ανατρέξετε στη σχετική βιβλιογραφία. Είναι φυσιολογικό να µην συλλαµβάνετε την απάντηση αυτή µε την πρώτη προσπάθεια. Στη θεµατική ενότητα "Τεχνολογία Λογισµικού ΙΙ" θα βρείτε µια εκτενέστερη αναφορά και τεκµηρίωση της συζήτησης αυτής. Συγχαρητήρια, πάντως, σε όσους έδωσαν από τώρα µια απάντηση που προσεγγίζει αυτή που µόλις δώσαµε! Θέµα 4.3 Κατά την Αρχιτεκτονική σχεδίαση µπορούν να συµπληρωθούν οι ενότητες: 2.1 Αποσύνθεση σε µονάδες,

16 2.2 Αποσύνθεση σε ταυτόχρονες διεργασίες, 3.1 Εξαρτήσεις µεταξύ µονάδων και 3.2 Εξαρτήσεις µεταξύ διεργασιών Κατά τη Σχεδίαση διαπροσωπειών συµπληρώνεται η ενότητα 4 Κατά τη Λεπτοµερή σχεδίαση µονάδων συµπληρώνεται η ενότητα 5 και τέλος, Κατά τη Σχεδίαση δεδοµένων συµπληρώνονται οι ενότητες 2.3 Αποσύνθεση δεδοµένων, 3.3 Εξαρτήσεις µεταξύ δεδοµένων και 6 Λεπτοµερές σχέδιο δεδοµένων Η απάντηση απορρέει σα λογικό επακόλουθο όσων αναφέρονται στην ενότητα 4.3. Εξάλλου, το έγγραφο περιγραφής του σχεδίου του λογισµικού (σχήµα 4.6) δεν είναι παρά µια δοµηµένη διάταξη των αποτελεσµάτων των επιµέρους εργασιών της σχεδίασης. Η ενότητα 1 αποτελεί εισαγωγική περιγραφή του εγγράφου και συµπληρώνεται ανεξάρτητα. Χρήσιµο είναι, µετά την ολοκλήρωση της συγγραφής του εγγράφου, να επανερχόµαστε στην ενότητα 1 προκειµένου να εξετάσουµε αν απαιτείται συµπλήρωση λ.χ. ορισµών ή αναφορών. Οσοι δεν δώσατε την απάντηση αυτή, θα πρέπει να ανατρέξετε και πάλι στην ενότητα 4.3. Στους υπόλοιπους, αξίζει ένα µπράβο! Θέµα 4.4 Η σωστή απάντηση είναι η Β. Μια εφαρµογή λογισµικού διατεταγµένη σύµφωνα µε τοσχήµα πελάτηεξυπηρετητή συνήθως λειτουργεί σε περιβάλλον δικτύου στο οποίο πολλά συστήµατα τελικών χρηστών (πελάτες) µοιράζονται τις υπηρεσίες του εξυπηρετητή. Τα προβλήµατα που προκύπτουν από τις επιδόσεις του δικτύου (επιλογή Α) παραµένουν σε όλες τις διατάξεις που χρησιµοποιούν δίκτυο. Μάλιστα, µπορεί να ισχυριστεί κανείς ότι το ίδιο δίκτυο ανταποκρίνεται καλύτερα σε κάποιες περιπτώσεις στη διάταξη πελάτη-εξυπηρετητή διότι µέσω του δικτύου µεταφέρονται µη µορφοποιηµένα δεδοµένα, πράγµα που δεν συµβαίνει στη διάταξη του web client (στη γενική περίπτωση τα µορφοποιηµένα δεδοµένα καταλαµβάνουν περισσότερο όγκο). Οταν συµβαίνουν µεταβολές στο λογισµικό κατά τον κύκλο ζωής του, ηεφαρµογή λογισµικού που τρέχει στα συστήµατα πελάτη αλλάζει. Αυτό δηµιουργεί την απαίτηση συντήρησης των συστηµάτων αυτών για ενηµέρωσή τους µε την τελευταία έκδοση. Η συντήρηση αυτή απαιτεί τόσο περισσότερο κόπο και χρόνο, όσο µεγαλύτερος είναι ο αριθµός των πελατών και η γεωγραφική τους κατανοµή. Αυτός είναι και ο λόγος για τον οποίο το µειονέκτηµα αυτόείναικαιτοσηµαντικότερο. Στην περίπτωση του σχήµατος στο οποίο χρησιµοποιείται web client, η ανάγκη αυτή δεν υπάρχει. Στο σύστηµα του πελάτη δεν λειτουργεί κανένα τµήµα τηςεφαρµογής, παρά µόνο ένας web browser. Οληησυντήρηση γίνεται στα συστήµατα των εξυπηρετητών και όχι στα πολυάριθµα συστήµατα των πελατών, οπότε κοστίζει πολύ λιγότερο. Αρα, ορθώς διαλέξατε την επιλογή Β. Οσοι κάνατε την επιλογή Γ, µπορείτε να αναλογιστείτε το εξής: Η πραγµατοποίηση ενός υπολογισµού στοιχίζει σε υπολογιστικούς πόρους, στη γενική περίπτωση, περισσότερο από ότι η λειτουργία ενός web browser που απαιτείται στην πολυµερή διάταξη. Μπορεί, βέβαια, κανείς να δώσει παραδείγµατα υπολογισµών απλούστερων από πλευράς υπολογιστικών απαιτήσεων από ότι η εµφάνιση λ.χ. 16

17 κάποιων διαγραµµάτων. Στη γενική περίπτωση όµως, και για την ίδια εµφάνιση αποτελέσµατος, η αρχιτεκτονική πελάτη-εξυπηρετητή επιβαρύνεται και µε τον υπολογισµό του αποτελέσµατος. Θέµα 4.5 Τα ζητούµενα διαγράµµατα φαίνονται ακολούθως. Στο Σχήµα 4.1 φαίνεται η παραγοντοποίηση για τους µετασχηµατισµούς και 1.1.2, ενώ στο Σχήµα 4.2 φαίνεται το πλήρες διάγραµµα δοµής που προκύπτει µετά τη συνένωση. EXEC111 Ι Ι Λ Λ ΑΝΑΓΝΩΣΗ ΤΟΥ Ι ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Λ ΕΞΟ ΟΣ ΤΟΥ Λ EXEC112 Κ Κ Μ Μ ΑΝΑΓΝΩΣΗ ΤΟΥ Κ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Μ ΕΞΟ ΟΣ ΤΟΥ Μ Σχήµα 4.1. Ασκηση αυτοαξιολόγησης 4 Η παραγωγή των διαγραµµάτων είναι πολύ απλή και προκύπτει µε άµεση εφαρµογή όσων αναφέρονται στην ενότητα Κάθε µετασχηµατισµός έχει µόνο µία είσοδο και µία έξοδο, οπότε δεν έχουµε παρά απλή εφαρµογή του βήµατος 3 της ενότητας Αξια προσοχής είναι η διαδικασία της συνένωσης: η µονάδα "ανάγνωση του Λ" που φαίνεται στο Error! Reference source not found., δεν είναι παρά η Exec111, διότι προϊόν αυτής είναι το Λ. Οπότε κατά την συγχώνευση η Exec111 αντικαθιστά την "ανάγνωση του Λ", σύµφωνα µε τα αναφερόµενα στο βήµα 4 της ενότητας Ακριβώς το ίδιο συµβαίνει κατά την συγχώνευση της Exec112 (Σχήµα 4.2). εν θα πρέπει να απογοητεύεστε αν τα "κουτάκια" σας δηµιουργούν σύγχυση. Προσπαθήστε να αντιµετωπίσετε το θέµα ως την παράσταση λογικών πραγµάτων µε σχήµατα. Θα διαπιστώσετε ότι ακόµη και αν στην αρχή φαίνεται κουραστικό, τελικά είναι πολύ χρήσιµο. Μελετώντας ξανά το παράδειγµα 1 θα βοηθηθείτε αρκετά. Ασφαλώς, αξίζουν συγχαρητήρια σε όσους απάντησαν σωστά, αυτό όµως δεν σηµαίνει ότι η προσπάθεια σταµατά εδώ! 17

18 EXEC113 Λ Μ Λ,Μ Η, Η EXEC111 EXEC112 ΥΠΟ- ΛΟΓΙΣΜΟΣ, Η ΕΞΟ ΟΣ ΤΟΥ EXEC13 Ι Ι Λ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Λ Κ Κ Μ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Μ Θ Η,Θ Ε Ε ΑΝΑΓΝΩΣΗ ΤΟΥ Ι ΑΝΑΓΝΩΣΗ ΤΟΥ Κ EXEC121 ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Ε ΕΞΟ ΟΣ ΤΟΥ Ε Β Ν Ο Β,Ν,Ο Θ ΑΝΑΓΝΩΣΗ ΤΟΥ Β EXEC122 ΑΝΑΓΝΩΣΗ ΤΟΥ Ο ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Θ Γ Γ Ν ΑΝΑΓΝΩΣΗ ΤΟΥ Γ ΥΠΟ- ΛΟΓΙΣΜΟΣ ΤΟΥ Ν Σχήµα 4.2. Ασκηση αυτοαξιολόγησης 4 Θέµα 4.6 Θα πρέπει να εφαρµόσετε τα βήµατα της ενότητας για τους εν λόγω µετασχηµατισµούς. Τα πράγµατα εδώ είναι κάπως πιο δύσκολα, µιας και κάθε µετασχηµατισµός έχει περισσότερες από µία εισόδους και εξόδους, οπότε ο αναγνώστης πρέπει να προσέξει την εφαρµογή των βηµάτων της 4.5.2, συµβουλευόµενος το παράδειγµα 1 και τη µελέτη περίπτωσης στην ενότητα 4.5. Η συνένωση απαιτείται για τη µονάδα που αντιστοιχεί στον µετασχηµατισµό και γίνεται µε τον ίδιο ακριβώς τρόπο. οκιµάστε να δώσετε µόνοι σας τη λύση έχοντας κατανοήσει πλήρως τα παραδείγµατα και την µελέτη περίπτωσης της ενότητας 4.5. Κατόπιν, συγκρίνετε τη λύση που δώσατε µε αυτή που ακολουθεί. Αν τα αποτελέσµατά σας συµπίπτουν µε τα δικά µας, µπράβο! Αν αποκλίνετε, προσπαθήστε να επιβεβαιώσετε την εφαρµογή των βηµάτων και ξαναπροσπαθήστε. εν είναι απλή περίπτωση και δεν πρέπει να σας προβληµατίζει αν χρειαστεί να επαναλάβετε περισσότερες από µία φορές την προσπάθεια. Μια απλοποιηµένη εκδοχή του διαγράµµατος ροής δεδοµένων που περιέχει τους µετασχηµατισµούς και του σχήµατος 3.12, µαζί µε το διάγραµµα δοµής προγράµµατος που αντιστοιχεί σε αυτό, φαίνεται στο Σχήµα 4.3. Ο αναγνώστης παρακαλείται να συγχωρήσει την χρήση συντµήσεων 18

19 στην αγγλική, είναι όµως εύκολα αντιληπτό, ότι αυτή επιβάλλεται για πρακτικούς λόγους σχεδίασης των διαγραµµάτων. Flg5 ΧΡΗΣΤΗΣ Grd GRec ΧΡΗΣΤΗΣ ExD SbC StC Flg4 Αρχείο βαθµολογίας Flg1 Flg3 Αρχείο µαθηµάτων Flg2 Αρχείο εγγραφών Αρχείο µαθητών Exec 132 Flg4 Grd ExD Grd, ExD GRec Flg5 Flg5 Exec 131 Get (Grd) Get (ExD) Prepare (GRec) Put (GRec) Put (Flg5) StC, SbC StC, SbC Flg1 Flg2 Flg3 Flg4 Get (StC, SbC) Lookup (StC, SbC) Verify (Flg1, Flg2, Flg3) Σχήµα 4.3. Ασκηση αυτοαξιολόγησης 5 19

20 Θέµα 4.7 /* */ PROCEDURE Exec141 /* */ LOCAL VAR Print_Data, Formatted_Printout Αρχικοποίησε Print_Data, Formatted_Printout CALL Exec142(Print_Data) WHILE Print_Data <> κενό DO CALL Format(Print_Data, Formatted_Printout) CALL Put(Formatted_Printout) CALL Exec142(Print_Data) END_WHILE END_PROCEDURE Η διαδικασία λαµβάνει τα προς εκτύπωση δεδοµένα και, όσο αυτά δεν είναι κενά (που σηµαίνει ότι ο χρήστης δεν ζήτησε τερµατισµό της εργασίας), τα µορφοποιεί και τα στέλνει στη µονάδα εξόδου. /* */ PROCEDURE Exec142(PrintList: IN/OUT) /* */ LOCAL VAR AcademicYear, SubjectCode, RecordList Αρχικοποίησε AcademicYear, SubjectCode, RecordList CALL Get_pref(AcademicYear, SubjectCode) CALL Lookup(AcademicYear, SubjectCode, RecordList) CALL CreatePrintList(RecordList, PrintList) END_PROCEDURE Πρόκειται ουσιαστικά για µια µονάδα υλοποίησης ελέγχου ροής, η οποία διαβάζει δεδοµένα εισόδου, τα επιβεβαιώνει (Lookup) και τα στέλνει στην µονάδα που είναι υπεύθυνη για την δηµιουργία των δεδοµένων της εκτύπωσης. Η περίπτωση όπου τα δεδοµένα είναι κενά, αντιµετωπίζεται στην µονάδα CreatePrintList. Η χρήση του ψευδοκώδικα απαιτεί αρκετή εξοικείωση. Μηναποθαρρύνεστεανδεντηνδιαθέτετεαπό τώρα. Μετά από λίγο καιρό ενασχόλησης µε το θέµα σε παραδείγµατα και ασκήσεις, θα νιώθετε την απαιτούµενη εµπιστοσύνη. Αξίζει ένα µπράβο σε αυτούς που προσέγγισαν τη δική µας ή έδωσαν µια ακόµη καλύτερηαπάντηση. 20

21 Θέµα 4.8 Στο σχήµα τηςεκφώνησης, αρχικά θα επιλεγεί το κέντρο δοσοληψιών. Σύµφωνα µε όσααναφέρονται στην ενότητα 4.5, στο διάγραµµα ροής δεδοµένων που δίνεται, εµφανίζεται εικόνα ανάλογη µε αυτή που φαίνεται στο Error! Reference source not found. για τον µετασχηµατισµό "Ελεγχος εκτέλεσης". Οπότε αυτό είναι και το κέντρο δοσοληψιών. Αρχικοποίηση ελέγχου πρόσβασης Αδειες πρόσβασης Run1 Εργασία 1 Res1 Εµφάνιση αποτελεσµάτων 1 Αρχικές τιµές Μενού επιλογής εργασίας Επιλογή Ελεγχος εκτέλεσης Run2 Αρχικοποίηση τιµών Εργασία 2 Res2 Εµφάνιση αποτελεσµάτων 2 Run3 Εργασία 3 Res3 Εµφάνιση αποτελεσµάτων 3 Σχήµα 4.4. Επιλογή του κέντρου δοσοληψιών Για την δηµιουργία του ζητούµενου διαγράµµατος δοµής µας απασχολούν µόνο οι µετασχηµατισµοί που συνδέονται άµεσα µε το κέντρο δοσοληψιών διαθέτοντας ή καταναλώνοντας δεδοµένα, οι οποίοι και καταγράφονται µε έντονα γράµµατα στο Σχήµα 4.4. Στο Σχήµα 4.5 που ακολουθεί, ξανασχεδιάζουµε το τµήµα που µας ενδιαφέρει από το Σχήµα 4.4, χρησιµοποιώντας ονόµατα στην αγγλική για οικονοµία χώρου. Ακολούθως φαίνεται το διάγραµµα δοµής προγράµµατος που αντιστοιχεί σε αυτό και το λεπτοµερές σχέδιο µονάδων µε τηµορφή ψευδοκώδικα. 21

22 Clr Run1 Proc1 Res1 Choice Dispatch Run2 Proc2 Res2 Run3 Κ.. Proc3 Res3 MAIN Clr Choice Choice Flag Run1 Run2 Run3 Get_Clr Get_Ch Process_Ch Exec_Proc1 Exec_Proc2 Exec_Proc3 Σχήµα 4.5. ραστηριότητα 3 εν πρόκειται παρά για εφαρµογή των αναφεροµένων στην ενότητα όπου η επιλογή του κέντρου δοσοληψιών είναι µοναδική και η κατασκευή του διαγράµµατος δοµής γίνεται µε άµεση εφαρµογή των κατευθύνσεων που δίνονται στο δεύτερο τµήµα της ενότητας Αν δεν τα καταφέρατε, µπορείτε να ανατρέξετε και πάλι στο τµήµα αυτό. Σε όσους τα κατάφεραν, αξίζει ασφαλώς ένα "µπράβο!". /* */ PROCEDURE ExecMain /* */ LOCAL VAR Clr, Choice, Flag, Run1, Run2, Run3 Αρχικοποίησε Clr, Choice, Flag, Run1, Run2, Run3 CALL Get_Clr(Clr) CALL Get_Choice(Choice) CALL Process_Choice(Choice, Flag) CASE Flag OF 1 : CALL Exec_Proc1(Run1) 2 : CALL Exec_Proc2(Run2) 3 : CALL Exec_Proc3(Run3) END_CASE END_PROCEDURE 22

23 Στην εκδοχή αυτή, τα δεδοµένα εισόδου διαβάζονται µόνο µια φορά, καλείται η µονάδα επεξεργασίας (Process_Choice) και κατόπιν η µονάδα που αντιστοιχεί στην επιλογή που έγινε. Μια εκδοχή η οποία επαναλαµβάνει την ενέργεια επιλογής και εκτέλεσης εργασίας µέχρις ότου ο χρήστης να επιλέξει τον τερµατισµό της εκτέλεσης είναι και η ακόλουθη: /* */ PROCEDURE ExecMain2 /* */ LOCAL VAR Clr, Choice, Flag, Run1, Run2, Run3 Αρχικοποίησε Clr, Choice, Flag, Run1, Run2, Run3 CALL Get_Clr(Clr) CALL Get_Choice(Choice) CALL Process_Choice(Choice, Flag) WHILE Flag<>κενό DO CASE Flag OF 1 : CALL Exec_Proc1(Run1) 2 : CALL Exec_Proc2(Run2) 3 : CALL Exec_Proc3(Run3) END_CASE CALL Get_Clr(Clr) CALL Get_Choice(Choice) CALL Process_Choice(Choice, Flag) END_WHILE END_PROCEDURE Είναιφανερόότιτοποιαείναιηεκδοχήπουθαπρέπειναυλοποιηθείθαπρέπειναπεριέχεταιστις προδιαγραφές του λογισµικού. Είναι επίσης φανερό ότι είναι πολύ εύκολο αυτό να µη συµβαίνει και οι προδιαγραφές να είναι ελλιπείς, οπότε η απόφαση θα πρέπει να ληφθεί από τον µηχανικό λογισµικού. 23

24

25 5. ΠΑΡΑΓΩΓΗ ΠΗΓΑΙΟΥ ΚΩ ΙΚΑ Θέµα 5.1 Ηαπάντησηείναιαπλά"όχι". Στην πράξη η σχεδίαση είναι σπάνια τόσο λεπτοµερής. Ησχεδίαση συνήθως στέκεται στις κατευθυντήριες γραµµές για την συγγραφή πηγαίου κώδικα και δεν ασχολείται µε τις λεπτοµέρειές της. Η χρήση προγραµµατιστικών τεχνικών και άλλοι πρακτικοί λόγοι στην κατασκευή προγραµµάτων, αλλά και τα ιδιαίτερα χαρακτηριστικά της γλώσσας προγραµµατισµού που χρησιµοποιείται είναι οι σηµαντικότερες αιτίες για τις οποίες ο προγραµµατιστής κάθε άλλο παρά εύκολη και ανιαρή δουλειά έχει να κάνει. Θέµα 5.2 Οι σηµαντικότερες κατηγορίες εργαλείων που χρησιµοποιεί ο προγραµµατιστής είναι οι ακόλουθες: Συντάκτες προγραµµάτων (program editors) Υλοποιήσεις γλωσσών προγραµµατισµού Εντοπιστές σφαλµάτων (debuggers) Γεννήτορες προγραµµάτων (program generators) Ολοκληρωµένα περιβάλλοντα προγραµµατισµού Μπορείτε να ανατρέξετε στο περιβάλλον σας και να διαπιστώσετε ότι για το µεγαλύτερο διάστηµα οι προγραµµατιστές αρκούνταν στα δύο πρώτα, στην καλύτερη περίπτωση και σε ένα εργαλείο της τρίτης κατηγορίας. Τα σύγχρονα και ολοκληρωµένα περιβάλλοντα που γνώρισαν οι νεώτεροι είναι σχετικά πρόσφατα. Η εντύπωση που αποκτά κανείς διερευνώντας το θέµα, είναι αντίστοιχη µε αυτή του τσαγκάρη που κατασκευάζει το παπούτσι µε τηφαλτσέτα, το σφυρί και το καρφί, από τη µία και της σύγχρονης υποδηµατοβιοµηχανίας, από την άλλη. Θέµα 5.3 Τα επιθυµητά χαρακτηριστικά του πηγαίου κώδικα µπορούν να συνοψιστούν στα ακόλουθα: Επάρκεια, δηλαδή λειτουργία του λογισµικού χωρίς σφάλµατα και µε σωστή χρήση της υπολογιστικής µηχανής που το στεγάζει Επιδόσεις, δηλαδή µεγάλη ταχύτητα εκτέλεσης του πηγαίου κώδικα Αναγνωσιµότητα, δηλαδή δυνατότητα κατανόησης του πηγαίου κώδικα και από άλλους προγραµµατιστές χωρίς κόπο.

26 Τεκµηρίωση, δηλαδή συνοδεία του πηγαίου κώδικα µε έγγραφα που συµβάλλουν στην κατανόησή του. Μεταφερσιµότητα, δηλαδή δυνατότητα του πηγαίου κώδικα να µπορεί να εκτελεστεί χωρίς αλλαγές σε διαφορετικά περιβάλλοντα (λειτουργικά συστήµατα υπολογιστές) στα οποία διατίθενται εκδόσεις της γλώσσας προγραµµατισµού που χρησιµοποιείται. υνατότητα επαναχρησιµοποίησης, δηλαδή χρήσης του πηγαίου κώδικα και σε άλλα συστήµατα λογισµικού που θα κατασκευαστούν στο µέλλον. Αν και είναι γνωστά τα χαρακτηριστικά που θέλουµε να έχει ο πηγαίος κώδικας, δεν είναι πάντα εύκολη η συγγραφή προγραµµάτων που τα ενσωµατώνουν. Συνήθως, πολλά από τα χαρακτηριστικά αυτά θεωρούνται περιττά, όπως για παράδειγµα η συγγραφή επαρκών σχολίων. Ο αναγνώστης ενθαρρύνεται να µην υποτιµήσει κανένα από αυτά τα χαρακτηριστικά και να προσπαθεί να γράφει πηγαίο κώδικα που τα ενσωµατώνει. Μπορεί στις εκπαιδευτικές του εργασίες να µην φαίνεται η σηµασία τους, στην πράξη όµως, δεν συµβαίνει το ίδιο και είναι καλό να έχει συνηθίσει κανείς να γράφει καλό πηγαίο κώδικα από νωρίς. Θέµα 5.4 ύο πολύ σηµαντικοί λόγοι είναι (α) η δυνατότητα κατανόησης του πηγαίου κώδικα που έχει συγγράψει κάποιος και από έναν άλλο προγραµµατιστή και (β) η δυνατότητα κατανόησης του κώδικα από τον ίδιο τον συγγραφέα του µετά από λίγο καιρό. Μπορείτε να κάνετε µια µικρή έρευνα απ' όπου θα διαπιστώσετε ότι οι προγραµµατιστές συχνά αρνούνται να πειράξουν κώδικα που δεν είναι δικός τους, αλλά και συχνά δυσκολεύονται να κατανοήσουν κώδικα που έγραψαν παλιά. Αλλοι λόγοι που µπορούν να αναφερθούν εδώ είναι η δυνατότητα ταξινόµησης, χαρακτηρισµού και γενικά διαχείρισης του πηγαίου κώδικα από ειδικά εργαλεία που υπάρχουν για το σκοπό αυτό (όπως τα εργαλεία reverse engineering) Θέµα 5.5 Κάθε αλγόριθµος είναι δυνατό να κωδικοποιηθεί χρησιµοποιώντας τρία µόνο στοιχεία ελέγχου, τα οποία είναι: Η ακολουθία (s 1 ; s 2 ), δηλαδή η σειριακή εκτέλεση εντολών Ηεπιλογή(if c then s 1 else s 2 ), δηλαδή η επιλεκτική εκτέλεση µιας εντολής αν ισχύει µια λογική συνθήκη, είτε µιας άλλης εντολής αν η ίδια λογική συνθήκη δεν ισχύει. Η επανάληψη (while c do s), δηλαδή η επαναληπτική εκτέλεση µιας εντολής για όσο διάστηµα παραµένει αληθής µια λογική συνθήκη. Τα στοιχεία αυτά αποτελούν τη βάση του δοµηµένου προγραµµατισµού. Με απλά λόγια, κάθε µονάδα δοµηµένου προγράµµατος έχει ένα και µόνο σηµείου εισόδου και ένα σηµείου εξόδου. Οσο αυτονόητο 26

27 και αν φαίνεται αυτό σήµερα, στο παρελθόν η ανεξέλεγκτη χρήση της εντολής GOTO είχε δηµιουργήσει µια χαοτική κατάσταση κατά την οποία τα σηµεία εισόδου και εξόδου από µονάδες προγράµµατος ήταν πολλά και τελικά ανεξέλεγκτα. Το φαινόµενο ονοµάστηκε "spaghetti programming". Συγχαρητήρια σε όσους έδωσαν την σωστή απάντηση. Προκύπτει από την ύλη της ενότητας 5.3.2, την οποία και µπορούν να επαναλάβουν όσοι δεν απάντησαν σωστά. 27

28 6. ΕΛΕΓΧΟΣ ΚΑΙ ΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ Θέµα 6.1 Το πλάνο του ελέγχου µπορεί να ξεκινήσει να γράφεται αρκετά νωρίς και συγκεκριµένα µετά την ολοκλήρωση της συγγραφής των απαιτήσεων από το λογισµικό διότι: (α) είναι η στιγµή που αποφασίζεται η ενσωµάτωση στο λογισµικό χαρακτηριστικών που θα πρέπει να ελεγχθούν και για τα οποία µπορούν να ετοιµαστούν τα αναγκαία για τον έλεγχο έγγραφα και (β) για ορισµένες µονάδες ή χαρακτηριστικά του λογισµικού ο έλεγχος µπορεί να ξεκινήσει πριν ολοκληρωθεί η συγγραφή του πηγαίου κώδικα και όλων των υπολοίπων, ώστε να κερδίζεται χρόνος. Θέµα 6.2 Στο πρόγραµµα που δίνεται, οι µεταβλητές εισόδου είναι οι ακέραιες µεταβλητές day, month, και year. Λόγω της έννοιας που αποδίδεται στις µεταβλητές αυτές (π.χ. στη µεταβλητή day αποδίδεται η έννοια της ηµέρας) προκύπτουν κάποιες συνθήκες εισόδου, δηλαδή προδιαγράφονται ορισµένα διαστήµατα τιµών. Σύµφωνα µε αυτά τα διαστήµατα τιµών καταγράφουµε τις έγκυρες αλλά και τις άκυρες κλάσεις ισοδύναµων τιµών. Έτσι έχουµε: Μεταβλητή day month Συνθήκη εισόδου 1 day 31 1 month 12 Κλάσεις ισοδύναµων τιµών Έγκυρες 1 day 31 1 month 12 Άκυρες day<1 day>31 month<1 month>12 Παρατηρήστε ότι οι συνθήκες εγκυρότητας προκύπτουν εδώ από µια καθολικά γνωστή σύµβαση, αυτή του ηµερολογίου. Αυτό δεν ισχύει πάντα. Σε πολλές περιπτώσεις οι συνθήκες εγκυρότητας των δεδοµένων εισόδου προκύπτουν µέσα από το ίδιο το πρόβληµα. Επίσης παρατηρήστε ότι για λόγους απλότητας στο σηµείο αυτό αναφερόµαστε µόνο στο πρώτο τµήµα του προγράµµατος (γραµµές 1-8). Για να καλύψουµε όλο το πρόγραµµα, αρκεί να αντικαταστήσουµε τοπάνωόριο(31) µε τηντιµή τηςµεταβλητής "UpperDayValue". ΠΡΟΣΕΓΓΙΣΗ ΙΣΟ ΥΝΑΜΗΣ ΙΑΜΕΡΙΣΗΣ Για την κατασκευή περιπτώσεων ελέγχου αρκεί να επιλέξουµε γιακάθεµεταβλητή µια τιµή απόκάθε κλάση ισοδύναµων τιµών της. Οπότε ένα ενδεικτικό σύνολο περιπτώσεων ελέγχου είναι το παρακάτω:

29 Περίπτωση ελέγχου οκιµαστικά δεδοµένα εισόδου Αναµενόµενα Αποτελέσµατα Id# day month year flag ΠΡΟΣΕΓΓΙΣΗ ΣΥΝΟΡΙΑΚΩΝ ΤΙΜΩΝ Σύµφωνα µε την προσέγγιση συνοριακών τιµών, για την κατασκευή των περιπτώσεων ελέγχου επιλέγουµε έγκυρες περιπτώσεις για τα άκρα του κάθε διαστήµατος και άκυρες για τιµές ακριβώς έξω από τα άκρα. Οπότε ένα ενδεικτικό σύνολο περιπτώσεων ελέγχου είναι το παρακάτω: Περίπτωση ελέγχου οκιµαστικά δεδοµένα εισόδου Αναµενόµενα Αποτελέσµατα Id# day month year flag Επίσης παρατηρήστε ότι άκυρα δεδοµένα εισόδου, όπως για παράδειγµα " " εντοπίζονται από την ίδια την µονάδα προγράµµατος. Συγχαρητήρια αν δώσατε την λύση που δώσαµε και εµείς. Είναι αποτέλεσµα προσεκτικήςµελέτης της ενότητας 6.3 την οποία και θα πρέπει να επαναλάβετε αν δεν καταφέρατε να απαντήσετε. Σε κάθε περίπτωση, είναι µια καλή ιδέα να προσπαθήσετε να γράψετε τον πηγαίο κώδικα που δίνεται σε κάποια Pascal και να τον εκτελέσετε. 29

30 Θέµα 6.3 Για την κάλυψη της συνθήκης που ζητείται είναι απαραίτητη µια επιπλέον περίπτωση ελέγχου η οποία και δίνεται παρακάτω: οκιµαστικά εδοµένα A B C Κάλυψη εντολών (µονοπάτι εκτέλεσης) Κάλυψη συνθηκών (Εντολές απόφασης τιµές συνθηκών) : T-F, 6: F, 12: F, 18: T Ο εντοπισµός πλήρων περιπτώσεων ελέγχου δεν είναι πάντα απλή υπόθεση. Ακόµα και σε ένα µικρό πρόγραµµα, όπως αυτό του παραδείγµατος, µπορείτε να διαπιστώσετε ότι απαιτείται αρκετός χρόνος και προσοχή για να παρακολουθήσετε µια έτοιµη λύση. Φανταστείτε τι ισχύει στην πραγµατικότητα, όπου οι πλήθος και η πολυπλοκότητα των µονάδων προγράµµατος είναι δραµατικά µεγάλο. Τώρα, µάλλον µπορείτε να εξηγήσετε για ποιο λόγο η συγγραφή προγραµµάτων χωρίς σφάλµατα είναι πολύ δύσκολη. Θέµα 6.4 Ένα σύνολο περιπτώσεων ελέγχου για την εξασφάλιση της πλήρης κάλυψης του πηγαίου κώδικα της µονάδας είναι το παρακάτω: οκιµαστικά εδοµένα Day month year Κάλυψη εντολών (µονοπάτι εκτέλεσης) εν υπάρχει τυποποιηµένος τρόπος για τον καθορισµό των ζητούµενων δεδοµένων. Είναι απαραίτητο να µελετάται κάθε φορά ο πηγαίος κώδικας. Συχνά, η εργασία καθορισµού τέτοιων δεδοµένων φαίνεται κουραστική, ιδιαίτερα όταν γίνεται από τον ίδιο τον συγγραφέα του πηγαίου κώδικα. Στην πραγµατικότητα, είναι ένας από τους λίγους τρόπους που διαθέτουµε για να µπορούµε να υποστηρίξουµε (προσέξτε: όχι να τεκµηριώσουµε!) την µη ύπαρξησφαλµάτων σε ένα πρόγραµµα. 30

31 Θέµα 6.5 Μια πιθανή σειρά εκτέλεσης ελέγχου µε τηναυξητική τεχνική από κάτω προς τα πάνω είναι η ακόλουθη: Βήµα Υποσύστηµα πουελέγχεται 1 Ε 2 ΕΖ 3 ΕΖΗ 4 ΕΖΗΘ 5 ΕΖΗΘΙ 6 ΕΖΗΘΙΒ 7 ΕΖΗΘΙΒΓ 8 ΕΖΗΘΙΒΓ 9 ΕΖΗΘΙΒΓ Α Επιβεβαιώστε ότι "χτίζουµε" την πυραµίδα από τη βάση της. Συγχαρητήρια σε όσους το κατάφεραν µε την πρώτη. Οι υπόλοιποι, παραπέµπονται στο παράδειγµα 2 και καλούνται να ξαναδοκιµάσουν. Θέµα 6.6 α) Μια σειρά εκτέλεσης ελέγχου µε την αυξητική τεχνική από πάνω προς τα κάτω είναι η ακόλουθη: Βήµα Υποσύστηµα πουελέγχεται 1 (Exec 132) 2 (Exec 132) (Exec 131) 3 (Exec 132) (Exec 131) (Get (Grd)) 4 (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) 5 (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Get (Stc, SbC)) (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Get (Stc, SbC)) (Lookup(StC, SbC)) 10 (Exec 132) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put 31

32 (GRec)) (Put (Flg5)) (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) β) Μια σειρά εκτέλεσης ελέγχου µε την αυξητική τεχνική από κάτω προς τα πάνω είναι η ακόλουθη: Βήµα Υποσύστηµα πουελέγχεται 1 (Get (Stc, SbC)) 2 (Get (Stc, SbC)) (Lookup(StC, SbC)) 3 (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) 4 (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) 5 (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) (Get (Grd)) (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Get (Stc, SbC)) (Lookup(StC, SbC)) (Verify (Flg1, Flg2, Flg3)) (Exec 131) (Get (Grd)) (Get (ExD)) (Prepare (GRec)) (Put (GRec)) (Put (Flg5)) (Exec 132) Ο αναγνώστης παρακαλείται να συγχωρήσει τη δυσκολία ανάγνωσης των παραπάνω πινάκων, αλλά, η σειρά κλήσης των µονάδων έπρεπε να δοθεί έτσι για λόγους οικονοµίας χώρου. Θέµα 6.7 Το βασικότερο πλεονέκτηµα της προσέγγισης αυτής είναι ότι τα σφάλµατα στις µονάδες που βρίσκονται στα χαµηλότερα επίπεδα του διαγράµµατος δοµής είναι εύκολο να αποκαλυφθούν. Αυτό ισχύει καθώς οι µονάδες αυτές έχουν πιο απλή δοµή και όσο πιο χαµηλό είναι το επίπεδο του διαγράµµατος δοµής στο οποίο βρίσκονται, τόσο λιγότερες κλήσεις σε άλλες µονάδες τείνουν να περιέχουν. Επίσης, όλες οι µονάδες τις οποίες καλούν, έχουν συνήθως ήδη ελεγχθεί µε αποτέλεσµα ο εντοπισµός σφαλµάτων κατά τον έλεγχό τους να γίνεται ακόµη πιο εύκολος. 32

33 Θέµα 6.8 Σύµφωνα µε τα αναφερόµενα στην ενότητα 6.4.4, ο έλεγχος συστήµατος µπορεί να συγχωνευτεί µε τον έλεγχο αποδοχής, καθώς ο έλεγχος αποδοχής δεν παύει να αποτελεί ένα υποσύνολο του ελέγχου συστήµατος. Απαραίτητη προϋπόθεση, βέβαια, είναι το περιβάλλον ελέγχου να είναι όσο το δυνατόν πιο πιστό αντίγραφο του προοριζόµενου περιβάλλοντος λειτουργίας του λογισµικού. Επίσης, θα πρέπει να γίνει σε συνεννόηση µε τον πελάτη έτσι ώστε η κατασκευή των περιπτώσεων ελέγχου να έχει λάβει υπόψην της τις απαιτήσεις του. Συγχαρητήρια αν δώσατε τη σωστή απάντηση! Επίσης (περισσότερα) συγχαρητήρια αν, άσχετα µε την απάντηση που δώσατε, καταφέρνετε να κατασκευάζετε λογισµικό χωρίς σφάλµατα, ή καλύτερα, µε σφάλµατα που δεν εκδηλώνονται! Αν νιώθετε την ανάγκη, ρίξτε µια δεύτερη µατιά στην ενότητα Η εµπειρία δείχνει ότι πολλά έργα παραδίδονται µε µοναδικό έλεγχο, τον έλεγχο αποδοχής κατευθείαν από τον πελάτη. Για λόγους εντυπώσεων, συχνά ο κατασκευαστής λογισµικού δεν αποκαλύπτει ότι θα είναι ο ίδιος ο πελάτης που θα ελέγξει το λογισµικό. Με τη βοήθεια της τύχης, κάτι τέτοιο µπορεί να περάσει απαρατήρητο και να µην εκδηλωθούν σφάλµατα, ιδιαίτερα σφάλµατα που προκαλούν ζηµιά στον πελάτη και βλάπτουν το κύρος του κατασκευαστή. Συνήθως, όµως, αργά ή γρήγορα τα σφάλµατα του λογισµικού εκδηλώνονται αµείλικτα... 33

34 7. ΕΡΓΑΛΕΙΑ ΑΝΑΠΤΥΞΗΣ ΛΟΓΙΣΜΙΚΟΥ (CASE)

35 8. ΙΟΙΚΗΣΗ ΣΧΗΜΑΤΙΣΜΩΝ ΛΟΓΙΣΜΙΚΟΥ Θέµα 8.1 Παραδείγµατα σύνθετων στοιχείων λογισµικού είναι:! Το έγγραφο προδιαγραφών απαιτήσεων! Το έγγραφο περιγραφής του σχεδίου! Το σύνολο του πηγαίου κώδικα! Το µοντέλο περιπτώσεων χρήσης! Ένα πακέτο ανάλυσης Παραδείγµατα απλών στοιχείων λογισµικού είναι:! Μια οποιαδήποτε συγκεκριµένη λειτουργική απαίτηση! Το λεπτοµερές σχέδιο µίας συγκεκριµένης µονάδας! Ο πηγαίος κώδικας µιας συγκεκριµένης µονάδας! Μια περίπτωση χρήσης! Μια κλάση ανάλυσης Οπως είναι γνωστό, τόσο το έγγραφο προδιαγραφών απαιτήσεων από το λογισµικό όσο και το έγγραφο περιγραφής του σχεδίου λογισµικού ενσωµατώνουν όλα τα επιµέρους προϊόντα της ανάλυσης απαιτήσεων και της σχεδίασης. Κατά συνέπεια, αν τα θεωρήσουµε απλά στοιχεία του σχηµατισµού λογισµικού χάνουµε πολύτιµη διαχειριστική πληροφορία, όπως είναι οι αλληλοεξαρτήσεις που έχουν αυτά τα προϊόντα µεταξύ τους. Αυτό θα µας δυσκολέψει πολύ στην ανάλυση των επιπτώσεων µιας αλλαγής αφού, δεν θα µπορούµε να εστιάσουµε σε µικρότερη διαχειριστική µονάδα από αυτή του εγγράφου για να εντοπίσουµε µε µεγαλύτερη ακρίβεια τα επιµέρους προϊόντα που επηρεάζονται από την αλλαγή. Ακόµα, θα είµαστε αναγκασµένοι µε την παραµικρή αλλαγή να εκδίδουµε και µια νέα έκδοση ολόκληρων των εγγράφων αυτών. Με πολύ απλά λόγια, ένα ατοµικό Στοιχείο Σχηµατισµών Λογισµικού είναι ένα συστατικό στοιχείο λογισµικού (κλάση, περίπτωση χρήσης, συνάρτηση, κ.ά.). Ενας οποιοσδήποτε περιέκτης τέτοιων στοιχείων (µοντέλο περιπτώσεων χρήσης, µοντέλο κλάσεων ανάλυσης, κ.ά.) είναι ένα σύνθετο Στοιχείο Σχηµατισµών Λογισµικού. Παραπέµπουµε στην ενότητα 6.1 όσους δυσκολεύτηκαν και εκφράζουµε την ικανοποίησή µας για την πρόοδο των υπολοίπων.

Τεχνολογία Λογισµικού Ι Κεφάλαιο 4

Τεχνολογία Λογισµικού Ι Κεφάλαιο 4 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 4 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5

Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 5 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Μια αναλυτικότερη προσέγγιση στην δραστηριότητα 3.10 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος

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

Σκοπός του μαθήματος

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

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

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

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

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

ΑΕΠΠ Ερωτήσεις θεωρίας

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

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

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

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Αλγόριθµοι, στοιχεία

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

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

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3

Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 3 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

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

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

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

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21

Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαια 1-21 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

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

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

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

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

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

Επιµέλεια Θοδωρής Πιερράτος Η έννοια πρόβληµα Ανάλυση προβλήµατος Με τον όρο πρόβληµα εννοούµε µια κατάσταση η οποία χρήζει αντιµετώπισης, απαιτεί λύση, η δε λύση της δεν είναι γνωστή ούτε προφανής. Μερικά προβλήµατα είναι τα εξής:

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Ακαδηµαϊκό Έτος 2003-2004, Εαρινό Εξάµηνο ιδάσκων

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

ΚΕΦΑΛΑΙΟ 5 ΔΟΜΗΜΕΝΗ ΣΧΕΔΙΑΣΗ

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

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

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις Προγραµµατισµός Η/Υ Ανασκόπηση - Ορισµοί Περιεχόµενα Ο κύκλος ανάπτυξης προγράµµατος Περιγραφή προβλήµατος Ανάλυση προβλήµατος Λογικό ιάγραµµα Ψευδοκώδικας Κωδικοποίηση Συντήρηση Γλώσσες Προγραµµατισµού

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Τεχνολογία Λογισµικού

Εισαγωγή στην Τεχνολογία Λογισµικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Μάθηµα "Τεχνολογία Λογισµικού", 9ο εξάµηνο Τι είναι Λογισµικό; Προγράµµατα ηλεκτρονικού υπολογιστή οµές δεδοµένων µε µόνιµη

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

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

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

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

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

Α2. Να γράψετε στο τετράδιο σας τον αριθμό 1-4 κάθε πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 23/04/2017 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΠΤΑ ( 7) ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν γράφοντας στο

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 435: ΑΛΛΗΛΕΠΙ ΡΑΣΗ ΑΝΘΡΩΠΟΥ ΥΠΟΛΟΓΙΣΤΗ Ακαδηµαϊκό Έτος 2004 2005, Χειµερινό Εξάµηνο 2 Η ΟΜΑ ΙΚΗ ΕΡΓΑΣΙΑ: ΑΝΑΠΤΥΞΗ ΑΡΧΙΚΗΣ Ι ΕΑΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΝΑΓΚΩΝ

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

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

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

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

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

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

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

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

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

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

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

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

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

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

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

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

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

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

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Παρασκευή 25 Απριλίου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

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

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ Ο κύκλος ζωής λογισµικού (συνοπτικά) Η παραδοσιακή φάση ανάπτυξης του κύκλου ζωής λογισµικού Φάση καθορισµού απαιτήσεων (1/2) ΤΙ πρέπει να κάνει το

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012 ΘΕΜΑ Α Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις: 1. Κάθε βρόγχος που υλοποιείται με την εντολή Για μπορεί να

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

Παράµετροι ιαχείρισης Λογιστικής. Τύποι Λογιστικών Άρθρων. Ηµερολόγια Λογιστικής. Στοιχεία Λογαριασµών Λογιστικού Σχεδίου

Παράµετροι ιαχείρισης Λογιστικής. Τύποι Λογιστικών Άρθρων. Ηµερολόγια Λογιστικής. Στοιχεία Λογαριασµών Λογιστικού Σχεδίου Παράµετροι ιαχείρισης Λογιστικής Με την επιλογή αυτή («Παράµετροι & Προτιµήσεις Εργασίες Έναρξης Παράµετροι Λογιστικής») µπορείτε να καθορίσετε τη Μορφή κωδικού Αναλυτικών Λογαριασµών* που επιθυµείτε να

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

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

επιµέλεια Θοδωρής Πιερράτος Βασικές έννοιες προγραµµατισµού Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως,

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

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

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

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

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

Τεχνολογία Λογισµικού (software. engineering)

Τεχνολογία Λογισµικού (software. engineering) Πανεπιστήµιο Πειραιά Τµήµα Εκπαιδευτικής Τεχνολογίας και Ψηφιακών Συστηµάτων Τεχνολογία Λογισµικού (software engineering) Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@unipi.gr

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

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

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

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

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

Περιεχόμενα. Ανάλυση προβλήματος. Δομή ακολουθίας. Δομή επιλογής. Δομή επανάληψης. Απαντήσεις. 1. Η έννοια πρόβλημα Επίλυση προβλημάτων... Περιεχόμενα Ανάλυση προβλήματος 1. Η έννοια πρόβλημα...13 2. Επίλυση προβλημάτων...17 Δομή ακολουθίας 3. Βασικές έννοιες αλγορίθμων...27 4. Εισαγωγή στην ψευδογλώσσα...31 5. Οι πρώτοι μου αλγόριθμοι...54

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

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1

Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Κεφάλαιο 6 ο Εισαγωγή στον Προγραμματισμό 1 Ποιες γλώσσες αναφέρονται ως φυσικές και ποιες ως τεχνητές; Ως φυσικές γλώσσες αναφέρονται εκείνες οι οποίες χρησιμοποιούνται για την επικοινωνία μεταξύ ανθρώπων,

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

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες:

Η στοίβα (stack) H στοίβα είναι ένας αποθηκευτικός χώρος οργανωµένος κατά τέτοιο τρόπο ώστε να υποστηρίζει δύο βασικές λειτουργίες: Άσκηση 5Α_5 26/3/2003 11.5. Άσκηση 5A - [αναγνώριση αντικειµένων-διάγραµµα κλάσεων] [Σε αντικατάσταση της άσκησης 5 του κεφαλαίου 11] 11.5.1. Περιγραφή Η άσκηση αυτή είναι η πρώτη από µία σειρά ασκήσεων

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

INFO. Copyright ECDL Ελλάς, Σεπτέµβριος 2004 ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ ΑΥΤΟΥ ΤΟΥ ΕΝΤΥΠΟΥ ΑΦΟΡΑ ΑΠΟΚΛΕΙΣΤΙΚΑ ΤΑ ΕΞΕΤΑΣΤΙΚΑ ΚΕΝΤΡΑ ECDL

INFO. Copyright ECDL Ελλάς, Σεπτέµβριος 2004 ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ ΑΥΤΟΥ ΤΟΥ ΕΝΤΥΠΟΥ ΑΦΟΡΑ ΑΠΟΚΛΕΙΣΤΙΚΑ ΤΑ ΕΞΕΤΑΣΤΙΚΑ ΚΕΝΤΡΑ ECDL INFO ECDL Expert Ένα ολοκληρωµένο Πρόγραµµα Πιστοποίησης γνώσεων πληροφορικής και δεξιοτήτων χρήσης Η/Υ ΠΡΟΧΩΡΗΜΕΝΟΥ ΕΠΙΠΕ ΟΥ Copyright ECDL Ελλάς, Σεπτέµβριος 2004 ΤΟ ΠΕΡΙΕΧΟΜΕΝΟ ΑΥΤΟΥ ΤΟΥ ΕΝΤΥΠΟΥ ΑΦΟΡΑ

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

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

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

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

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

Ηλεκτρονικό Κατάστημα

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Καθηγητής Πληροφορικής ΠΕ19 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 6 ο : ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ Η έννοια του προγράμματος

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

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

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

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

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ. Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για ιευθύνσεις και Γραφεία Εκπαίδευσης

ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ. Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για ιευθύνσεις και Γραφεία Εκπαίδευσης ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΗΣ Πρόσβαση στην Καταγραφή και Εγχειρίδιο Χρήσης Εφαρµογών για ιευθύνσεις και Γραφεία Εκπαίδευσης ΠΕΡΙΕΧΌΜΕΝΑ Περιεχόµενα Περιεχόµενα... - 1 - Εισαγωγή... - 2 - Σηµείο πρόσβασης και αναγνώριση

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Ανάλυση και ο Σχεδιασµός στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η και ο στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Γενικές αρχές ανάλυσης και σχεδιασµού Τα βήµατα της ανάλυσης και του σχεδιασµού Συµπεράσµατα 2 3 Η ανάλυση

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

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου)

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Κεφάλαιο 8 : H γλώσσα προγραµµατισµού Pascal 1 ο Μέρος σηµειώσεων (Ενότητες 8.1 & 8.2 σχολικού βιβλίου) 1. Εισαγωγή Χαρακτηριστικά της γλώσσας Τύποι δεδοµένων Γλώσσα προγραµµατισµού

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

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

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

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

III. Πως μετατρέπεται το πηγαίο πρόγραμμα σε εκτελέσιμο πρόγραμμα;

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

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

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη Επιλογή και επανάληψη Η ύλη που αναπτύσσεται σε αυτό το κεφάλαιο είναι συναφής µε την ύλη που αναπτύσσεται στο 2 ο κεφάλαιο. Όπου υπάρχουν διαφορές αναφέρονται ρητά. Προσέξτε ιδιαίτερα, πάντως, ότι στο

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

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

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

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2008 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ (ΚΥΚΛΟΥ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΗΡΕΣΙΩΝ) 2008 ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ 1ο Α. Να γράψετε στο τετράδιό σας τον αριθµό καθεµιάς από τις παρακάτω

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

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

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

Υπολογιστικό Πρόβληµα

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

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

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ

Κεφάλαια Εντολές επανάληψης. Τρεις εντολές επανάληψης. Επιλογή εντολής επανάληψης ΟΣΟ...ΕΠΑΝΑΛΑΒΕ. Σύνταξη στη ΓΛΩΣΣΑ Εντολές επανάληψης Κεφάλαια 02-08 οµές Επανάληψης Επιτρέπουν την εκτέλεση εντολών περισσότερες από µία φορά Οι επαναλήψεις ελέγχονται πάντοτε από κάποια συνθήκη η οποία καθορίζει την έξοδο από το βρόχο

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

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

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

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

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

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

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

Κεφάλαιο 1 Ανάλυση προβλήματος

Κεφάλαιο 1 Ανάλυση προβλήματος Κεφάλαιο 1 Ανάλυση προβλήματος 1.1 Η έννοια πρόβλημα Με τον όρο πρόβλημα εννοείται μια κατάσταση η οποία χρειάζεται αντιμετώπιση, απαιτεί λύση, η δε λύση της δεν είναι γνωστή, ούτε προφανής. 1.2 Κατανόηση

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

Περιεχόµενα. 1 Εισαγωγή: Λίγα λόγια για το βιβλίο Τι νέο υπάρχει στο Outlook Ξεκίνηµα Ευχαριστίες...

Περιεχόµενα. 1 Εισαγωγή: Λίγα λόγια για το βιβλίο Τι νέο υπάρχει στο Outlook Ξεκίνηµα Ευχαριστίες... Περιεχόµενα Ευχαριστίες... 11 1 Εισαγωγή: Λίγα λόγια για το βιβλίο... 13 Χωρίς τεχνικούς όρους!... 13 Σύντοµη παρουσίαση... 14 Μερικές συµβάσεις... 16 Μια τελευταία λέξη (µπορεί και δύο)... 16 2 Τι νέο

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

Εγχειρίδιο Χρήστη - Μαθητή

Εγχειρίδιο Χρήστη - Μαθητή Εγχειρίδιο Χρήστη - Μαθητή 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα

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

4.3. Γραµµικοί ταξινοµητές

4.3. Γραµµικοί ταξινοµητές Γραµµικοί ταξινοµητές Γραµµικός ταξινοµητής είναι ένα σύστηµα ταξινόµησης που χρησιµοποιεί γραµµικές διακριτικές συναρτήσεις Οι ταξινοµητές αυτοί αναπαρίστανται συχνά µε οµάδες κόµβων εντός των οποίων

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

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία.

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. β. Οι πληροφορίες είναι δεδομένα τα οποία δεν έχουν υποστεί επεξεργασία. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α ΚΥΡΙΑΚΗ 16/04/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΝΝΕΑ (9) ΕΚΦΩΝΗΣΕΙΣ Α1. Να χαρακτηρίσετε

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

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση:

Χειρισµός Σφαλµάτων. Γρηγόρης Τσουµάκας. Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης. Έκδοση: Χειρισµός Σφαλµάτων Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Έκδοση: 2010.12.06 Σφάλµατα, Σφάλµατα, Σφάλµατα 2 εν υπάρχουν προγράµµατα χωρίς λογικά λάθη Υλοποίηση που

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

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

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2012 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Κυριακή 22 Απριλίου 2012 ΕΚΦΩΝΗΣΕΙΣ Α1. Να γράψετε στο τετράδιό

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

ΑΠΑΝΤΗΣΕΙΣ. 1. Να αναφέρετε ονοµαστικά τις λειτουργίες µε τις οποίες ο υπολογιστής µπορεί να επιτελέσει µε επιτυχία οποιαδήποτε επεξεργασία.

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

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

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

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

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

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

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας)

Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας) Ανάπτυξη εφαρµογών σε προγραµµατιστικό περιβάλλον (στοιχεία θεωρίας) Εισαγωγή 1. Τι είναι αυτό που κρατάς στα χέρια σου. Αυτό το κείµενο είναι µια προσπάθεια να αποτυπωθεί όλη η θεωρία του σχολικού µε

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

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον

Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Κεφάλαιο 6ο Εισαγωγή στον Προγραµµατισµό Μέρος Πρώτο (6.1, 6.2 και 6.3) Α. Ερωτήσεις Σωστού Λάθους 1. Η γλώσσα µηχανής είναι µία γλώσσα υψηλού επιπέδου.

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

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού

CARDISOFT. User Guide. ClassWeb VERSION 1.1. [February] [2007] Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού Cardisoft Ανώνυµη Εταιρία Παραγωγής Λογισµικού Μοναστηρίου 60, 54627 Θεσσαλονίκη, Τηλ 2310 567840, Fax 2310 514220, www.cardisoft.gr CARDISOFT User Guide ClassWeb VERSION 1.1 [February] [2007] Greece Monastiriou

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

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

ΠΕΡΙ ΜΕΤΑΒΑΣΗΣ ΑΠΟ ΤΑ ΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ ΙΑΓΡΑΜΜΑΤΑ ΟΜΗΣ Ε ΟΜΕΝΩΝ ΠΕΡΙ ΜΕΤΑΒΑΣΗΣ ΑΠΟ ΤΑ ΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΣΕ ΙΑΓΡΑΜΜΑΤΑ ΟΜΗΣ Ε ΟΜΕΝΩΝ Μερικές παρατηρήσεις και σκέψεις του συγγραφέα του βιβλίου Σχετικά µε τη µετάβαση από Ρ σε ΠΠ υπάρχουν 2 σηµαντικά ερωτήµατα:

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

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

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

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

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις

Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις Επαναληπτικό ιαγώνισµα Πληροφορικής Γ Γυµνασίου (νέο βιβλίο Πληροφορικής Γυµνασίου Αράπογλου, Μαβόγλου, Οικονοµάκου, Φύτρου) Γιώργος Λιακέας Σχολικός Σύµβουλος Πληροφορικής Ερωτήσεις 1. Τι είναι ο Αλγόριθµος;

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

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως:

Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως: 1. Υπηρεσία ClassWeb 1.1. Γενικά Η εφαρµογή ClassWeb δίνει στους διδάσκοντες χρήστες του συστήµατος τη δυνατότητα πρόσβασης µέσω του ιαδικτύου σε ποικίλες υπηρεσίες, όπως: εµφάνιση στατιστικών στοιχείων

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

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

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

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται:

4.4 Ερωτήσεις διάταξης. Στις ερωτήσεις διάταξης δίνονται: 4.4 Ερωτήσεις διάταξης Στις ερωτήσεις διάταξης δίνονται:! µία σειρά από διάφορα στοιχεία και! µία πρόταση / κανόνας ή οδηγία και ζητείται να διαταχθούν τα στοιχεία µε βάση την πρόταση αυτή. Οι ερωτήσεις

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

ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά. Σύνοψη

ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ. Έννοιες-κλειδιά. Σύνοψη ΚΕΦΑΛΑΙΟ 3 ΑΡΧΙΤΕΚΤΟΝΙΚΕΣ ΔΙΑΤΑΞΕΙΣ ΛΟΓΙΣΜΙΚΟΥ Σκοπός του κεφαλαίου είναι η εισαγωγή της έννοιας της διάταξης λογισμικού, ως αρχιτεκτονικής δόμησης των υπολογιστικών πόρων και της ανάθεσης σε αυτούς συστατικών

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #2 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #2 2 Γενικά Στο Εργαστήριο αυτό θα αναλύσουμε τη χρήση της βασικής εντολής ελέγχου ροής

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

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

Μεθοδολογίες Παραγωγής Λογισµικού

Μεθοδολογίες Παραγωγής Λογισµικού Μεθοδολογίες Παραγωγής Λογισµικού Βασικά Γενικά Μοντέλα Μοντέλο καταρράκτη (waterfall model) Ξεχωριστές φάσεις καθορισµού απαιτήσεων και ανάπτυξης, επικύρωσης, εξέλιξης Εξελικτική ανάπτυξη (evolutionary

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

1 Ανάλυση Προβλήματος

1 Ανάλυση Προβλήματος 1 Ανάλυση Προβλήματος 1.1 Η Έννοια Πρόβλημα Τι είναι δεδομένο; Δεδομένο είναι οτιδήποτε μπορεί να γίνει αντιληπτό από έναν τουλάχιστον παρατηρητή, με μία από τις πέντε αισθήσεις του. Τι είναι επεξεργασία

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

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

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

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

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

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

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

Επαναληπτικό Διαγώνισμα

Επαναληπτικό Διαγώνισμα Επαναληπτικό Διαγώνισμα Ανάπτυξη Εφαρμογών Σε Προγραμματιστικό Περιβάλλον Γ Λυκείου Κυριακή 13 Απριλίου 2014 ΘΕΜΑ Α Δίνεται το παρακάτω τμήμα προγράμματος που το ακολουθεί μία συνάρτηση που χρησιμοποιεί....

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 10 ΟΥ ΚΕΦΑΛΑΙΟΥ ΥΠΟΠΡΟΓΡΑΜΜΑΤΑ 1. Πως ορίζεται ο τμηματικός προγραμματισμός; Τμηματικός προγραμματισμός

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

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

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06. Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο 2005-06. Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «Κατανεµηµένα Συστήµατα Αρχείων (1/2)» ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Σύστηµα αρχείων Αποθήκευση, προσπέλαση και διαχείριση δεδοµένων

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