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

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

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

Transcript

1 Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ-ΑΠΑΝΤΗΣΕΙΣ Άσκηση 1 Περιπτώσεις χρήσης (ΠΧ) συστήματος Video Club Ένα σύστημα λογισμικού για τη διαχείριση «Video Club» περιλαμβάνει τους ακόλουθους χρήστες: 1. Ταμίας. 2. Πελάτης. 3. Διαχειριστής. 4. Σύστημα εξουσιοδότησης πληρωμής με χρήση πιστωτικής κάρτας. Το σύστημα αυτό θα πρέπει να υποστηρίζει τις ακόλουθες λειτουργίες: 1. Εισαγωγή στο σύστημα (log in). 2. Ενοικίαση (ταινίες, παιχνίδια). 3. Διαχείριση συνδρομών πελατών. 4. Διαχείριση υλικού (ταινίες, παιχνίδια). 5. Διαχείριση χρηστών. 6. Πληρωμή. 7. Πληρωμή με πιστωτική κάρτα. 8. Πληρωμή με μετρητά. 9. Πληρωμή επιβάρυνσης λόγω καθυστέρησης επιστροφής. Όλοι οι χρήστες πρέπει να κάνουν log in πριν χρησιμοποιήσουν οποιαδήποτε άλλη λειτουργία. Οι πελάτες μπορούν να πληρώνουν ή να διαχειριστούν τη συνδρομή τους μόνοι τους ή με τη βοήθεια του ταμία, αλλά δε μπορούν να ενοικιάσουν ταινίες χωρίς τη βοήθεια του ταμία. Για την πληρωμή μπορεί να χρησιμοποιηθεί και ειδικό υπο-σύστημα διαχείρισης πιστωτικών καρτών. Ο διαχειριστής είναι απλά υπεύθυνος για το υλικό και τους χρήστες. α) Με βάση την ανωτέρω περιγραφή, συμπληρώστε κατάλληλα τον ακόλουθο πίνακα που αναγράφει ποιος (χρήστης) κάνει τι (ποια λειτουργία): Χρήστης Ταμίας Ταμίας Λειτουργία Εισαγωγή στο σύστημα (log in).. Απάντηση Στο σύστημα «Video Club» αντιστοιχεί ο ακόλουθος πίνακας χρηστών-λειτουργιών. Χρήστης Όλοι Tαμίας Ταμίας, Πελάτης, Διαχειριστής Διαχειριστής Διαχειριστής Ταμίας, Πελάτης Στόχος Εισαγωγή στο σύστημα (log in) Ενοικίαση (ταινίες, παιχνίδια) Διαχείριση συνδρομών πελατών Διαχείριση υλικού (ταινίες, παιχνίδια) Διαχείριση χρηστών Πληρωμή ΠΛΗ24 Σχεδιασμός Λογισμικού 1

2 Ταμίας, Πελάτης Ταμίας, Πελάτης, Υπηρεσία Διαχείρισης Πιστωτικών Καρτών Ταμίας, Πελάτης Πληρωμή με μετρητά Πληρωμή με πιστωτική κάρτα Πληρωμή επιβάρυνσης λόγω καθυστέρησης επιστροφής Πρωτεύοντες χρήστες είναι ο Ταμίας, ο Πελάτης και ο Διαχειριστής, ενώ η Υπηρεσία Διαχείρισης Πιστωτικών Καρτών (Credit Authorization service), που αποτελεί το σύστημα εξουσιοδότησης πληρωμής με χρήση πιστωτικής κάρτας, είναι δευτερεύων χρήστης. β) Σχεδιάστε το διάγραμμα περιπτώσεων χρήσης που αντιστοιχεί στην πιο πάνω περιγραφή, τεκμηριώνοντας σε μια παράγραφο την κάθε σχέση ανάμεσα σε περιπτώσεις χρήσης που χρησιμοποιήσατε. Υπόδειξη: H τεκμηρίωση μπορεί να είναι της μορφής Χρησιμοποίησα σχέση include επειδή. Απάντηση Το ζητούμενο διάγραμμα περιπτώσεων χρήσης είναι το ακόλουθο: Ενοικίαση «extend» Πληρωμή καθυστερήσεων: Κατά την έναρξη της ενοικίασης «πυροδοτείται» ο υπολογισμός των πληρωμών λόγω καθυστερήσεων (μόνο εάν υπάρχουν). Ενοικίαση «include» Διαχείριση συνδρομών πελατών: Κατά την έναρξη της πρώτης ενοικίασης, ο Ταμίας δημιουργεί για τον Πελάτη λογαριασμό συνδρομητή ή ενημερώνει τα στοιχεία του. ΠΛΗ24 Σχεδιασμός Λογισμικού 2

3 Ενοικίαση «include» Πληρωμή: Στο τέλος της ενοικίασης ο πελάτης καλείται να πληρώσει. Πληρωμή «extend» Πληρωμή με μετρητά: Υπάρχει η δυνατότητα η πληρωμή να γίνει με μετρητά Πληρωμή «extend» Πληρωμή με πιστωτική κάρτα: Υπάρχει η δυνατότητα η πληρωμή να γίνει με πιστωτική κάρτα, η οποία ελέγχεται για εγκυρότητα από το εξωτερικό σύστημα της Υπηρεσίας Διαχείρισης Πιστωτικών Καρτών. Πληρωμή καθυστερήσεων «include» Πληρωμή: Για την πληρωμή των καθυστερήσεων υπάρχουν οι ίδιες δυνατότητες που υπάρχουν για την πληρωμή των ενοικιαζόμενων ταινιών και παιχνιδιών. Ο υπολογισμός και πληρωμή των καθυστερήσεων μπορεί να ζητηθεί από τον Ταμία, αλλά και από τον Πελάτη. γ) Δώστε μια αναλυτική περιγραφή της περίπτωσης χρήσης «Ενοικίαση (ταινίες, παιχνίδια)». Απάντηση Περίπτωση Χρήσης ΠΧ1: Ενοικίαση Κύριος χειριστής: Υπάλληλος Προϋποθέσεις: Έχει πιστοποιηθεί η ταυτότητα του υπαλλήλου Υπάρχει πελάτης που περιμένει στο ταμείο με προϊόντα (ταινίες, παιχνίδια) για ενοικίαση. Μετασυνθήκες: Ένα αντικείμενο ενοικίαση έχει καταχωρηθεί, όπως και της πληρωμής. Η Αποθήκη (αποθέματα) έχει(ουν) ενημερωθεί. Εμπλεκόμενοι και τα Ενδιαφέροντά τους: Υπάλληλος: Επιθυμεί ασφαλή και ταχεία εισαγωγή. Πελάτης: Επιθυμεί να ενοικιάσει ταινίες-παιχνίδια, με άμεση εξυπηρέτηση και ελάχιστη προσπάθεια. Λογιστής: Επιθυμεί ακριβή καταχώρηση των κινήσεων. Διαφήμιση: Επιθυμεί να καταγράψει τις συνήθειες των πελατών. Βασική ροή: 1. Ο Υπάλληλος εισάγει τον Κωδικό του Πελάτη. 2. Γίνεται Include της ΠΧ «Διαχείριση συνδρομών πελατών» 3. Το σύστημα εμφανίζει τα στοιχεία του Πελάτη. 4. Ο Υπάλληλος εισάγει τον κωδικό του προϊόντος. 5. Το σύστημα καταχωρεί την γραμμή ενοικίασης προϊόντος και εμφανίζει την περιγραφή του προϊόντος. (Ο Υπάλληλος επαναλαμβάνει τα βήματα 4-5 μέχρι τέλους) 5. Το σύστημα εμφανίζει την συνολική αξία. 6. Γίνεται Include η ΠΧ «Πληρωμή» 7. Ο Υπάλληλος ζητάει έκδοση απόδειξης της ενοικίασης. 8. Το σύστημα εκδίδει την απόδειξη ενοικίασης. Άσκηση 2 Διάγραμμα κλάσεων συστήματος Ξενοδοχείου Με βάση την ακόλουθη προδιαγραφή της περίπτωσης χρήσης «Κράτηση δωματίου» να σχεδιάσετε το αρχικό διάγραμμα κλάσεων (εννοιολογικό μοντέλο ή μοντέλο περιοχής προβλήματος). Να αιτιολογήσετε τις επιλογές σας για τη χρήση συγκεκριμένων κλάσεων, καθώς και για τις σχέσεις ανάμεσά τους. ΠΛΗ24 Σχεδιασμός Λογισμικού 3

