ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
|
|
- Κάρμη Κοτζιάς
- 8 χρόνια πριν
- Προβολές:
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. Πελάτης Ταμίας υπάλληλος Διαχειριστής Σύστημα εξουσιοδότησης πληρωμής
Πελάτης Μπαίνοντας στο κατάστημα ο πελάτης, κατευθύνεται στα ράφια όπου είναι τοποθετημένα τα DVD ή τα παιχνίδια και μετά από αναζήτηση επιλέγει ένα ή περισσότερα τα οποία προσκομίζει στο ταμείο για ενοικίαση.
Διαβάστε περισσότεραΔιαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας
Διαγράμματα Αλληλεπίδρασης Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας 1 Διαγράμματα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειμένων μέσω μηνυμάτων Η ανάθεση αρμοδιοτήτων περιλαμβάνει
Διαβάστε περισσότεραΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ» ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ ΠΛΗ24 «ΣΧΕΔΙΑΣΜΟΣ ΛΟΓΙΣΜΙΚΟΥ» ΣΤΟΙΧΕΙΑ ΠΟΥ ΣΥΜΠΛΗΡΩΝΕΙ Ο ΦΟΙΤΗΤΗΣ / Η ΦΟΙΤΗΤΡΙΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Διαβάστε περισσότερα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 Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραI (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Συνεργασίας Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Είσοδος Χρησιμοποιούμε την κλάση Scanner της Java import java.util.scanner; Αρχικοποιείται με το ρεύμα εισόδου: Scanner in = new Scanner(System.in);
Διαβάστε περισσότεραΜοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams
Μοντελοποίηση Συστημάτων Διαγράμματα Κλάσεων ClassDiagrams Διαγράμματα Κλάσεων Χρησιμοποιούνται στα βήματα: Ανάλυση απαιτήσεων Π.Σ. Σχεδιασμός Π.Σ. Είναι στατικά διαγράμματα που δείχνουν: Κλάσεις Ιδιότητες
Διαβάστε περισσότεραΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΕΡΓΑΣΙΕΣ ΟΝΤΟΚΕΝΤΡΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 2016-2017 ΕΡΓΑΣΙΑ 1 (JAVA) Παράδοση 26/4/2017 Στα πλαίσια της εργασίας θα υλοποιηθεί ένα απλοϊκό πρόγραμμα κρατήσεων Ξενοδοχείων. Για απλοποίηση θα περιοριστούμε
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΗλεκτρονικό Κατάστημα
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Παραδείγματα -UML Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2011-2012 1 Ηλεκτρονικό Κατάστημα Το αντικείμενο είναι η
Διαβάστε περισσότεραΔιαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων
Διαγράμματα UML στην Ανάλυση Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων περιεχόμενα παρουσίασης Διαγράμματα κλάσεων Διαγράμματα αντικειμένων διαγράμματα κλάσεων Χρησιμοποιούνται στην ανάλυση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Διαβάστε περισσότεραΔομές ελέγχου ροής προγράμματος
Δομές ελέγχου ροής προγράμματος Υπάρχουν δύο είδη δομών ελέγχου ροής (control flow): Οι δομές επιλογής και Οι δομές επανάληψης Δομές ελέγχου ροής προγράμματος Είδος δομής Δομές επιλογής Δομή ελέγχου ροής
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι 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 Ισότητα 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 Ένας ακέραιος μεγαλύτερος του 1 είναι πρώτος αν έχει ακριβώς δύο διαιρέτες (τη μονάδα και τον εαυτό του). Πρόβλημα: έλεγχος
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότεραΕργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Διαβάστε περισσότεραΠεριεχόμενο του μαθήματος
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Απαιτήσεις Λογισμικού Περιπτώσεις χρήσης Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 2012-2013 1 Περιεχόμενο του μαθήματος
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι 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 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων ΠΑΡΑΔΕΙΓΜΑ ΣΥΝΘΕΣΗΣ Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4 φοιτητές οπού
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει
Διαβάστε περισσότεραΤμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.
Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2018-19, Χειμερινό Εξάμηνο 1 η Ενδιάμεση
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός 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 ΕΛΕΓΧΟΣ ΙΣΟΤΗΤΑΣ Έλεγχος ισότητας Έχουμε πει ότι όταν ελέγχουμε ισότητα μεταξύ αντικειμένων
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4 φοιτητές οπού ο καθένας έχει ένα
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 10/1/08 Συνέχεια Αναδρομής (recursion): Ο αλγόριθμος του Ευκλείδη για τον Μέγιστο Κοινό Διαιρέτη (ΜΚΔ) με αναδρομή: p, αν q=0 (βασική περίπτωση)
Διαβάστε περισσότεραΕνδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (2ο Μέρος)
Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (2ο Μέρος) 1 Περιεχόμενα 1η Άσκηση Διαδικτυακό σύστημα διαχείρισης των λειτουργιών ενός Τμήματος Τριτοβάθμιας Εκπαίδευσης... 4 2 η Άσκηση Σύστημα
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραΘ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ
Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ Άσκηση 1 Διαχείριση τηλεφωνικού καταλόγου Να σχεδιάσετε ένα διάγραμμα περιπτώσεων χρήσης που να παριστάνει τις δυνατότητες που προσφέρει ένα σύγχρονο
Διαβάστε περισσότεραΔιαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων
Διαγράμματα UML στην Ανάλυση Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Διαβάστε περισσότεραΕργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο -
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάνα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships)
ΣΥΣΧΕΤΙΣΕΙΣ ΚΛΑΣΕΩΝ (Class relationships) Σκοπός Σκοπός των συσχετίσεων είναι να αναπαριστούν την αλληλεπίδραση μεταξύ των κλάσεων και των αντικειμένων. Απεικονίζονται διαγραμματικά με μία γραμμή μεταξύ
Διαβάστε περισσότεραΕνδεικτικές λύσεις ασκήσεων
Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση ΠΣ διαχείρισης γυμναστηρίου... 4 2 η Άσκηση ΠΣ διαχείρισης στοιχείων υποψηφίων για πρόσληψη... 6 3 η Άσκηση ΠΣ ηλεκτρονικής κράτησης εισιτηρίων... 8
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας
Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού
Διαβάστε περισσότεραΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΞΙΔΙΩΤΙΚΟΥ ΠΡΑΚΤΟΡΕΙΟΥ
ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΞΙΔΙΩΤΙΚΟΥ ΠΡΑΚΤΟΡΕΙΟΥ Αναγνώριση Χειριστών Πρωτεύοντες Χειριστές Πελάτης Διαχειριστής Δευτερεύοντες Χειριστές Γραφείο Ενοικίασης Αυτοκινήτων Ξενοδοχειακός Πράκτορας Αναγνώριση
Διαβάστε περισσότεραΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009
ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2009 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΤΑΞΗ : Β ΗΜΕΡΟΜΗΝΙΑ: Τετάρτη, 3 Ιουνίου 2009 ΩΡΑ: 07:45 10:15 ΟΔΗΓΙΕΣ: Το εξεταστικό δοκίμιο αυτό αποτελείται
Διαβάστε περισσότεραPylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων
Pylon Entry Πόροι Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων Περιεχόμενα Δημιουργία Νέου Πόρου... 3 Καρτέλα Βασικά Στοιχεία... 4 Καρτέλα Βασικά Στοιχεία... 4 Καρτέλα
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες. Θέμα 1. α) Δημιουργήστε μια κλάση αντικειμένων Tetragono η οποία
Διαβάστε περισσότεραΠληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ TΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (6ο) Διδάσκων: Κων/νος Στεργίου 6/4/2014 Σύστημα Κράτησης Αεροπορικών Θέσεων Εργασία
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Αντικείμενα μέσα σε αντικείμενα Ορίζουμε κλάσεις για να ορίσουμε τύπους δεδομένων τους οποίους χρειαζόμαστε Π.χ., ο τύπος δεδομένων Date
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών Εκφώνηση Υποχρεωτικής
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors
Διαβάστε περισσότεραΜοντελοποίηση Πεδίου
Μοντελοποίηση Πεδίου περιεχόμενα παρουσίασης Εννοιολογικές κλάσεις Συσχετίσεις εννοιολογικών κλάσεων Τύποι ιδιοτήτων Γενίκευση Συχνά σφάλματα μοντελοποίησης πεδίου Εννοιολογικές κλάσεις και κλάσεις λογισμικού
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors Μαθήματα από το lab Ένα πρόγραμμα αποτελείται από διάφορες κλάσεις και αντικείμενα αυτών των κλάσεων. Μία από τις κλάσεις
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15
Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
Διαβάστε περισσότερα2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Διαβάστε περισσότεραΑντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Γαβαλάς Δαμιανός dgavalas@aegean.gr Λογικά
Διαβάστε περισσότεραΑνάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)
Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 7: Εισαγωγή στη UML Τι είναι η UML; 2 Βασικό πρόβλημα τεχνολογίας λογισμικού Έλλειψη κοινά αποδεκτής «γλώσσας» για την έκφραση των σχεδίων λογισμικού. Το
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Διαγράμματα Αλληλεπίδρασης Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων
ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Οι Μηχανικοί Λογισμικού παράγουν μοντέλα που βοηθούν στη διατύπωση των απαιτήσεων με τη μορφή προδιαγραφών. Η εργασία της παραγωγής μοντέλων περιγράφεται ως ανάλυση απαιτήσεων. Η ανάλυση
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ Ι 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. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός μνήμης Αντικείμενα παράμετροι String Interning Αποθήκευση αντικειμένων Οι θέσεις μνήμης των αντικειμένων κρατάνε μια διεύθυνση στο
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
Διαβάστε περισσότεραΕργαστήριο 1-1 η Άσκηση - Ανάλυση
Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Α
Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον
Διαβάστε περισσότεραΤμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,
Περιπτώσεις Χρήσης (Προδιαγραφές Απαιτήσεων) Ιδέα του Jacobson ( 92, OOSE) μηχανισμός ανακάλυψης και καταγραφής των λειτουργικών απαιτήσεων ιστορίες χρήσης του συστήματος εργαλείο ανάλυσης ακόμη και σε
Διαβάστε περισσότεραΗ κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:
Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται
Διαβάστε περισσότεραΕισαγωγή στα Πληροφοριακά Συστήματα
Εισαγωγή στα Πληροφοριακά Συστήματα Ενότητα 7: Μοντελοποίηση με ΔΡΔ (3 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παραδείγματα Τι γίνεται αν έχουμε ένα constructor που παίρνει όρισμα ένα πίνακα? public Car(int[] position) Αν ο πίνακας αλλάξει μέσα στην
Διαβάστε περισσότεραΤο πρόγραμμα 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#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να καταλάβουν την διαφορά ανάμεσα σε τοπικές και καθολικές μεταβλητές. Nα κάνουν αποσφαλμάτωση
Διαβάστε περισσότερα