ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΜΕΣΟΛΟΓΓΙ) ΑΝΑΛΥΣΗ ΚΑΙ ΣΧΕΔΙΑΣΜΟΣ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8) ΓΙΩΡΓΟΣ ΜΟΥΡΚΟΥΣΗΣ Μηχανικός Η/Υ & Πληροφορικής Διδάκτορας Μηχανικός ΕΜΠ gmourkousis@teimes.gr Υλικό: ΘΕΩΡΙΑ
2 ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML
UML Μεγάλα Έργα Λογισμικού = επικοινωνία... Πολλαπλές μονάδες, πολλαπλές γενιές, πολλοί προγραμματιστές, πολλοί πελάτες-χρήστες επιβάλλουν τη χρήση κοινής ορολογίας
UML Τυπικός Ορισμός Η Ενοποιημένη Γλώσσα Μοντελοποίησης (Unified Modeling Language, στο εξής UML) είναι μία γραφική γλώσσα γενικού σκοπού, η οποία χρησιμοποιείται για τον προσδιορισμό, οπτικοποίηση, ανάπτυξη και τεκμηρίωση των κατασκευασμάτων (artifacts) ενός συστήματος λογισμικού.
UML Στην Πράξη H UML πρακτικά είναι μία γλώσσα μοντελοποίησης (σύνολο από διαγράμματα). (Δεν είναι γλώσσα προγραμματισμού) Χρήση: με οποιαδήποτε διαδικασία σε οποιοδήποτε στάδιο ανάπτυξης για οποιαδήποτε τεχνολογική πλατφόρμα
Μοντελοποίηση Ως μοντέλο ορίζεται η αφαίρεση (απλούστευση) της πραγματικότητας Ένα μοντέλο είναι μία αναπαράσταση σε ένα συγκεκριμένο μέσο, κάποιας οντότητας στο ίδιο ή σε άλλο μέσο. Το μοντέλο αναπαριστά τα σημαντικά (από μία ορισμένη οπτική γωνία), στοιχεία της οντότητας που μοντελοποιείται, απλοποιώντας ή παραλείποντας τα υπόλοιπα. Το μέσο επάνω στο οποίο αναπτύσσεται το μοντέλο είναι βολικό για επεξεργασία. Για Παράδειγμα το μοντέλο ενός κτιρίου κατασκευάζεται σε χαρτί ή το μοντέλο ενός αεροσκάφους σε μία μακέτα.
Πλεονεκτήματα ενός μοντέλου Ακριβής καθορισμός των απαιτήσεων έτσι ώστε όλοι οι εμπλεκόμενοι να τις κατανοούν με κοινό τρόπο. Μοντέλα ενός συστήματος λογισμικού κατασκευάζονται ώστε οι αναλυτές, προγραμματιστές, διαχειριστές έργων, πελάτες και τελικοί χρήστες να κατανοήσουν το σύστημα από την οπτική γωνία που τους ενδιαφέρει. Μελέτη του τρόπου σχεδίασης. Το μοντέλο ενός συστήματος λογισμικού παρέχει τη δυνατότητα διερεύνησης διαφόρων αρχιτεκτονικών, με οικονομικό τρόπο, αρκετά πριν από την κωδικοποίηση.
Πλεονεκτήματα ενός μοντέλου Παραγωγή χρήσιμων πρωτοτύπων. Το μοντέλο ενός συστήματος λογισμικού μπορεί να χρησιμοποιηθεί για την παραγωγή πρωτοτύπων τα οποία με τη σειρά τους θα αξιοποιηθούν για τη διερεύνηση των απαιτήσεων. Διαχείριση περίπλοκων συστημάτων. Τα σύγχρονα συστήματα λογισμικού χαρακτηρίζονται από υψηλή πολυπλοκότητα όσον αφορά το μέγεθος τους, τον αριθμό των λειτουργιών τους, τον αριθμό των μονάδων που τα απαρτίζουν, το μέγεθος της ομάδας ανάπτυξης κ.ο.κ. Ένα μοντέλο μπορεί να συμβάλει στην αντιμετώπιση της πολυπλοκότητας εισάγοντας διάφορα επίπεδα αφαίρεσης, αποκρύπτοντας τον τεράστιο όγκο των λεπτομερειών.
UML Δομή & Συμπεριφορά Η UML αποτυπώνει τόσο τη στατική δομή, όσο και τη δυναμική συμπεριφορά ενός συστήματος. Ένα αντικειμενοστρεφές σύστημα μοντελοποιείται ως μία συλλογή αντικειμένων που αλληλεπιδρούν για την εκτέλεση μιας λειτουργίας η οποία είναι τελικά αξιοποιήσιμη από τον χρήστη του συστήματος. Η στατική δομή καθορίζει τα είδη των αντικειμένων που είναι σημαντικά για το σύστημα καθώς και τις συσχετίσεις μεταξύ τους. Η δυναμική συμπεριφορά προσδιορίζει την εξέλιξη των αντικειμένων σε σχέση με τον χρόνο και την επικοινωνία μεταξύ τους.
Ιστορία της UML
Συνεργάτες - Συμμετέχοντες... Rational Software Corporation Hewlett-Packard I-Logix IBM ICON Computing Intellicorp MCI Systemhouse Microsoft ObjecTime Oracle Platinum Technology Taskon Texas Instruments/Sterling Software Unisys Υπάρχει ισχυρή δυναμική
Μοντελοποίηση Επιχειρησιακών Διαδικασιών ΛΕΙΤΟΥΡΓΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ 12 ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Μοντελοποίηση επιχειρηματικών διαδικασιών Τα μοντέλα επιχειρηματικών διαδικασιών περιγράφουν τις διάφορες δραστηριότητες οι οποίες, όταν συνδυαστούν, υποστηρίζουν μια επιχειρηματική διαδικασία Ένα πολύ ισχυρό εργαλείο με το οποίο ο αναλυτής μπορεί να μεταδώσει στον χρήστη τι έχει κατανοήσει σχετικά με τις απαιτήσεις του συστήματος έως ένα σημείο Τα διαγράμματα δραστηριοτήτων απεικονίζουν τον τρόπο λειτουργίας του πληροφοριακού συστήματος
Διαγράμματα Δραστηριοτήτων Παρουσιάζουν την ροή του ελέγχου στην αντικειμενοστραφή σχεδίαση Αντικαθιστούν τα παλαιότερα διαγράμματα ροής (flowcharts) Χρησιμοποιούνται για την κατανόηση ενεργειών και την περιγραφή της λογικής μιας λειτουργίας του συστήματος
Διαγράμματα Δραστηριότητας (Activity Diagrams) Ένα διάγραμμα δραστηριότητας μοντελοποιεί τη ροή της εργασίας, αναπαριστώντας τις διάφορες καταστάσεις εκτέλεσης ενός υπολογισμού Παρουσιάζεται η ροή του ελέγχου μεταξύ δραστηριοτήτων του ιδίου αντικειμένου ή πολλών αντικειμένων Μία κατάσταση δραστηριότητας συμβολίζεται ως ένα ορθογώνιο με καμπύλες γωνίες με περιγραφή της δραστηριότητας. Η μετάβαση κατά τη συμπλήρωση μιας δραστηριότητας συμβολίζεται ως ακμή. Οι διακλαδώσεις συμβολίζονται είτε με συνθήκες φρουρούς (φραγής) επί των μεταβάσεων και με κόμβους απόφασης (ρόμβους) με πολλαπλές εξερχόμενες ακμές. Μία ένωση (join) συμβολίζει συνένωση πολλών εισερχομένων μεταβάσεων σε μία εξερχόμενη ενώ μία διχάλα (fork) την ανάλυση μιας εισερχόμενης σε πολλές παράλληλες ταυτόχρονες.
Σύνταξη διαγράμματος δραστηριοτήτων Ενέργεια ή Δραστηριότητα Αναπαριστά μία δράση ή ένα σύνολο ενεργειών, αντίστοιχα Ροή ελέγχου Παρουσιάζει την ακολουθία εκτέλεσης Κόμβος αρχής Η αρχή ενός συνόλου ενεργειών Τερματικός κόμβος Σταματά κάθε ροή μιας δραστηριότητας Κόμβος απόφασης Αναπαριστά μια συνθήκη ελέγχου
17 Σύνταξη διαγράμματος δραστηριοτήτων (Αναλυτικά)
Παράδειγμα διαγράμματος δραστηριοτήτων (Ορισμός Ραντεβού Ασθενή)
Κόμβοι Ελέγχου 19 Αρχής Τερματικής Δραστηριότητας Τερματικής Ροής Απόφασης Συγχώνευσης Διακλάδωσης Συνένωσης
Οδηγίες για τη δημιουργία διαγραμμάτων δραστηριοτήτων Ορίστε την εμβέλεια της δραστηριότητας που μοντελοποιείτε Προσδιορίστε τις δραστηριότητες, τις ροές ελέγχου και τις ροές αντικειμένων που εμφανίζονται μεταξύ των δραστηριοτήτων Προσδιορίστε οποιεσδήποτε αποφάσεις αποτελούν μέρος της διαδικασίας που μοντελοποιείτε Προσπαθήστε να εντοπίσετε τυχόν προοπτικές παραλληλισμού στη διαδικασία Σχεδιάστε το διάγραμμα δραστηριοτήτων
21 Γενική Διαδικασία Παραγγελίας
Εναλλακτικός συμβολισμός (Συγχρονισμός) 22 Οι κόμβοι Διακλάδωσης και Συνένωσης συμβολίζονται ως ευθύγραμμα τμήματα
Κολυμβητικές Λωρίδες (swimlanes) 23 Μερικές φορές είναι βολικό να χωρίζεται ώστε να παρουσιάζει την ανάθεση αρμοδιοτήτων σε οντότητες Οι οντότητες αυτές είναι τόσο άτομα (κατηγορίες χρηστών του συστήματος) όσο και αντικείμενα (εσωτερικά ή εξωτερικά συστήματα) Μπορεί να γίνει χρήση: Κάθετων Λωρίδων Οριζόντιων Λωρίδων
Παράδειγμα
Παράδειγμα Τ μήμα Δ ιε κπ ε ραίωσης Εξυπηρέτηση Π ε λατών Τμήμα Ο ικονομικού Π αρ αλ αβή Π αρ αγ γ ελ ίας Σ υ μπλ ήρ ωση Π αρ αγ γ ελ ίας Α ποσ τολή Τ ιμολ ογ ίου Π λ ηρ ωμή Κ αταγ ρ αφ ή Κ λ είσιμο Π αρ αγ γ ελ ίας
26 Παράδειγμα
27 Παράδειγμα Ένταξης Επένδυσης σε Πρόγραμμα
Μοντελοποίηση Επιχειρησιακών Διαδικασιών ΛΕΙΤΟΥΡΓΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ 28 ΔΙΑΓΡΑΜΜΑ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ ΠΕΡΙΓΡΑΦΗ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ
περιπτώσεις χρήσης Οι περιπτώσεις χρήσης απεικονίζουν τις δραστηριότητες που πραγματοποιούν οι χρήστες κάθε συστήματος Περιγράφουν βασικές λειτουργίες του συστήματος Τι μπορεί να κάνει ο χρήστης Πώς αποκρίνεται το σύστημα Οι περιπτώσεις χρήσης αποτελούν δομικά στοιχεία για τις συνεχιζόμενες δραστηριότητες του σχεδιασμού
Πραγματικές Σκοπός Απαραίτητες Τύποι περιπτώσεων χρήσης Πλήθος πληροφοριών Γενικές / εποπτικές Υψηλού επιπέδου επισκόπηση των ζητημάτων που είναι απαραίτητα για την κατανόηση των απαιτούμενων λειτουργιών Λεπτομερείς Λεπτομερής περιγραφή των ζητημάτων που είναι απαραίτητα για την κατανόηση των απαιτούμενων λειτουργιών Υψηλού επιπέδου επισκόπηση συγκεκριμένου συνόλου βημάτων τα οποία εφαρμόζονται στο πραγματικό σύστημα μόλις αυτό υλοποιηθεί Λεπτομερής περιγραφή συγκεκριμένου συνόλου βημάτων τα οποία εφαρμόζονται στο πραγματικό σύστημα μόλις αυτό υλοποιηθεί
Στοιχεία μιας περίπτωσης χρήσης: Σύνοψη όνομα αναγνωριστικό τύπος βασικός δράστης συνοπτική περιγραφή επίπεδο σπουδαιότητας εμπλεκόμενοι συμβάν ενεργοποίησης
Στοιχεία μιας περίπτωσης χρήσης: Σχέσεις Συσχετισμού τεκμηριώνει την επικοινωνία που διαμείβεται μεταξύ της περίπτωσης χρήσης και των δραστών που τη χρησιμοποιούν Επέκτασης αναπαριστά την επέκταση της λειτουργικότητας μιας περίπτωσης χρήσης με σκοπό την ενσωμάτωση προαιρετικής συμπεριφοράς
Στοιχεία μιας περίπτωσης χρήσης: Σχέσεις Συμπερίληψης αναπαριστά την υποχρεωτική συμπερίληψη μιας άλλης περίπτωσης χρήσης Γενίκευσης επιτρέπει στις περιπτώσεις χρήσης να υποστηρίζουν κληρονομικότητα
Στοιχεία μιας περίπτωσης χρήσης: Ροές συμβάντων Κανονική περιλαμβάνει μόνο τα βήματα που εκτελούνται υπό κανονικές συνθήκες σε μια περίπτωση χρήσης Υπορροές προκύπτουν από την αποδόμηση της κανονικής ροής συμβάντων ώστε η τελευταία να παραμείνει όσο πιο απλή γίνεται Εναλλακτικές ή ασυνήθιστες ροές ροές που μπορεί να εμφανιστούν, χωρίς όμως να αποτελούν τον κανόνα
Οδηγίες διατύπωσης περιπτώσεων χρήσης Να γράφονται στη μορφή "υποκείμενο-ρήμαάμεσο αντικείμενο" Να είναι σαφές ποιος ξεκινά κάθε βήμα Να γράφετε τα βήματα από την προοπτική ενός ανεξάρτητου παρατηρητή Να γράφετε κάθε βήμα περίπου στο ίδιο επίπεδο αφαίρεσης
Οδηγίες διατύπωσης περιπτώσεων χρήσης Κάθε περίπτωση χρήσης πρέπει να έχει ένα λογικό πλήθος βημάτων Να εφαρμόζετε την αρχή "Keep it Simple, Stupid" (KISS) Να γράφετε εντολές επανάληψης μετά από το σύνολο των βημάτων που πρέπει να επαναληφθεί
37 ΔΙΑΓΡΑΜΜΑΤΑ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ
Σύνταξη διαγράμματος περιπτώσεων χρήσης Δράστης πρόσωπο ή σύστημα που έχει όφελος από το σύστημα και είναι εξωτερικό ως προς αυτό Περίπτωση χρήσης Αναπαριστά ένα σημαντικό κομμάτι λειτουργικότητας του συστήματος Σχέση συσχετισμού Σχέση συμπερίληψης Σχέση επέκτασης Σχέση γενίκευσης <<includes>> <<extends>>
39 Παράδειγμα περίπτωσης χρήσης
40 Παράδειγμα περίπτωσης χρήσης
Παράδειγμα περίπτωσης χρήσης
42 ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΓΡΑΦΩΝ ΚΑΙ ΔΙΑΓΡΑΜΜΑΤΩΝ ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ
Προσδιορισμός των βασικών περιπτώσεων χρήσης Προσδιορίστε τα όρια του συστήματος Προσδιορίστε τους βασικούς δράστες και τους στόχους τους Προσδιορίστε και γράψτε περιλήψεις των σημαντικότερων περιπτώσεων χρήσης για τα παραπάνω Εξετάστε προσεκτικά τις υπάρχουσες περιπτώσεις χρήσης. Αναθεωρήστε τις, αν είναι απαραίτητο
Επέκταση των βασικών περιπτώσεων χρήσης Επιλέξτε μία από τις περιπτώσεις χρήσης για επέκταση Ξεκινήστε συμπληρώνοντας τις λεπτομέρειες για την επιλεγμένη περίπτωση χρήσης Γράψτε την κανονική ροή συμβάντων της περίπτωσης χρήσης
Επέκταση των βασικών περιπτώσεων χρήσης Αν η κανονική ροή των συμβάντων είναι πολύ σύνθετη ή μακροσκελής, αποδομήστε την σε υπορροές Παραθέστε πιθανές εναλλακτικές ή ασυνήθιστες ροές Για κάθε εναλλακτική ή ασυνήθιστη ροή, αναφέρετε τον τρόπο αντίδρασης του δράστη και του συστήματος
Επιβεβαίωση των βασικών περιπτώσεων χρήσης Εξετάστε προσεκτικά όλες τις υπάρχουσες περιπτώσεις χρήσης. Αναθεωρήστε τις, αν είναι απαραίτητο Ξεκινήστε πάλι από την αρχή
Δημιουργία του διαγράμματος περιπτώσεων χρήσης Σχεδιάστε το όριο του συστήματος Τοποθετήστε τις περιπτώσεις χρήσης στο διάγραμμα Τοποθετήστε τους δράστες στο διάγραμμα Σχεδιάστε τους συσχετισμούς
48
49
50
51 Διάγραμμα Περιπτώσεων Χρήσης Συστήματος Ανάθεσης Μαθημάτων