4 ΠΧ05: Κράτηση Δωματίου Κύριος χρήστης: Υπάλληλος υποδοχής Περιγραφή: Καταχωρείται νέα κράτηση δωματίου Προϋποθέσεις (Preconditions): Ο υπάλληλος θα πρέπει να έχει προηγουμένως ταυτοποιηθεί από το σύστημα (ΠΧ01- Login) Να υπάρχουν διαθέσιμα δωμάτια για την αιτούμενη χρονική περίοδο Μετα-συνθήκες (Postconditions): Δημιουργείται και καταχωρείται μία νέα κράτηση ενός δωματίου Καταχωρείται επίσης η πληρωμή προκαταβολής. Εκδίδεται απόδειξη της κράτησης Βασική ροή 1. Ο υποψήφιος πελάτης έρχεται στην υποδοχή και ζητάει να κάνει μία κράτηση. 2. Ο υπάλληλος πατάει το πλήκτρο «Διαθεσιμότητα» στο κεντρικό μενού και εμφανίζεται η φόρμα UI03-Διαθεσιμότητα 3. Ο υπάλληλος ρωτάει τον πελάτη για το είδος δωματίου (2κλινο, 3κλινο, κλπ) και για την χρονική περίοδο κράτησης που επιθυμεί και εισάγει στην φόρμα τα στοιχεία που του δίνει ο πελάτης 4. Το σύστημα αναζητά δωμάτια με τα ζητούμενα στοιχεία και εμφανίζει όλα τα διαθέσιμα δωμάτια σε πίνακα της ίδιας φόρμας, όπου εμφανίζεται επίσης και η ημερήσια τιμή ενοικίασης [Εναλλακτική ροή Α: δεν υπάρχουν διαθέσιμα δωμάτια της κατηγορίας για την δεδομένη χρονική περίοδο] 5. Ο πελάτης συμφωνεί με ένα από τα διαθέσιμα δωμάτια. 6. Ο υπάλληλος επιλέγει το συγκεκριμένο δωμάτιο και πατάει το πλήκτρο «Κράτηση» 7. Το σύστημα εμφανίζει την φόρμα κράτησης UI07-Κρατήσεις 8. Ο υπάλληλος ενημερώνει τον πελάτη για το συνολικό κόστος της κράτησης και το ποσό της προκαταβολής 9. Ο πελάτης συμφωνεί [Εναλλακτική ροή Β: Ο πελάτης διαφωνεί]. 10. Ο υπάλληλος του ζητάει τον αριθμό ταυτότητας τον οποίο και εισάγει 11. Το σύστημα εμφανίζει τα βασικά στοιχεία του πελάτη [Εναλλακτική ροή Γ: Ο πελάτης δεν υπάρχει στο σύστημα]. 12. Ο πελάτης πληρώνει [Εναλλακτική ροή Δ: Πληρωμή] 13. Το σύστημα εκδίδει μία βεβαίωση συνολικά της κράτησης. 14. Ο πελάτης παίρνει την βεβαίωση και αποχωρεί 15. Η κράτηση έχει ολοκληρωθεί και καταχωρηθεί στο σύστημα. ΠΛΗ24 Σχεδιασμός Λογισμικού 4

5 Εναλλακτικές ροές Εναλλακτική ροή Α: δεν υπάρχουν διαθέσιμα δωμάτια της κατηγορίας A.1 Το σύστημα ενημερώνει τον υπάλληλο ότι δεν υπάρχουν διαθέσιμα δωμάτια με το μήνυμα «Δεν βρέθηκε διαθέσιμο δωμάτιο». A.2 Ο υπάλληλος ακυρώνει τη διαδικασία κράτησης. A.3 Τέλος περίπτωσης χρήσης. Εναλλακτική ροή Β: Ο πελάτης διαφωνεί Β.1 Ο υπάλληλος ακυρώνει την κράτηση Β.2 Το σύστημα διαγράφει την τρέχουσα κράτηση Εναλλακτική ροή Γ: Ο πελάτης δεν υπάρχει στο σύστημα Γ.1 Το σύστημα εμφανίζει μήνυμα ότι ο πελάτης δεν είναι καταχωρημένος στη βάση. Γ.2 Καλείται «include» η ΠΧ02-Εισαγωγή-Πελάτη. Εναλλακτική ροή Δ: Πληρωμή (μετρητοίς ή με πιστωτική κάρτα) Δ.1 Ο Πελάτης πληρώνει μετρητοίς. Το σύστημα επιστρέφει τα ρέστα από την διαφορά της αξίας κράτησης. Δ.2 Ο Πελάτης πληρώνει με πιστωτική κάρτα. Καλείται «include» η ΠΧ14-Πληρωμή- Με-Πιστωτική-Κάρτα. Απάντηση Για να προσδιορίσουμε τις εννοιολογικές κλάσεις, διατρέχουμε το κείμενο της ΠΧ στο βασικό σενάριο και στα εναλλακτικά σενάρια, σημειώνοντας τα ουσιαστικά (Έννοια, Χαρακτηριστικό). Θεωρούμε ένα ουσιαστικό ως Έννοια, με γνώμονα τρία κριτήρια - εάν έχει: 1. Ταυτότητα. 2. Κατάσταση (περιέχει περισσότερα από ένα χαρακτηριστικά με τιμή). 3. Συμπεριφορά. Με βάση τα ανωτέρω κριτήρια, δίνοντας περισσότερο έμφαση στο κριτήριο της συμπεριφοράς, καταλήγουμε στις ακόλουθες έννοιες: Πελάτης, κάνει κρατήσεις. Κράτηση, αποτελεί κεντρική έννοια της περιοχής του προβλήματος. Υπάλληλος, κάνει κρατήσεις και πληρωμές. Δωμάτιο, αποτελεί κεντρική έννοια της περιοχής του προβλήματος. Πληρωμή, έννοια που συνοδεύει μία κράτηση. Πληρωμή μετρητοίς, έννοια που συνοδεύει μία κράτηση. ΠΛΗ24 Σχεδιασμός Λογισμικού 5

