Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών ΣΧΕΔΙΑΣΗ ΜΕ UML Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Microsoft Visio – New Design
Microsoft Visio – UML Use Case
Microsoft Visio – UML Static Structure
Microsoft Visio – UML StateChart
Microsoft Visio – UML Sequence
Microsoft Visio – UML Activity
Microsoft Visio – Drag Objects/Properties
Θεωρία – Ανασκόπηση: Classes Classes or Objects: Αντικείμενα Τα αντικείμενα πρέπει να περιγράφονται Χαρακτηριστικά ή γνωρίσματα Έχουν συμπεριφορά (μέθοδοι) Συσχετίζονται Τα αντικείμενα έχουν instances (στιγμιότυπα ή συγκεκριμένα αντικείμενα) Public, protected, private
Θεωρία – Ανασκόπηση: Classes
Θεωρία – Ανασκόπηση: Attributes Τα αντικείμενα έχουν γνωρίσματα (attributes or data members) Τα γνωρίσματα έχουν συγκεκριμένο data type
Θεωρία – Ανασκόπηση: Attributes
Θεωρία – Ανασκόπηση: Associations Οι συσχετίσεις (associations) συνδέουν αντικείμενα (classes) μεταξύ τους. Σκοπός τους είναι να δείξουν τη συνεργασία μεταξύ των αντικειμένων Βαθμός του association. Πολλαπλότητα του association.
Θεωρία – Ανασκόπηση: Association
Θεωρία – Ανασκόπηση: Aggregation Ειδικού τύπου συσχετίσεις part of Δύο ειδών: Ολική Μερική
Θεωρία – Ανασκόπηση: Aggregation
Θεωρία – Ανασκόπηση: Generalization Η ιδέα της κληρονομικότητας (inheritance) Γενίκευση (generalization) / Ειδίκευση(specialization) Ιεραρχία (hierarchy) Multiple inheritance
Θεωρία – Ανασκόπηση: Generalization
Θεωρία – Ανασκόπηση: Methods Τα αντικείμενα έχουν συμπεριφορά, η οποία κάπως πρέπει να μοντελοποιηθεί. Interface (διεπαφή) προς άλλα objects. Special methods: Constructor Destructor
Θεωρία – Ανασκόπηση: Methods
Άσκηση Βρείτε και σχεδιάστε τις κλάσεις για ένα σύστημα πανεπιστημιακών εγγραφών με τις απαιτήσεις: Κάθε πτυχίο έχει έναν αριθμό υποχρεωτικών και έναν αριθμό μαθημάτων επιλογής. Κάθε μάθημα έχει έναν μία αξία σε credits και προσφέρεται σε κάποιο εξάμηνο. Έχει μέγιστο αριθμό φοιτητών. Ένα μάθημα μπορεί να είναι μέρος οποιουδήποτε προγράμματος σπουδών, είτε σαν υποχρεωτικό ή σαν επιλογής. Κάθε πτυχίο ορίζει ένα minimum σύνολο credits για την ολοκληρωσή του. Οι φοιτητές μπορούν να συνδυάσουν μαθήματα σε προγράμματα σπουδών που να ταιριάζουν στις ανάγκες τους και να οδηγούν σε κάποιο πτυχίο, αρκεί να μην υπάρχουν αλληλοκαλύψεις στο ωρολόγιο πρόγραμμα του εξαμήνου.
Λύση Πιθανές κλάσεις μάθημα (course) πτυχίο (degree) φοιτητής (student) προσφορά_μαθήματος (course offering) υποχρεωτικό_μάθημα (compulsory course) μάθημα_επιλογής (elective course) πρόγραμμα_σπουδών (study program)
Λύση
Άσκηση Σχεδιάστε τα associations μεταξύ των κλάσεων
Λύση
Άσκηση Σχεδιάστε τα aggregations, βάση του προηγούμενου σχεδιαγράμματος
Λύση
Άσκηση Θέλουμε να σχεδιάσουμε τις κλάσεις, τα associations, τα aggregations και τα generalizations για ένα video club με τις εξής απαιτήσεις: Υπάρχει μία μεγάλη συλλογή από τίτλους ταινιών (movie title). Η ταινία μπορεί να προσφέρεται σαν κασέτα (tape) ή δίσκος(disk). To είδος της κασέτας είναι ‘VHS’ ή ‘ΒΕΤΑ’ και του δίσκου ‘DVD’. Κάθε ταινία νοικιάζεται για κάποια περίοδο και υπάρχει ένα κόστος. Το κατάστημα θα πρέπει να ξέρει ανά πάσα στιγμή αν μια ταινία είναι νοικιασμένη ή όχι και πόσα διαθέσιμα αντίγραφα υπάρχουν. Η τιμή ενοικίασης είναι διαφορετική για κασέτα ή δίσκο.
Λύση Πιθανές κλάσεις: MovieTitle VideoTape VideoDisk DVDDisk BetaTape (?) VHSTape (?) Rental VideoMedium (?)
Λύση
Λύση
Άσκηση Σχεδιάστε τα associations, aggregations, generalizations.
Λύση
Άσκηση Θέλουμε να σχεδιάσουμε τις κλάσεις για μία εταιρεία με τις εξής απαιτήσεις: Η εταιρεία έχει διάφορα τμήματα. Κάθε υπάλληλος δουλεύει σέ ένα από αυτά. Ένας υπάλληλος δουλεύει σε ένα ή περισσότερα projects κάποιες ώρες, τα οποία ανήκουν – οικονομικά - σέ ένα τμήμα. Τα τμήματα βρίσκονται σε διαφορετικές πόλεις. Ένας υπάλληλος μπορεί να είναι διοικητικό ή τεχνικό στέλεχος.
Λύση Πιθανές κλάσεις: Employee Department Project Location Manager Employee (?) Technical Employee (?)
Λύση
Λύση
Άσκηση Σχεδιάστε τα associations.
Λύση
Άσκηση Σχεδιάστε τα aggregations και τα generalizations.
Λύση
΄Ασκησεις Γιατρός, ασθενής, εξέταση, γραμματεία. Δικηγορικό γραφείο. Τelemarketing.