Τεχνολογία Λογισμικού

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

Download "Τεχνολογία Λογισμικού"

Transcript

1 Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 18/12/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια

2 Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Ελεγχος και διόρθωση σφαλμάτων

3 Στόχος ενότητας Έλεγχος ορθής λειτουργίας λογισμικού Τεχνικές ελέγχου για μονάδες και συστήματα λογισμικού Διόρθωση σφαλμάτων

4 Εισαγωγή ΣΗΜΑΝΤΙΚΟ στάδιο στη διαδικασία ανάπτυξης λογισμικού ο έλεγχος της ορθής λειτουργίας λογισμικού! ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΥΠΟΤΙΜΑΤΑΙ! ΔΕΝ ΥΠΑΡΧΕΙ ΛΟΓΙΣΜΙΚΟ ΧΩΡΙΣ ΣΦΑΛΜΑΤΑ!!!! Γιατί τότε έχουν πρόβλημα οι χρήστες του λογισμικού, οι οποίοι ανακαλύπτουν σφάλματα! Στόχος της Τεχνολογίας Λογισµικού στη φάση ελέγχου: Παροχή τεχνικών για το σχεδιασμό, την εκτέλεση και τη σωστή τεκμηρίωση του ελέγχου λογισµικού Μέχρι και 50% προϋπολογισμού ο έλεγχος & διόρθωση!!!

5 Στόχοι ελέγχου Μια θεώρηση της διεργασίας του ελέγχου είναι η παρακάτω: Έλεγχος είναι η διεργασία εκτέλεσης του προγράμματος με σκοπό να βρεθούν λάθη Μια καλή περίπτωση ελέγχου είναι αυτή που έχει αυξημένη πιθανότητα να βρει λάθος Ένας επιτυχημένος έλεγχος είναι αυτός που βρήκε νέα λάθη

6 Τι συμβαίνει κατά τον έλεγχο Αναγνώριση σφαλμάτων Ακριβής προσδιορισμός του/των σφάλματος/ων που προκάλεσαν μια αστοχία Διόρθωση/εξάλειψη σφαλμάτων Αλλαγές στο σύστημα ώστε να διορθωθούν τα ελαττώματα

7 Γενικό πλαίσιο ελέγχου Έλεγχος λογισµικού είναι η διαδικασία κατά την οποία εξετάζεται το λογισµικό µε χρήση ειδικά σχεδιασµένων τεχνικών και µε σκοπό την εύρεση και διόρθωση σφαλµάτων στην υλοποίησή του. Τα σφάλµατα που αναζητούνται σε αυτό το στάδιο ανάπτυξης κατηγοριοποιούνται σε δύο οµάδες Επαλήθευση (verification): υλοποιούμε σωστά το λογισμικό? Επικύρωση (validation): υλοποιούμε το σωστό λογισμικό?

8 Επαλήθευση (verification) Yλοποιούμε σωστά το λογισμικό??? Είναι ο τρόπος ελέγχου του λογισμικού για να να διακρίνουµε σφάλµατα που παρουσιάζονται κατά την εκτέλεση συγκεκριµένων µονάδων του λογισµικού. ΕΔΩ έχουμε υλοποιήσει το σωστό λογισμικό ΑΛΛΑ η υλοποίησή του παρουσιάζει λάθη

9 Επικύρωση (validation) Υλοποιούμε το σωστό λογισμικό? Είναι ο τρόπος ελέγχου του λογισμικού για να να διακρίνουµε σφάλµατα που παρουσιάζονται λόγω αντίφασης των αποτελεσµάτων της λειτουργίας του λογισµικού µε συγκεκριµένες απαιτήσεις και προδιαγραφές του συστήµατος. ΕΔΩ η υλοποίηση του λογισμικού δεν παρουσιάζει λάθη ΑΛΛΑ το λογισμικό μας δεν ικανοποιεί τις απαιτήσεις, δεν κάνει δηλαδή αυτό που θέλαμε! Δίνει λάθος λύση στο πρόβλημά μας! Στην περίπτωση αυτή έχουν γίνει λάθη κατά τη µετάβαση από τις προδιαγραφές στη σχεδίαση του λογισµικού.

10 Τύποι ελέγχου Ο έλεγχος που βασίζεται στις απαιτήσεις από το σύστηµα και κατά τον οποίο επαληθεύεται ότι το λογισµικό ανταποκρίνεται σε αυτές και Ο έλεγχος κατά τον οποίο επαληθεύεται ότι οι µονάδες του λογισµικού συστήµατος έχουν υλοποιηθεί σωστά από προγραµµατιστικής άποψης

11 Προβλήματα λογισμικού Σφάλμα: Ανθρώπινο λάθος (σε προδιαγραφές, τεκμηρίωση κλπ) Ελάττωμα: «Κωδικοποίηση του σφάλματος» στο προϊόν λογισμικού Αστοχία: Απομάκρυνση απο την προδιαγεγραμμένη λειτουργία του συστήματος Η εμφάνιση του ελαττώματος Αίτια αστοχίας: Λανθασμένες ή ελλιπείς προδιαγραφές Μη ρεαλιστικές προδιαγραφές Ελαττώματα στη σχεδίαση του συστήματος / προγράμματος και στην υλοποίηση (κώδικας)

12 Έλεγχος λογισμικού Επιβεβαιώνει την ύπαρξη υποπτευόμενης αστοχίας ή μας βοηθά να προκαλέσουμε νέες αστοχίες!!! Πότε είναι επιτυχής? Όταν κατά τη διάρκειά του συμβαίνουν «άσχημα πράγματα» όταν δηλαδή μας επιβεβαιώνει ότι κάτι δεν κάναμε καλά Ανακαλύπτεται ελάττωμα Συμβαίνει αστοχία ως αποτέλεσμα της διαδικασίας ελέγχου Καλύτερα τώρα παρά αργότερα...

13 Έλεγχος λογισμικού Testing can only show the presence of bugs, not their absence (Dijkstra)

14 Βασικές αρχές ελέγχου Κάθε έλεγχος πρέπει να αφορά μια συγκεκριμένη απαίτηση του πελάτη Η προετοιμασία των ελέγχων αρχίζει πολύ πριν την εφαρμογή τους Σενάριο ελέγχου Αναμενόμενο αποτέλεσμα Ισχύει η αρχή Pareto: 80% των λαθών θα αφορούν 20% των τμημάτων λογισμικού The Pareto principle (80 20 rule, law of the vital few, and principle of factor sparsity): for many events, roughly 80% of the effects come from 20% of the causes Ο έλεγχος πρέπει να αρχίζει από τις μικρές δομικές μονάδες και να καταλήγει στο ολοκληρωμένο σύστημα από το ειδικότερο προς το γενικότερο! Δεν είναι δυνατό να ελεγχθεί ένα σύστημα πλήρως Ο αποτελεσματικός έλεγχος εκτελείται από «τρίτους»