6 Πληρωμή με πιστωτική κάρτα, έννοια που συνοδεύει μία κράτηση. Βεβαίωση, έννοια που αποτελεί αποδεικτικό στοιχείο μιας κράτησης. Επομένως, το ζητούμενο αρχικό διάγραμμα κλάσεων είναι το ακόλουθο: ΠΛΗ24 Σχεδιασμός Λογισμικού 6

7 Αιτιολόγηση των σχέσεων μεταξύ των Εννοιών: Πελάτης, ζητάει να κάνει κράτηση από τον Υπάλληλο. Υπάλληλος, αναζητά διαθέσιμα Δωμάτια. Δωμάτιο, συνοδεύεται από το Ημερολόγιό του, ώστε να ελέγχεται η διαθεσιμότητά του. Η σχέση αυτή ορίζεται ως σύνθεση (composition), επειδή ένα Ημερολόγιο θεωρούμε ότι ανήκει αποκλειστικά στο Δωμάτιό του και όποια αναφορά σ αυτό γίνεται μέσω του Δωματίου. Αν το Δωμάτιο «καταστραφεί» (αλλάξει χρήση, γίνει π.χ. Αποθήκη), τότε και το Ημερολόγιο θα πρέπει να «καταστραφεί», γιατί δεν έχει λόγο ύπαρξης. Υπάλληλος, κάνει Κρατήσεις. Πελάτης, ζητάει/κάνει Κρατήσεις. Δωμάτιο, δεσμεύεται από Κράτηση, μετά από αίτηση ενός Πελάτη. Κράτηση, διεκπεραιώνεται με μια Πληρωμή. Πληρωμή, συνοδεύεται από Βεβαίωση. Πληρωμή, μπορεί να «είναι του είδους» (ειδίκευση), Μετρητοίς ή Με πιστωτική κάρτα. Οι κλάσεις ΠληρωμήΜετρητοίς και ΠληρωμήΠιστωτική είναι υποκλάσεις της κλάσης Πληρωμή διότι ισχύουν τα δύο κριτήρια της κληρονομικότητας: (α) «είναι είδος της» και (β) Κληρονομεί το 100% των μελών (χαρακτηριστικά, μεθόδους, συσχτίσεις) της υπερκλάσης Πληρωμή. Πληρωμή με πιστωτική κάρτα, γίνεται μόνο με τη χρέωση του λογαριασμού της Πιστωτικής κάρτας. Άσκηση 3 Διάγραμμα ακολουθίας συστήματος Ξενοδοχείου Να σχεδιάσετε το διάγραμμα ακολουθίας για τη βασική ροή της ανωτέρω περίπτωσης χρήσης «Κράτηση Δωματίου». Δώστε ιδιαίτερη προσοχή ώστε το διάγραμμα ακολουθίας να είναι συνεπές ως προς την περιγραφή της περίπτωσης χρήσης. Εάν αυτό δεν είναι εφικτό, τότε να διορθώσετε ως απαιτείται την περίπτωση χρήσης. Απάντηση Εξετάζουμε τη βασική ροή της περίπτωσης χρήσης «Κράτηση Δωματίου»: ΠΧ05: Κράτηση Δωματίου Βασική ροή 1. Ο υποψήφιος πελάτης έρχεται στην υποδοχή και ζητάει να κάνει μία κράτηση. 2. Ο υπάλληλος πατάει το πλήκτρο «Διαθεσιμότητα» στο κεντρικό μενού και εμφανίζεται η φόρμα UI03-Διαθεσιμότητα Υλοποιείται από τα σημεία 1 και 2 του Διαγράμματις Ακολουθίας (Δ.Α.), όπου το Μενού δημιουργεί το αντικείμενο της φόρμας UI03-Διαθεσιμότητα 3. Ο υπάλληλος ρωτάει τον πελάτη για το είδος δωματίου (2κλινο, 3κλινο, κλπ) και για την χρονική περίοδο κράτησης που επιθυμεί και εισάγει στην φόρμα τα στοιχεία που του δίνει ο πελάτης Υλοποιείται από τα σημεία 3-5 του Δ.Α. ΠΛΗ24 Σχεδιασμός Λογισμικού 7

8 4. Το σύστημα αναζητά δωμάτια με τα ζητούμενα στοιχεία και εμφανίζει όλα τα διαθέσιμα δωμάτια σε πίνακα της ίδιας φόρμας, όπου εμφανίζεται επίσης και η ημερήσια τιμή ενοικίασης Η μέθοδος αναζήτηση() εξετάζει την διαθεσιμότητα του κάθε Δωματίου (*επανάληψη) και επιστρέφει κατάλογο με τα διαθέσιμα δωμάτια 5. Ο πελάτης συμφωνεί με ένα από τα διαθέσιμα δωμάτια. 6. Ο υπάλληλος επιλέγει το συγκεκριμένο δωμάτιο και πατάει το πλήκτρο «Κράτηση» Η μέθοδος 9.κράτησηΔωματίου(Δωμάτιο), καλεί στο Δωμάτιο την 10.κράτηση() το οποίο δημιουργεί ένα αντικείμενο Κράτησης και το μεταβιβάζει στο αντικείμενο Ημερολόγιο 12.ενημέρωση() Η μέθοδος 13.δώσεΚόστος() επιστρέφει το υπολογισθέν κόστος και την προκαταβολή, και δημιουργεί επίσης ένα αντικ. της φόρμας UI07-Κρατήσεις 7. Το σύστημα εμφανίζει την φόρμα κράτησης UI07-Κρατήσεις 8. Ο υπάλληλος ενημερώνει τον πελάτη για το συνολικό κόστος της κράτησης και το ποσό της προκαταβολής 9. Ο πελάτης συμφωνεί [Εναλλακτική ροή Β: Ο πελάτης διαφωνεί]. 10. Ο υπάλληλος του ζητάει τον αριθμό ταυτότητας τον οποίο και εισάγει Η μέθοδος 16.εισαγωγή( ) εισάγει στην φόρμα, και αυτή στο αντικείμενο Κράτηση, τα στοιχεία του Πελάτη, τον οποίον ανακτά και τον προσθέτει στην Κράτηση, 11. Το σύστημα εμφανίζει τα βασικά στοιχεία του πελάτη [Εναλλακτική ροή Γ: Ο πελάτης δεν υπάρχει στο σύστημα]. εμφανίζοντας στην φόρμα και τα στοιχεία του 12. Ο πελάτης πληρώνει [Εναλλακτική ροή Δ: Πληρωμή] Η μέθοδος 21.κάνεΠληρωμή(ποσό), της φόρμας, ενημερώνει την Κράτηση, η οποία δημιουργεί το αντικείμενο Πληρωμή 13. Το σύστημα εκδίδει μία βεβαίωση συνολικά της κράτησης. Η Πληρωμή δημιουργεί το αντικείμενο Βεβαίωση 14. Ο πελάτης παίρνει την βεβαίωση και αποχωρεί 15. Η κράτηση έχει ολοκληρωθεί και καταχωρηθεί στο σύστημα. Επομένως, το ζητούμενο διάγραμμα ακολουθίας είναι το ακόλουθο: ΠΛΗ24 Σχεδιασμός Λογισμικού 8

