Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων 21/11/2016 Τεχνολογία Λογισμικού & Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr Ανάλυση Συστημάτων
Object Diagrams Διαγράμματα Αντικειμένων
Διαγράμματα UML Διάγραμμα περιπτώσεων χρήσης (use case diagram) Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διάγραμμα δραστηριοτήτων (activity diagram) Διάγραμμα καταστάσεων (state diagram) Διαγράμματα αλληλεπίδρασης (interaction diagrams) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα επικοινωνίας (communication diagram) Διαγράμματα υλοποίησης (physical diagrams) Διάγραμμα συστατικών (component diagram) Διάγραμμα ανάπτυξης (deployment diagram)
Άξονες Μοντελοποίησης Λειτουργικότητα functionality Τι κάνει το σύστημα; Ποιες λειτουργίες υποστηρίζει; Ανάλυση απαιτήσεων Περιγραφές από κείμενο Στατικά διαγράμματα Πώς είναι οργανωμένα τα συστατικά του τμήματα; Δυναμική συμπεριφορά Πώς ανταποκρίνεται και από ποιες καταστάσεις περνάει; Δομή structure Συμπεριφορά behaviour
Κατηγοριοποίηση Διαγραμμάτων UML 2.0
Εισαγωγή Ένα διάγραμμα αντικειμένων είναι ένα στιγμιότυπο του συστήματος σε κάποια χρονική στιγμή στο οποίο απεικονίζονται αντικείμενα που προέρχονται από κλάσεις σε ένα διάγραμμα κλάσεων καθώς και οι σύνδεσμοι μεταξύ των αντικειμένων που προέρχονται από τις συσχετίσεις μεταξύ των κλάσεων Είναι ουσιαστικά ένα παράδειγμα για να κατανοήσουμε ή να εξηγήσουμε ένα διάγραμμα κλάσεων
Συμβολισμός... Τα αντικείμενα συμβολίζονται όπως και οι κλάσεις μόνο που μπροστά από το όνομα της κλάσης βάζουμε το όνομα του αντικειμένου και μία άνωκάτω τελεία Και κάποιες από τις ιδιότητες της κλάσης με τις τιμές τους για το συγκεκριμένο αντικείμενο τη συγκεκριμένη χρονική στιγμή Αν το όνομα του αντικειμένου δεν έχει σημασία (π.χ. το αντικείμενο είναι singleton, δηλ. υπάρχει μόνο ένα τέτοιο αντικείμενο στο σύστημα) τότε το όνομα του αντικειμένου μπορεί να παραλειφθεί, αλλά θα πρέπει να βάλουμε την άνω-κάτω τελεία για να μην δημιουργηθεί σύγχυση αν το όνομα που βάζουμε είναι όνομα κλάσης ή αντικειμένου
Παράδειγμα... Έστω διάγραμμα κλάσεων που απεικονίζει κάποιες από τις κλάσεις ενός σχεδιαστικού προγράμματος Περιοχή σχεδίασης (κλάση «DrawingArea») που περιέχει σχήματα (κλάση «Shape») Κλάση «Shape»: αφαιρετική κλάση με συγκεκριμένες υποκλάσεις: για τη γραμμή (κλάση «Line») και τον κύκλο (κλάση «Circle») Υποκλάση για ομάδες σχεδιαστικών αντικειμένων (κλάση «Group») Ένα «Group» αποτελείται από πολλά σχήματα
Διάγραμμα αντικειμένων Είναι συνεπές με το διάγραμμα κλάσεων??? Συνεπές!!!
Διάγραμμα αντικειμένων Είναι συνεπές με το διάγραμμα κλάσεων??? ΟΧΙ συνεπές!!! Ένα «Group» θα πρέπει να περιέχει δύο ή και περισσότερα σχήματα και όχι μόνο ένα.
Πηγές Ε. Κιουντούζης, Μεθοδολογίες Ανάλυσης και Σχεδιασμού Πληροφοριακών Συστημάτων,Εκδόσεις Α.Σταμούλη, Αθήνα 2002 Γιάννης Τζίτζικας. Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων, Πανεπιστήμιο Κρήτης Shari Lawrence Pfleeger. Τεχνολογία Λογισμικού: Θεωρία και Πράξη, τόμος 1, Κλειδάριθμος, Αθήνα, 2003 Leszek A. Maciaszek, Requirements Analysis and System Design (2nd edition), Addison Wesley, 2005 A.Dennis, B. Haley Wixom, D. Tegarden, Systems Analysis and Design with UML Version 2.0 (2nd edition) Wiley, 2005 Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language User Guide. Addison- Wesley Professional 2 Edition, ISBN 0321267974. Pascal Roques, UML in Practice, John Wiley, 2004 UML Fundamentals & OOAD UML 2.0, www.acm.org Αφροδίτη Τσαλγατίδου. Εισαγωγή στη UML, Καποδιστριακό Πανεπιστήμιο Αθηνών Αντικειμενοστρεφής Ανάπτυξη Λογισμικού με τη UML, επιμέλεια Π. Φιτσιλής, Κλειδάριθμος 2006 Ιωάννης Γαβιώτης. Πληροφοριακά Συστήματα Μοντελοποίηση με UML, Πανεπιστήμιο Αιγαίου www.agilemodeling.com/style/classdiagram.htm http://www.devx.com/enterprise/article/28576