15 Που μπορώ να βρω ελαττώματα? Παντού! Αλγόριθμοι Σύνταξη ( η πρώτη διαστημική αποστολή των ΗΠΑ για την Αφροδίτη απέτυχε επειδή έλειπε ένα κόμμα σε ένα βρόχο do της Fortran!) Σφάλματα υπολογισμού ή ακρίβειας (συνδιασμός ακεραίων και αριθμών κινητής υποδιαστολής) Σφάλματα τεκμηρίωσης (δεν κάνω αυτό που λέω) Σφάλματα πίεσης / υπερφόρτωσης λόγω φόρτωσης δεδομένων μεγέθους μεγαλύτερου από την καθορισμένη χωρητικότητα Σφάλματα χρονισμού / συγχρονισμού (δύσκολα εντοπίζονται!) Σφάλματα ανάκτησης / επανόρθωσης σε εσφαλμένες λειτουργίες Σφάλματα / Αποκλίσεις από πρότυπα ή διαδικασίες

16 Τα «κοινωνικά» ζητήματα του ελέγχου... Ποιος τον κάνει? Ομάδα ανάπτυξης Μονάδων και ολοκλήρωσης Ομάδα ελέγχου Τάσεις: Υπόλοιποι έλεγχοι (έλεγχοι συστήματος) Οι άπειροι προγραμματιστές δεν έχουν τη σωστή νοοτροπία για τον έλεγχο ως μέσο ανακάλυψης λαθών... Κανείς δεν δέχεται την ευθύνη για ένα σφάλμα Λύση: μη εγωϊστικός προγραμματισμός! Όλοι προσπαθούν να κάνουν τη δουλειά τους Οι ελεγκτές να δείξουν ότι βρίσκουν λάθη Η ομάδα ανάπτυξης να δείξει ότι δεν κάνει Συχνές διενέξεις...

17 Λογισμικό που μπορεί να ελεγχθεί Για να μπορέσει το λογισμικό να ελεγχθεί αποτελεσματικά πρέπει να πληροί τις παρακάτω προϋποθέσεις: Λειτουργικότητα Παρατηρησιμότητα Ελεγξιμότητα Αποσυνθεσιμότητα Απλότητα Ευστάθεια Τεκμηρίωση

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

19 Λογισμικό που μπορεί να ελεγχθεί Ελεγξιμότητα Κάθε πιθανή έξοδος μπορεί να δημιουργηθεί με κατάλληλες εισόδους Όλος ο κώδικας μπορεί να εκτελεστεί με κατάλληλες εισόδους Ο ελεγκτής μπορεί να μεταβάλει άμεσα την κατάσταση του λογισμικού και του υλικού Η μορφή της εισόδου και της εξόδου είναι τακτική και ευνόητη Οι έλεγχοι είναι εύκολο να προδιαγραφούν, να αυτοματοποιηθούν και να αναπαραχθούν. Αποσυνθεσιμότητα Το λογισμικό αποτελείται από ανεξάρτητα αρθρώματα Κάθε module μπορεί να ελεγχθεί αυτόνομα Απλότητα Λειτουργική απλότητα: δεν υπάρχουν περιττές λειτουργίες Δομική απλότητα: τα σφάλματα μπορούν να απομονωθούν σε συγκεκριμένα αρθρώματα Απλότητα κώδικα: ο κώδικας μπορεί εύκολα να ελεγχθεί.

20 Λογισμικό που μπορεί να ελεγχθεί Ευστάθεια Το λογισμικό δεν αλλάζει συχνά Οι αλλαγές στο λογισμικό ελέγχονται Οι αλλαγές δεν αναιρούν προηγούμενους ελέγχους Προβλήματα στο λογισμικό δεν το αχρηστεύουν Τεκμηρίωση Κατανοητό σχέδιο λογισμικού Κατανόηση της δομής του λογισμικού και των σχέσεων των τμημάτων του Τεκμηρίωση των αλλαγών Εύκολη πρόσβαση στην τεκμηρίωση Καλή οργάνωση της τεκμηρίωσης

21 Κατηγορίες ελέγχων Στατικές τεχνικές (δεν απαιτούν την εκτέλεση του προγράμματος) Στατική ανάλυση (π.χ. Java bytecode verification) Επιθεώρηση (review) περιήγηση (walkthrough) επισκόπηση (inspection) Δυναμικές τεχνικές (βασίζονται στην εκτέλεση του προγράμματος) Συμβολική εκτέλεση Δυναμικός έλεγχος έλεγχος μονάδας (unit testing) έλεγχος συνένωσης (integration testing) έλεγχος συστήματος (system testing) έλεγχος αποδοχής (acceptance testing)

22 Στάδια εκτέλεσης ελέγχου Κώδικας μονάδας προγράμματος Κώδικας μονάδας προγράμματος Έλεγχος μονάδος Έλεγχος μονάδος Ελεγμένη μονάδα Ελεγμένη μονάδα Αρχιτεκτονικό και λεπτομερές σχέδιο Έλεγχος συνένωσης Λειτουργικές απαιτήσεις Ολοκληρωμένο σύστημα Έλεγχος λειτουργίας Λειτουργικό σύστημα Κώδικας μονάδας προγράμματος Έλεγχος μονάδος Ελεγμένη μονάδα Άλλες απαιτήσεις λογισμικού Απαιτήσεις και ανάγκες του πελάτη Περιβάλλον χρήστη Λειτουργικό σύστημα Έλεγχος εκτέλεσης Επικυρωμένο επαληθευμένο σύστημα Έλεγχος αποδοχής Αποδεκτό σύστημα Έλεγχος εγκατάστασης Σύστημα σε χρήση

23 Εμφάνιση Σφαλμάτων Προσδιορισμός Απαιτήσεων Λογισμικού Λανθασμένες ή ασαφείς απαιτήσεις Λανθασμένη ή ασαφής μεταφορά της απαίτησης στο σχέδιο Αρχιτεκτονικός Σχεδιασμός Λανθασμένος ή ασαφής σχεδιασμός Λεπτομερής Σχεδιασμός Λανθασμένος ή ασαφής σχεδιασμός Κακή ερμηνεία του αρχιτεκτονικού σχεδίου Κωδικοποίηση Κακή ερμηνεία του λεπτομερούς σχεδίου Κακή τεκμηρίωση Συντακτικά ή σημασιολογικά λάθη

24 Εμφάνιση Σφαλμάτων Έλεγχος Μονάδας Προγράμματος και Συνένωσης Ατελής διαδικασία ελέγχου Εισαγωγή νέων σφαλμάτων κατά τη διόρθωση παλιών Έλεγχος Συστήματος Ατελής διαδικασία ελέγχου Λειτουργία - Συντήρηση Λανθασμένη τεκμηρίωση χρήσης Αδυναμία χρηστών Εισαγωγή νέων σφαλμάτων κατά τη διόρθωση παλιών Αλλαγές στις απαιτήσεις

25 Σχέδιο ελέγχου Θυμηθείτε τη βασική αρχή ελέγχου: Η προετοιμασία των ελέγχων αρχίζει πολύ πριν την εφαρμογή τους (αμέσως μετά την ολοκλήρωση συγγραφής των απαιτήσεων από το λογισμικό!) Σενάριο ελέγχου Αναμενόμενο αποτέλεσμα Ο προγραµµατισµός αυτός καταγράφεται σε ένα έγγραφο, το σχέδιο ελέγχου (test plan) Περιέχει πληροφορίες για το σκοπό του ελέγχου που θα εκτελεστεί, τη στρατηγική που θα χρησιµοποιηθεί και τους αναγκαίους πόρους για τη διεκπεραίωση του. Καλό είναι να ετοιμάζεται πριν την παραγωγή του πηγαίου κώδικα και να διατίθεται σε όλους όσους συμμετέχουν στην ανάπτυξη του λογισµικού Διευκόλυνση εκτέλεσης ελέγχου Ετοιµασία και διάθεση αναγκαίων για τον έλεγχο εγγράφων Δυνατότητα έναρξης διαδικασίας ελέγχου πριν την ολοκλήρωση της παραγωγής του πηγαίου κώδικα

26 Σχέδιο ελέγχου (IEEE standard Std ) 1. Ταυτότητα εγγράφου 2. Εισαγωγή 1. Στόχοι 2. Υποδομή 3. Έκταση ελέγχου 4. Παραπομπές 3. Στοιχεία προς έλεγχο 4. Χαρακτηριστικά που θα ελεγχθούν 5. Χαρακτηριστικά που δε θα ελεγχθούν 6. Μεθοδολογία 7. Κριτήρια αποδοχής

27 Σχέδιο ελέγχου (IEEE standard Std ) 8. Κριτήρια ακύρωσης και προδιαγραφές επανάληψης ελέγχου 1. Ακύρωση ελέγχου 2. Επανάληψη ελέγχου 9. Παραδοτέα έγγραφα 10. Εργασίες ελέγχου 11. Περιβάλλον ελέγχου 12. Κατανομή ευθυνών για την εκτέλεση ελέγχου 1. Ομάδα διοίκησης ελέγχου 2. Ομάδα ανάπτυξης 3. Ομάδα ελέγχου

28 Σχέδιο ελέγχου (IEEE standard Std ) 13. Ανάγκες στελέχωσης και εκπαίδευσης προσωπικού 1. Προσωπικό 2. Εκπαίδευση 14. Χρονοδιάγραμμα ελέγχου 15. Αντιμετώπιση προβλημάτων (κίνδυνοι και απρόοπτα) 16. Εγκρίσεις

29 Τεκμηρίωση πραγματοποίησης ελέγχων Προδιαγραφές σχεδίου ελέγχου Προδιαγραφές περίπτωσης ελέγχου Αναγνωριστικό Τμήματα που θα δοκιμαστούν Καθορισμός εισόδων Καθορισμός αναμενόμενων αποτελεσμάτων Ανάγκες περιβάλλοντος Διαδικαστικές απαιτήσεις Εξαρτήσεις Προδιαγραφές διαδικασίας διεκπεραίωσης ελέγχου Έκθεση διαβίβασης οντοτήτων προς έλεγχο Ημερολόγιο ελέγχου Περιληπτική έκθεση ελέγχου

30 Αυτοματοποιημένος έλεγχος Πρέπει να προσπαθούμε οι έλεγχοι να εκτελούνται αυτόματα Έτσι μπορούν να εκτελούνται μετά από κάθε αλλαγή στο λογισμικό Έλεγχοι δομικών μονάδων μπορούν να περιλαμβάνονται στον κώδικα του προγράμματος

31 Διαχείριση λαθών Η διαχείριση των λαθών πρέπει να γίνεται οργανωμένα. Απαραίτητη μια ΒΔ ή ειδικό πρόγραμμα. Για κάθε σφάλμα ή πρόβλημα είναι χρήσιμα τα παρακάτω στοιχεία: Κωδικό αριθμό Τίτλο Πρόσωπο που το διαπίστωσε Σοβαρότητα Είδος (λάθος, πρόταση βελτίωσης, μη συμμόρφωση με της προδιαγραφές, χρηστικότητα κ.λπ.) Περιβάλλον Αναλυτική περιγραφή Συνοδευτικά στοιχεία

32 Διαχείριση λαθών Υποσύστημα Ημερομηνία εισαγωγής στο σύστημα Υπεύθυνος αποκατάστασης Ημερομηνία ανάθεσης Ημερομηνία αποκατάστασης Προτεραιότητα Σημειώσεις Αλλα σχετικά λάθη Κατάσταση (ανοιχτό, κλειστό, υπό εξέταση, δε διαπιστώθηκε) Έκδοση του κώδικα που εμφανίστηκε Έκδοση του κώδικα που διορθώθηκε

33 Τεχνικές ελέγχου Αρχή ελέγχου µιας εφαρµογής λογισµικού: εκτελείται ένα τµήµα αυτής µε ένα σύνολο από δεδοµένα εισόδου για τα οποία τα αποτελέσµατα είναι γνωστά και, αν τα αποτελέσµατα που λαµβάνονται από την εκτέλεση ΔΕΝ είναι ίδια µε τα αναµενόµενα, τότε το τµήµα αυτό έχει σφάλµατα. Δοκιµή µονάδας Η εκτέλεση µιας µονάδας λογισμικού µε δεδοµένα εισόδου για τα οποία τα αποτελέσµατα εξόδου είναι γνωστά λέγεται «δοκιµή» (test) της µονάδας. Δοκιµές που γίνονται µε διαφορετικά δεδοµένα θεωρούνται διαφορετικές Τα δεδοµένα εισόδου και εξόδου που χρησιµοποιούνται κατά τις δοκιµές λέγονται δοκιµαστικά δεδοµένα (test data)

34 Τεχνικές ελέγχου Περίπτωση ελέγχου (test case) Σύνολο από: Δοκιµαστικά δεδοµένα Συνθήκες εκτέλεσης Αναµενόµενα αποτελέσματα που έχουν σχεδιαστεί µε ένα συγκεκριµένο σκοπό, όπως το να καλύψουν ένα µονοπάτι εκτέλεσης του λογισµικού ή να επικυρώσουν τη συµφωνία µε µια συγκεκριµένη απαίτηση από αυτό.