9 Άσκηση 4 Διάγραμμα κλάσεων για εταιρεία λεωφορείων Δίνονται οι ακόλουθες απαιτήσεις: Μια εταιρεία λεωφορείων πραγματοποιεί έναν αριθμό από διαδρομές σε μια ευρεία γεωγραφική περιοχή, χρησιμοποιώντας λεωφορεία κανονικού μεγέθους (full-sized buses) και λεωφορεία μικρού μεγέθους (mini-buses). Η οργάνωση του χρονοδιαγράμματος αναχωρήσεων και αφίξεων γίνεται σε εβδομαδιαία βάση. Πολλά ταξίδια πραγματοποιούνται σε κάθε διαδρομή κατά τη διάρκεια μιας ΠΛΗ24 Σχεδιασμός Λογισμικού 9

10 εβδομάδας και για καθένα από τα ταξίδια αυτά απαιτείται ένα λεωφορείο. Ορισμένα από τα ταξίδια επιδοτούνται από μία ή περισσότερες τοπικές αρχές των περιοχών από τις οποίες διέρχονται, καθώς διαφορετικά δεν θα ήταν οικονομικά βιώσιμη η πραγματοποίησή τους. Στα επιδοτούμενα ταξίδια χρησιμοποιούνται πάντοτε λεωφορεία κανονικού μεγέθους. Να σχεδιάσετε ένα διάγραμμα κλάσεων που θα απεικονίζει την κατανομή λεωφορείων σε ταξίδια και θα περιλαμβάνει (τουλάχιστον) κλάσεις, σχέσεις ανάμεσα σε κλάσεις και προσδιοριστές πολλαπλότητας. Επεξηγήστε τις επιλογές σας. Απάντηση Για τη σχεδίαση του ζητούμενου διαγράμματος κλάσεων, από το κείμενο των απαιτήσεων που δίνεται στην εκφώνηση της άσκησης, χρησιμοποιείται αυτό που σχετίζεται με την κατανομή των λεωφορείων σε ταξίδια. Πιο συγκεκριμένα, από την πρώτη πρόταση των απαιτήσεων είναι φανερό (εξετάζοντας τα ουσιαστικά της πρότασης) ότι θα χρησιμοποιηθούν δύο κλάσεις: Μία για το λεωφορείο ( Λεωφορείο ) και μία για τη διαδρομή ( Διαδρομή ). Στην ίδια πρόταση αναφέρεται ότι γίνεται χρήση δύο κατηγοριών λεωφορείων, δηλαδή λεωφορείων κανονικού μεγέθους (full-sized buses) και λεωφορείων μικρού μεγέθους (mini-buses). Επομένως, θα χρησιμοποιηθούν δύο ακόμη κλάσεις: Μία για τα λεωφορεία κανονικού μεγέθους ( Λεωφορείο Κανονικού Μεγέθους ) και μία για τα λεωφορεία μικρού μεγέθους ( Λεωφορείο Μικρού Μεγέθους ). Οι κλάσεις αυτές θα συνδέονται με σχέση κληρονομικότητας με την κλάση Λεωφορείο. Σε αυτή την ιεραρχία κληρονομικότητας, η κλάση Λεωφορείο είναι η υπερκλάση (για το λόγο αυτό το τριγωνικό βέλος που χρησιμοποιείται για την απεικόνιση της κληρονομικότητας δείχνει προς αυτή), ενώ οι κλάσεις Λεωφορείο Κανονικού Μεγέθους και Λεωφορείο Μικρού Μεγέθους είναι υποκλάσεις. Η δεύτερη πρόταση των απαιτήσεων δίνει πληροφορίες για την οργάνωση του χρονοδιαγράμματος αναχωρήσεων και αφίξεων και επομένως δε σχετίζεται άμεσα με την κατανομή των λεωφορείων σε ταξίδια. Για το λόγο αυτό, η συγκεκριμένη πρόταση δε λαμβάνεται υπόψη στη σχεδίαση του ζητούμενου διαγράμματος κλάσεων. Εξετάζοντας την τρίτη πρόταση των απαιτήσεων προκύπτει η ανάγκη χρήσης μιας κλάσης για την απεικόνιση των ταξιδιών ( Ταξίδι ). Από τη στιγμή που πραγματοποιούνται πολλά ταξίδια σε κάθε διαδρομή, μια διαδρομή αποτελείται από πολλά ταξίδια. Επομένως, ανάμεσα στην κλάση Διαδρομή και στην κλάση Ταξίδι υπάρχει μια σχέση σύνθεσης (composition), στα πλαίσια της οποίας η κλάση Διαδρομή είναι μια σύνθετη κλάση (για το λόγο αυτό το σύμβολο του διαμαντιού πρέπει να είναι προσαρτημένο στην κλάση αυτή), η οποία περικλείει την απλούστερη (συνιστώσα) κλάση Ταξίδι. Επισημαίνεται ότι δεν χρησιμοποιείται σχέση συναρμολόγησης (aggregation) γιατί θεωρείται ότι η απλούστερη κλάση έχει διάρκεια ζωής που συμπίπτει με αυτή της σύνθετης κλάσης (καθώς ένα ταξίδι γίνεται πάντοτε στα πλαίσια μιας διαδρομής). Στη συνέχεια της τρίτης πρότασης των απαιτήσεων αναφέρεται ότι για καθένα από τα ταξίδια απαιτείται ένα λεωφορείο. Επομένως, ανάμεσα στις κλάσεις Λεωφορείο και Ταξίδι πρέπει να υπάρχει μια (απλή) συσχέτιση. Στην τέταρτη πρόταση των απαιτήσεων αναφέρεται ότι ορισμένα από τα ταξίδια επιδοτούνται. Με τον τρόπο αυτό υποδηλώνεται ότι υπάρχουν δύο κατηγορίες ταξιδιών τα επιδοτούμενα και τα μη επιδοτούμενα. Επομένως, θα πρέπει να χρησιμοποιηθούν για την απεικόνισή τους στο διάγραμμα κλάσεων δύο αντίστοιχες κλάσεις ( Επιδοτούμενο Ταξίδι και Μη Επιδοτούμενο Ταξίδι ), οι οποίες θα συνδέονται με την κλάση Ταξίδι με σχέση κληρονομικότητας. Σε αυτή την ιεραρχία ΠΛΗ24 Σχεδιασμός Λογισμικού 10

