Φροντιστήριο 3. Ημερομηνία: 22/11/2006 Θεματική Ενότητα: Δομική Μοντελοποίηση Θέμα: Διαγράμματα Κλάσεων
|
|
- Θεόδοτος Αλιβιζάτος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 3 Ημερομηνία: 22/11/2006 Θεματική Ενότητα: Δομική Μοντελοποίηση Θέμα: Διαγράμματα Κλάσεων
2 Περιεχόμενα και Διάρθρωση Εισαγωγή Παραδείγματα Δομικής Μοντελοποίησης Συχνά λάθη Τρόπος σύνταξης διαγραμμάτων κλάσεων με CASE tools (demo) Υλοποίηση Διαγραμμάτων Κλάσεων και Java CS-351 U. of Crete, Fall
3 Τι είναι μοντέλο και γιατί μοντελοποιούμε Μοντέλο: Μια αφαίρεση (απλούστευση) της πραγματικότητας εστιάζει στα σημαντικά, κρύβει τις άσχετες πλευρές και τις δευτερεύουσας σημασίας λεπτομέρειες Γιατί μοντελοποιούμε; Ένα μοντέλο μας επιτρέπει την καλύτερη κατανόηση ενός συστήματος Συνήθως φτιάχνουμε μοντέλα σύνθετων συστημάτων τα οποία δεν μπορούμε να κατανοήσουμε στην πληρότητα τους (ένεκα των περιορισμένων μας αντιληπτικών και διανοητικών ικανοτήτων) Μοντελοποιώντας περιορίζουμε το πρόβλημα εστιάζοντας σε επιμέρους πλευρές του συστήματος (διαίρει και βασίλευε) και κλίμακες αφαίρεσης. Καλά μοντέλα είναι εκείνα που συνδέονται με την πραγματικότητα CS-351 U. of Crete, Fall
4 Μοντελοποίηση στην Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Λειτουργική Μοντελοποίηση Περιπτώσεων Χρήσης (Use Case), Δραστηριοτήτων (Activity) Δομική Μοντελοποίηση Κλάσεων (Class), Αντικειμένων (Object), Πακέτων (Package), Παράταξης (Deployment), Εξαρτημάτων (Component), Σύνθετης Δομής (Composite Structure) Συμπεριφοράς Μοντελοποίηση Sequence (Αλληλουχίας), Επικοινωνίας (Communication), Χρονισμού (Timing), Καταστάσεων (State), Interaction Overview, Protocol State Machine CS-351 U. of Crete, Fall
5 Παραδείγματα Δομικής Μοντελοποίησης CS-351 U. of Crete, Fall
6 Παράδειγμα 1: Μοντελοποίηση Κειμενογράφου Κάθε έγγραφο αποτελείται από ένα αριθμό σελίδων Κάθε σελίδα αποτελείται από μία επικεφαλίδα, το κυρίως κείμενο (σώμα) και κάποιο υποσέλιδο (footer) Στην επικεφαλίδα και στο υποσέλιδο μπορεί να προστεθούν στοιχεία όπως η ημέρα, ηώρα, ο αριθμός της σελίδας Το σώμα της σελίδας αποτελείται από προτάσεις που περιέχουν λέξεις και σημεία στίξης Κάθε λέξη αποτελείται από γράμματα,αριθμούς και ειδικούς χαρακτήρες Το κείμενο μπορεί να περιέχει επίσης εικόνες και πίνακες Κάθε πίνακας έχει γραμμές και στήλες Κάθε κελί ενός πίνακα μπορεί να περιέχει εικόνες ή κείμενο Ο χρήστης μπορεί να δημιουργήσει ένα νέο έγγραφο ή να ανοίξει και να τροποποιήσει ένα υπάρχον Ο χρήστης μπορεί να επιλέξει να αποθηκεύσει ή να εκτυπώσει το έγγραφο CS-351 U. of Crete, Fall
7 Παράδειγμα 1: Μοντελοποίηση Κειμενογράφου Αν εξάγουμε τη λίστα με τα ουσιαστικά από την προηγούμενη περιγραφή θα έχουμε τα εξής: έγγραφο, κείμενο, επικεφαλίδα, υποσέλιδο, ημέρα, ώρα, χρόνος, αριθμός σελίδας, σελίδα, πρόταση, λέξη, σημεία στίξης, γράμμα, αριθμός, ειδικός χαρακτήρας, εικόνα, πίνακας, γραμμή, στήλη, κελί, χρήστης Όλα τα ουσιαστικά αυτά αποτελούν υποψήφιες κλάσεις και χαρακτηριστικά κλάσεων του class diagram CS-351 U. of Crete, Fall
8 Παράδειγμα 1: Έγγραφο (Document) Αποτελεί τη βασική έννοια του πεδίου εφαρμογής Ένα έγγραφο περιέχει ένα αριθμό σελίδων (numberofpages) Οι λειτουργίες που επιτελούνται σε ένα έγγραφο είναι άνοιγμα (open()), αποθήκευση (save()), εκτύπωση (print()), δημιουργία (new()) CS-351 U. of Crete, Fall
9 Παράδειγμα 1: Σελίδα Μίασελίδαέχεικάποιοναριθμόσελίδας Οι λειτουργίες πάνω σε μία σελίδα είναι οι εξής: Δημιουργία σελίδας (newpage()) Απόκρυψη επικεφαλίδας (hideheader()) Απόκρυψη υποσέλιδου (hidefooter()) Εισαγωγή εικόνας (insertpicture()) Εισαγωγή Πίνακα (inserttable()) CS-351 U. of Crete, Fall
10 Παράδειγμα 1: Επικεφαλίδα και Υποσέλιδο Αυτές οι κλάσεις έχουν κοινά χαρακτηριστικά την ημέρα (date), ώρα (time), αριθμό σελίδας (pagenumber), τοποθεσία αρχείου (filelocation) και μπορούν να εμφανίζονται (display ()), να τροποποιούνται (change ()) ή να αποκρύπτονται (hide ()) Μπορεί να έχουμε δημιουργία νέου υποσέλιδου (newfooter()) Μπορεί να έχουμε δημιουργία νέας επικεφαλίδας (newheader()) CS-351 U. of Crete, Fall
11 Παράδειγμα 1: Προτάσεις, λέξεις, χαρακτήρες Το σώμα αποτελείται από προτάσεις, οι προτάσεις από λέξεις και οι λέξεις από χαρακτήρες (Character) Άρα το σώμα αποτελείται από χαρακτήρες οι οποίοι μπορεί να είναι γράμματα (Letter), αριθμοί(number), ειδικοί χαρακτήρες (Special Character) ή (σημεία στίξης) punctual signs Κάθε χαρατήρας έχει έναν τύπο (type) που καθορίζει αν είναι normal, italic, bold ή underline Σε κάθε χαρακτήρα μπορούν να επιτελεστούν λειτουργίες αλλαγής του τύπου : normal(), bold(), italic() και underline() CS-351 U. of Crete, Fall
12 Παράδειγμα 1: Προτάσεις, λέξεις, χαρακτήρες CS-351 U. of Crete, Fall
13 Παράδειγμα 1: Πίνακες Το κείμενο μπορεί να περιέχει επίσης και πίνακες (Table) Κάθε πίνακας έχει γραμμές (numbrows) και στήλες (numbcolumns) Οι λειτουργίες πάνω σε ένα πίνακα είναι: δημιουργία γραμμής (insertrow()),δημιουργία στήλης (insertcolumn()) η δημιουργία πίνακα (newtable()) Σε κάθε κελί αποθηκεύεται κείμενο ή εικόνα (insertpicture()) CS-351 U. of Crete, Fall
14 Παράδειγμα 1: Το ολικό διάγραμμα CS-351 U. of Crete, Fall
15 Παράδειγμα 2: Αττικό Μετρό Θέλουμε να φτιάξουμε ένα ΠΣ για την εταιρεία «Αττικό Μετρό». Σκοπός του συστήματος είναι ο έλεγχος και η επίβλεψη της λειτουργίας και κυκλοφορίας του μετρό. Σχεδιάστε ένα διάγραμμα κλάσεων το οποίο να μοντελοποιεί: Το δίκτυο των σταθμών: Το δίκτυο αποτελείται από γραμμές. Αυτή τη στιγμή το δίκτυο έχει τρεις γραμμές: την κόκκινη, την μπλε και την πράσινη. Κάθε γραμμή αποτελείται από ένα σύνολο σταθμών (κανονικών, μετεπιβίβασης ή τερματικών). Μας ενδιαφέρει η διασύνδεση των σταθμών και οι χιλιομετρικές αποστάσεις που τους χωρίζουν. Τους συρμούς: Ένας συρμός αποτελείται από μια τουλάχιστον μηχανή και ένα σύνολο από επιβατικά βαγόνια. Μας ενδιαφέρουν επίσης τα τεχνικά στοιχεία του κάθε τμήματος του συρμού (πχ. ιπποδύναμη, χωρητικότητα, βάρος κλπ) CS-351 U. of Crete, Fall
16 Παράδειγμα 2: Αττικό Μετρό Τα στοιχεία των εργαζομένων: Μας ενδιαφέρει η ειδικότητα των εργαζομένων (οδηγοί, μηχανικοί συρμών/ δικτύου, ελεγκτές κυκλοφορίας, ταμίες) και τα συναφή τους στοιχεία: π.χ ποιος οδηγεί τον συρμό Νο3. Τα δρομολόγια Κάθε δρομολόγιο έχει αφετηρία, προορισμό και εκτελείται από έναν συγκεκριμένο συρμό. CS-351 U. of Crete, Fall
17 Παράδειγμα 2: Δίκτυο Σταθμών Καλά μοντέλα είναι εκείνα που σχετίζονται με την πραγματικότητα. Το πρώτο πράγμα που πρέπει να κάνετε είναι να βρείτε τον χάρτη του μετρό (π.χ από τον Ιστό). Ένα απόσπασμα του χάρτη παρατίθεται. CS-351 U. of Crete, Fall
18 Παράδειγμα 2: Δίκτυο Σταθμών Απότονχάρτηαυτόπαρατηρούμεότι κάποιοι σταθμοί ανήκουν σε δύο γραμμές (π.χ. η Ομόνοια ανήκει στην πράσινη και στην κόκκινη, ενώ το Σύνταγμα στην μπλέ και στην κόκκινη). Άρα δεν πρέπει να διαμερίσουμε τους σταθμούς σε γραμμές αλλά τις διασυνδέσεις των σταθμών. Εκ τούτου ένας σταθμός είναι μετεπιβίβασης αν είναι άκρο τουλάχιστον δύο συνδέσεων διαφορετικού χρώματος. Ένας σταθμός είναι τερματικός μίας γραμμής αν είναι άκρο μίας μόνο σύνδεσης αυτής της γραμμής. Αν δεν ισχύει τίποτα από τα παραπάνω δύο, τότε μπορούμε να θεωρήσουμε τον σταθμό κανονικό. Ένας σταθμός μπορεί ταυτόχρονα να είναι και τερματικός και μετεπιβίβασης. Για παράδειγμα το Μοναστηράκι είναι τερματικός σταθμός (της μπλε γραμμής) αλλά συνάμα μετεπιβίβασης αφού η πράσινη γραμμή διέρχεται από αυτόν. CS-351 U. of Crete, Fall
19 Παράδειγμα 2: Δίκτυο Σταθμών Ένας τρόπος μοντελοποίησης του δικτύου των σταθμών φαίνεται παρακάτω. Ο περιορισμός των κλάσεων συσχέτισης (ένα ζεύγος σταθμών μπορεί να μετέχει το πολύ μια φορά) μας εξυπηρετεί αφού θα ήταν παράλογο να συνδέονται δυο σταθμοί με παραπάνω από μία (άμεση) διασύνδεση. Station name 1..6 start 1..6 destination connection Km Distance * colour 1 <<enumeration>> Color red green blue Παρατηρείστε την πολλαπλότητα Προφανώς το 0 θα ήταν παράλογο. Το 1 συνεπάγεται σίγουρα τερματικό σταθμό (που δεν είναι μετεπιβίβασης) ενώ το μέγιστο 6 μπορεί να υπάρξει μόνο στην περίπτωση ενός σταθμού από τον οποίο διέρχονται και οι 3 γραμμές και άρα έχει 2 γείτονες ανά γραμμή. CS-351 U. of Crete, Fall
20 Παράδειγμα 2: Συρμοί Ένας συρμός αποτελείται από μια τουλάχιστον μηχανή και ένα σύνολο από επιβατικά βαγόνια. Μας ενδιαφέρουν επίσης τα τεχνικά στοιχεία του κάθε τμήματος του συρμού (πχ. ιπποδύναμη, χωρητικότητα, βάρος κλπ) Μια μοντελοποίηση των συρμών είναι η εξής. Ηχρήσητου{ordered} μας επιτρέπει να γνωρίζουμε τη σειρά διασύνδεσης των βαγονιών. Wagon Train hasengine> 1 Engine capacity weight hp haswagon> 1..* {ordered} Wagon capacity weight CS-351 U. of Crete, Fall
21 Παράδειγμα 2: Στοιχεία εργαζομένων Μας ενδιαφέρει η ειδικότητα των εργαζομένων (οδηγοί, μηχανικοί συρμών/ δικτύου, ελεγκτές κυκλοφορίας, ταμίες). Για τους οδηγούς μας ενδιαφέρει να καταγράψουμε και ποιο συρμό οδηγούν. Μία μοντελοποίηση: 0..1 Wagon Train Employee name driver 1 Driver Engineer Cashier CS-351 U. of Crete, Fall
22 Παράδειγμα 2: Δρομολόγια Κάθε δρομολόγιο έχει αφετηρία, προορισμό και εκτελείται από έναν συγκεκριμένο συρμό. Η αφετηρία και ο προορισμός ενός δρομολογίου πρέπει να είναι σταθμοί της ίδιας γραμμής. Ο τελευταίος περιορισμός δεν εκφράζεται στο παραπάνω διάγραμμα. CS-351 U. of Crete, Fall
23 Παράδειγμα 2: Το πλήρες μοντέλο Το πλήρες μοντέλο προκύπτει συναρμολογώντας όλα τα παραπάνω. Παρατήρηση: Είναι προτιμότερο ο Οδηγός να συσχετιστεί με το δρομολόγιο και όχι με το τραίνο. Θα μπορούσαμε να ορίσουμε μια παράγωγη συσχέτιση (derived association) μεταξύ οδηγού και τραίνου. CS-351 U. of Crete, Fall
24 Παράδειγμα 2: Το πλήρες μοντέλο Connection Color - red -blue -green CS-351 U. of Crete, Fall
25 Παράδειγμα 3: Βιβλιοθήκης Σε μία βιβλιοθήκη, μπορεί να υπάρχουν διαφορετικά αντίγραφα του ίδιου βιβλίου Οι δανειζόμενοι μπορούν κάθε στιγμή να έχουν δανειστεί μέχρι και οχτώ βιβλία Τα δανειζόμενα βιβλία επιστρέφονται το πολύ σε τρεις εβδομάδες μετά το δανεισμό, εκτός αν ανανεωθεί ο δανεισμός τους και η ημερομηνία επιστροφής επεκτείνεται για άλλες τρεις εβδομάδες. Τα βιβλία αναγνωρίζονται από τον αριθμό τους, δηλαδή το ISBN; ο τίτλος, ο συγγραφέας και η κατηγορία είναι επίσης σημαντικά. Κάθε αντίγραφο του βιβλίου έχει ένα ξεχωριστό αριθμό καταλόγου, και η βιβλιοθήκη καταγράφει την ημερομηνία αγοράς και το κόστος όταν η νέα αγορά καταχωρείται. CS-351 U. of Crete, Fall
26 Παράδειγμα 3: Βιβλιοθήκης Οι δανειζόμενοι μπορούν να κάνουν κράτηση σε βιβλία, οπότε σε αυτή τη περίπτωση το πρώτο αντίγραφο του τίτλου που θα επιστραφεί θα κρατηθεί για αυτούς, εκτός αν κάποιος άλλος έχει κάνει κράτηση στο βιβλίο πρώτος. Σχεδιάστε ένα διάγραμμα κλάσεων, περιλαμβάνοντας οτιδήποτε γνωρίσματα στο σενάριο, καθώςκαιτιςεξήςλειτουργίες: δανεισμός, κράτηση, επιστροφή, ανανέωση βιβλίου, καθώς και εύρεση όλων των κρατήσεων που έχουν γίνει για ένα συγκεκριμένο βιβλίο. CS-351 U. of Crete, Fall
27 Παράδειγμα 3: Γενικά Σχόλια Σχόλιο από διδασκαλία μαθήματος 2005 Αρκετοί φοιτητές επέλεξαν να μοντελοποιήσουν τις λειτουργίες όχι ως operations των κλάσεων, αλλά ως ξεχωριστές κλάσεις που κάθε τους instance αντιστοιχεί σε μία συγκεκριμένη λειτουργία που γίνεται μεταξύ δανειζόμενου και βιβλίου. Μια προτιμότερη μοντελοποίηση είναι η ακόλουθη: CS-351 U. of Crete, Fall
28 Παράδειγμα 3: Μια μοντελοποίηση CS-351 U. of Crete, Fall
29 Παράδειγμα 4: Adventure Games Graph Τα adventure games συχνά βασίζονται σε γράφους. Οι κόμβοι του γράφου παριστάνουν θέσεις, ενώ υπάρχει και ένα σύνολο κατευθύνσεων (πχ Βοράς, Νότος, Ανατολή, Δύση). Για κάθε κόμβο n και κατεύθυνση d, υπάρχειτοπολύέναςκόμβοςστονοποίο μπορούμε να φθάσουμε αν ακολουθήσουμε την κατεύθυνση d από τον n (α) Σχεδιάστε ένα διάγραμμα κλάσεων για την καταχώρηση τέτοιων γράφων. Σημειώστε επίσης και τους περιορισμούς αντιστοίχισης (multiplicity constraints) σε όλες τις συσχετίσεις που θα ορίσετε. CS-351 U. of Crete, Fall
30 Παράδειγμα 4: Μια λύση 0..* 0..* Node 0..1 west south 0..1 north * 0..* 0..1 east CS-351 U. of Crete, Fall
31 Παράδειγμα 4: Παραλλαγή Εκφώνησης Σχεδιάστε μια άλλη έκδοση του σχήματος αυτού που να επιτρέπει την καταχώριση γράφων με απεριόριστο πλήθος δυνατών κατευθύνσεων. Σχολιάστε σύντομα τις σχεδιαστικές επιλογές που κάνατε σε κάθε περίπτωση. CS-351 U. of Crete, Fall
32 Παράδειγμα 4: Λύση (Α) Το διπλανό διάγραμμα επιτρέπει απεριόριστο αριθμό κατευθύνσεων. Παρά ταύτα, η κλάση συσχέτισης θέτει έναν επιπλέον περιορισμό: μεταξύ δύο κόμβων (στιγμιότυπων της κλάσης Node) μπορεί να υπάρχει το πολύ μία συσχέτιση. Άρα το παραπάνω διάγραμμα αποκλείει μεταβάσεις της μορφής (U1.North= U2) και (U1.South=U2). CS-351 U. of Crete, Fall
33 Παράδειγμα 4: Παραλλαγή λύσης (Α) Η εκφώνηση της άσκησης δεν έθεσε έναν τέτοιο περιορισμό. Αν είχε τεθεί αυτός οπεριορισμός, τότε το διάγραμμα για το (α) σκέλος της άσκησης θα μπορούσε να έχει την εξής μορφή: CS-351 U. of Crete, Fall
34 Παράδειγμα 4: Λύση (Β) Μια διαφορετική μοντελοποίηση που επιτρέπει απεριόριστο αριθμό κατευθύνσεων αλλά δεν θέτει τον παραπάνω περιορισμό είναι η ακόλουθη. Αυτή όμως η λύση έχει το μειονέκτημα ότι δεν ικανοποιεί τον περιορισμό μοναδικού προορισμού: «Για κάθε κόμβο n και κατεύθυνση d, υπάρχειτοπολύέναςκόμβοςστον οποίο μπορούμε να φθάσουμε αν ακολουθήσουμε την κατεύθυνση d από τον n». Με άλλα λόγια επιτρέπει (U1.North=U2) και (U1.North=U3). CS-351 U. of Crete, Fall
35 Παράδειγμα 4: Λύση (Γ) Μία λύση που δεν έχει τα παραπάνω προβλήματα είναι η εξής: Χρησιμοποιούμε το γνώρισμα direction ως qualifier της αναδρομικής συσχέτισης και την πολλαπλότητα 0..1 στον προορισμό. Με αυτόν τον τρόπο από ένα κόμβο και για συγκεκριμένη κατεύθυνση μπορούμε να καταλήξουμε σε έναν το πολύ κόμβο. Επίσης η μοντελοποίηση αυτή δεν απαγορεύει μεταβάσεις της μορφής: (U1.North=U2) και (U1. South=U2). CS-351 U. of Crete, Fall
36 Παράδειγμα 5 : Μοντελοποίηση Οχημάτων - Ιδιοκτητών Ένα όχημα μπορεί να είναι είτε αυτοκίνητο είτε μοτοσικλέτα Όλα τα οχήματα έχουν κάποια κοινά χαρακτηριστικά όπως η μέγιστη ταχύτητα και το βάρος Το αυτοκίνητο και οι μοτοσικλέτες διαφέρουν σε κάποια χαρακτηριστικά όπως ο αριθμός από ρόδες που διαθέτουν Ένα αυτοκίνητο έχει επιπλέον χαρακτηριστικά όπως ο αριθμός των επιβατών που χωράει Κάθε όχημα ανήκει σε έναν ιδιοκτήτη ενώ ένας ιδιοκτήτης μπορεί να έχει πολλά οχήματα Κάθε ιδιοκτήτης έχει κάποια χαρακτηριστικά όπως όνομα και αριθμό τηλεφώνου CS-351 U. of Crete, Fall
37 Παράδειγμα 5 : Μοντελοποίηση Οχημάτων - Ιδιοκτητών Vehicle + weight : int + topspeed : int + VIN : string - myvehicles 0..* - myowner 1 + firstname : string + lastname : string + phonenumber : string Owner + getowner ( ) + contactowner ( [in] message : string ) : bool + getname ( ) : string Car + modeltype : string + maxpassengers : int + addrepairnote ( [in] note : string ) : bool Motorcycle + modeltype : string - wheels 2 Wheel + maxmileage : int - wheels 4 CS-351 U. of Crete, Fall
38 Συχνά Λάθη CS-351 U. of Crete, Fall
39 (1) Επανάληψη Πληροφορίας Car - wheels: Αrray [4] 4 wheels Wheel : Λάθος Car 4 wheels Wheel : Σωστό Car - wheels: Αrray [4] Wheel : Σωστό (Αλλά περιγράφει την υλοποίηση) CS-351 U. of Crete, Fall
40 (2) Επανάληψη Πληροφορίας Borrower 1 3 Book borrower book : Λάθος - numbooks : int - borrower: Borrower CS-351 U. of Crete, Fall
41 (3) Πλεονάζουσες Συσχετίσεις Σε περίπτωση που από την ανάλυση προέκυπτε ότι συχνά απαιτούνταν να γνωρίζουμε ποιοι καθηγητές δίδαξαν ένα μάθημα, θα μπορούσαμε να επιλέξουμε να προσθέσουμε μια πλεονάζουσα συσχέτιση μεταξύ Καθηγητή και Μαθήματος Μάθημα - ονομα - αριθμός - Διδακτ.Μον προσφέρεται ως > 1 n Τάξη - αριθμός - ώρα - ημέρα - εξάμηνο * * + : ταχύτητα < δίδαξε * Καθηγητής - ονομα διδάσκει > - ειδικότητα 1 - : πολυπλοκότητα (σε σε κάθε αλλαγή καθηγητή απαιτείται ενημέρωση 2 δεσμών) CS-351 U. of Crete, Fall
42 (4) Συνάθροιση vs Σύνθεση Δηλώνουν σχέσεις του τύπου το σύνολο αποτελείται-από μέρη Συνάθροιση (Aggregation) Το μέρος δημιουργείται και καταστρέφεται ανεξάρτητα από το σύνολο Το μέρος μπορεί να ανήκει σε περισσότερα από ένα σύνολα Σύνθεση (Composition) Δυνατότερη σχέση από τη συνάθροιση Το μέρος δημιουργείται και καταστρέφεται με το σύνολο Το μέρος μπορεί να ανήκει μόνο σε ένα σύνολο Οι ορισμοί και η μεταξύ τους διάκριση είναι ακόμα υπό συζήτηση CS-351 U. of Crete, Fall
43 Συνάθροιση Σύνθεση Department Hand 1..* 0..* Course Finger CS-351 U. of Crete, Fall
44 Υλοποίηση Διαγραμμάτων Κλάσεων και Java CS-351 U. of Crete, Fall
45 Κλάσεις Account -number : int -balance : int -branch : string +calcinterest() : double +getbalance() : int public class Account { private int number; private int balance; private String branch; public double calcinterest(){ return 0; } } public getbalance(){ return 0; } CS-351 U. of Crete, Fall
46 Συσχετίσεις Απλής Κατεύθυνσης Account -number : int -balance : int -branch : string +calcinterest() : double +getbalance() : int 1 1 Customer -lastnumber : string -lastnumber : string public class Account { private int number; private int balance; private String branch; public double calcinterest(){ return 0; } public class Customer { private String lastname; private String firstname; private Account theaccount; } public getbalance(){ return 0; } CS-351 } U. of Crete, Fall
47 Συσχετίσεις Απλής Κατεύθυνσης με Πολλαπλότητα Account -number : int -balance : int -branch : string +calcinterest() : double +getbalance() : int 1..* 1 +relatedaccount Customer -lastnumber : string -lastnumber : string public class Account { private int number; private int balance; private String branch; public double calcinterest(){ return 0; } public class Customer { private String lastname; private String firstname; private ArrayList theaccounts; } public getbalance(){ return 0; } CS-351 } U. of Crete, Fall
48 Συσχετίσεις Διπλής Κατεύθυνσης με Πολλαπλότητα Account -number : int -balance : int -branch : string +calcinterest() : double +getbalance() : int 1..* 1 +relatedaccount Customer -lastnumber : string -lastnumber : string public class Account { private int number; private int balance; private String branch; private Customer thecustomer; public class Customer { private String lastname; private String firstname; private ArrayList theaccount; } public double calcinterest(){ return 0; } public getbalance(){ return 0; } } CS-351 U. of Crete, Fall
49 Συναθροίσεις Car 4 wheels Wheel public class Car { private Wheel wheels[];... // τα αντικείμενα wheel δημιουργούνται εξωτερικά // και μπαίνουν ορίσματα στον constructor } public Car( Wheel w1, Wheel w2, ) { wheels = new Wheel[4]; wheels[0] = w1; wheels[1] = w2; } CS-351 U. of Crete, Fall
50 Συνθέσεις Car 4 wheels Wheel public class Car { private Wheel wheels[];... public Car() { wheels = new Wheel[4]; } }... // τα αντικείμενα wheel δημιουργούνται εσωτερικά στον constructor wheels[0] = new Wheel(); wheels[1] = new Wheel(); CS-351 U. of Crete, Fall
51 Κληρονομικότητα - name - salary +printincome() Employee public class Employee { private String name; private int salary; public double printincome(){ return 0; } } AdminEmployee -ovthours -rate -printincome() public class AdminEmployee extends Employee{ private int ovthours; private int rate; //Αυτή η συνάρτηση θα κληθεί στη θέση της πατρικής //εάν έχει υλοποιηθεί, διαφορετικά καλείται του πατέρα public double printincome(){ return 0; } } CS-351 U. of Crete, Fall
ΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS
ΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS Διάγραμμα Περιπτώσεων χρήσης 2 Να κατασκευάσουμε ένα διάγραμμα περιπτώσεων χρήσης για το παρακάτω σύστημα. Το σύστημα τηρεί αρχεία μαθητών, καθηγητών και μαθημάτων.
Διαβάστε περισσότεραΠανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο 2006. οµική Μοντελοποίηση Class Diagrams
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων Information Systems Analysis and Design οµική Μοντελοποίηση Class Diagrams Περιεχόµενα
Διαβάστε περισσότεραΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++
Πολλαπλή κληρονομικότητα, Συσχετίσεις μεταξύ κλάσεων ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) (Απλή) Κληρονομικότητα Student + calctuition(): double GraduateStudent + calctuition():
Διαβάστε περισσότεραΔιάγραμμα Κλάσεων. Class Diagram
Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά
Διαβάστε περισσότερα(Απλή) Κληρονομικότητα
Πολλαπλή κληρονομικότητα, υςχετίςεισ μεταξύ κλάςεων ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡ/ΜΟ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) (Απλή) Κληρονομικότητα Student + calctuition(): double GraduateStudent + calctuition(): double
Διαβάστε περισσότεραΕνδεικτικές λύσεις ασκήσεων διαγραμμάτων κλάσης (2 ο Μέρος)
Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων κλάσης (2 ο Μέρος) η Άσκηση Δημιουργείστε το διάγραμμα κλάσης από την παρακάτω περιγραφή: «Η εταιρία GoodsForAll δραστηριοποιείται στη διανομή αγαθών και αποτελείται
Διαβάστε περισσότεραΦροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 5 Ημερομηνία: 01/12/2006 Θεματική
Διαβάστε περισσότεραΠληροφοριακά Συστήματα Διοίκησης Ενότητα 6: Διαγράμματα Κλάσης (2ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης Ενότητα 6: Διαγράμματα Κλάσης (2ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων και Τροφίμων
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας
Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού
Διαβάστε περισσότεραΠεριεχόμενα και Διάρθρωση. Interaction Diagrams
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Interaction Diagrams Περιεχόμενα και Διάρθρωση Εισαγωγή Διαγράμματα
Διαβάστε περισσότεραΗ γλώσσα μοντελοποίησης UML. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7
Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης
Διαβάστε περισσότεραΤεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΗ γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση
Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης
Διαβάστε περισσότεραΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE
ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE Το path που ακολουθούμε για να ανοίξουμε το εργαλείο είναι: Start All Programs Lab Programs Rational Software Rational Rose Enterprise Edition 1 ο ΔΙΑΓΡΑΜΜΑ:
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότερα08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο
08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language
Διαβάστε περισσότεραΦροντιστήριο 3. <logo image> Ημερομηνία: Παρασκευή 10/11/2006 Θεματική Ενότητα: Activity Diagrams
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 3 Ημερομηνία: Παρασκευή
Διαβάστε περισσότερα09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο
09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Διαβάστε περισσότεραΔιάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII
Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων(συν.) - Φάση 3: Υλοποίηση(αναλυτικά
Διαβάστε περισσότεραUML
Εισαγωγή στη UML UML Μοντέλο Μοντελοποίηση Εισαγωγή στη UML Πως φθάσαμε στη UML Γέννηση της UML Σκοπός της UML Γιατί Διαγράμματα Τυπικές Μέθοδοι (Formal Methods) Γενικά Ανάλυση και Σχεδίαση με UML [Α]
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Α
Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον
Διαβάστε περισσότερα. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014
.. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία
Διαβάστε περισσότεραΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Αντικείμενα μέσα σε αντικείμενα Ορίζουμε κλάσεις για να ορίσουμε τύπους δεδομένων τους οποίους χρειαζόμαστε Π.χ., ο τύπος δεδομένων Date
Διαβάστε περισσότεραΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων class Person { private String name; public Person(String name){ this.name = name; public String getname(){ return name; class Car { private
Διαβάστε περισσότεραΠερίπτωση Χρήσης Use case
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Use Cases & Use Case Diagrams Περίπτωση Χρήσης
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,
Διαβάστε περισσότεραΜετατροπή Σχήματος Ο/Σ σεσχεσιακό
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 1 2 Οντότητες Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε
Διαβάστε περισσότεραPOINTERS, AGGREGATION, COMPOSITION
POINTERS, AGGREGATION, COMPOSITION POINTERS TO OBJECTS Η κλάση mystring class mystring private: char *s; int size; public: mystring(const char *); ~mystring(); char *GetString(); int GetSize(); ; mystring::mystring(const
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΕργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών. ΤΗΜΜΥ Α.Π.Θ Δευτέρα 22 / 11 / 2017 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών 3 o /5 o Εξάμηνο ΤΗΜΜΥ Α.Π.Θ 2017-2018 Δευτέρα 22 / 11 / 2017 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ DS Pac-Man Part 2 Κίνηση Pacman (0,75
Διαβάστε περισσότεραΜάθημα 1 [3/11/2015].
Μάθημα 1 [3/11/2015]. Στην πρώτη διάλεξη πραγματοποιήθηκε επανάληψη της γλώσσας Java και ως εξάσκηση επιλύθηκαν οι ασκήσεις της Εξεταστικής Περιόδου 2015 οι οποίες κοινοποιούνται μαζί με ενδεικτική λύση
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ
ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΦΑΡΜΟΓΕΣΔΙΟΙΚΗΤΙΚΗΣΕΠΙΣΤΗΜΗΣ&
Διαβάστε περισσότεραΗ κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:
Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Β
Από τη UML στον Κώδικα Μέρος Β περιεχόμενα παρουσίασης Αμφίδρομες συσχετίσεις Συσσωμάτωση Σύνθεση Διαγράμματα ακολουθίας αμφίδρομες συσχετίσεις Μία αμφίδρομη συσχέτιση υλοποιείται με δύο μονόδρομες. Υπάρχει
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 21/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων Object Diagrams Διαγράμματα Αντικειμένων
Διαβάστε περισσότεραΜοντελοποίηση Συστημάτων. Διαγράμματα Κλάσεων ClassDiagrams
Μοντελοποίηση Συστημάτων Διαγράμματα Κλάσεων ClassDiagrams Διαγράμματα Κλάσεων Χρησιμοποιούνται στα βήματα: Ανάλυση απαιτήσεων Π.Σ. Σχεδιασμός Π.Σ. Είναι στατικά διαγράμματα που δείχνουν: Κλάσεις Ιδιότητες
Διαβάστε περισσότεραΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος
ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 15 Μαΐου 2017, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web
ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ Άσκηση 1 Εφαρµογή Web Α) Τα παραπάνω διαγράµµατα περιπτώσεων χρήσης ικανοποιούν τις απαιτήσεις του συστήµατος ως εξής: ΑΠΑΙΤΗΣΕΙΣ ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ Μόνο οι φοιτητές του συγκεκριµένου
Διαβάστε περισσότεραΜέθοδοι μοντελοποίησης
Μέθοδοι μοντελοποίησης Ευθύμιος Ταμπούρης tambouris@uom.gr Περιεχόμενα Ο ρόλος των μοντέλων Διαγράμματα Δραστηριοτήτων Διαγράμματα Περιπτώσεων Χρήσης Διαγράμματα Κλάσεων Διαγράμματα Ακολουθίας Διαγράμματα
Διαβάστε περισσότερα3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο. Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΙΝΑΤΚΑΣ Ι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων Εισαγωγή Οι βασικοί τύποι δεδομένων στην C είναι char, int, float και double Το επόμενο βήμα δεδομένων
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΕισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#
Εισαγωγή σε αντικειμενοστραφή concepts Και λίγη C# Κλάσεις Κλάση: τύπος δεδομένων που αποτελεί συλλογή πεδίων, ορισμών συναρτήσεων/μεθόδων και ορισμών άλλων τύπων δεδομένων. Αντίστοιχο σκεπτικό με struct
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων class Person { private String name; public Person(String name){ this.name = name; public String getname(){ return name; class Car { private
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Περιεχόμενα Java Classes Java Objects Java
Διαβάστε περισσότεραΦροντιστήριο 7. Ημερομηνία: 15/12/2006 Θεματική Ενότητα: OCL
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Ημερομηνία: 15/12/2006 Θεματική Ενότητα: OCL
Διαβάστε περισσότεραΜετατροπή Σχήματος Ο/Σ σε Σχεσιακό
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό 1 Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 2 : Μετατροπή Μοντέλου ΟΣ σε Σχεσιακό
Διαβάστε περισσότεραΔιαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων
Διαγράμματα UML στην Ανάλυση Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων περιεχόμενα παρουσίασης Διαγράμματα κλάσεων Διαγράμματα αντικειμένων διαγράμματα κλάσεων Χρησιμοποιούνται στην ανάλυση
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή Οποιαδήποτε κλάση
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΧΕΙΩΝ ΑΝΑΛΥΣΗΣ UML ΜΕ JAVA. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΧΕΙΩΝ ΑΝΑΛΥΣΗΣ UML ΜΕ JAVA Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12
Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραΠληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης Ενότητα 1: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (1ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης
Διαβάστε περισσότεραΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων
ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Οι Μηχανικοί Λογισμικού παράγουν μοντέλα που βοηθούν στη διατύπωση των απαιτήσεων με τη μορφή προδιαγραφών. Η εργασία της παραγωγής μοντέλων περιγράφεται ως ανάλυση απαιτήσεων. Η ανάλυση
Διαβάστε περισσότεραΕργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 3 ο Εργαστήριο -
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3 ο ΕΞΑΜΗΝΟ Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 3 ο Εργαστήριο - ΕΠΙΜΕΛΕΙΑ ΜΑΘΗΜΑΤΟΣ: Πρέντζα Ανδριάννα ΕΠΙΜΕΛΕΙΑ ΕΡΓΑΣΤΗΡΙΟΥ: Στουγιάννου
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΠεριεχόμενο του μαθήματος
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Η Αντικειμενοστρεφής Τεχνολογία Δρ Βαγγελιώ Καβακλή Τμήμα Πολιτισμικής Τεχνολογίας και Επικοινωνίας Πανεπιστήμιο Αιγαίου Εαρινό Εξάμηνο 202-203 Περιεχόμενο του μαθήματος Η έννοια
Διαβάστε περισσότεραclass object Database Database Item Item [sub-typing and polymorphism] MusicCD Video MusicCD Video
ιάγραµµα κλάσεων [Class diagram] Εβδοµάδα 2: Υπο-τύποι και πολυµορφισµός [sub-typing and polymorphism] Database Music Σχεδίαση-Ανάπτυξη Εφαρµογών Πληροφορικής Αντώνιος Συµβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη
Διαβάστε περισσότεραΜετατροπή Σχήματος Ο/Σ σεσχεσιακό
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Προσοχή είτε αυτά που ακολουθούν ως παράδειγμα Μην τα ακολουθείτε τυφλά ως «μαγική συνταγή» 1 2 Οντότητες Για κάθε τύπο οντοτήτων και για κάθε τύπο συσχετίσεων δημιουργούμε
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΕργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών ΤΗΜΜΥ Α.Π.Θ 2015-2016 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ.
Εργαστήριο Επεξεργασίας Πληροφορίας και Υπολογισμών Τομέας Ηλεκτρονικής και Υπολογιστών 5 Εξάμηνο ΤΗΜΜΥ Α.Π.Θ 2015-2016 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ DS Prximity Το παιχνίδι Το Prximity είναι ένα παιχνίδι στρατηγικής,
Διαβάστε περισσότεραΜενού Προβολή. Προβολές εγγράφου
Μενού Προβολή Προβολές εγγράφου Το Word παρέχει πέντε διαφορετικού είδους προβολές στον χρήστη, οι οποίες και βρίσκονται στο μενού Προβολή (View). Εναλλακτικά μπορούμε να επιλέξουμε το είδος προβολής που
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Διαβάστε περισσότεραΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML
ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της
Διαβάστε περισσότεραΜετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Μετατροπή Σχήματος Ο/Σ σε Σχεσιακό Σχήμα Ευαγγελία Πιτουρά 1 Τι θα δούμε σήμερα: 1. Ο/Σ -> σχεσιακό 2. Ορισμός σχεσιακής βάσης σε SQL Αρχικά ας σχεδιάσουμε μια σχεσιακή βάση δεδομένων χωρίς να σχεδιάσουμε
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΔιαχείριση Πληροφοριακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΟντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA
Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Τι θα συζητήσουμε σήμερα Πώς υλοποιούμε συσχετίσεις μεταξύ κλάσεων απλές και πολλαπλές συσχετίσεις κληρονομικότητα Static, final Overloading Overriding Hiding
Διαβάστε περισσότεραΔιάθρωση. HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ35 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Διάθρωση Άσκηση : Multiplicity constraints using
Διαβάστε περισσότεραΜοντέλο Οντοτήτων-Συσχετίσεων
Μοντέλο Οντοτήτων-Συσχετίσεων 1 Εισαγωγή Σχεδιασμός μιας εφαρμογής ΒΔ: Βήματα 1. Συλλογή και Ανάλυση Απαιτήσεων (requirement analysis) Τι δεδομένα θα αποθηκευτούν, ποιες εφαρμογές θα κτιστούν πάνω στα
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΕννοιολογικός σχεδιασμός βάσεων δεδομένων Το μοντέλο Οντοτήτων/Συσχετίσεων Αθανάσιος Σταυρακούδης http://stavrakoudis.econ.uoi.gr Άνοιξη 2014 Περιεχόμενα 1 Γενικά για οντότητες και συσχετίσεις 2 Διαγράμματα
Διαβάστε περισσότεραΘ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ
Θ.Ε. ΠΛΗ24 ΑΚΑΔ. ΕΤΟΣ 2007-2008 ΠΡΩΤΗ ΓΡΑΠΤΗ ΕΡΓΑΣΙΑ Άσκηση 1 Διαχείριση τηλεφωνικού καταλόγου Να σχεδιάσετε ένα διάγραμμα περιπτώσεων χρήσης που να παριστάνει τις δυνατότητες που προσφέρει ένα σύγχρονο
Διαβάστε περισσότεραΕισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων
ΕΣΔ516 Τεχνολογίες Διαδικτύου Εισαγωγή στις βάσεις δεδομένων - Η ανατομία μιας βάσης δεδομένων Περιεχόμενα - Βιβλιογραφία Ενότητας Περιεχόμενα Ορισμοί Συστατικά στοιχεία εννοιολογικής σχεδίασης Συστατικά
Διαβάστε περισσότεραΘεωρία Κανονικοποίησης
Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4 φοιτητές οπού ο καθένας έχει ένα
Διαβάστε περισσότεραΕαρινό. Ύλη εργαστηρίου, Ασκήσεις Java
Εξάμηνο Μάθημα Τίτλος 2017 2018 Εαρινό Αντικειμενοστραφής Προγραμματισμός Ι Ύλη εργαστηρίου, Ασκήσεις Java Ημερομηνία Εργαστήριο 5 ο Α. Ύλη εργαστηρίου 5.1 Έννοιες αντικειμενοστραφούς προγραμματισμού,
Διαβάστε περισσότεραΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Sites:
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές) Βρείτε τα λάθη Στο πρόγραμμα στην επόμενη διαφάνεια υπάρχουν διάφορα λάθη Ποια είναι? public abstract
Διαβάστε περισσότεραΜοντέλα συστήματος. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 8
Μοντέλα συστήματος Στόχοι Γιατί είναι απαραίτητη η μοντελοποίηση του θεματικού πλαισίου Τι είναι Μοντελοποίηση συμπεριφοράς, Μοντελοποίηση δεδομένων, και Μοντελοποίηση αντικειμένων Ενοποιημένη Γλώσσα Μοντελοποίησης
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 4 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παραδείγματα Τι γίνεται αν έχουμε ένα constructor που παίρνει όρισμα ένα πίνακα? public Car(int[] position) Αν ο πίνακας αλλάξει μέσα στην
Διαβάστε περισσότερα09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο
09 Η γλώσσα UML II Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση συμπεριφοράς
Διαβάστε περισσότεραΤα διαγράµµατα κλάσεων
1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα κλάσεων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες µοντέλου κλάσεων Βασικές συσχετίσεις Παραδείγµατα 3 ιαγράµµατα κλάσεων (class diagrams) Είναι το βασικότερο
Διαβάστε περισσότεραΔιάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD)
Βάσεις Δεδομένων Ι 2 Διάγραμμα Οντοτήτων Συσχετίσεων (ΔΟΣ) Entity Relationship Diagram (ERD) Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας ΝΙΚΟΣ ΚΑΡΟΥΣΟΣ - ΔΙΟΝΥΣΗΣ ΚΑΡΟΥΣΟΣ XE 2015-2016
Διαβάστε περισσότεραΚλάσεις και αντικείμενα #include <iostream.h<
Κλάσεις και αντικείμενα #include class Person private: char name[30]; int age; public: void readdata() cout > name; cout > age; void
Διαβάστε περισσότεραUML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα
ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την
Διαβάστε περισσότεραΣχεσιακό Μοντέλο. Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη
Σχεσιακό Μοντέλο Σχεδιασμός Βάσεων Δεδομένων Μάθημα 2 ο Μαρία Χαλκίδη Εισαγωγή Το σχεσιακό μοντέλο δεδομένων (relational data model) προτάθηκε από τον E. F. Codd το 1970 Aποτελεί ένα μέσο λογικής δόμησης
Διαβάστε περισσότεραΣύντομο Παράδειγμα μιας συνοπτικής μεθοδολογίας ανάπτυξης
Σύντομο Παράδειγμα μιας συνοπτικής μεθοδολογίας ανάπτυξης Μεταφορά UML σε Java Μεταφορά της UML σε Java Μεταφορα της UML σε Java Μεταφορα της UML σε Java Μεταφορα της UML σε Java Θα έπρεπε να μπεί πίνακας
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότερα