Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο οµική Μοντελοποίηση Class Diagrams
|
|
- Νάρκισσος Παπαφιλίππου
- 9 χρόνια πριν
- Προβολές:
Transcript
1 Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων Information Systems Analysis and Design οµική Μοντελοποίηση Class Diagrams Περιεχόµενα και ιάρθρωση Εισαγωγή Παραδείγµατα οµικής Μοντελοποίησης Συχνά λάθη Τρόπος σύνταξης διαγραµµάτων κλάσεων µε CASE tools (demo) Υλοποίηση ιαγραµµάτων Κλάσεων και Java CS-351 U. of Crete, Fall
2 Τι είναι µοντέλο και γιατί µοντελοποιούµε Μοντέλο: Μια αφαίρεση (απλούστευση) της πραγµατικότητας εστιάζει στα σηµαντικά, κρύβει τις άσχετες πλευρές και τις δευτερεύουσας σηµασίας λεπτοµέρειες Γιατί µοντελοποιούµε; Ένα µοντέλο µας επιτρέπει την καλύτερη κατανόηση ενός συστήµατος Συνήθως φτιάχνουµε µοντέλα σύνθετων συστηµάτων τα οποία δεν µπορούµε να κατανοήσουµε στην πληρότητα τους (ένεκα των περιορισµένων µας αντιληπτικών και διανοητικών ικανοτήτων) Μοντελοποιώντας περιορίζουµε το πρόβληµα εστιάζοντας σε επιµέρους πλευρές του συστήµατος (διαίρει και βασίλευε) και κλίµακες αφαίρεσης. Καλά µοντέλα είναι εκείνα που συνδέονται µε την πραγµατικότητα CS-351 U. of Crete, Fall Μοντελοποίηση στην Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων Λειτουργική Μοντελοποίηση Περιπτώσεων Χρήσης (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
3 Παραδείγµατα οµικής Μοντελοποίησης CS-351 U. of Crete, Fall Παράδειγµα 1: Μοντελοποίηση Κειµενογράφου Κάθε έγγραφο αποτελείται από ένα αριθµό σελίδων Κάθε σελίδα αποτελείται από µία επικεφαλίδα, το κυρίως κείµενο (σώµα) και κάποιο υποσέλιδο (footer) Στην επικεφαλίδα και στο υποσέλιδο µπορεί να προστεθούν στοιχεία όπως η ηµέρα, η ώρα, ο αριθµός της σελίδας Το σώµα της σελίδας αποτελείται από προτάσεις που περιέχουν λέξεις και σηµεία στίξης Κάθε λέξη αποτελείται από γράµµατα,αριθµούς και ειδικούς χαρακτήρες Το κείµενο µπορεί να περιέχει επίσης εικόνες και πίνακες Κάθε πίνακας έχει γραµµές και στήλες Κάθε κελί ενός πίνακα µπορεί να περιέχει εικόνες ή κείµενο Ο χρήστης µπορεί να δηµιουργήσει ένα νέο έγγραφο ή να ανοίξει και να τροποποιήσει ένα υπάρχον Ο χρήστης µπορεί να επιλέξει να αποθηκεύσει ή να εκτυπώσει το έγγραφο CS-351 U. of Crete, Fall
4 Παράδειγµα 1: Μοντελοποίηση Κειµενογράφου Αν εξάγουµε τη λίστα µε τα ουσιαστικά από την προηγούµενη περιγραφή θα έχουµε τα εξής: έγγραφο, κείµενο, επικεφαλίδα, υποσέλιδο, ηµέρα, ώρα, χρόνος, αριθµός σελίδας, σελίδα, πρόταση, λέξη, σηµεία στίξης, γράµµα, αριθµός, ειδικός χαρακτήρας, εικόνα, πίνακας, γραµµή, στήλη, κελί, χρήστης Όλα τα ουσιαστικά αυτά αποτελούν υποψήφιες κλάσεις και χαρακτηριστικά κλάσεων του class diagram CS-351 U. of Crete, Fall Παράδειγµα 1: Έγγραφο (Document) Αποτελεί τη βασική έννοια του πεδίου εφαρµογής Ένα έγγραφο περιέχει ένα αριθµό σελίδων (numberofpages) Οι λειτουργίες που επιτελούνται σε ένα έγγραφο είναι άνοιγµα (open()), αποθήκευση (save()), εκτύπωση (print()), δηµιουργία (new()) CS-351 U. of Crete, Fall
5 Παράδειγµα 1: Σελίδα Μία σελίδα έχει κάποιον αριθµό σελίδας Οι λειτουργίες πάνω σε µία σελίδα είναι οι εξής: ηµιουργία σελίδας (newpage()) Απόκρυψη επικεφαλίδας (hideheader()) Απόκρυψη υποσέλιδου (hidefooter()) Εισαγωγή εικόνας (insertpicture()) Εισαγωγή Πίνακα (inserttable()) CS-351 U. of Crete, Fall Παράδειγµα 1: Επικεφαλίδα και Υποσέλιδο Αυτές οι κλάσεις έχουν κοινά χαρακτηριστικά την ηµέρα (date), ώρα (time), αριθµό σελίδας (pagenumber), τοποθεσία αρχείου (filelocation) και µπορούν να εµφανίζονται (display ()), να τροποποιούνται (change ()) ή να αποκρύπτονται (hide ()) Μπορεί να έχουµε δηµιουργία νέας επικεφαλίδας (newheader()) Μπορεί να έχουµε δηµιουργία νέου υποσέλιδου (newfooter()) CS-351 U. of Crete, Fall
6 Παράδειγµα 1: Προτάσεις, λέξεις, χαρακτήρες Το σώµα αποτελείται από προτάσεις, οι προτάσεις από λέξεις και οι λέξεις από χαρακτήρες (Character) Άρα το σώµα αποτελείται από χαρακτήρες οι οποίοι µπορεί να είναι γράµµατα (Letter), αριθµοί(number), ειδικοί χαρακτήρες (Special Character) ή (σηµεία στίξης) punctual signs Κάθε χαρατήρας έχει έναν τύπο (type) που καθορίζει αν είναι normal, italic, bold ή underline Σε κάθε χαρακτήρα µπορούν να επιτελεστούν λειτουργίες αλλαγής του τύπου : normal(), bold(), italic() και underline() CS-351 U. of Crete, Fall Παράδειγµα 1: Προτάσεις, λέξεις, χαρακτήρες CS-351 U. of Crete, Fall
7 Παράδειγµα 1: Πίνακες Το κείµενο µπορεί να περιέχει επίσης και πίνακες (Table) Κάθε πίνακας έχει γραµµές (numbrows) και στήλες (numbcolumns) Οι λειτουργίες πάνω σε ένα πίνακα είναι: δηµιουργία γραµµής (insertrow()),δηµιουργία στήλης (insertcolumn()) η δηµιουργία πίνακα (newtable()) Σε κάθε κελί αποθηκεύεται κείµενο ή εικόνα (insertpicture()) CS-351 U. of Crete, Fall Παράδειγµα 1: Το ολικό διάγραµµα CS-351 U. of Crete, Fall
8 Παράδειγµα 2: Αττικό Μετρό Θέλουµε να φτιάξουµε ένα ΠΣ για την εταιρεία «Αττικό Μετρό». Σκοπός του συστήµατος είναι ο έλεγχος και η επίβλεψη της λειτουργίας και κυκλοφορίας του µετρό. Σχεδιάστε ένα διάγραµµα κλάσεων το οποίο να µοντελοποιεί: Το δίκτυο των σταθµών: Το δίκτυο αποτελείται από γραµµές. Αυτή τη στιγµή το δίκτυο έχει τρεις γραµµές: την κόκκινη, την µπλε και την πράσινη. Κάθε γραµµή αποτελείται από ένα σύνολο σταθµών (κανονικών, µετεπιβίβασης ή τερµατικών). Μας ενδιαφέρει η διασύνδεση των σταθµών και οι χιλιοµετρικές αποστάσεις που τους χωρίζουν. Τους συρµούς: Ένας συρµός αποτελείται από µια τουλάχιστον µηχανή και ένα σύνολο από επιβατικά βαγόνια. Μας ενδιαφέρουν επίσης τα τεχνικά στοιχεία του κάθε τµήµατος του συρµού (πχ. ιπποδύναµη, χωρητικότητα, βάρος κλπ) CS-351 U. of Crete, Fall Παράδειγµα 2: Αττικό Μετρό Τα στοιχεία των εργαζοµένων: Μας ενδιαφέρει η ειδικότητα των εργαζοµένων (οδηγοί, µηχανικοί συρµών/ δικτύου, ελεγκτές κυκλοφορίας, ταµίες) και τα συναφή τους στοιχεία: π.χ ποιος οδηγεί τον συρµό Νο3. Τα δροµολόγια Κάθε δροµολόγιο έχει αφετηρία, προορισµό και εκτελείται από έναν συγκεκριµένο συρµό. CS-351 U. of Crete, Fall
9 Παράδειγµα 2: ίκτυο Σταθµών Καλά µοντέλα είναι εκείνα που σχετίζονται µε την πραγµατικότητα. Το πρώτο πράγµα που πρέπει να κάνετε είναι να βρείτε τον χάρτη του µετρό (π.χ από τον Ιστό). Ένα απόσπασµα του χάρτη παρατίθεται. CS-351 U. of Crete, Fall Παράδειγµα 2: ίκτυο Σταθµών Από τον χάρτη αυτό παρατηρούµε ότι κάποιοι σταθµοί ανήκουν σε δύο γραµµές (π.χ. η Οµόνοια ανήκει στην πράσινη και στην κόκκινη, ενώ το Σύνταγµα στην µπλέ και στην κόκκινη). Άρα δεν πρέπει να διαµερίσουµε τους σταθµούς σε γραµµές αλλά τις διασυνδέσεις των σταθµών. Εκ τούτου ένας σταθµός είναι µετεπιβίβασης αν είναι άκρο τουλάχιστον δύο συνδέσεων διαφορετικού χρώµατος. Ένας σταθµός είναι τερµατικός µίας γραµµής αν είναι άκρο µίας µόνο σύνδεσης αυτής της γραµµής. Αν δεν ισχύει τίποτα από τα παραπάνω δύο, τότε µπορούµε να θεωρήσουµε τον σταθµό κανονικό. Ένας σταθµός µπορεί ταυτόχρονα να είναι και τερµατικός και µετεπιβίβασης. Για παράδειγµα το Μοναστηράκι είναι τερµατικός σταθµός (της µπλε γραµµής) αλλά συνάµα µετεπιβίβασης αφού η πράσινη γραµµή διέρχεται από αυτόν. CS-351 U. of Crete, Fall
10 Παράδειγµα 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 Παράδειγµα 2: Συρµοί Ένας συρµός αποτελείται από µια τουλάχιστον µηχανή και ένα σύνολο από επιβατικά βαγόνια. Μας ενδιαφέρουν επίσης τα τεχνικά στοιχεία του κάθε τµήµατος του συρµού (πχ. ιπποδύναµη, χωρητικότητα, βάρος κλπ) Μια µοντελοποίηση των συρµών είναι η εξής. Η χρήση του {ordered µας επιτρέπει να γνωρίζουµε τη σειρά διασύνδεσης των βαγονιών. Wagon Train hasengine> 1 haswagon> 1..* {ordered Engine capacity weight hp Wagon capacity weight CS-351 U. of Crete, Fall
11 Παράδειγµα 2: Στοιχεία εργαζοµένων Μας ενδιαφέρει η ειδικότητα των εργαζοµένων (οδηγοί, µηχανικοί συρµών/ δικτύου, ελεγκτές κυκλοφορίας, ταµίες). Για τους οδηγούς µας ενδιαφέρει να καταγράψουµε και ποιο συρµό οδηγούν. Μία µοντελοποίηση: 0..1 Wagon Train Employee name driver 1 Driver Engineer Cashier CS-351 U. of Crete, Fall Παράδειγµα 2: ροµολόγια Κάθε δροµολόγιο έχει αφετηρία, προορισµό και εκτελείται από έναν συγκεκριµένο συρµό. Η αφετηρία και ο προορισµός ενός δροµολογίου πρέπει να είναι σταθµοί της ίδιας γραµµής. Ο τελευταίος περιορισµός δεν εκφράζεται στο παραπάνω διάγραµµα. CS-351 U. of Crete, Fall
12 Παράδειγµα 2: Το πλήρες µοντέλο Το πλήρες µοντέλο προκύπτει συναρµολογώντας όλα τα παραπάνω. Παρατήρηση: Είναι προτιµότερο ο Οδηγός να συσχετιστεί µε το δροµολόγιο και όχι µε το τραίνο. Θα µπορούσαµε να ορίσουµε µια παράγωγη συσχέτιση (derived association) µεταξύ οδηγού και τραίνου. CS-351 U. of Crete, Fall Παράδειγµα 2: Το πλήρες µοντέλο Connection Color - red - blue -green CS-351 U. of Crete, Fall
13 Παράδειγµα 3: Βιβλιοθήκης Σε µία βιβλιοθήκη, µπορεί να υπάρχουν διαφορετικά αντίγραφα του ίδιου βιβλίου Οι δανειζόµενοι µπορούν κάθε στιγµή να έχουν δανειστεί µέχρι και οχτώ βιβλία Τα δανειζόµενα βιβλία επιστρέφονται το πολύ σε τρεις εβδοµάδες µετά το δανεισµό, εκτός αν ανανεωθεί ο δανεισµός τους και η ηµεροµηνία επιστροφής επεκτείνεται για άλλες τρεις εβδοµάδες. Τα βιβλία αναγνωρίζονται από τον αριθµό τους, δηλαδή το ISBN; ο τίτλος, ο συγγραφέας και η κατηγορία είναι επίσης σηµαντικά. Κάθε αντίγραφο του βιβλίου έχει ένα ξεχωριστό αριθµό καταλόγου, και η βιβλιοθήκη καταγράφει την ηµεροµηνία αγοράς και το κόστος όταν η νέα αγορά καταχωρείται. CS-351 U. of Crete, Fall Παράδειγµα 3: Βιβλιοθήκης Οι δανειζόµενοι µπορούν να κάνουν κράτηση σε βιβλία, οπότε σε αυτή τη περίπτωση το πρώτο αντίγραφο του τίτλου που θα επιστραφεί θα κρατηθεί για αυτούς, εκτός αν κάποιος άλλος έχει κάνει κράτηση στο βιβλίο πρώτος. Σχεδιάστε ένα διάγραµµα κλάσεων, περιλαµβάνοντας οτιδήποτε γνωρίσµατα στο σενάριο, καθώς και τις εξής λειτουργίες : δανεισµός, κράτηση, επιστροφή, ανανέωση βιβλίου, καθώς και εύρεση όλων των κρατήσεων που έχουν γίνει για ένα συγκεκριµένο βιβλίο. CS-351 U. of Crete, Fall
14 Παράδειγµα 3: Γενικά Σχόλια Σχόλιο από διδασκαλία µαθήµατος 2005 Αρκετοί φοιτητές επέλεξαν να µοντελοποιήσουν τις λειτουργίες όχι ως operations των κλάσεων, αλλά ως ξεχωριστές κλάσεις που κάθε τους instance αντιστοιχεί σε µία συγκεκριµένη λειτουργία που γίνεται µεταξύ δανειζόµενου και βιβλίου. Μια προτιµότερη µοντελοποίηση είναι η ακόλουθη: CS-351 U. of Crete, Fall Παράδειγµα 3: Μια µοντελοποίηση CS-351 U. of Crete, Fall
15 Παράδειγµα 4: Adventure Games Graph Τα adventure games συχνά βασίζονται σε γράφους. Οι κόµβοι του γράφου παριστάνουν θέσεις, ενώ υπάρχει και ένα σύνολο κατευθύνσεων (πχ Βοράς, Νότος, Ανατολή, ύση). Για κάθε κόµβο n και κατεύθυνση d, υπάρχει το πολύ ένας κόµβος στον οποίο µπορούµε να φθάσουµε αν ακολουθήσουµε την κατεύθυνση d από τον n (α) Σχεδιάστε ένα διάγραµµα κλάσεων για την καταχώρηση τέτοιων γράφων. Σηµειώστε επίσης και τους περιορισµούς αντιστοίχισης (multiplicity constraints) σε όλες τις συσχετίσεις που θα ορίσετε. CS-351 U. of Crete, Fall Παράδειγµα 4: Μια λύση 0..* 0..* Node 0..1 west south 0..1 north * 0..* 0..1 east CS-351 U. of Crete, Fall
16 Παράδειγµα 4: Παραλλαγή Εκφώνησης Σχεδιάστε µια άλλη έκδοση του σχήµατος αυτού που να επιτρέπει την καταχώριση γράφων µε απεριόριστο πλήθος δυνατών κατευθύνσεων. Σχολιάστε σύντοµα τις σχεδιαστικές επιλογές που κάνατε σε κάθε περίπτωση. CS-351 U. of Crete, Fall Παράδειγµα 4: Λύση (Α) Το διπλανό διάγραµµα επιτρέπει απεριόριστο αριθµό κατευθύνσεων. Παρά ταύτα, η κλάση συσχέτισης θέτει έναν επιπλέον περιορισµό: µεταξύ δύο κόµβων (στιγµιότυπων της κλάσης Node) µπορεί να υπάρχει το πολύ µία συσχέτιση. Άρα το παραπάνω διάγραµµα αποκλείει µεταβάσεις της µορφής (U1.North= U2) και (U1.South=U2). CS-351 U. of Crete, Fall
17 Παράδειγµα 4: Παραλλαγή λύσης (Α) Η εκφώνηση της άσκησης δεν έθεσε έναν τέτοιο περιορισµό. Αν είχε τεθεί αυτός ο περιορισµός, τότε το διάγραµµα για το (α) σκέλος της άσκησης θα µπορούσε να έχει την εξής µορφή: CS-351 U. of Crete, Fall Παράδειγµα 4: Λύση (Β) Μια διαφορετική µοντελοποίηση που επιτρέπει απεριόριστο αριθµό κατευθύνσεων αλλά δεν θέτει τον παραπάνω περιορισµό είναι η ακόλουθη. Αυτή όµως η λύση έχει το µειονέκτηµα ότι δεν ικανοποιεί τον περιορισµό µοναδικού προορισµού: «Για κάθε κόµβο n και κατεύθυνση d, υπάρχει το πολύ ένας κόµβος στον οποίο µπορούµε να φθάσουµε αν ακολουθήσουµε την κατεύθυνση d από τον n». Με άλλα λόγια επιτρέπει (U1.North=U2) και (U1.North=U3). CS-351 U. of Crete, Fall
18 Παράδειγµα 4: Λύση (Γ) Μία λύση που δεν έχει τα παραπάνω προβλήµατα είναι η εξής: Χρησιµοποιούµε το γνώρισµα direction ως qualifier της αναδροµικής συσχέτισης και την πολλαπλότητα 0..1 στον προορισµό. Με αυτόν τον τρόπο από ένα κόµβο και για συγκεκριµένη κατεύθυνση µπορούµε να καταλήξουµε σε έναν το πολύ κόµβο. Επίσης η µοντελοποίηση αυτή δεν απαγορεύει µεταβάσεις της µορφής: (U1.North=U2) και (U1. South=U2). CS-351 U. of Crete, Fall Παράδειγµα 5 : Μοντελοποίηση Οχηµάτων - Ιδιοκτητών Ένα όχηµα µπορεί να είναι είτε αυτοκίνητο είτε µοτοσικλέτα Όλα τα οχήµατα έχουν κάποια κοινά χαρακτηριστικά όπως η µέγιστη ταχύτητα και το βάρος Το αυτοκίνητο και οι µοτοσικλέτες διαφέρουν σε κάποια χαρακτηριστικά όπως ο αριθµός από ρόδες που διαθέτουν Ένα αυτοκίνητο έχει επιπλέον χαρακτηριστικά όπως ο αριθµός των επιβατών που χωράει Κάθε όχηµα ανήκει σε έναν ιδιοκτήτη ενώ ένας ιδιοκτήτης µπορεί να έχει πολλά οχήµατα Κάθε ιδιοκτήτης έχει κάποια χαρακτηριστικά όπως όνοµα και αριθµό τηλεφώνου CS-351 U. of Crete, Fall
19 Παράδειγµα 5 : Μοντελοποίηση Οχηµάτων - Ιδιοκτητών Vehicle + weight : int + topspeed : int + VIN : string + getowner ( ) - myvehicles - myowner 0..* 1 + firstname : string + lastname : string + phonenumber : string Owner + 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 Συχνά Λάθη CS-351 U. of Crete, Fall
20 (1) Επανάληψη Πληροφορίας Car - wheels: Αrray [4] 4 wheels Wheel : Λάθος Car 4 wheels Wheel : Σωστό Car - wheels: Αrray [4] Wheel : Σωστό (Αλλά περιγράφει την υλοποίηση) CS-351 U. of Crete, Fall (2) Επανάληψη Πληροφορίας Borrower 1 3 Book borrower book : Λάθος - numbooks : int - borrower: Borrower CS-351 U. of Crete, Fall
21 (3) Πλεονάζουσες Συσχετίσεις Σε περίπτωση που από την ανάλυση προέκυπτε ότι συχνά απαιτούνταν να γνωρίζουµε ποιοι καθηγητές δίδαξαν ένα µάθηµα, θα µπορούσαµε να επιλέξουµε να προσθέσουµε µια πλεονάζουσα συσχέτιση µεταξύ Καθηγητή και Μαθήµατος Μ άθηµ α - ονοµ α - αριθ µ ός - ιδ ακτ.μ ον προσφέ ρ εται ω ς > 1 n Τάξη - αριθµ ός - ώ ρα - ηµ έρα - εξάµ ηνο * * + : ταχύτητα < δίδαξε Κ αθηγητής - ονοµ α δ ιδάσκει > * - ειδ ικότητα 1 - : πολυπλοκότητα (σε σε κάθε αλλαγή καθηγητή απαιτείται ενηµέρωση 2 δεσµών) CS-351 U. of Crete, Fall (4) Συνάθροιση vs Σύνθεση ηλώνουν σχέσεις του τύπου το σύνολο αποτελείται-από µέρη Συνάθροιση (Aggregation) Το µέρος δηµιουργείται και καταστρέφεται ανεξάρτητα από το σύνολο Το µέρος µπορεί να ανήκει σε περισσότερα από ένα σύνολα Σύνθεση (Composition) υνατότερη σχέση από τη συνάθροιση Το µέρος δηµιουργείται και καταστρέφεται µε το σύνολο Το µέρος µπορεί να ανήκει µόνο σε ένα σύνολο Οι ορισµοί και η µεταξύ τους διάκριση είναι ακόµα υπό συζήτηση CS-351 U. of Crete, Fall
22 Συνάθροιση Σύνθεση Department Hand 1..* 0..* Course Finger CS-351 U. of Crete, Fall Υλοποίηση ιαγραµµάτων Κλάσεων και Java CS-351 U. of Crete, Fall
23 Κλάσεις 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 Συσχετίσεις Απλής Κατεύθυνσης 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; 1 1 Customer -lastnumber : string -lastnumber : string public class Customer { private String lastname; private String firstname; private Account theaccount; public getbalance(){ return 0; CS-351 U. of Crete, Fall
24 Συσχετίσεις Απλής Κατεύθυνσης µε Πολλαπλότητα 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; 1..* 1 +relatedaccount Customer -lastnumber : string -lastnumber : string public class Customer { private String lastname; private String firstname; private ArrayList theaccounts; public getbalance(){ return 0; CS-351 U. of Crete, Fall Συσχετίσεις ιπλής Κατεύθυνσης µε Πολλαπλότητα 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
25 Συναθροίσεις 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 Συνθέσεις 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
26 Κληρονοµικότητα - 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
Φροντιστήριο 3. Ημερομηνία: 22/11/2006 Θεματική Ενότητα: Δομική Μοντελοποίηση Θέμα: Διαγράμματα Κλάσεων
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 3 Ημερομηνία: 22/11/2006 Θεματική
Διαβάστε περισσότεραΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS
ΠΑΡΑΔΕΙΓΜΑΤΑ USE CASE DIAGRAMS CLASS DIAGRAMS Διάγραμμα Περιπτώσεων χρήσης 2 Να κατασκευάσουμε ένα διάγραμμα περιπτώσεων χρήσης για το παρακάτω σύστημα. Το σύστημα τηρεί αρχεία μαθητών, καθηγητών και μαθημάτων.
Διαβάστε περισσότερα(Απλή) Κληρονομικότητα
Πολλαπλή κληρονομικότητα, υςχετίςεισ μεταξύ κλάςεων ΟΝΣΟΚΕΝΣΡΙΚΟ ΠΡΟΓΡ/ΜΟ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) (Απλή) Κληρονομικότητα Student + calctuition(): double GraduateStudent + calctuition(): double
Διαβάστε περισσότεραΔιάγραμμα Κλάσεων. Class Diagram
Διάγραμμα Κλάσεων Class Diagram Γενικά Ορίζει τις κλάσεις αντικειμένων σε ένα σύστημα, τις μεθόδους και τις συναρτήσεις τους, και τις συσχετίσεις μεταξύ των κλάσεων. Περιγράφουν την δομή και συμπεριφορά
Διαβάστε περισσότεραΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++
Πολλαπλή κληρονομικότητα, Συσχετίσεις μεταξύ κλάσεων ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡ/ΣΜΟΣ C++ Μ. Ρήγκου (rigou@ceid.upatras.gr) (Απλή) Κληρονομικότητα Student + calctuition(): double GraduateStudent + calctuition():
Διαβάστε περισσότεραΕνδεικτικές λύσεις ασκήσεων διαγραμμάτων κλάσης (2 ο Μέρος)
Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων κλάσης (2 ο Μέρος) η Άσκηση Δημιουργείστε το διάγραμμα κλάσης από την παρακάτω περιγραφή: «Η εταιρία GoodsForAll δραστηριοποιείται στη διανομή αγαθών και αποτελείται
Διαβάστε περισσότεραΦροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 5 Ημερομηνία: 01/12/2006 Θεματική
Διαβάστε περισσότεραΠληροφοριακά Συστήματα Διοίκησης Ενότητα 6: Διαγράμματα Κλάσης (2ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης Ενότητα 6: Διαγράμματα Κλάσης (2ο Μέρος) Γρηγόριος Μπεληγιάννης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων και Τροφίμων
Διαβάστε περισσότεραΠεριεχόμενα και Διάρθρωση. Interaction Diagrams
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Interaction Diagrams Περιεχόμενα και Διάρθρωση Εισαγωγή Διαγράμματα
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας
Ανάλυση Πληροφοριακών Συστημάτων «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας 7 12 2005 Περιεχόμενα Παρουσίασης Βασικές Έννοιες Αντικειμενοστραφούς προγραμματισμού
Διαβάστε περισσότεραΗ γλώσσα μοντελοποίησης UML. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 7
Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Ανασκόπηση Μια εφαρµογή Java είναι ένα σύνολο από συνεργαζόµενες κλάσεις Εβδοµάδα 2: Αντικείµενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή στον Προγραµµατισµό,,, Slide 2 Ανασκόπηση:
Διαβάστε περισσότεραΕισαγωγή στην αντικειµενοστρεφή τεχνολογία
1 Ελληνικό Ανοικτό Πανεπιστήµιο Εισαγωγή στην αντικειµενοστρεφή τεχνολογία ρ. Πάνος Φιτσιλής Περιεχόµενα Γιατί µοντελοποιούµε Εισαγωγή στη UML Ένα απλό παράδειγµα 2 Γιατί µοντελοποιούµε; Ησηµασία της µοντελοποίησης
Διαβάστε περισσότεραΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web
ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ Άσκηση 1 Εφαρµογή Web Α) Τα παραπάνω διαγράµµατα περιπτώσεων χρήσης ικανοποιούν τις απαιτήσεις του συστήµατος ως εξής: ΑΠΑΙΤΗΣΕΙΣ ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ Μόνο οι φοιτητές του συγκεκριµένου
Διαβάστε περισσότερα08 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο
08 Η γλώσσα UML I Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language
Διαβάστε περισσότεραΤα διαγράµµατα κλάσεων
1 Ελληνικό Ανοικτό Πανεπιστήµιο Τα διαγράµµατα κλάσεων ρ. Πάνος Φιτσιλής 2 Περιεχόµενα Βασικές έννοιες µοντέλου κλάσεων Βασικές συσχετίσεις Παραδείγµατα 3 ιαγράµµατα κλάσεων (class diagrams) Είναι το βασικότερο
Διαβάστε περισσότεραΠεριεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5
Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών
Διαβάστε περισσότεραΔιάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII
Διάλεξη 11: Αντικειμενοστρεφής Σχεδιασμός ΙII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων(συν.) - Φάση 3: Υλοποίηση(αναλυτικά
Διαβάστε περισσότερα09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο
09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language
Διαβάστε περισσότεραΗ γλώσσα μοντελοποίησης UML. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση
Η γλώσσα μοντελοποίησης UML 1 Περιεχόμενα Διαγράμματα περιπτώσεων χρήσης Διαγράμματα ακολουθίας Διαγράμματα συνεργασίας Διαγράμματα καταστάσεων Διαγράμματα κλάσεων 2 Περιπτώσεις χρήσης Οι περιπτώσεις χρήσης
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2
Ανασκόπηση Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Διάλεξη #2: Αντικείμενα, Κλάσεις και Μέθοδοι Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραUML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα
ΕΙΣΑΓΩΓΗ ΣΤΗ UML UML Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις ιαγράµµατα Παραδείγματα Ορισμός του μοντέλου Αποτελεί µια αφηρηµένη περιγραφή ενός Φυσικού συστήµατος. Αποτελεί ένα σχέδιο για την
Διαβάστε περισσότεραΔιαχείριση Πληροφοριακών Συστημάτων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Διαχείριση Πληροφοριακών Συστημάτων Ενότητα #7: UML Χρήστος Δρόσος Τμήμα Μηχανικών Αυτοματισμού Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΤεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)
Τεχνολογία Λογισμικού Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Διαβάστε περισσότεραΚλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.
1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα
Διαβάστε περισσότεραΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML
ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML για το µάθηµα ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ Ακαδηµαϊκό Έτος 2012-2013 «Αντικειµενοστρεφής Ανάλυση Ηλεκτρονικού Καταστήµατος Προσφορών (e-shop)» Η άσκηση αφορά στη χρήση της
Διαβάστε περισσότεραUML
Εισαγωγή στη UML UML Μοντέλο Μοντελοποίηση Εισαγωγή στη UML Πως φθάσαμε στη UML Γέννηση της UML Σκοπός της UML Γιατί Διαγράμματα Τυπικές Μέθοδοι (Formal Methods) Γενικά Ανάλυση και Σχεδίαση με UML [Α]
Διαβάστε περισσότεραΚλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα
Αντικειµενοστραφής Προγραµµατισµός Αντικείµενα Ιεραρχία κλάσεων. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του this και του super Αντικειµενοστραφής
Διαβάστε περισσότερα4. Αναδροµικός τύπος Είναι ο τύπος που συσχετίζει δύο ή περισσότερους γενικούς όρους µιας ακολουθίας
5. ΑΚΟΛΟΥΘΙΕΣ ΘΕΩΡΙΑ. Ορισµός Ονοµάζουµε ακολουθία πραγµατικών αριθµών κάθε συνάρτηση µε πεδίο ορισµού το το σύνολο N * = {,, 3, 4.} και σύνολο αφίξεως το R Η ακολουθία συµβολίζεται (α ν ) ή (β ν ) κ.λ.π.
Διαβάστε περισσότεραΤεχνολογία Λογισμικού
Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Τεχνολογία Λογισμικού 8ο Εξάμηνο 2018 19 Unified Modeling Language II Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση δομής Διαγράμματα κλάσεων Class diagrams
Διαβάστε περισσότεραΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE
ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE Το path που ακολουθούμε για να ανοίξουμε το εργαλείο είναι: Start All Programs Lab Programs Rational Software Rational Rose Enterprise Edition 1 ο ΔΙΑΓΡΑΜΜΑ:
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Α
Από τη UML στον Κώδικα Μέρος Α περιεχόμενα παρουσίασης Κλάσεις Ισότητα αντικειμένων Μονόδρομες συσχετίσεις με πολλαπλότητα «ένα» Μονόδρομες συσχετίσεις με πολλαπλότητα «πολλά» Συλλογές από το σχέδιο στον
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Η εξέλιξη των γλωσσών προγραμματισμού Η εξέλιξη των γλωσσών προγραμματισμού είναι μια διαδικασία αφαίρεσης Στην αρχή ένα πρόγραμμα ήταν
Διαβάστε περισσότεραΗ Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)
Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα τοποθετούνται
Διαβάστε περισσότεραΕλληνικό Ανοικτό Πανεπιστήµιο. Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας. ρ. Πάνος Φιτσιλής
1 Ελληνικό Ανοικτό Πανεπιστήµιο Βασικές έννοιες αντικειµενοστρεφούς τεχνολογίας ρ. Πάνος Φιτσιλής Περιεχόµενα Βασικές έννοιες αντικειµενοστεφούς τρόπου ανάπτυξης Τι είναι κλάση Τι είναι αντικείµενο 2 Βασικές
Διαβάστε περισσότεραΠερίπτωση Χρήσης Use case
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Use Cases & Use Case Diagrams Περίπτωση Χρήσης
Διαβάστε περισσότερα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 Πίνακας Περιεχοµένων 1. Εισαγωγή...3 ηµιουργία νέου λογαριασµού χρήστη...3 2. Η οθόνη του συστήµατος...4
Διαβάστε περισσότερα. Μεθοδολογία Προγραμματισμού. Abstract Κλάσεις και Interfaces. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014
.. Μεθοδολογία Προγραμματισμού Abstract Κλάσεις και Interfaces Νικόλαος Πεταλίδης Τμήμα Μηχανικών Η/Υ ΤΕΙ Κεντρικής Μακεδονίας Εισαγωγή Εαρινό Εξάμηνο 2014 Ν. Πεταλίδης (ΤΕΙ Κεντρικής Μακεδονίας) Μεθοδολογία
Διαβάστε περισσότεραpublic void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);
Κληρονομικότητα Η κληρονομικότητα (inheritance) αποτελεί έναν από τους χαρακτηριστικότερους μηχανισμούς των αντικειμενοστρεφών γλωσσών προγραμματισμού. Επιτρέπει την δημιουργία μιας νέας κλάσης απορροφώντας
Διαβάστε περισσότεραΚατασκευαστές. Μέθοδοι Κατασκευής (Constructors).
Κατασκευαστές Μέθοδοι Κατασκευής (Constructors). Οι κατασκευαστές (constructors) είναι μέθοδοι που εκτελούνται όταν κατασκευάζεται ένα αντικείμενο. Μια τάξη μπορεί να έχει αρκετούς κατασκευαστές, οι οποίοι
Διαβάστε περισσότεραΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α
ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩN ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ι ΕΞΕΤΑΣΤΙΚΗ ΠΕΡΙΟΔΟΣ: ΙΟΥΝΙΟΣ 2015 (10/7/2015) ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α 1. (3.5 μονάδες)
Διαβάστε περισσότεραΜάθημα 1 [3/11/2015].
Μάθημα 1 [3/11/2015]. Στην πρώτη διάλεξη πραγματοποιήθηκε επανάληψη της γλώσσας Java και ως εξάσκηση επιλύθηκαν οι ασκήσεις της Εξεταστικής Περιόδου 2015 οι οποίες κοινοποιούνται μαζί με ενδεικτική λύση
Διαβάστε περισσότεραΦροντιστήριο 3. <logo image> Ημερομηνία: Παρασκευή 10/11/2006 Θεματική Ενότητα: Activity Diagrams
Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Φροντιστήριο 3 Ημερομηνία: Παρασκευή
Διαβάστε περισσότεραΑντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων
Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,
Διαβάστε περισσότεραΑπό τη UML στον Κώδικα. Μέρος Β
Από τη UML στον Κώδικα Μέρος Β περιεχόμενα παρουσίασης Αμφίδρομες συσχετίσεις Συσσωμάτωση Σύνθεση Διαγράμματα ακολουθίας αμφίδρομες συσχετίσεις Μία αμφίδρομη συσχέτιση υλοποιείται με δύο μονόδρομες. Υπάρχει
Διαβάστε περισσότεραΔιαγράμματα Κλάσεων στη Σχεδίαση
Διαγράμματα Κλάσεων στη Σχεδίαση περιεχόμενα παρουσίασης Αφηρημένες κλάσεις Ιδιότητες Λειτουργίες Απλοί τύποι Συσχετίσεις Εξάρτηση Διεπαφές αφηρημένες κλάσεις Οι αφηρημένες κλάσεις δεν μπορούν να δημιουργήσουν
Διαβάστε περισσότεραΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΙ ΠΑΤΡΑΣ ΤΕΙ ΠΑΤΡΑΣ ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT
ΤΜΗΜΑ ΕΠΙΧΕΙΡΗΜΑΤΙΚΟΥ ΣΧΕΔΙΑΣΜΟΥ & ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Α Κ Α Η Μ Α Ι Κ Ο Ε Τ Ο Σ 2 0 1 1-2 0 1 2 ΣΗΜΕΙΩΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΕΠΙΧΕΙΡΗΣΙΑΚΏΝ ΠΑΙΓΝΙΩΝ- ΠΡΟΓΡΑΜΜΑ GAMBIT Ο συγκεκριµένος οδηγός για το πρόγραµµα
Διαβάστε περισσότεραΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ
ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ Μηχανισµός υλοποίησης των σχέσεων γενίκευσης/εξειδίκευσης µεταξύ κλάσεων Η σχέση εξειδίκευσης «υποκλάση-της» (subclass-of)είναι γνωστή σαν σχέση «είναι ένα» (isa) ή «είναι ένα είδος» (ako:
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραWrapper Classes, Abstract Classes and Interfaces
Wrapper Classes, Abstract Classes and Interfaces Εβδοµάδα 3: Κλάσεις συσκευαστές, αφηρηµένες κλάσεις και διαπροσωπείες Αντικείµενα και µη-αντικείµενα Η Java παρέχει τύπους αντικειµένων και απλούς τύπους
Διαβάστε περισσότερα2.1 Αντικειµενοστρεφής προγραµµατισµός
2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων class Person { private String name; public Person(String name){ this.name = name; public String getname(){ return name; class Car { private
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Αντικείμενα μέσα σε αντικείμενα Ορίζουμε κλάσεις για να ορίσουμε τύπους δεδομένων τους οποίους χρειαζόμαστε Π.χ., ο τύπος δεδομένων Date
Διαβάστε περισσότεραΛύσεις 1 ης Σειράς Ασκήσεων (Αξιολόγηση της Αποτελεσµατικότητας της Ανάκτησης)
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών ΗΥ-6 Συστήµατα Ανάκτησης Πληροφοριών 7-8 Εαρινό Εξάµηνο Άσκηση Λύσεις ης Σειράς Ασκήσεων (Αξιολόγηση της Αποτελεσµατικότητας της Ανάκτησης) Θεωρείστε µια
Διαβάστε περισσότεραΤεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.
Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 21/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων Object Diagrams Διαγράμματα Αντικειμένων
Διαβάστε περισσότεραΣχεσιακή δοµή δεδοµένων
Σχεσιακή δοµή δεδοµένων Μοντελοποίηση δεδοµένων (data modeling) Εννοιολογικό: μοντέλα δεδομένων. Λογικό: δομή δεδομένων. Φυσικό: δοµή αρχείων. Μοντέλο της Βάσης Σχήµα της Βάσης Στιγµιότυπο της βάσης Μοντέλο
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES Κων. Κόκκινος Αντικειμενοστραφής Προγραμματισμός Η ιδέα του αντικειμενοστραφούς προγραμματισμού Αυτόνομες οντότητες Στιγμιότυπα οντοτήτων Παράδειγμα
Διαβάστε περισσότεραΜέθοδοι μοντελοποίησης
Μέθοδοι μοντελοποίησης Ευθύμιος Ταμπούρης tambouris@uom.gr Περιεχόμενα Ο ρόλος των μοντέλων Διαγράμματα Δραστηριοτήτων Διαγράμματα Περιπτώσεων Χρήσης Διαγράμματα Κλάσεων Διαγράμματα Ακολουθίας Διαγράμματα
Διαβάστε περισσότεραΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008 Τμήμα θεωρίας: Κάθε Τρίτη, 11πμ-2μμ, ΑΜΦ22. Διδάσκων: Ντίνος Φερεντίνος email: kpf3@cornell.edu Μάθημα: Θεωρία + προαιρετικό εργαστήριο (5-6 2ωρα εργαστήρια το εξάμηνο,
Διαβάστε περισσότεραΑνάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής
Ανάλυση Πληροφοριακών Συστημάτων Εαρινό Εξάμηνο 2018-2019 Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής Διαγράμματα Κλάσεων Τα βασικά στοιχεία Διαλέξεις παρουσιάσεις Το υλικό του μαθήματος στηρίζεται
Διαβάστε περισσότερα2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
Διαβάστε περισσότεραΣε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας
Σε αυτό το µάθηµα θα ασχοληθούµε µε τη βελτίωση της εµφάνισης ενός ιστοτόπου, αλλά και τον εύκολο χειρισµό όλων των αλλαγών στην εµφάνιση της σελίδας µέσω της τεχνολογίας των ιαδοχικών Φύλλων Στυλ (cascading
Διαβάστε περισσότεραΕισαγωγή ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΣΠ
ΕΙΣΑΓΩΓΗ ΣΤΑ ΓΣΠ Τα τελευταία 25 χρόνια, τα προβλήµατα που σχετίζονται µε την διαχείριση της Γεωγραφικής Πληροφορίας αντιµετωπίζονται σε παγκόσµιο αλλά και εθνικό επίπεδο µε την βοήθεια των Γεωγραφικών
Διαβάστε περισσότεραΚεφάλαιο 10 ο Υποπρογράµµατα
Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,
Διαβάστε περισσότεραΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος sfetsos@it.teithe.gr
ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr ΕΡΓΑΣΤΗΡΙΟ - 3 ΘΕΜΑΤΑ: Κλάσεις Αντικείμενα Δομητές/Κατασκευαστές - Μέθοδοι - Παράμετροι
Διαβάστε περισσότεραΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης
ΠΟΛΥΜΟΡΦΙΣΜΟΣ Λόγω της θεμελιώδους σημασίας της έννοιας του πολυμορφισμού (polymorphism) στην αντικειμενοστρεφή σχεδίαση, κρίνεται σκόπιμο στο σημείο αυτό του βιβλίου να αναλυθεί εκτενέστερα. Ο πολυμορφισμός
Διαβάστε περισσότεραΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ
ΕΦΑΡΜΟΓΕΣ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Dr. Christos D. Tarantilis Associate Professor in Operations Research & Management Science http://tarantilis.dmst.aueb.gr/ ΕΦΑΡΜΟΓΕΣ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Ι - 1- ΕΦΑΡΜΟΓΕΣΔΙΟΙΚΗΤΙΚΗΣΕΠΙΣΤΗΜΗΣ&
Διαβάστε περισσότεραΕισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #12
Διάγραμμα κλάσεων [Class diagram] Διάλεξη #12: Υπο-τύποι και πολυμορφισμός [sub-typing and polymorphism] Database Music Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό,, Slide 1 Εισαγωγή στον Αντικειμενοστρεφή
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπερφόρτωση Αντικείμενα σαν ορίσματα ΥΠΕΡΦΟΡΤΩΣΗ H κλάση Car Μια κλάση που κρατάει την θέση ενός αυτοκινήτου. Μέθοδος move(): μετακινεί το αυτοκίνητο κατά μία
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Εισαγωγή Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΒασικά της γλώσσας JAVA
17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Διαβάστε περισσότεραΜοντέλο Οντοτήτων-Συσχετίσεων
Εισαγωγή Σχεδιασµός µιας Β : Βήµατα Ανάλυση Απαιτήσεων Τι δεδοµένα θα αποθηκευτούν, ποιες εφαρµογές θα κτιστούν πάνω στα δεδοµένα, ποιες λειτουργίες είναι συχνές Εννοιολογικός Σχεδιασµός Υψηλού-επιπέδου
Διαβάστε περισσότεραΜέθοδοι. Υποσυστήµατα και πακέτα. Μοντέλα αντικειµενοστραφούς σχεδίασης. Αντικειµενοστραφής Σχεδίαση. Στα πρώτα στάδια της ανάλυσης
Αντικειµενοστραφής Σχεδίαση Αντώνης Καραγεώργος Τµήµα Μηχανικών Η/Υ και ικτύων Πανεπιστήµιο Θεσσαλίας karageorgos@inf.uth.gr Μέθοδοι Στα πρώτα στάδια της γράφουµε µόνο τα ονόµατα των µεθόδων Γράφουµε τις
Διαβάστε περισσότεραΘεωρία Κανονικοποίησης
Θεωρία Κανονικοποίησης Πρώτη Κανονική Μορφή (1NF) Αποσύνθεση Συναρτησιακές Εξαρτήσεις Δεύτερη (2NF) και Τρίτη Κανονική Μορφή (3NF) Boyce Codd Κανονική Μορφή (BCNF) Καθολική Διαδικασία Σχεδίασης ΒΔ Βασική
Διαβάστε περισσότεραΕισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6
Επισκόπηση Εβδοµάδα 3: Υλοποίηση µεθόδων Τοπικές µεταβλητές Κλήση µεθόδων Μέθοδοι της κλάσης String ηµιουργία αντικειµένων Στατικές µέθοδοι (µέθοδοι κλάσεων) Εισαγωγή στον Προγραµµατισµό,,, Slide 1 Εισαγωγή
Διαβάστε περισσότερα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
Διαβάστε περισσότεραΗ κατασκευή αντικειμένων της κλάσης Student μπορεί να πραγματοποιηθεί είτε στη main είτε σε οποιαδήποτε μέθοδο κλάσης:
Αντικειμενοστρεφής Προγραμματισμός Τμήμα Εφαρμοσμένης Πληροφορικής Δημιουργία Κλάσεων/Αντικειμένων/Συσχετίσεων/Συνδέσεων Δημιουργία κλάσεων και αντικειμένων Θεωρούμε ένα υποθετικό σύστημα που αναφέρεται
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότεραΗ εταιρεία είναι οργανωµένη σε τµήµατα Κάθε ΤΜΗΜΑένα όνοµα, κωδικό και έναν εργαζόµενο που διευθύνει το τµήµα. Αποθηκεύεται η ηµεροµηνία που ανέλαβε
ιάγραµµα Οντοτήτων - Συσχετίσεων Παύλος Εφραιµίδης Βάσεις εδοµένων ιάγραµµα Ο-Σ 1 Σχεδιασµός µιας Βάσης εδοµένων Τα βασικά βήµατα για το σχεδιασµό και την ανάπτυξη µιας Βάσης εδοµένων είναι: Ανάλυση Απαιτήσεων
Διαβάστε περισσότεραΕΝ ΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ ΣΧΕ ΙΑΣΜΟΙ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ
ΕΘΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΕΙΟ Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Ακαδηµαϊκό Έτος 2007-2008 Μάθηµα: ΒΑΣΕΙΣ Ε ΟΜΕΩ ιδάσκων: Καθ. Ιωάννης Βασιλείου Ε ΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗ ΠΡΩΤΗ ΑΣΚΗΣΗ
Διαβάστε περισσότεραΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος
ΗΥ240: Δοµές Δεδοµένων Εαρινό Εξάµηνο Ακαδηµαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραµµατιστική Εργασία - 1 ο Μέρος Ηµεροµηνία Παράδοσης: Δευτέρα, 3 Απριλίου 2017, ώρα 23:59. Τρόπος Παράδοσης:
Διαβάστε περισσότεραΟικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης
Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση
Διαβάστε περισσότεραHY118- ιακριτά Μαθηµατικά
HY118- ιακριτά Μαθηµατικά Τρίτη, 19/04/2016 Το υλικό των Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 1 Συνδυαστική 2 Πείραµα Πείραµα: Οποιαδήποτε διαδικασία που µπορεί να οδηγήσει σε ένα αριθµό παρατηρήσιµων
Διαβάστε περισσότεραΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΧΕΙΩΝ ΑΝΑΛΥΣΗΣ UML ΜΕ JAVA. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ ΥΛΟΠΟΙΗΣΗ ΣΤΟΙΧΕΙΩΝ ΑΝΑΛΥΣΗΣ UML ΜΕ JAVA Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική Θεσσαλονίκη, Σεπτέμβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραInitialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to
Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε
Διαβάστε περισσότεραΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων
ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ Οι Μηχανικοί Λογισμικού παράγουν μοντέλα που βοηθούν στη διατύπωση των απαιτήσεων με τη μορφή προδιαγραφών. Η εργασία της παραγωγής μοντέλων περιγράφεται ως ανάλυση απαιτήσεων. Η ανάλυση
Διαβάστε περισσότεραΤεχνολογίες Υλοποίησης Αλγορίθµων
Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Γρηγόρης Πράσινος Υποψήφιος ιδάκτωρ Τµήµα Μηχ/κων Η/Υ &
Διαβάστε περισσότεραΔιάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παράδειγμα Διαδικασίας Ανάπτυξης Λογισμικού: Βιβλίο Διευθύνσεων - Φάση 2: Σχεδίαση(Κάρτες CRC, διαγράμματα
Διαβάστε περισσότεραΑντικειµενοστραφής Προγραµµατισµός
Κλάσεις Αντικειµενοστραφής Προγραµµατισµός Κλάσεις Αντικείµενα Ιεραρχία κλάσεων Κλάσεις. Ιδιότητες Συµπεριφορά Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Κληρονοµικότητα Μέθοδοι επικάλυψης Η χρήση του
Διαβάστε περισσότεραPostgress ΣΤΟΧΟΣ ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ. ΠΕΡΙΒΑΛΛΟΝ ΓΙΑ ΕΞΑΣΚΗΣΗ pgadmin ΥΠΟΒΑΘΡΟ. Συναρτήσεις στην PostgreSQL. 1. Γενικά
ΣΤΟΧΟΣ Postgress Το 9ο εργαστήριο εισάγει τον/ην φοιτητή/τρια στη χρήση και προγραµµατισµό συναρτήσεων στην PostgreSQL. ΣΧΕΤΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ ΥΛΙΚΟ Η σχετική ύλη του βιβλίου του µαθήµατος (διαφάνειες και
Διαβάστε περισσότεραΔοµές Δεδοµένων. 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων. Ε. Μαρκάκης
Δοµές Δεδοµένων 6η Διάλεξη Αναδροµικές Εξισώσεις και Αφηρηµένοι Τύποι Δεδοµένων Ε. Μαρκάκης Περίληψη Χρήση αναδροµικών εξισώσεων στην ανάλυση αλγορίθµων Αφηρηµένοι τύποι δεδοµένων Συλλογές στοιχείων Στοίβα
Διαβάστε περισσότεραΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο. Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΣΙΝΑΤΚΑΣ Ι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων Εισαγωγή Οι βασικοί τύποι δεδομένων στην C είναι char, int, float και double Το επόμενο βήμα δεδομένων
Διαβάστε περισσότεραΜοντέλα συστήματος. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 8
Μοντέλα συστήματος Στόχοι Γιατί είναι απαραίτητη η μοντελοποίηση του θεματικού πλαισίου Τι είναι Μοντελοποίηση συμπεριφοράς, Μοντελοποίηση δεδομένων, και Μοντελοποίηση αντικειμένων Ενοποιημένη Γλώσσα Μοντελοποίησης
Διαβάστε περισσότεραΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο
Διαβάστε περισσότεραΠρογραµµατισµός ΙΙ. Ηγλώσσααντικειµενοστραφούς. ιδάσκων ηµήτριος Κατσαρός, Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας
Προγραµµατισµός ΙΙ Ηγλώσσααντικειµενοστραφούς προγραµµατισµού Java ιδάσκων ηµήτριος Κατσαρός, Ph.D. @ Τµ. Μηχανικών Η/Υ, Τηλεπικοινωνιών & ικτύων Πανεπιστήµιο Θεσσαλίας ιάλεξη 14η: 31/08/2006 1 Συλλογές
Διαβάστε περισσότεραRequirements Απαιτήσεις
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών Φθινόπωρο 2006 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων Information Systems Analysis and Design Requirements Engineering Data Flow Diagrams Process
Διαβάστε περισσότεραΚατ οίκον Εργασία 2 Σκελετοί Λύσεων
Κατ οίκον Εργασία 2 Σκελετοί Λύσεων 1. (α) Αλγόριθµος: ηµιούργησε το σύνολο P που αποτελείται από τα άκρα όλων των ευθυγράµµων τµηµάτων. Βρες το κυρτό περίβληµα του P µε τον αλγόριθµο του Graham. Ορθότητα:
Διαβάστε περισσότεραΕισαγωγή στη UML. Περιεχόμενα. Γενικά χαρακτηριστικά. Στοιχεία μοντέλων. Συσχετίσεις. Διαγράμματα. Παραδείγματα. Γλώσσες Προδιαγραφής 1
Εισαγωγή στη UML Γλώσσες Προδιαγραφής 1 Περιεχόμενα Γενικά χαρακτηριστικά Στοιχεία μοντέλων Συσχετίσεις Διαγράμματα Παραδείγματα Γλώσσες Προδιαγραφής 2 Τι είναι μοντέλο? Αποτελεί µια αφηρηµένη περιγραφή
Διαβάστε περισσότερα