11 κληρονομικότητας, η κλάση Ταξίδι είναι η υπερκλάση (για το λόγο αυτό το τριγωνικό βέλος που χρησιμοποιείται για την απεικόνιση της κληρονομικότητας δείχνει προς αυτή), ενώ οι κλάσεις Επιδοτούμενο Ταξίδι και Μη Επιδοτούμενο Ταξίδι είναι υποκλάσεις. Στη συνέχεια της τέταρτης πρότασης των απαιτήσεων αναφέρεται ότι τα επιδοτούμενα ταξίδια επιδοτούνται από μία ή περισσότερες τοπικές αρχές των περιοχών από τις οποίες διέρχονται. Επομένως, είναι αναγκαία η χρήση μιας κλάσης για την απεικόνιση των τοπικών αρχών ( Τοπική Αρχή ), η οποία θα πρέπει να συνδέεται με την κλάση Επιδοτούμενο Ταξίδι με την απλή συσχέτιση επιδοτεί. Στα πλαίσια αυτής της συσχέτισης, η πολλαπλότητα από την πλευρά της κλάσης Τοπική Αρχή είναι 1..*, γιατί ένα επιδοτούμενο ταξίδι μπορεί να επιδοτείται από μία ή περισσότερες τοπικές αρχές, ενώ η πολλαπλότητα από την πλευρά της κλάσης Επιδοτούμενο Ταξίδι είναι 0..* (ή απλά *), γιατί μία τοπική αρχή είναι δυνατό να επιδοτεί κανένα, ένα ή περισσότερα ταξίδια. Σύμφωνα με την τελευταία πρόταση των απαιτήσεων στα επιδοτούμενα ταξίδια χρησιμοποιούνται πάντοτε λεωφορεία κανονικού μεγέθους. Επομένως, η κλάση Λεωφορείο Κανονικού Μεγέθους θα πρέπει να συνδέται με την κλάση Επιδοτούμενο Ταξίδι με τη συσχέτιση πραγματοποιεί. Στα πλαίσια αυτής της συσχέτισης, η πολλαπλότητα από την πλευρά της κλάσης Λεωφορείο Κανονικού Μεγέθους είναι 1, γιατί ένα επιδοτούμενο ταξίδι πραγματοποιείται από ένα λεωφορείο κανονικού μεγέθους, ενώ η πολλαπλότητα από την πλευρά της κλάσης Επιδοτούμενο Ταξίδι είναι 1..*, γιατί ένα λεωφορείο κανονικού μεγέθους μπορεί να πραγματοποιεί ένα ή περισσότερα επιδοτούμενα ταξίδια. Η τελευταία πρόταση των απαιτήσεων υποδηλώνει ότι για τα μη επιδοτούμενα ταξίδια είναι δυνατό να χρησιμοποιηθεί ένα οποιοδήποτε λεωφορείο (είτε κανονικού μεγέθους, είτε μικρού μεγέθους). Επομένως, η κλάση Λεωφορείο θα πρέπει να συνδέεται με την κλάση Μη Επιδοτούμενο Ταξίδι με τη συσχέτιση διεκπεραιώνει. Στα πλαίσια αυτής της συσχέτισης, η πολλαπλότητα από την πλευρά της κλάσης Λεωφορείο είναι 1, γιατί ένα μη επιδοτούμενο ταξίδι πραγματοποιείται από ένα μόνο λεωφορείο κανονικού μεγέθους, ενώ η πολλαπλότητα από την πλευρά της κλάσης Μη Επιδοτούμενο Ταξίδι είναι 1..*, γιατί ένα λεωφορείο μπορεί να διεκπεραιώνει ένα ή περισσότερα επιδοτούμενα ταξίδια. Επισημαίνεται ότι η χρήση των συσχετίσεων πραγματοποιεί και διεκπεραιώνει καθιστά περιττή τη χρήση συσχέτισης ανάμεσα στις κλάσεις Λεωφορείο και Ταξίδι. Επομένως, για την απεικόνιση της ανάθεσης λεωφορείων σε ταξίδια μπορεί να χρησιμοποιηθεί το ακόλουθο διάγραμμα κλάσεων: ΠΛΗ24 Σχεδιασμός Λογισμικού 11

12 Λεωφορείο 1 διεκπεραιώνει Διαδρομή Λεωφορείο Κανονικού Μεγέθους 1 Λεωφορείο Μικρού Μεγέθους 1..* Ταξίδι Τοπική Αρχή πραγματοποιεί 1..* επιδοτεί 1..* 0..* Επιδοτούμενο Ταξίδι Μη Επιδοτούμενο Ταξίδι 1..* Άσκηση 5 Διάγραμμα συνεργασίας για κινητό τηλέφωνο Δίνεται το ακόλουθο διάγραμμα συνεργασίας σχετικά με τον τρόπο λειτουργίας ενός κινητού τηλεφώνου κυψελοειδούς τεχνολογίας: ΠΛΗ24 Σχεδιασμός Λογισμικού 12

13 α) Να σχεδιάσετε το αντίστοιχο διάγραμμα ακολουθίας επεξηγώντας συνοπτικά τα βασικά συστατικά του μέρη. β) Τι συμπεράσματα εξάγετε αν συγκρίνετε τα δύο διαγράμματα; Απάντηση Το διάγραμμα ακολουθίας που αντιστοιχεί στο διάγραμμα συνεργασίας που δίνεται στην εκφώνηση της άσκησης αποτελείται από τα ακόλουθα δύο τμήματα: ΠΛΗ24 Σχεδιασμός Λογισμικού 13