35 Ροή ελέγχου μονάδας λογισμικού Σχεδιασμός περιπτώσεων ελέγχου ορισμός δοκιµαστικών δεδοµένων, συνθηκών εκτέλεσης και αναµενόµενων αποτελεσμάτων εξόδου για κάθε δοκιµή Εκτέλεση λογισµικού µε τα δοκιµαστικά δεδοµένα κάθε περίπτωσης ελέγχου, λήψη και καταγραφή αποτελεσμάτων και σύγκριση με τα αναµενόµενα αποτελέσµατα των αντίστοιχων περιπτώσεων ελέγχου Σύνταξη απαραίτητων αναφορών ελέγχου Δεν είναι δυνατόν να δοκιµαστούν όλες οι περιπτώσεις ελέγχου Αν δεν αποκαλύπτεται σφάλμα, δε σημαίνει απαραίτητα ότι δεν υπάρχει! Σχεδιασμός περιπτώσεων ελέγχου Επιλογή δοκιμαστικών δεδομένων Εκτέλεση της οντότητας /στοιχείου Σύγκριση αποτελεσμάτων με αναμενόμενα Περιπτώσεις ελέγχου Δοκιμαστικά δεδομένα Αποτελέσματα Αναφορές ελέγχου

36 Πώς βλέπω τα αντικείμενα ελέγχου? Πρόγραμμα: Συνάρτηση απεικόνισης από το χώρο όλων των πιθανών εισόδων στο χώρο όλων των πιθανών λύσεων... Πλήρης έλεγχος είναι συνήθως ανέφικτος!

37 Στρατηγικές δυναμικού ελέγχου Στρατηγική μαύρου κουτιού (black box testing) Ελέγχουμε το λογισμικό ως ένα σύστημα με γνωστές προδιαγραφές αλλά άγνωστη υλοποίηση μαύρο κουτί! Στρατηγική άσπρου κουτιού (white box testing) ή γυάλινου κουτιού (glass box testing) Ελέγχουμε το λογισμικό με βάση την εσωτερική δομή του όλα διάφανα! Δεν μπορούμε όμως να βρούμε: Μη συμμόρφωση με τις προδιαγραφές Μονοπάτια που απουσιάζουν Λάθη που αποκαλύπτονται με ειδικές τιμές δεδομένων

38 Στρατηγικές δυναμικού ελέγχου Στρατηγική μαύρου κουτιού (black box testing) μπορούμε να βρούμε: Λειτουργικότητα που απoυσιάζει ή έχει υλοποιηθεί με λανθασμένο τρόπο Λάθη διεπαφών Λάθη σε δομές δεδομένων και πρόσβαση στην εξωτερική βάση δεδομένων Προβλήματα απόδοσης Λάθη κατά την εκκίνηση και τον τερματισμό Στρατηγική άσπρου κουτιού (white box) ή γυάλινου κουτιού (glass box) μπορούμε να βρούμε: Λογικά λάθη σε μέρη του προγράμματος που σπάνια εκτελούνται Λάθη σε λογικές διαδρομές του προγράμματος που θεωρούμε πως δεν θα έπρεπε να εκτελούνται Τυπογραφικά λάθη σε μέρη του προγράμματος που σπάνια εκτελούνται

39 Στρατηγικές δυναμικού ελέγχου Στρατηγική μαύρου κουτιού (black box testing) Για διάστημα τιμών δοκιμάζουμε την ελάχιστη επιτρεπτή και μέγιστη μη επιτρεπτή για το άνω και κάτω όριο τιμών Για πλήθος στοιχείων δοκιμάζουμε το μικρότερο και μεγαλύτερο πλήθος καθώς και ένα μικρότερο και ένα μεγαλύτερο από τον αριθμό αυτό Δημιουργούμε τιμές εισόδου που να παράγουν αντίστοιχες αντιπροσωπευτικές τιμές από τα τελικά αποτελέσματα Στρατηγική άσπρου κουτιού (white box) ή γυάλινου κουτιού (glass box) Κάθε εντολή να εκτελεστεί μια τουλάχιστο φορά Κάθε συνθήκη πρέπει να ελέγχεται για κάθε συνδυασμό αληθών και ψευδών τιμών Κάθε βρόχος πρέπει να εκτελείται 0, 1, 2, n-1, n, και n+1 φορές

40 Στρατηγική μαύρου κουτιού Βασίζεται στις προδιαγραφές της µονάδας λογισµικού που πρόκειται να ελεγχθεί Η συμπεριφορά του συστήματος «μαύρου κουτιού» μελετάται µόνο από τις εισόδους και τα αποτελέσµατα που αντιστοιχούν σε αυτές Δεν γνωρίζουμε τίποτα για την εσωτερική οργάνωση Δύσκολο να επιλέξουμε αντιπροσωπευτικές περιπτώσεις ελέγχου Μπορούμε μόνο να μοντελοποιήσουμε καλά τον έλεγχο αλληλεπίδρασης με άλλα συστατικά Αν είχαμε δυνατότητα άπειρων ελέγχων?

41 Στρατηγική μαύρου κουτιού Έλεγχος με τα δοκιμαστικά δεδομένα που ανήκουν στο σύνολο Α και που προκαλούν ανώµαλη συµπεριφορά του συστήµατος ΟΜΩΣ πάρα πολλά δεδομένα! ΑΡΑ χρειάζεται επιλογή κάποιων test cases που έχουν µεγάλη πιθανότητα να αποκαλύψουν σφάλµατα στην ελεγχόµενη μονάδα Δοκιμαστικά δεδομένα εισόδου Παρατηρούμενα δεδομένα εξόδου Α Ελεγχόμενη μονάδα Β Δοκιμαστικά δεδομένα που προκαλούν ανώμαλη συμπεριφορά Αποτελέσματα εξόδου που αποκαλύπτουν ύπαρξη σφαλμάτων

42 Προσεγγίσεις επιλογής test cases Προσέγγιση ισοδύναμης διαμέρισης Προσέγγιση συνοριακών τιμών Προσέγγιση αιτίου-αποτελέσματος Προσέγγιση μαντέματος

43 Ισοδύναμη διαμέριση Τα δεδομένα εισόδου σε ένα σύστημα λογισμικού και τα αποτελέσματα εξόδου συνήθως κατηγοριοποιούνται σε διαφορετικές κλάσεις όπου όλα τα μέλη μιας κλάσης σχετίζονται μεταξύ τους έχουν κοινά χαρακτηριστικά (π.χ. θετικοί αριθμοί, συμβολοσειρές χωρίς κενά κτλ.) Κάθε μία από αυτές τις κλάσεις είναι μία κλάση ισοδύναμων τιμών (equivalence partition) όπου το λογισμικό συμπεριφέρεται με ισοδύναμο τρόπο για κάθε μέλος της κλάσης Ολόκληρο το σύνολο δεδομένων (η ένωση όλων των κλάσεων) υπηρετεί την πληρότητα και το μη πλεονασμό Τα test cases πρέπει να επιλέγονται από κάθε διαμέριση/κλάση μείωση πλήθους test cases στο πλήθος των κλάσεων ισοδύναμων τιμών! Αρκεί ένα δεδομένο μιας κλάσης!

