Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών ΣΧΕΔΙΑΣΗ ΜΕ UML Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Θεωρία – Ανασκόπηση: UML Unified Modeling Language (UML) Ένα σύνολο από διαγράμματα (ή μοντέλα) (standardized) τα οποία περιγράφουν τα διάφορα μέρη ενός πληροφοριακού συστήματος (object-oriented). The Use Case (behavior) Activity Diagrams (behavior) Interaction Diagrams (behavior) Sequence Collaboration Class Diagrams (state) Statechart Diagrams (behavior)
Θεωρία – Ανασκόπηση: UML Δεν περιγράφει υλοποίηση. Ιστορία Τhe Booch method The Object Modeling Technique Object-Oriented Software Engineering Coad-Yourdon and Fusion Rational Software Corporation and Object Manag. Group Τι είναι ένα μοντέλο; Ανάλυση απαιτήσεων, Ανάλυση, Σχεδιασμός, Υλοποίηση Οι θεμέλιοι λίθοι της UML: Things & Relationships
Θεωρία – Ανασκόπηση: Use Case Models The use case model translates the user’s needs into an easy to understand model. The user may be an individual or an external system = actor Χτίζονται με βάση τις συνεντεύξεις με τους χρήστες Περιγράφουν το σύστημα με λέξεις και όχι διαγράμματα Μέρη ενός Use Case Model: Name, Overview Primary Actor, Secondary Actor Starting Point, End Point Flow of Events, Alternative Flow of Events Measurable Results, Business Rules Use Case Extensions
Θεωρία – Ανασκόπηση: Use Case Diagrams Use Case Models Actors Σύνδεση μεταξύ use case models και actors Stereotypes (σύνδεση μεταξύ use case models): uses (ένα βέλος από το client στο base use case) extends (ένα βέλος από το extended στο base use case) Σύνδεση μεταξύ actors
Θεωρία – Ανασκόπηση: Interaction Diagrams Interaction diagrams: απεικονίζουν γραφικά τις αλληλο-επιδράσεις μεταξύ των αντικείμενων και των actors, και επισης δείχνουν τα μηνύματα που ανταλλάσονται μεταξύ των. Look each object from the “outside”. Σε αυτά τα διαγράμματα τα διάφορα μέρη είναι black-boxes τα οποία εκτελούν διάφορες λειτουργίες. Υπάρχουν δύο ειδών: sequence diagrams collaboration diagrams
Θεωρία – Ανασκόπηση: Sequence Diagrams Δείχνει τις αλληλο-επιδράσεις μεταξύ του actor και των αντικειμένων. Δείχνει πως τα μηνύματα ανταλλάσονται σε σχέση με το χρόνο. Ξεκινάμε από τη μελέτη του use case. Βρίσκουμε όλα τα αντικείμενα που απαιτούνται από το use case. Τα βάζουμε στην ίδια ευθεία. Σχεδιάζουμε μία κάθετη γραμμή από κάθε αντικείμενο (timeline). Μπορούμε να δημιουργήσουμε ή να καταστρέψουμε ένα αντικείμενο. Τα μηνύματα (messages) μεταξύ των αντικειμένων σχεδιάζονται από timeline σε timeline. focus of control: η περίοδος όπου ένα αντικείμενο είναι υπεύθυνο για μία λειτουργία (action).
Θεωρία – Ανασκόπηση: Sequence Diagrams Returns
Θεωρία – Ανασκόπηση: Collaboration Diagrams Τα collaboration diagrams μοντελοποιούν τις αλληλο-επιδράσεις (interactions) μεταξύ των διαφόρων αντικειμένων, χωρίς να δίνουν ιδιαίτερη σημασία στη χρονική σειρά. Ίδιες πληροφορίες με τα sequence diagrams. ‘Οπως και πρίν, αρχίζουμε από το use case. Πρώτα αναγνωρίζουμε τον actor και τα αντικείμενα. Κατόπιν σχεδιάζουμε μία γραμμή ανάμεσα στα αντικείμενα που έχουν κάποιο interaction. Κατόπιν γράφουμε τα διάφορα μηνύματα που ανταλλάσονται ανάμεσα στα αντικείμενα.
Θεωρία – Ανασκόπηση: Collaboration Diagrams
Θεωρία – Ανασκόπηση: Class Diagrams Αντικείμενα (classes) χαρακτηριστικά (attributes) μέθοδοι (methods/operations) Συσχετίσεις (associations) ρόλοι (roles) πληθικότητα (association multiplicity) Ομαδοποιήσεις (aggregation) απλή (simple aggregation) σύνθετη (composite aggregation) Γενίκευση (generalization)
Θεωρία – Ανασκόπηση: Activity Diagrams Οι δραστηριότητες (activities) εντοπίζονται από το use case To activity diagram περιγράφει τις μετατροπές (transitions) μεταξύ των δραστηριοτήτων (activities). Αρχική και τελική κατάσταση. Τα transitions μπορούν να διακλαδωθούν (branch) και να συγχωνευθούν (merge) => alternative computation threads Τα transitions μπορούν να αναπαραχθούν (fork) και να επανενωθούν (rejoin) => concurrent computation threads
Θεωρία – Ανασκόπηση: Activity Diagrams
Θεωρία – Ανασκόπηση: UML Process Use Cases Class Diagrams Activity Diagrams Sequence Diagrams
Θεωρία – Ανασκόπηση: UML Process Use Cases Class Diagrams Activity Diagrams Sequence Diagrams Programming Language Constraints and Rules Technology Constraints Operating Systems Constraints Server Components Constraints and Rules
Παράδειγμα Πωλητής (Sales Representative) Οι πωλητές παίρνουν παραγγελίες από πελάτες – αν κάποιος δεν είναι πελάτης, τότε ο πωλητής του δημιουργεί πρώτα ένα φάκελο. Οι πωλητές μπορούν να εγγράψουν νέους πελάτες. Οι πωλητές μπορούν να τροποποιήσουν τα στοιχεία πελατών.
Παράδειγμα – Use Cases Requirements (απαιτήσεις) development. εύρεση των χρηστών interviews Στην UML οι χρήστες του συστήματος λέγονται actors (όχι απαραιτήτα άνθρωποι.) Μία γραπτή περιγραφή του τρόπου που ο χρήστης χρησιμοποιεί τα διάφορα μέρη του συστήματος λέγεται use case. Κάθε use case πρέπει να έχει αρχικό σημείο, τελικό σημείο και κάποιο measurable result.
Παράδειγμα – Use Case: Create a Customer Overview: Ο κύριος σκοπός είναι η δημιουργία ενός νέου πελάτη. Primary Actor: Πωλητής. Secondary Actor: Κανένας. Starting Point: Όταν ο actor ζητά να δημιουργηθεί ένας νέος πελάτης. Ending Point: Η καταγραφή ολοκληρώνεται ή ακυρώνεται. Measurable Result: Ένας νέος πελάτης καταγράφεται στο σύστημα. Flow of Events: Ζητείται από τον actor να εισάγει πληροφορίες που ορίζουν τον νέο πελάτη, όπως όνομα, τηλέφωνο κλπ. Ο actor μπορεί να επιλέξει να σώσει τις πληροφορίες ή να ακυρώσει την εισαγωγή. Εάν ο actor σώσει τις πληροφορίες, τότε ο πελάτης καταγράφεται στο σύστημα. Alternate Flow of Events: Ο actor προσπαθεί να εισάγει ένα πελάτη που ήδη υπάρχει. Σε αυτή την περίπτωση η εισαγωγή ακυρώνεται. Ο actor προσπαθεί να εισάγει μία πληροφορία σε ένα πεδίο που δεν είναι σωστή. Δεν υπάρχει συνέχεια, μέχρι να δωθεί σωστή τιμή στο πεδίο. Use Case Extensions: Καμμία Outstanding Issues: Κανένα.
Παράδειγμα – Use Case Diagram Create a VIP Order <<extends>>
Παράδειγμα – Sequence Diagram
Παράδειγμα – Collaboration Diagram
Παράδειγμα – Class Modeling
Παράδειγμα – Activity Diagram
Παράδειγμα – Statechart Diagram Α statechart model captures possible states in which a class can be – i.e. it captures the life history of the class. Invoice class:
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
MICROSOFT VISIO