14 Το πρώτο τμήμα του πιο πάνω διαγράμματος ακολουθίας απεικονίζει τις ενέργειες που πραγματοποιούνται όταν ο χρήστης ενός κινητού τηλεφώνου πατήσει στο πληκτρολόγιο της συσκευής του ένα κουμπί (button) που αντιστοιχεί σε αριθμό / ψηφίο (digit). Το δεύτερο τμήμα του πιο πάνω διαγράμματος ακολουθίας απεικονίζει τις ενέργειες που πραγματοποιούνται όταν ο χρήστης του κινητού τηλεφώνου πατήσει στο πληκτρολόγιο της συσκευής του το κουμπί (button) που χρησιμοποιείται για την πραγματοποίηση μιας κλήσης (κουμπί send). Tα δύο αυτά τμήματα μπορεί να θεωρηθούν ως ξεχωριστά διαγράμματα ακολουθίας. Η χρήση τους είναι αναγκαία, καθώς το διάγραμμα συνεργασίας απεικονίζει δύο διαφορετικές ροές / ακολουθίες γεγονότων / ενεργειών. Όπως θα παρατηρήσατε στο μήνυμα 1 του αρχικού διαγράμματος υπάρχει ένα *, που υποδηλώνει την επαναληπτική του εκτέλεση. Για το λόγο αυτό στο αντίστοιχο διάγραμμα ακολουθίας υπάρχει ο επαναληπτικός βρόγχος, ο οποίος αναπαριστάται με ορθογώνιο παραλληλόγραμμο ενώ επιγράφεται με «for each digit». Στο πάνω μέρος και των δύο διαγραμμάτων ακολουθίας απεικονίζονται τα αντικείμενα που χρησιμοποιούνται μέσα σε παραλληλόγραμμα. Όπως συμβαίνει και στα διαγράμματα συνεργασίας, το όνομα των αντικειμένων είναι υπογραμμισμένο, ώστε να διαφοροποιούνται από τις κλάσεις. Επίσης, το όνομα του αντικειμένου διαχωρίζεται από το όνομα της κλάσης με το σύμβολο :. Ορισμένα αντικείμενα (όπως το :Dialer ) δεν έχουν κάποιο συγκεκριμένο όνομα (το :Dialer είναι απλά ένα ανώνυμο αντικείμενο τύπου Dialer ) και για το λόγο αυτό το σύμβολο : προηγείται του ονόματος της κλάσης, χωρίς να υπάρχει πριν από αυτό κάποιο όνομα αντικειμένου. Κάτω από το παραλληλόγραμμο που απεικονίζει κάθε αντικείμενο υπάρχει μια διακεκομμένη γραμμή που απεικονίζει τη γραμμή ζωής (lifeline) του κάθε αντικειμένου. Οι γραμμές αυτές ορίζουν τον άξονα του χρόνου στο διάγραμμα, στο οποίο θεωρείται ότι ο χρόνος αυξάνεται προς τα κάτω. Οι γραμμές ζωής των αντικειμένων απεικονίζουν το χρονικό διάστημα ύπαρξης των αντίστοιχων αντικειμένων. Στα πιο πάνω διαγράμματα ακολουθίας οι γραμμές ζωής των αντικειμένων εκτείνονται από το πάνω μέρος των διαγραμμάτων μέχρι το κάτω μέρος τους. Αυτό φανερώνει ότι τα αντικείμενα που απεικονίζονται στα συγκεκριμένα διαγράμματα ακολουθίας έχουν δημιουργηθεί πριν από την έναρξη του χρόνου που απεικονίζεται στα διαγράμματα και η ύπαρξη τους συνεχίζεται και μετά το τέλος του χρόνου που απεικονίζεται στα διαγράμματα. Οι γραμμές με τα βέλη ανάμεσα στις γραμμές ζωής των αντικειμένων απεικονίζουν μηνύματα που ανταλλάσσονται ανάμεσα στα αντικείμενα. Η αρίθμηση των μηνυμάτων δεν είναι αναγκαία, καθώς ο χρόνος αυξάνεται προς τα κάτω. Τα λευκά παραλληλόγραμμα στα οποία σταματούν τα βέλη των μηνυμάτων ονομάζονται ενεργοποιήσεις (activations) και φανερώνουν τη χρονική διάρκεια εκτέλεσης μιας μεθόδου ως απόκριση της λήψης ενός μηνύματος. Οι μέθοδοι υπονοείται ότι επιστρέφουν στο αντικείμενο που τις κάλεσε στο τέλος της ενεργοποίησης. Αυτού του είδους οι επιστροφές είναι δυνατό να απεικονιστούν με μια διακεκομμένη γραμμή με βέλος χωρίς ετικέτα, η οποία ξεκινάει από το κάτω μέρος μιας ενεργοποίησης και επιστρέφει στη γραμμή ζωής του αντικειμένου που κάλεσε την αρχική μέθοδο. Τέλος, επισημαίνεται ότι το μεγάλο παραλληλόγραμμο που περικλείει τα μηνύματα στο πρώτο διάγραμμα ακολουθίας ορίζει ένα βρόχο που εκτελείται επαναληπτικά. Η συνθήκη που προσδιορίζει τη διάρκεια της επανάληψης απεικονίζεται στο κάτω μέρος του παραλληλόγραμμου. β) Από τη σύγκριση του διαγράμματος συνεργασίας της εκφώνησης της άσκησης και του σύνθετου διαγράμματος ακολουθίας της απάντησης στο προηγούμενο ερώτημα προκύπτει ότι και τα δύο διαγράμματα απεικονίζουν ακριβώς την ίδια πληροφορία, χρησιμοποιώντας σημαντικά διαφορετικούς τρόπους παράστασης. Το διάγραμμα ακολουθίας χρειάζεται περισσότερο χώρο από το ΠΛΗ24 Σχεδιασμός Λογισμικού 14

15 διάγραμμα συνεργασίας, αλλά είναι πιο εύκολη η κατανόηση του αλγόριθμου (της λογικής) που μοντελοποιεί. Από την άλλη πλευρά, το διάγραμμα συνεργασίας είναι περισσότερο πυκνό στην απεικόνιση της συνεργασίας των αντικειμένων, αλλά απαιτεί μεγαλύτερη προσπάθεια η κατανόηση του αλγόριθμου (της λογικής) που μοντελοποιεί. Άσκηση 6 Εφαρμογή Java με αυτοκίνητο Δίδεται το ακόλουθο διάγραμμα κλάσεων: α) Υλοποιήστε σε Java το περίγραμμα των κλάσεων του διαγράμματος. Σε κάθε περίγραμμα θα πρέπει να εμφανίζονται όλα τα χαρακτηριστικά και οι αντίστοιχες μέθοδοι. β) Γράψτε τον κώδικα του κατασκευαστή της κλάσης Car που παίρνει δύο παραμέτρους και πέρα από την αρχικοποίηση των πεδίων του χρώματος και του μοντέλου, δημιουργεί ένα κινητήρα ιπποδύναμης 120 ίππων και 4 ρόδες αλουμινίου 16 ιντσών. Απάντηση ΠΛΗ24 Σχεδιασμός Λογισμικού 15

16 α) Πρέπει να δοθεί προσοχή στο ότι οι σχέσεις ανάμεσα στις κλάσεις ορίζουν χαρακτηριστικά των κλάσεων, τα οποία είναι αναγκαία για την υλοποίηση των σχέσεων. Έτσι, θα πρέπει να δημιουργηθεί από ένα χαρακτηριστικό για κάθε σχέση, με όνομα μεταβλητής το όνομα της σχέσης. import java.awt.color; public class Car private Color colour; private String model; private Engine eng; private Wheel[] wheels; public Car () public Car (Color c, String m) public Color getcolour () public void setcolour (Color val) public String getmodel () public void setmodel (String val) public class Engine private float power; public Engine () public float getpower () public void setpower (float val) public class Wheel private int size; private boolean alloy; ΠΛΗ24 Σχεδιασμός Λογισμικού 16