44 Ισοδύναμη διαμέριση Διάκριση κλάσεων ισοδύναµων τιµών σε: «κλάσεις ισοδύναµων τιµών εισόδου» με δοκιμαστικά δεδομένα εισόδου Έγκυρες κλάσεις ισοδύναµων τιµών εισόδου προκαλούν οµαλή λειτουργία της μονάδας που ελέγχεται Άκυρες κλάσεις ισοδύναµων τιµών εισόδου δεν προκαλούν οµαλή λειτουργία της μονάδας που ελέγχεται «κλάσεις ισοδύναµων τιµών εξόδου» με παρατηρούμενα δεδομένα εξόδου (αποτελέσµατα εκτέλεσης) Ο προσδιορισµός των κλάσεων ισοδύναµων τιµών εισόδου βασίζεται στους περιορισµούς που υπάρχουν στα δεδοµένα εισόδου (συνθήκες εισόδου). Από τις συνθήκες εισόδου µπορούν να παραχθούν κλάσεις ισοδύναµων τιµών µε έναν ευριστικό (δηλαδή αυθαίρετο και πρακτικά σωστό) τρόπο

45 Ισοδύναμη διαμέριση Invalid inputs Valid inputs System Outputs

46 Οδηγίες για προσδιορισμό ισοδύναμων κλάσεων 1. Αν μία συνθήκη εισόδου προδιαγράφει εύρος τιμών, τότε απαιτούνται μία έγκυρη (το δεδομένο εισόδου ανήκει στο συγκεκριμένο διάστημα) και δύο άκυρες κλάσεις ισοδύναμων τιμών (το δεδομένο εισόδου δεν ανήκει στο συγκεκριμένο διάστημα) 2. Αν μία συνθήκη απαιτεί μία συγκεκριμένη τιμή, τότε απαιτούνται μία έγκυρη και δύο άκυρες κλάσεις ισοδύναμων τιμών 3. Αν µια συνθήκη εισόδου προδιαγράφει πλήθος και τη µέγιστη τιµή του, τότε απαιτούνται µια έγκυρη κλάση ισοδύναµων τιµών (το δεδοµένο εισόδου να είναι µεγαλύτερο του µηδενός και το πολύ ίσο µε τη µέγιστη τιµή του) και δυο άκυρες κλάσεις (το δεδοµένο εισόδου δεν ανήκει στο προηγούµενο διάστηµα) 4. Αν µια συνθήκη προδιαγράφει ένα σύνολο από τιµές για τις οποίες υπάρχει η υπόνοια ότι η προς έλεγχο οντότητα τις µεταχειρίζεται διαφορετικά τότε υπάρχουν τόσες έγκυρες κλάσεις ισοδύναµων τιµών όσες είναι οι τιµές του συνόλου και µια άκυρη κλάση µε µια µόνο τιµή τέτοια που να είναι διαφορετική από τις τιµές του συνόλου αυτού. 5. Αν μία συνθήκη εισόδου είναι δυαδική, τότε απαιτούνται μία έγκυρη και μία άκυρη κλάση ισοδύναμων τιμών

47 Επιλογή περιπτώσεων ελέγχου Μέχρι να καλυφθούν όλες οι έγκυρες κλάσεις από περιπτώσεις ελέγχου, ορίζεται µια καινούρια περίπτωση ελέγχου που να καλύπτει όσο γίνεται περισσότερες από τις ακάλυπτες έγκυρες κλάσεις Μέχρι να καλυφθούν οι άκυρες κλάσεις από περιπτώσεις ελέγχου, ορίζεται µια καινούρια περίπτωση ελέγχου που να καλύπτει μία και μόνο μία από τις ακάλυπτες άκυρες κλάσεις

48 Παράδειγμα Έστω μία προδιαγραφή προγράμματος δηλώνει ότι το πρόγραμμα δέχεται από 4 μέχρι 10 εισόδους που είναι πενταψήφιοι ακέραιοι μεγαλύτεροι από Ποιες είναι οι διαμερίσεις για αυτή την κατάσταση και οι δυνατές δοκιμαστικές τιμές εισόδου?

49 Προσέγγιση συνοριακών τιμών Συνοριακές τιµές (boundary values) σε µια κλάση ισοδύναµων τιµών είναι οι τιµές των άκρων της κλάσης Χρειάζεται προσοχή! Συνήθως κατά την ανάπτυξη εφαρµογής λογισµικού λαμβάνονται υπόψη μόνο οι τυπικές τιµές για τα δεδοµένα εισόδου και παραβλέπονται οι συνοριακές τιµές Αυτές όμως οδηγούν σε πολλά σφάλματα!!!! ΑΡΑ πρέπει να ελέγχονται! ΕΠΟΜΕΝΩΣ επιπλέον ορίζονται: Έγκυρες περιπτώσεις ελέγχου για τα άκρα του πεδίου ορισμού Άκυρες περιπτώσεις ελέγχου εκτός των άκρων

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

51 Προσέγγιση αιτίου-αποτελέσματος Χρήση γράφου που έχει: στους αρχικούς κόµβους αίτια στους ενδιάµεσους κόμβους περιορισµούς στους τελικούς κόμβους αποτελέσµατα Δημιουργία πίνακα απόφασης (decision table) από τον οποίο µπορούν µηχανιστικά να παραχθούν περιπτώσεις ελέγχου. Πλεονέκτηµα: θεωρεί συνδυασµούς συνθηκών εισόδου και οι παραγόµενες περιπτώσεις ελέγχου είναι πολύ αποτελεσµατικές ΑΛΛΑ κάποιες φορές πολύ µεγάλος γράφος και άβολος

52 Προσέγγιση μαντέματος Επιλογή περιπτώσεων ελέγχου ικανές να αποκαλύπτουν σφάλµατα στο λογισµικό τυχαία, μαντεύοντας... Όχι πολύ επιστημονική μεθοδολογία... ΑΛΛΑ ιδιαίτερα αποτελεσματική αν το συγκεκριμένο άτομο έχει πείρα και γνώσεις!