17 public Wheel (int s, boolean isalloy) public boolean getalloy () public void setalloy (boolean val) public int getsize () public void setsize (int val) β) Προσέξτε ότι η δημιουργία πίνακα δεν σημαίνει και δημιουργία των αντίστοιχων αντικειμένων. Ο ζητούμενος δημιουργός είναι ο ακόλουθος: public Car (Color c, String m) colour=c; model = m; eng = new Engine(); eng.setpower(120); wheels = new Wheel[4]; for (int i=0;i<wheels.length;i++) wheels[i] = new Wheel(16, true); Άσκηση 7 Εφαρμογή java με μηχανικό παιχνίδι Έστω η παρακάτω κλάση που μοντελοποιεί ένα παιχνίδι - σκύλο. public class Dog protected String name; public Dog( ) public String sayname( ) public String moveforward( ) public String movebackward( ) public String moveleft( ) public String moveright( ) Ο σκύλος μπορεί να λέει το όνομά του, όταν το παιδί πατά στο χειριστήριο το αντίστοιχο πλήκτρο. Επίσης μπορεί να κινείται προς τέσσερεις κατευθύνσεις: Μπροστά (Μ), Πίσω (Π), Αριστερά (Α), Δεξιά (Δ). Η κίνηση προς την κατεύθυνση αντιστοιχεί στις μεθόδους moveforward, movebackward, κ.λπ. Επιπλέον, η διάρκεια πατήματος του πλήκτρου κατεύθυνσης αντιστοιχεί στην απόσταση που θα ΠΛΗ24 Σχεδιασμός Λογισμικού 17

18 πρέπει να διανυθεί σε μέτρα. Το πάτημα του πλήκτρου στο χειριστήριο αντιστοιχεί στην κλήση της αντίστοιχης μεθόδου. Α) Συμπληρώστε/τροποποιήστε την κλάση Dog. B) Φτιάξτε την κλάση Μain και κινήστε το σκύλο Α-10, Π-20, Α-15, Μ-20, Δ-10, Δ-11. Γ) Υπολογίστε τη συνολική απόσταση που έχει διανύσει ο σκύλος. Δ) Κάντε το σκύλο να πει το όνομά του (τυπώστε το όνομά του στην οθόνη). Σημείωση: Α-10 σημαίνει αριστερά 10 μέτρα. Υπόδειξη: Ο υπολογισμός της απόστασης που έχει διανύσει ο σκύλος θα γίνει με την υλοποίηση σχετικής μεθόδου. Απάντηση package dog; /** * fitsilis */ public class Main /** args the command line arguments */ public static void main(string[] args) Dog bulldog; bulldog = new Dog("bobo"); System.out.println(bulldog.moveLeft(10)); System.out.println(bulldog.moveBackward(20)); System.out.println(bulldog.moveLeft(15)); System.out.println(bulldog.moveForward(20)); System.out.println(bulldog.moveRight(10)); System.out.println(bulldog.moveRight(11)); System.out.println("H απόσταση που διανύθηκε είναι: "+bulldog.getdistancecovered()); System.out.println(bulldog.sayName()); package dog; /** ΠΛΗ24 Σχεδιασμός Λογισμικού 18

19 * fitsilis */ public class Dog protected String name; protected int distancecovered = 0; public Dog(String name) this.name = name; public String sayname() return("το όνομά μου είναι: "+name); public String moveforward(int distance) calculatedistancecovered(distance); return("κινούμαι εμπρός: "+distance); public String movebackward(int distance) calculatedistancecovered(distance); return("κινούμαι πίσω: "+distance); public String moveleft(int distance) calculatedistancecovered(distance); return("κινούμαι αριστερά: "+distance); public String moveright(int distance) calculatedistancecovered(distance); return("κινούμαι δεξιά: "+distance); private void calculatedistancecovered(int distance) distancecovered = distancecovered+distance; ΠΛΗ24 Σχεδιασμός Λογισμικού 19

20 public int getdistancecovered() return distancecovered; Άσκηση 8 Εφαρμογή Java με Fast Food Είστε πελάτης σε ένα fast food όπου μπορείτε να παραγγείλετε hamburger και pizza. Φτιάξτε μια εφαρμογή στη οποία: 1) Θα ορίζεται τις κλάσεις hamburger και pizza μαζί με τις απαραίτητες μεθόδους: a. Το hamburger κοστίζει 1.5 ΕΥΡΟ. i. Σε περίπτωση που ο πελάτης ζητήσει να έχει και τυρί, τότε η τιμή του είναι 20% μεγαλύτερη. ii. Επίσης υπάρχει και σε μεγάλο μέγεθος. Το μεγάλο μέγεθος κοστίζει 20% περισσότερο. b. Αντίστοιχα, η πίτσα διατίθεται σε τρία μεγέθη, ατομική, οικογενειακή και γίγας με τιμές 5, 7.5 και 10 ΕΥΡΟ αντίστοιχα. 2) Την κλάση Μain η οποία a. Θα ζητά από τον πελάτη την παραγγελία του (πόσα hamburger και/ή πόσες πίτσες) καθώς και τα επιμέρους στοιχεία (μέγεθος, κ.λπ.). b. Θα υπολογίζει την τιμή της παραγγελίας. c. Θα τυπώνει (στην οθόνη του υπολογιστή) την απόδειξη. Υπόδειξη: 1) Τόσο ο υπολογισμός της παραγγελίας, όσο και η εκτύπωση της απόδειξης θα πρέπει να υλοποιηθούν σε ξεχωριστές μεθόδους της κλάσης Μain. Απάντηση package fastfood; import java.util.*; import java.io.*; /** * fitsilis */ public class Main public static void main(string[] args) Vector<Pizza> orderedpizza; Vector<Hamburger> orderedhamburger; Scanner keyboard; BufferedReader br; int nopizza =0; int nohamburger =0; double totalorderprice = 0; orderedpizza = new Vector(); orderedhamburger = new Vector(); //instantiate a keyboard reader object (used for integers) keyboard = new Scanner(System.in); br = new BufferedReader(new InputStreamReader(System.in)); ΠΛΗ24 Σχεδιασμός Λογισμικού 20

Ενδιαφερόμενοι - Stakeholders. Πελάτης Ταμίας υπάλληλος Διαχειριστής Σύστημα εξουσιοδότησης πληρωμής

Ενδιαφερόμενοι - Stakeholders. Πελάτης Ταμίας υπάλληλος Διαχειριστής Σύστημα εξουσιοδότησης πληρωμής Πελάτης Μπαίνοντας στο κατάστημα ο πελάτης, κατευθύνεται στα ράφια όπου είναι τοποθετημένα τα DVD ή τα παιχνίδια και μετά από αναζήτηση επιλέγει ένα ή περισσότερα τα οποία προσκομίζει στο ταμείο για ενοικίαση.

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

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας Διαγράμματα Αλληλεπίδρασης Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας 1 Διαγράμματα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειμένων μέσω μηνυμάτων Η ανάθεση αρμοδιοτήτων περιλαμβάνει

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

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

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

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

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