53 Στρατηγική γυάλινου κουτιού Γνωστή και ορατή η δοµή και ο τρόπος λειτουργίας του λογισμικού Μπορούμε να επιλέξουμε χαρακτηριστικές περιπτώσεις ελέγχου Πάντως και πάλι δύσκολο να τις ελέγξουμε όλες... Η επιλογή των περιπτώσεων ελέγχου γίνεται µετά από µελέτη του κώδικα και της δοµής τής υπό έλεγχο οντότητας. Απαραίτητα για την εργασία αυτή είναι το λεπτοµερές σχέδιο της υπό έλεγχο μονάδας λογισμικού και ο πηγαίος της κώδικας Δοκιμαστικά δεδομένα Εκτέλεση ελέγχων Παραγωγή Ελεγχόμενος πηγαίος κώδικας Δοκιμαστικά δεδομένα

54 Επιλογή περιπτώσεων ελέγχου Κριτήρια κάλυψης για την επιλογή περιπτώσεων ελέγχου: Εκτέλεση τουλάχιστον μία φορά όλων των ανεξάρτητων µονοπατιών εκτέλεσης του ελεγχόµενου κώδικα Εκτέλεση τουλάχιστον μία φορά όλων των διακλαδώσεων ροής µε εντολές τύπου if, then, else και για την περίπτωση αληθούς συνθήκης και της ψευδούς. Εκτέλεση όλων των βρόχων επανάληψης και για οριακές τιµές επαναλήψεων, και για αριθµό επαναλήψεων εντός των ορίων. Παράδειγµα: ένας βρόγχος µε µέγιστο αριθµό επαναλήψεων ν θα πρέπει να εκτελεστεί για 0, 1, 2, µ (όπου µ < ν), ν-1, ν και ν + 1 επαναλήψεις.

55 Παράδειγμα Υπολογισμός εμβαδού ενός τριγώνου με βάση τα μήκη των τριών πλευρών του Σύνολο περιπτώσεων ελέγχου που να καλύπτουν και τους δύο κλάδους απόφασης (true, false) όλων των εντολών διακλάδωσης.

56 Κώδικας παραδείγματος Procedure TriangleSurface(a,b,c: real; var e:real; var flag: integer); Var t: real; Begin Flag:=0; e:=-1.0; If (a<=0) or (b<=0) or (c<=0) then Flag:=1 Else If (a>=b+c) or (b=>a+c) or (c=>a+b) then Flag:=1 Else Begin t:=(a+b+c)/2; e:=sqrt(t*(t-a)*(t-b)*(t-c)); End; End;

57 Πηγές, Acknowledgement Β. Βεσκούκης «Τεχνολογία Λογισμικού Ι», ΕΑΠ, ΠΑΤΡΑ, 2000 Χ. Αντωνόπουλος «Ανάπτυξη και Σχεδίαση Λογισμικού», Τμήμα Μηχ. Η/Υ, Τηελεπικοινωνιών και Δικτύων, Παν. Θεσσαλίας, 2007 S. L. Pfleeger, «Τεχνολογία Λογισμικού Θεωρία και πράξη», 2η έκδοση, Τόμοι Α και Β (μετάφραση, εκδ. Κλειδάριθμος) I. Sommerville, «Βασικές αρχές Τεχνολογίας Λογισμικού», 8 η αγγλική έκδοση (μετάφραση, εκδ. Κλειδάριθμος) Roger S. Pressman. Software Engineering - A Practitioner's Approach. McGraw-Hill, 6 th edition, 2005 Ε. Σκορδαλάκης, «Εισαγωγή στην Τεχνολογία Λογισμικού», Εκδόσεις Συμμετρία, 1991 Εμμ. Α. Γιακουμάκης, «Τεχνολογία Λογισμικού: Κωδικοποίηση, έλεγχος και συντήρηση λογισμικού», Εκδόσεις Α. Σταμούλης, 1993

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Έλεγχος Λογισμικού Προβλήματα Λογισμικού 2 Μια ματιά στα παλιά: Σφάλμα: Ελάττωμα: Ανθρώπινο λάθος (σε προδιαγραφές, τεκμηρίωση κλπ) «Κωδικοποίηση του σφάλματος» στο

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

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

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

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

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

Έλεγχος Λογισμικού. Software Testing

Έλεγχος Λογισμικού. Software Testing Έλεγχος Λογισμικού Software Testing Γενικά ΣΤΑΤΙΚΟΣ ΕΛΕΓΧΟΣ: Ο κώδικας εξετάζεται για τον εντοπισμό λαθών ή αδυνάμων σημείων ΔΥΝΑΜΙΚΟΣΕΛΕΓΧΟΣ: Ένα συστατικό κώδικα εκτελείται µε ένα σύνολο από δεδομένα

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

Έλεγχος Προγραμμάτων και Συστήματος

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

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

οκιμασία και πλάνο δοκιμασίας

οκιμασία και πλάνο δοκιμασίας οκιμασία και πλάνο ς Γιάννης Σμαραγδάκης Η επιχειρεί να απαντήσει Κάνει το λογισμικό αυτό που υποτίθεται; Πότε μπορεί να έχει πρόβλημα; Πόσο γρήγορα τρέχει; Πόσο ακριβή είναι τα αποτελέσματα; Όταν έχει

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

Τεχνολογία λογισμικού στην πράξη

Τεχνολογία λογισμικού στην πράξη Τεχνολογία λογισμικού στην πράξη Έλεγχος λογισμικού Διομήδης Σπινέλλης Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών dds@aueb.gr http://www.dmst.aueb.gr/dds @CoolSWEng 2016-06-27

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

Κωδικοποίηση και Έλεγχος Ορθότητας

Κωδικοποίηση και Έλεγχος Ορθότητας Κωδικοποίηση και Έλεγχος Ορθότητας περιεχόμενα περουσίασης Κωδικοποίηση Πρότυπα και διαδικασίες κωδικοποίησης Τεκμηρίωση Διαχείριση εκδόσεων Έλεγχος ορθότητας λογισμικού κωδικοποίηση διαχείριση εκδόσεων

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

ΚΕΦΑΛΑΙΟ 11 ΕΛΕΓΧΟΣ ΚΑΙ ΔΙΟΡΘΩΣΗ ΣΦΑΛΜΑΤΩΝ. Έννοιες-κλειδιά

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 18/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

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

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

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

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

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 9/10/2017 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μοντέλα Κύκλου

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 10/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

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

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης Συγγραφή κώδικα, δοκιμασία, επαλήθευση Γιάννης Σμαραγδάκης Προδιαγραφή απαιτήσεων Σχεδιασμός συνεπείς σχέσεις Υψηλό επίπεδο συνεπείς σχέσεις Χαμηλό επίπεδο συνεπείς σχέσεις Πλάνο δοκιμών Κώδικας Συγγραφή

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

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

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

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

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

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

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

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

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

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

Εισαγωγή στη Σχεδίαση Λογισμικού

Εισαγωγή στη Σχεδίαση Λογισμικού Εισαγωγή στη Σχεδίαση Λογισμικού περιεχόμενα παρουσίασης Τι είναι η σχεδίαση λογισμικού Έννοιες σχεδίασης Δραστηριότητες σχεδίασης Σχεδίαση και υποδείγματα ανάπτυξης λογισμικού σχεδίαση Η σχεδίαση του

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

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

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

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

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

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

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

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού 14/11/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μοντέλα Παράστασης

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

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

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

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

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα #5 : Έλεγχος ορθής λειτουργίας λογισμικού Σταμέλος Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Αρχιτεκτονική Λογισμικού

Αρχιτεκτονική Λογισμικού Αρχιτεκτονική Λογισμικού περιεχόμενα παρουσίασης Τι είναι η αρχιτεκτονική λογισμικού Αρχιτεκτονική και απαιτήσεις Σενάρια ποιότητας Βήματα αρχιτεκτονικής σχεδίασης Αρχιτεκτονικά πρότυπα Διαστρωματωμένη

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

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

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

12 Έλεχος και επαλήθευση λογισμικού

12 Έλεχος και επαλήθευση λογισμικού 12 Έλεχος και επαλήθευση λογισμικού Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Πώς εξασφαλίζουμε ότι το λογισμικό είναι σύμφωνο

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΜΟΣ Κεφάλαιο 10 : Εντολές επιλογής και αποφάσεων 1 ο Φύλλο Εργασιών Εισαγωγικές ασκήσεις για την εντολή if ΑΠΑΝΤΗΣΕΙΣ 1. Ποιες από τις παρακάτω εντολές είναι σωστές; α) if A + B

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

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 25 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing)

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

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων περιεχόμενα παρουσίασης Προδιαγραφές Απαιτήσεων Έγγραφο Προδιαγραφών Απαιτήσεων λογισμικού (ΕΠΑΛ) Επικύρωση απαιτήσεων Ιχνηλάτηση απαιτήσεων προδιαγραφές απαιτήσεων

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

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

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

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

10α Έλεγχος και επαλήθευση λογισμικού

10α Έλεγχος και επαλήθευση λογισμικού 10α Έλεγχος και επαλήθευση λογισμικού Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr

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

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

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

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

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

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

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

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού Πρόλογος...21 μέρος A Εισαγωγή στην Τεχνολογία Λογισμικού 1 Εισαγωγή στην Τεχνολογία Λογισμικού 1.1 Το λογισμικό...25 1.1.1 Ο ρόλος και η σημασία του λογισμικού...26 1.1.2 Οικονομική σημασία του λογισμικού...28

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

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

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

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα

8 Τεχνικός Εφαρμογών Πληροφορικής με Πολυμέσα Περιεχόμενα Πρόλογος... 9 Κεφάλαιο 1: Δομή και λειτουργία του υπολογιστή... 11 Κεφάλαιο 2: Χρήση Λ.Σ. DOS και Windows... 19 Κεφάλαιο 3: Δίκτυα Υπολογιστών και Επικοινωνίας... 27 Κεφάλαιο 4: Unix... 37

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 4ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 ΟΙ ΤΕΛΕΣΤΕΣ ΣΥΓΚΡΙΣΗΣ Με τους τελεστές σύγκρισης, συγκρίνουμε τις

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

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος 2012-13 Κων/νος Φλώρος Απλοί τύποι δεδομένων Οι τύποι δεδομένων προσδιορίζουν τον τρόπο παράστασης των

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

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

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

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

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

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

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων 1 Είσοδος/Έξοδος Είσοδος/Έξοδος ανάλογα με τον τύπο του προγράμματος Πρόγραμμα

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

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

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

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

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

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

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

Μεταγλωττιστές Βελτιστοποίηση

Μεταγλωττιστές Βελτιστοποίηση Μεταγλωττιστές Βελτιστοποίηση Νίκος Παπασπύρου nickie@softlab.ntua.gr Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχ. Υπολογιστών Εργαστήριο Τεχνολογίας Λογισμικού Πολυτεχνειούπολη, 15780

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

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

Διαδικασίες παραγωγής λογισμικού. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 4 Διαδικασίες παραγωγής λογισμικού Στόχοι Παρουσίαση μοντέλων παραγωγής λογισμικού Περιγραφή τριών γενικών μοντέλων παραγωγής λογισμικού και πότε μπορούν να χρησιμοποιούνται Γενική περιγραφή των μοντέλων

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

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

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΔΟΜΗΜΕΝΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Γ ΕΠΑΛ ΘΕΜΑ Α Α.1 Να χαρακτηρίσετε σωστή (Σ) ή λανθασμένη (Λ) καθεμία από τις παρακάτω προτάσεις (Μονάδες 10) 1. Ένας αλγόριθμος μπορεί να έχει άπειρα βήματα

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

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού Τεχνολογία Λογισμικού Προαπαιτήσεις Γνώση Αρχών Προγραμματισμού Γνώση Γλώσσας Προγραμματισμού (C++, Java, Pascal) Χρήση Η/Υ (Σχεδίαση, Επεξ. Κειμένου) Κριτική και Συνθετική Ικανότητα Σκοπός μαθήματος Γνωριμία

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας Μ.Στεφανιδάκης Ενσωματωμένα Συστήματα: Απαιτήσεις Αξιοπιστία (reliability) Χρηστικότητα

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

Εισαγωγή στην. Γιάννης Σμαραγδάκης

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

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos

ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ. Γ Λυκείου Κατεύθυνσης Mike Trimos ΛΟΓΙΚΑ ΔΙΑΓΡΑΜΜΑΤΑ Γ Λυκείου Κατεύθυνσης Mike Trimos Βήματα Ανάπτυξης ενός Συστήματος 1.Ορισμός και κατανόηση του προβλήματος 2.Ανάλυση του προβλήματος 3.Σχεδιασμός Αλγοριθμικής Λύσης 4.Κωδικοποίηση 5.Διόρθωση

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

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

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

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

Pascal, απλοί τύποι, τελεστές και εκφράσεις

Pascal, απλοί τύποι, τελεστές και εκφράσεις Pascal, απλοί τύποι, τελεστές και εκφράσεις 15 Νοεμβρίου 2011 1 Γενικά Στην standard Pascal ορίζονται τέσσερις βασικοί τύποι μεταβλητών: integer: Παριστάνει ακέραιους αριθμούς από το -32768 μέχρι και το

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

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

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

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι

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

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

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

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

Η αξία της έρευνας ευπαθειών στις δοκιμές παρείσδυσης. Δρ Πάτροκλος Αργυρούδης argp@census.gr / Ερευνητής Ασφάλειας Η/Υ