public void printstatement() { System.out.println(Employee:  + name +  with salary:  + salary); Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

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

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

Περιγραφή Παραδείγματος. Σκοπός του Παραδείγματος. Περίπτωση Χρήσης και Σενάρια. Σύντομο Παράδειγμα μιας συνοπτικής μεθοδολογίας ανάπτυξης

Περιγραφή Παραδείγματος. Σκοπός του Παραδείγματος. Περίπτωση Χρήσης και Σενάρια. Σύντομο Παράδειγμα μιας συνοπτικής μεθοδολογίας ανάπτυξης Περιγραφή Παραδείγματος Σύντομο Παράδειγμα μιας συνοπτικής μεθοδολογίας ανάπτυξης Κράτηση δωματίου σε ξενοδοχείο Ουπάλληλοςδίνειταστοιχείατουπελάτητο δωμάτιο(μονό, διπλό κλπ) και την περίοδο. Τοσύστημαβρίσκειτοδωμάτιοκαικάνει

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

Διάγραμμα Κλάσεων. Class Diagram

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

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

Κλάσεις και Αντικείµενα

Κλάσεις και Αντικείµενα Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν

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

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);

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

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams

Μοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams Μοντελοποίηση Συστημάτων Διαγράμματα Κλάσεων ClassDiagrams Διαγράμματα Κλάσεων Χρησιμοποιούνται στα βήματα: Ανάλυση απαιτήσεων Π.Σ. Σχεδιασμός Π.Σ. Είναι στατικά διαγράμματα που δείχνουν: Κλάσεις Ιδιότητες

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

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

ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2016-2017 ΕΡΓΑΣΙΑ 1 (JAVA) Παράδοση 26/4/2017 Στα πλαίσια της εργασίας θα υλοποιηθεί ένα απλοϊκό πρόγραμμα κρατήσεων Ξενοδοχείων. Για απλοποίηση θα περιοριστούμε

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες

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

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

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

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

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων Διαγράμματα UML στην Ανάλυση Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων περιεχόμενα παρουσίασης Διαγράμματα κλάσεων Διαγράμματα αντικειμένων διαγράμματα κλάσεων Χρησιμοποιούνται στην ανάλυση

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

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

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

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

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

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

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1

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

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4

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

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 6 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας 1 ιαγράµµατα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειµένων µέσω µηνυµάτων Η ανάθεση αρµοδιοτήτων περιλαµβάνει µεγάλο

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Πρώτοι αριθμοί ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος

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

Διαγράμματα Κλάσεων στη Σχεδίαση

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

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει

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

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

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

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

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

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

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

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

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός

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

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

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

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

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

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

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει

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

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ. Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2018-19, Χειμερινό Εξάμηνο 1 η Ενδιάμεση

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

Πίνακας Περιεχομένων

Πίνακας Περιεχομένων Πίνακας Περιεχομένων 1. Εισαγωγή... 2 1.1. Κοινά Στοιχεία User Interface... 3 1.2. Σχέση δικαιωμάτων με User Interface... 4 1.3. Διαθέσιμα εργαλεία του περιβάλλοντος λειτουργίας (GUI)... 4 1.4. Εισαγωγή

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing ΕΛΕΓΧΟΣ ΙΣΟΤΗΤΑΣ Έλεγχος ισότητας Έχουμε πει ότι όταν ελέγχουμε ισότητα μεταξύ αντικειμένων

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 Συνέχεια Αναδρομής (recursion): Ο αλγόριθμος του Ευκλείδη για τον Μέγιστο Κοινό Διαιρέτη (ΜΚΔ) με αναδρομή: p, αν q=0 (βασική περίπτωση)

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (2ο Μέρος)

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (2ο Μέρος) Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (2ο Μέρος) 1 Περιεχόμενα 1η Άσκηση Διαδικτυακό σύστημα διαχείρισης των λειτουργιών ενός Τμήματος Τριτοβάθμιας Εκπαίδευσης... 4 2 η Άσκηση Σύστημα

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

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

Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του

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

Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ

Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ Άσκηση 1 Διαχείριση τηλεφωνικού καταλόγου Να σχεδιάσετε ένα διάγραμμα περιπτώσεων χρήσης που να παριστάνει τις δυνατότητες που προσφέρει ένα σύγχρονο

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

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων Διαγράμματα UML στην Ανάλυση Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

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

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο -

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία

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

ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships)

ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships) ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships) Σκοπός Σκοπός των συσχετίσεων είναι να αναπαριστούν την αλληλεπίδραση μεταξύ των κλάσεων και των αντικειμένων. Απεικονίζονται διαγραμματικά με μία γραμμή μεταξύ

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

Ενδεικτικές λύσεις ασκήσεων

Ενδεικτικές λύσεις ασκήσεων Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση ΠΣ διαχείρισης γυμναστηρίου... 4 2 η Άσκηση ΠΣ διαχείρισης στοιχείων υποψηφίων για πρόσληψη... 6 3 η Άσκηση ΠΣ ηλεκτρονικής κράτησης εισιτηρίων... 8

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

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού

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

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

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

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

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2009 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΤΑΞΗ : Β ΗΜΕΡΟΜΗΝΙΑ: Τετάρτη, 3 Ιουνίου 2009 ΩΡΑ: 07:45 10:15 ΟΔΗΓΙΕΣ: Το εξεταστικό δοκίμιο αυτό αποτελείται

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

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων Pylon Entry Πόροι Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων Περιεχόμενα Δημιουργία Νέου Πόρου... 3 Καρτέλα Βασικά Στοιχεία... 4 Καρτέλα Βασικά Στοιχεία... 4 Καρτέλα

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

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

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

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος)

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος) Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων

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

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors). Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ TΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (6ο) Διδάσκων: Κων/νος Στεργίου 6/4/2014 Σύστημα Κράτησης Αεροπορικών Θέσεων Εργασία

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Αντικείμενα μέσα σε αντικείμενα Ορίζουμε κλάσεις για να ορίσουμε τύπους δεδομένων τους οποίους χρειαζόμαστε Π.χ., ο τύπος δεδομένων Date

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

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

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

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

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

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

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors

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

Μοντελοποίηση Πεδίου

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15 Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Γαβαλάς Δαμιανός dgavalas@aegean.gr Λογικά

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

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το

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

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο

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

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

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Συνέχεια για το for: ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07 Nested for-loops (for μέσα σε for): π.χ. int k; for (int i=0; i

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

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

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

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

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

Από τη UML στον Κώδικα. Μέρος Α

Από τη UML στον Κώδικα. Μέρος Α Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον

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

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων, Περιπτώσεις Χρήσης (Προδιαγραφές Απαιτήσεων) Ιδέα του Jacobson ( 92, OOSE) μηχανισμός ανακάλυψης και καταγραφής των λειτουργικών απαιτήσεων ιστορίες χρήσης του συστήματος εργαλείο ανάλυσης ακόμη και σε

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

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:

Η κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης: Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται

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

Εισαγωγή στα Πληροφοριακά Συστήματα

Εισαγωγή στα Πληροφοριακά Συστήματα Εισαγωγή στα Πληροφοριακά Συστήματα Ενότητα 7: Μοντελοποίηση με ΔΡΔ (3 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

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

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παραδείγματα Τι γίνεται αν έχουμε ένα constructor που παίρνει όρισμα ένα πίνακα? public Car(int[] position) Αν ο πίνακας αλλάξει μέσα στην

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

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

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση

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