Η αξία της έρευνας ευπαθειών στις δοκιμές παρείσδυσης. Δρ Πάτροκλος Αργυρούδης argp@census.gr / Ερευνητής Ασφάλειας Η/Υ Η αξία της έρευνας ευπαθειών στις δοκιμές παρείσδυσης Δρ Πάτροκλος Αργυρούδης argp@census.gr / Ερευνητής Ασφάλειας Η/Υ Λίγα λόγια για τη Census Παροχή εξειδικευμένων υπηρεσιών ασφάλειας Η/Υ που απαιτούν

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

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

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

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

Δομές ελέγχου ροής προγράμματος

Δομές ελέγχου ροής προγράμματος Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής

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

8 FORTRAN 77/90/95/2003

8 FORTRAN 77/90/95/2003 ΠΕΡΙΕΧΟΜΕΝΑ ΚΕΦΑΛΑΙΟ 1: Εισαγωγή... 17 1.1. Ανασκόπηση της ιστορίας των υπολογιστών... 18 1.2. Πληροφορία και δεδομένα... 24 1.3. Ο Υπολογιστής... 26 1.4. Δομή και λειτουργία του υπολογιστή... 28 1.5.

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Κώδικας μηχανής (E) Ο επεξεργαστής μπορεί να εκτελέσει το αρχιτεκτονικό σύνολο εντολών (instruction set architecture) Οι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΣΚΗΣΕΙΣ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΡΩΤΗΣΕΙΣ ΣΩΣΤΟ ΛΑΘΟΣ Σημειώστε αν είναι σωστή ή

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

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

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

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

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

ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΕΞΕΤΑΣΗΣ Το αναλυτικό πρόγραμμα στο οποίο βασίζεται η εξέταση είναι το αναλυτικό πρόγραμμα του Μαθήματος Κατεύθυνσης Πληροφορική Επιστήμη Η.Υ της Γ Ενιαίου Λυκείου Γενικός Σκοπός Το μάθημα κατεύθυνσης της στη Γ'

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

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

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

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

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

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

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

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού: Αυτοµατοπιηµένος Έλεγχος Λογισµικού

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού: Αυτοµατοπιηµένος Έλεγχος Λογισµικού Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού: Αυτοµατοπιηµένος Έλεγχος Λογισµικού Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 7 2 Ποιότητες που ενδιαφέρουν

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

Δοκιμή και Αποσφαλμάτωση Testing and Debugging

Δοκιμή και Αποσφαλμάτωση Testing and Debugging Δοκιμή και Αποσφαλμάτωση Testing and Debugging XVI-1 Ο μεταγλωττιστής εντοπίζει τα συντακτικά λάθη ενός προγράμματος. Δεν είναι όμως σε θέση να εντοπίσει λάθη στη λογική του προγράμματος. δεδομένα πρόγραμμα

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

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL) Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

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

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

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

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3.

ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α A1. 2-Λάθος 3-Λάθος 4-Σωστό 5-Λάθος A2. integer. real. Boolean. char. string A3. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΕΠΑΛ (ΟΜΑΔΑ Α ) & ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΘΕΜΑ Α A1. ΚΥΡΙΑΚΗ 16/04/2014- ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΔΕΚΑΠΕΝΤΕ (15) ΑΠΑΝΤΗΣΕΙΣ 1-Σωστό

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

Αρχές Προγραμματισμού Υπολογιστών

Αρχές Προγραμματισμού Υπολογιστών Αρχές Προγραμματισμού Υπολογιστών Ανάπτυξη Προγράμματος Β ΕΠΑΛ Τομέας Πληροφορικής Βελώνης Γεώργιος Καθηγητής Πληροφορικής ΠΕ20 Κύκλος ανάπτυξης προγράμματος/λογισμικού Η διαδικασία ανάπτυξης λογισμικού,

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

Θέματα ποιότητας (1/5)

Θέματα ποιότητας (1/5) Θέματα ποιότητας (1/5) Καλό λογισμικό ποιότητα Ποιότητα: Προϊόντος Σε σχέση με διεργασίες του επιχειρηματικού περιβάλλοντος 1 Θέματα ποιότητας (2/5) Άποψη χρηστών με βάση τη λειτουργικότητα, τις αστοχίες,

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 24/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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

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

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης Περιπτώσεις Χρήσης περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης περιπτώσεις χρήσης Τι θα κάνει το λογισμικό για κάποιον

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

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας» M. Σπανάκης, Μ. Τσικνάκης Εαρινό Εξάμηνο 2014 Μάθημα 1 Παρουσίαση Εργασίας και Εισαγωγή στην ανάλυση απαιτήσεων Εισαγωγή Αρχική συζήτηση αναφορικά με την ανάλυση

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

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. i. Η συνθήκη α > β ή α <= β α) είναι πάντα Αληθής β) είναι πάντα Ψευδής γ) δεν υπολογίζεται δ) τίποτα από τα προηγούμενα

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ. i. Η συνθήκη α > β ή α <= β α) είναι πάντα Αληθής β) είναι πάντα Ψευδής γ) δεν υπολογίζεται δ) τίποτα από τα προηγούμενα ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΟΚΤΩΒΡΙΟΣ 2017 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ) ΘΕΜΑ Α : A1. Να γράψετε στο φύλλο απαντήσεων τον αριθμό καθεμιάς

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΠΛΗΡΟΦΟΡΙΚΗ ΣΤΟ ΕΝΙΑΙΟ ΛΥΚΕΙΟ ΑΝΑΛΥΤΙΚΟ ΠΡΟΓΡΑΜΜΑ Μάθηµα Κατεύθυνσης Πληροφορική Επιστήµη Η.Υ. Γ Ενιαίου Λυκείου ΟΚΤΩΒΡΙΟΣ 2005 1 Αναλυτικό Πρόγραµµα Μάθηµα Κατεύθυνσης:

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

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η Υλοποίηση στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Πρωτοτυποποίηση Προγραµµατισµός υλοποίησης Ανάπτυξη συστήµατος Μοναδιαίος έλεγχος Ολοκλήρωση 2 3 Η υλοποίηση

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού

Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Μεταγλωττιστής Πρόγραμμα Διαβάζει προγράμματα δεδομένης γλώσσας (πηγαία γλώσσα) και τα μετατρέπει

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

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό 5 ο Εργαστήριο Λογικοί Τελεστές, Δομές Ελέγχου Λογικοί Τελεστές > μεγαλύτερο = μεγαλύτερο ή ίσο!= διαφορετικό Οι λογικοί τελεστές χρησιμοποιούνται για να ελέγξουμε

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

Computing. Νοέμβριος Έκδοση 1.0

Computing. Νοέμβριος Έκδοση 1.0 Computing Νοέμβριος 2017 Έκδοση 1.0 Ενότητα Computing Αυτή η ενότητα παραθέτει τις βασικές έννοιες και δεξιότητες που σχετίζονται με την ικανότητα χρήσης υπολογιστικής σκέψης (computational thinking) και

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