Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Moντελοποίηση Περιπτώσεων Χρήσης (Use Case Modelling)

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Moντελοποίηση Περιπτώσεων Χρήσης (Use Case Modelling)"— Μεταγράφημα παρουσίασης:

1 Moντελοποίηση Περιπτώσεων Χρήσης (Use Case Modelling)

2 Περίπτωση Χρήσης Ορισμός
Περίπτωση Χρήσης Ορισμός Ένα σύνολο σεναρίων που συνδέονται με ένα κοινό σκοπό (για τον χρήστη) Συνήθως περιλαμβάνει: - Ενα πρωταρχικό σενάριο (σαν μια ακολουθία απο βήματα) - Τις εναλλακτικές περιπτώσεις (σαν παραλλαγές της κύριας ακολουθίας βημάτων)

3 Παράδειγμα Σεναρίου Ο πελάτης ξεφυλλίζει τον κατάλογο και προσθέτει αντικείμενα στο καλάθει αγορών. Όταν θελήσει να πληρώσει, περιγράφει τον επιθυμητό τρόπο αποστολής προϊόντων, δίνει τα στοιχεία της πιστωτικής του κάρτας, και επιβεβαιώνει την αγορά. Το σύστημα ελέγχει την εγκυρότητα της πιστωτικής κάρτας και επιβεβαιώνει την αγορά αμέσως αλλά κα με την αποστολή ενός μηνύματος ηλεκτρονικού ταχυδρομείου

4 Παράδειγμα Περίπτωσης Χρήσης (1)
Ο πελάτης ξεφυλλίζει τον κατάλογο και επιλέγει τα προϊόντα που θα αγοράσει Ο πελάτης προχώρει προς την έξοδο Ο πελάτης συμπληρώνει τις πληροφορίες αποστολής Το σύστημα παρουσιάζει την πλήρη πληροφορία τιμολόγησης συμπεριλαμβανομένων και των εξόδων αποστολής Ο πελάτης συμπληρώνει τα στοιχεία της πιστωτικής του κάρτας Το σύστημα εγκρίνει την αγορά Το σύστημα επιβεβαιώνει αμέσως την πώληση Το σύστημα στέλνει ένα μήνυμα βεβαίωσης της πώλησης στον πελάτη μέσω ηλεκτρονικού ταχυδρομείου

5 Παράδειγμα Περίπτωσης Χρήσης (2)
Εναλλακτικό σενάριο: Αποτυχία έγκρισης Στο βήμα 6, το σύστημα αποτυγχάνει να εγκρίνει την πίστωση για την αγορά. Να επιτραπεί στον πελάτη να ξαναδώσει τα στοιχεία της πιστωτικής του κάρτας και να γίνει προσπάθεια. Εναλλακτικό σενάριο: Τακτικός Πελάτης 3α. Το σύστημα παρουσιάζει την ισχύουσα μέθοδο αποστολής, τις πληροφορίες τιμολόγησης και τα τέσσερα τελευταία ψηφία της ισχύουσας πιστωτικής κάρτας. 3β. Ο πελάτης ενδέχεται να απορρίψει ή να αποδεχθεί τις προεπιλογές Επιστροφή στο βήμα 6 του βασικού σεναρίου.

6 Στόχοι της Μοντελοποίησης Περιπτώσεων Χρήσης
Να καθορίσει και να περιγράψει τις λειτουργικές απαιτήσεις του συστήματος Να δώσει μια σαφή και συνεπή περιγραφή για το τι θα πρέπει να κάνει το σύστημα Να παρέχει την κατάλληλη βάση για να γίνονται έλεγχοι γιά επαλήθευση του συστήματος. Να παρέχει την ικανότητα ν’ανιχνεύονται (εντοπίζονται) οι λειτουργικές απαιτήσεις μέσα στις κλάσεις και τις λειτουργίες του συστήματος

7 Διαγράμματα Περιπτώσεων Χρήσης
Περιγράφουν τη λειτουργική διάσπαση του συστήματος σε περιπτώσεις χρήσης και χαρακτήρες (actors) που αλληλεπιδρούν με αυτές Οι περιπτώσεις χρήσης αναπαριστούν τις απαιτήσεις του πελάτη Αποτέλεσμα δημιουργίας του μοντέλου της περίπτωσης χρήσης Γενικό (καθολικό) διάγραμμα περίπτωσης χρήσης Λεπτομερής περιγραφή με κείμενο (textual description) κάθε περίπτωσης χρήσης

8 Διάγραμμα Περίπτωσης Χρήσης
Διάγραμμα Πείπτωσης Χρήσης-δείχνει τους χρήστες,τις διάφορες εφαρμογές και τις μεταξύ τους σχέσεις Υπογραφή του συμβολαίου ασφάλειας Στατιστικά στοιχεία πωλήσεων ΠΕΛΑΤΗΣ ΑΝΤΙΠΡΟΣΩΠΟΣ ΑΣΦΑΛΕΙΩΝ Στατιστικά πελάτη

9 Μοντελοποίηση γενικής εικόνας του συστήματος
ΣΥΣΤΗΜΑ ΕΠΙΚΥΡΩΣΗΣ ΠΙΣΤΩΤΙΚΩΝ ΚΑΡΤΩΝ Εκτέλεση συναλλαγής με πιστωτική κάρτα Πελάτης Επεξεργασία λογαριασμού πελάτη Εταιρεία Λιανικής Πώλησης Διευθέτηση συναλλαγών Διαχείριση λογαριασμού πελάτη Οργανισμός Οικονομικής Χρηματοδότησης Πελάτης Ανθρωπος Πελάτης Εταιρεία

10 Bήματα για τη δημιουργία των διαγραμμάτων περιπτώσεων χρήσης
Kαθορισμός των ορίων του συστήματος Εύρεση των χαρακτήρων (actors) καί των περιπτώσεων χρήσης Κατασκευή γενικού (καθολικού) διαγράμματος περιπτώσεων χρήσης Περιγραφή των περιπτώσεων χρήσης (με απλό κείμενο ή με activity diagrams) Eύρεση των συσχετίσεων μεταξύ των περιπτώσεων χρήσης Επικύρωση του μοντέλου των περιπτώσεων χρήσης

11 Συστήματα στα διαγράμματα περιπτώσεων χρήσης
Επιχείρηση ασφαλειών Σύστημα σ’ένα μοντέλο Περίπτωσης Χρήσης. Το σύστημα μπορεί να είναι ένα λογισμικό, μια επιχείρηση ή ένα μηχάνημα

12 Διάγραμμα Περίπτωσης Χρήσης– Χαρακτήρες (1)
Οι Χαρακτήρες (Actors) αλληλεπιδρούν με το σύστημα χρησιμοποιώντας το σύστημα, δηλ. ξεκινώντας την εκτέλεση των περιπτώσεων χρήσης με το να χρησιμοποιούνται από το σύστημα, δηλ. παρέχοντας τη λειτουργικότητα για να πραγματοποιούνται οι περιπτώσεις χρήσης κάθε χαρακτήρας πρέπει να επικοινωνεί με τουλάχιστον μία περίπτωση χρήσης η σχέση επικοινωνίας είναι μη κατευθυνόμενη Οι χαρακτήρες αναπαριστούν ρόλους (roles) οι πραγματικοί χρήστες μπορούν να έχουν περισσότερους από έναν ρόλους σε κάθε χρονική στιγμή. οι χαρακτήρες βρίσκονται εκτός των ορίων του συστήματος

13 Διάγραμμα Περίπτωσης Χρήσης– Χαρακτήρες (2)
Ο χαρακτήρας εκπροσωπεί ένα ρόλο κι όχι έναν συγκεκριμένο χρήστη του συστήματος Ενας χαρακτήρας μπορεί να έχει πολλούς ρόλους Επικοινωνεί με το σύστημα στέλνοντας και λαμβάνοντας μηνύματα Μια περίπτωση χρήσης ενεργοποιείται από έναν χαρακτήρα Ένας χαρακτήρας είναι μια κλάση, όχι ένα στιγμιότυπο

14 Διάγραμμα Περίπτωσης Χρήσης– Χαρακτήρες (3) Πρωτεύων χαρακτήρας
Χρησιμοποιεί τις πρωτεύουσες λειτουργίες του συστήματος (π.χ. Λογιστής) Δευτερεύων χαρακτήρας Χρησιμοποιεί δευτερεύουσες λειτουργίες όπως αυτές που συντηρούν το σύστημα κ.α (π.χ. Δ/ντής Οικονομικών) Ενεργητικός χαρακτήρας Είναι αυτός που ενεργοποιεί μια περίπτωση χρήσης Παθητικός χαρακτήρας Δεν αρχικοποιεί αλλά συμμετέχει σε μια περίπτωση χρήσης, π.χ. εκτυπωτής

15 Διάγραμμα Περίπτωσης Χρήσης– Χαρακτήρες (4) Οι χαρακτήρες στην UML
«Χαρακτήρας» Πράκτορας Ασφαλειών Πράκτορας ασφαλειών Ο χαρακτήρας είναι μια κλάση και σχεδιάζεται σαν ένα ορθογώνιο κλάσεων με το στερεότυπο “ χαρακτήρας ”. H διπλανή εικόνα με το ανθρωπάκι (stickman) έχει το όνομα του χαρακτήρα (actor) από κάτω

16 Σχέση γενίκευσης μεταξύ χαρακτήρων (actors)
Ένας χαρακτήρας που κληρονομεί από έναν άλλον χαρακτήρα Α είναι ικανός να επικοινωνεί με τις ίδιες περιπτώσεις χρήσεις όπως ο Α Η πολλαπλή κληρονομικότητα επιτρέπεται Telephone Customer Personal Visit Customer Customer

17 Ερωτήσεις γιά την εύρεση των χαρακτήρων (actors)
Ποιοί θα χρησιμοποιούν την κύρια λειτουργικότητα του συστήματος; Ποιοί χρειάζονται υποστήριξη από το σύστημα στις καθημερινές τους ασχολίες; Ποιοί θα συντηρούν καί διαχειρίζονται το σύστημα; Ποιά περιφερειακά υλικού χρειάζεται το σύστημα να χρησιμοποιεί; Με ποιά άλλα συστήματα χρειάζεται να επικοινωνεί το σύστημα; Ποιός ή τί έχει ενδιαφέρον γιά τα αποτελέσματα που θα παράγει το σύστημα;

18 Διάγραμμα Περίπτωσης Χρήσης– Τι είναι η περίπτωση χρήσης
Είναι ένα σύνολο από ενέργειες που καταλήγουν σε ένα αποτέλεσμα χρήσιμο στον εξωτερικό actor Μια περίπτωση χρήσης ενεργοποιείται από έναν actor Προσφέρει ένα χρήσιμο αποτέλεσμα στον εξωτερικό actor Είναι μια πλήρης περιγραφή.Ένα κοινό λάθος είναι η διαίρεση μιας περίπτωσης χρήσης σε μικρότερα διαγράμματα των περιπτώσεων χρήσης

19 Αναπαράσταση Περίπτωσης Χρήσης
Οι περιπτώσεις χρήσεις παριστάνονται σαν ελλείψεις στα όρια του συστήματος κι έχουν συνδέσεις με τους χαρακτήρες. System name Use case Περίπτωση Χρήσης Α Σύνδεσμος επικοινωνίας θΘΘΣΕ Περίπτωση Χρήσης Β Όνομα Χαρακτήρα Περίπτωση Χρήσης Β Όνομα Περίπτωσης Χρήσης U

20 Παράδειγμα Περίπτωσης Χρήσης - CALENDARIUM
Ένα ραντεβού μπορεί να εισαχθεί για έναν ή περισσότερους συμμετέχοντες από ένα χρήστη που έχει γίνει authorized και ο οποίος δε χρειάζεται να είναι ένας από τους συμμετέχοντες. Όλοι οι συμμετέχοντες πρέπει να ενημερωθούν για το νέο ραντεβού. Τα νέα ραντεβού πρέπει να είναι άμεσα ορατά σε όλα τα ανοιχτά ημερολόγια των αντίστοιχων συμμετεχόντων insert appointment

21 Παράδειγμα Περίπτωσης Χρήσης
Πρόσθεσε έναν καινούριο τίτλο με τον τίτλο, συγγραφέα και ISBN στο σύστημα Πρόσθεσε τίτλο

22 Ερωτήματα για την εύρεση των περιπτώσεων χρήσης
Ποιες λειτουργίες απαιτεί ο χρήστης από το σύστημα; τι χρειάζεται να κάνει; Πρέπει ο χρήστης να διαβάσει,αποθηκεύσει, δημιουργήσει, διαγράψει κάποια πληροφορία στο σύστημα; Χρειάζεται ο χρήστης να ειδοποιήσει το σύστημα ή να ειδοποιηθεί από αυτό σε σχέση με κάποια γεγονότα; πώς μεταφράζονται αυτά σε λειτουργικότητα του συστήματος; Μπορεί η καθημερινή δουλειά του χρήστη ν’απλοποιηθεί με νέες λειτουργίες του συστήματος

23 Αλλες ερωτήσεις που δεν ξεκινούν από actors
Ποιά είναι τα κύρια προβλήματα με το παρόν σύστημα (χειρογραφικό ή αυτοματοποιημένο)

24 Αφαιρετική Περίπτωση Χρήσης
Μία περίπτωση χρήσης που χρησιμοποιείται από άλλες, αλλά δεν χρησιμοποιείται ποτέ από μόνη της. Τη χρησιμοποιούμε απλά γιά οικονομία στις περιγραφές μας. Δεν έχει υπόσταση μόνη της.

25 Σχέσεις μεταξύ των περιπτώσεων χρήσης (1)
Σχέση «επεκτείνει» (extends):Μια περίπτωση χρήσης επεκτείνει κάποια άλλη προσθέτοντας επιπλέον ενέργειες στη γενική περίπτωση χρήσης. Σχέση «γενικεύει/εξειδικεύει» (generalization/specialization): Mια περίπτωση χρήσης κληρονομεί τη συμπεριφορά καί την περιγραφή μιάς άλλης περίπτωσης χρήσης Σχέση «περιλαμβάνει» (includes): Mιά περίπτωση χρήσης περιλαβάνει τη συμπεριφορά μιάς άλλης Σχέση ομαδοποίησης : Όταν ένας αριθμός περίπτωσης χρήσης παρουσιάζει παρόμοια λειτουργικότητα ή σχετίζονται μεταξύ τους με κάποιο τρόπο μπορούν να συμπεριληφθούν σε ένα UML πακέτο. Ένα UML πακέτο ομαδοποιεί σχετικά στοιχεία μεταξύ τους. Αυτά μπορούν να αναπαρασταθούν γραφικά από ένα σύμβολο ή αναλυτικά όλα μαζί. Επιτρέπουν να βλέπουμε τμηματικά το σύστημα.

26 Σχέσεις μεταξύ των περιπτώσεων χρήσης(2)
Σχέση «επεκτείνει» Μια περίπτωση χρήσης «επεκτείνει» μια άλλη περίπτωση χρήσης: η πρώτη περιλαμβάνει κάποια από τη συμπεριφορά της κλάσης που επεκτείνει. Η περίπτωση χρήσης B που επεκτείνεται χρειάζεται τη λειτουργία της βασικής περίπτωσης χρήσης A «επεκτείνει» B A

27 Σχέσεις μεταξύ των περιπτώσεων χρήσης (3)
Υπογραφή συμβολαίου ασφάλειας «επεκτείνει» Υπογραφή συμβολαίου αγοράς αυτοκινήτου

28 Σχέσεις μεταξύ των περιπτώσεων χρήσης (4)
Σχέσεις μεταξύ των περιπτώσεων χρήσης (4) Configure program Configure δικαιώματα προσπέλασης «επεκτείνει» {Αλλαγή διακιωμάτων προσπέλασης} Σημεία επέκτασης Αλλαγή δικαιωμάτων προσπέλασης Αλλαγή παραμέτρων «επεκτείνει» Configure παραμέτρους {Αλλαγή παραμέτρων} Πρέπει να καθοριστεί η συνθήκη υπό την οποία ενσωματώνεται η επεκτείνουσα use case Για κάθε περίπτωση χρήσης μπορούν να οριστούν πάνω από ένα σημεία επέκτασης Tα ονόματα των σημείων επέκτασης πρέπει να είναι μοναδικά Tα ονόματα των σημείων επέκτασης δε χρειάζεται να είναι τα ονόματα των περιπτώσεων χρήσης που κάνουν την επέκταση Tα ονόματα των σημείων επέκτασης είναι απλά labels που εμφανίζονται στη ροή των γεγονότων της βασικής περίπτωσης χρήσης

29 Σχέσεις μεταξύ των περιπτώσεων χρήσης (5)
Σχέση «Περιλαμβάνει» Η συμπεριφορά της περίπτωσης χρήσης Α ενσωματώνεται στις περιπτώσεις χρήσης Β καί Γ Η ενσωματωμένη περίπτωση χρήσης Α είναι απαραίτητη για τη λειτουργικότητα των περιπτώσεων χρήσης Β καί Γ. Signing Car Insurance Signing Life Insurance «περιλαμβάνει» Signing Insurance Policy Α Β Γ

30 Σχέσεις μεταξύ των περιπτώσεων χρήσης (6)
Σχέση «Γενικεύει/Εξειδικεύει» Αντίστοιχη της σχέσης γενίκευσης ανάμεσα στις κλάσεις. Η περίπτωση χρήσης Α κληρονομεί τη συμπεριφορά της περίπτωσης χρήσης Β και μπορεί να την επεκτείνει αλλά και να την υποσκελίσει (override). Η περίπτωση χρήσης Α κληρονομεί τις σχέσεις επικοινωνίας της περίπτωσης χρήσης Β. Επιτρέπει τη μοντελοποίηση των αφαιρετικών (abstract) περιπτώσεων χρήσης. A B

31 Γενικεύει, Περιλαμβάνει & Επεκτείνει
«επεκτείνει» {set priority} Place Rush Order Place Order Extension Points Set priority Check Password «περιλαμβάνει» Validate User Track Order Retinal Scan «περιλαμβάνει» Main Flow of Events for Use Case Track Order: Obtain and verify order number. Include (Validate user). For each part in the order,query its status, then report back to the user ΣΧΕΣΕΙΣ ΓΕΝΙΚΕΥΣΗΣ/ ΕΞΕΙΔΙΚΕΥΣΗΣ Main Flow of Events for Use Case Place Order: Include (Validate user). Collect the user’s order items. (set priority). Submit the order for processing.

32 Διάγραμμα Περίπτωσης Χρήσης –Παράδειγμα
Library system Borrower Add title Make Reservation Remove title «περιλαμβάνει» «περιλαμβάνει» Remove Reservation Add item «περιλαμβάνει» Maintenance «περιλαμβάνει» «περιλαμβάνει» Lend item Remove item «περιλαμβάνει» Librarian Librarian «περιλαμβάνει» Return of item Add Borrower Remove or update borrοwer

33 Calendarium query entry Export entries Χρήστης Delete entry
«περιλαμβάνει» Change entry «περιλαμβάνει» «actor» Fax-system Update calendar Insert entry «περιλαμβάνει» «περιλαμβάνει» «περιλαμβάνει» Configure program «περιλαμβάνει» «actor» system Notify participants Administrator Administer entry type Administer users

34 Calendarium {abstract} Insert entry Insert appointment
Insert to-do entry

35 Ομαδοποίηση των περιπτώσεων χρήσης σε πακέτα
Μεγάλα διαγράμματα περιπτώσεων χρήσης: πολύ πολύπλοκα UML μηχανισμός αφαίρεσης: πακέτα Κριτήρια για διάσπαση Functional cohesion Χαρακτήρες (Actors) Εμπειρία ... «system» Callendarium System Administration Appointment Manager

36 Περιγράφοντας τις περιπτώσεις χρήσεις (τι θα πρέπει να περιλαμβάνει η περιγραφή κειμένου)
Αντικειμενικός στόχος των περιπτώσεων χρήσης : ο στόχος που επιτυγχάνει κάθε περίπτωση χρήσης θα πρέπει να είναι ολοφάνερος Πώς ενεργοποιείται η περίπτωση χρήσης H ροή των μηνυμάτων ανάμεσα στους χαρακτήρες (actors) και στις περιπτώσεις χρήσεις : ποια μηνύματα εναλλάσονται ανάμεσά τους. Εναλλακτική ροή στη περίπτωση χρήσης : Μια περίπτωση χρήσης μπορεί να παρουσιάζει εναλλακτικές εκτελέσεις αναλόγως με κάποιες συνθήκες ή εξαιρέσεις Πως μια περίπτωση χρήσης τελειώνει δίνοντας κάποιο αποτέλεσμα στον χαρακτήρα (actor)

37 Παράδειγμα περιγραφής περίπτωσης χρήσης: Validate User σε ένα ΑΤΜ
Κύρια Ροή Γεγονότων: Η περίπτωση χρήσης αρχίζει όταν o πελάτης εισάγει την κάρτα του. Το σύστημα ζητά από τον πελάτη PIN. Ο πελάτης εισάγει το PIN από το πληκτρολόγιο καί στο τέλος πατά το κουμπί ENTER. To σύστημα ελέγχει την εγκυρότητα του PIN. Eάν το PIN είναι έγκυρο, το σύστημα γνωστοποιεί την εισαγωγή των στοιχείων καί η περίπτωση χρήσης τελειώνει. Εναλλακτική Ροή Γεγονότων: Ο Πελάτης μπορεί ανά πάσα στιγμή να ακυρώσει τη συναλλαγή με το πάτημα του κουμπιού CANCEL, κι έτσι η περίπτωση χρήσης ξαναρχίζει Εναλλακτική Ροή Γεγονότων: Ο Πελάτης μπορεί ανά πάσα στιγμή να διαγράψει το PIN πριν το τελικό πάτημα του κουμπιού ENTER καί να ξαναβάλει ένα νέο PIN. Εναλλακτική Ροή Γεγονότων: Εάν ο πελάτης δώσει λανθασμένο PIN, η περίπτωση χρήσης ξαναρχίζει. Αν αυτό συμβεί τρείς φορές συνεχόμενες, το σύστημα ακυρώνει όλη τη συναλλαγή καί εμποδίζει τον πελάτη να κάνει άλλη συναλλαγή στα επόμενα 60 δευτερόλεπτα.

38 Περιγραφή των περιπτώσεων χρήσης
Να θυμάστε ότι: H περιγραφή σχετίζεται με τον εξωτερικό χαρακτήρα (actor), όχι με το πως γίνονται τα πράγματα μέσα στο σύστημα Το κείμενο να είναι σαφές, πλήρες, συνεπές, γιά να μπορεί να κατανοηθεί καί να ελεγχθεί από τον πελάτη - Σύνθετες καί περίπλοκες προτάσεις να αποφεύγονται

39 Εναλλακτική Περιγραφή μιας περίπτωσης χρήσης
Όνομα/σύντομη περιγραφή Preconditions: προαπαιτούμενα για σωστή εκτέλεση Post condition: κατάσταση του συστήματος μετά από επιτυχή εκτέλεση Καταστάσεις λάθους: μόνο λάθη που έχουν σχέση με το πεδίο ορισμού Post condition σε κατάσταση λάθους Χαρακτήρες (actors): που επικοινωνούν με την περίπτωση χρήσης Trigger: ένα συμβάν που προκαλεί την περίπτωση χρήσης Κύριο σενάριο επιτυχίας: απλά βήματα/ άλλες περιπτώσεις χρήσεις Επεκτάσεις/Διαφοροποιήσεις: αποκλίσεις από το κύριο σενάριο επιτυχίας

40 Εναλλακτική Περιγραφή περίπτωσης χρήσης-Παράδειγμα
Όνομα και σύντομη περιγραφή: Insert appointment «Ένα ραντεβού μπορεί να εισαχθεί για έναν ή περισσότερους συμμετέχοντες από ένα χρήστη που έχει γίνει authorized και ο οποίος δε χρειάζεται να είναι ένας από τους συμμετέχοντες. Όλοι οι συμμετέχοντες πρέπει να ενημερωθούν για το νέο ραντεβού. Τα νέα ραντεβού πρέπει να είναι άμεσα ορατά σε όλα τα ανοιχτά ημερολόγια των αντίστοιχων συμμετεχόντων.» Precondition: Ο χρήστης είναι γνωστός στο σύστημα Postcondition: Εισάγεται ένα νέο ραντεβού Ειδοποιούνται οι συμμετέχοντες είτε για το νέο ραντεβού ή για το ότι δεν επιτεύχθει λόγω προβλημάτων authorisation η εισαγωγή στο ημερολόγιο Ενημερώνονται όλες οι όψεις του ημερολογίου Καταστάσεις λάθους: Ο χρήστης δεν έχει τα κατάλληλα δικαιώματα για κάθε συμμετέχοντα ώστε να εισάγει το νέο ραντεβού στα ημερολόγιά τους.

41 Εναλλακτική Περιγραφή μίας περίπτωσης χρήσης-Παράδειγμα
Postcondition σε περίπτωση λάθους: Το ραντεβού δεν μπορεί να εισαχθεί Τα ημερολόγια των συμμετεχόντων δεν τροποποιούνται, ούτε οι διαφορετικές όψεις των ημερολογίων. Χαρακτήρες (Actors): Χρήστης (πρωτεύων χαρακτήρας), -system (δευτερεύων χαρακτήρας), Fax-system (δευτερεύων χαρακτήρας). Trigger: - Κύριο σενάριο επιτυχίας: (1) Ο χρήστης ταυτοποιείται (2) Καταγράφονται οι λεπτομέρειες του ραντεβού (πού πότε ποιοι) (3) Ο χρήστης έχει δικαίωμα να εισάγει το ραντεβού για όλους τους συμμετέχοντες (4) Το ραντεβού δεν προκαλεί συγκρούσεις και εισάγεται

42 Εναλλακτική Περιγραφή μίας περίπτωσης χρήσης-Παράδειγμα
(5) Όλοι οι συμμετέχοντες (εκτός από το χρήστη αν είναι και συμμετέχων) ενημερώνονται ανάλογα με τον τρόπο που έχουν επιλέξει (fax ή ) («include» notify participants) (6) Όλα τα ανοιχτά ημερολόγια των συμμετεχόντων ενημερώνονται («include» update calendar) Επεκτάσεις/Διαφοροποιήσεις: (3’) Ο χρήστης δεν έχει δικαίωμα για τουλάχιστον ένα συμμετέχοντα (4’) Ανάλογα για το (4) (5’) Ανάλογα για το (5), όπου κάθε συμμετέχοντας του οποίου το ημερολόγιο δεν μπορούσε να τροποποιηθεί ενημερώνεται για το πρόβλημα (6’) Ενημερώνονται όλα τα ημερολόγια για τα οποία δεν υπάρχει πρόβλημα

43 Forward Engineering των περιπτώσεων χρήσης
Κάθε περίπτωση χρήσης σε ένα διάγραμμα περίπτωσης χρήσης περιγράφει τη ροή των γεγονότων (βασική καί εναλλακτικές). Αυτές οι ροές δείχνουν την αναμενόμενη συμπεριφορά του συστήματος. Αυτό αξίζει να ελεχθεί. Μιά καλοσχεδιασμένη περίπτωση χρήσης θα περιλαμβάνει καί pre-, post-conditions που μπορούν να χρησιμοποιηθούν γιά καθορισμό της αρχικής κατάστασης του ελέγχου καί των κριτηρίων επιτυχίας του. Μπορείτε να κατασκευάσετε μιά test case γιά κάθε περίπτωση χρήσης μέσα σε ένα διάγραμμα περίπτωσης χρήσης, έτσι ώστε να το ‘τρέχετε’ κάθε φορά που κατασκευάζετε μιά νέα έκδοση, εξασφαλίζοντας με αυτό τον τρόπο ότι αυτό δουλεύει έτσι όπως χρειάζεται, πριν προχωρήσετε στην κατασκευή άλλων διαγραμμάτων που εξαρτώνται από αυτό. Θυμηθείτε ότι οι περιπτώσεις χρήσης περιγράφουν ΤΙ κάνει κομμάτι του συστήματος, πως συμπεριφέρεται καί όχι πώς υλοποιείται αυτή η συμπεριφορά

44 Άλλοι τρόποι περιγραφής των περιπτώσεων χρήσης
Περιγραφή μέσω των διαγραμμάτων δραστηριοτήτων (activity diagrams) : φανερώνουν την ακολουθία των γεγονότων και τις αποφάσεις που λαμβάνονται για το ποια δραστηριότητα θα επακολουθήσει Περιγραφή μέσω σεναρίου :To σενάριο δείχνει μια συγκεκριμένη περίπτωση ,στην οποία εμπλέκονται εξωτερικοί χρήστες σε άμεσα προσδιορισμένα στιγμιότυπα. Το σενάριο αποτελεί μόνο συμπλήρωμα του use-case και δεν υποκαθιστά πλήρως μια περιγραφή του use-case

45 Ερωτήσεις γιά το τέλος της μοντελοποίησης των περιπτώσεων χρήσεις
Στοχεύουν: Να επιβεβαιώσουν ότι δεν έχει παραληφθεί κάποια περίπτωση χρήσης ή κάποιος χαρακτήρας (actor). Nα αναδείξουν διάφορες συσχετίσεις μεταξύ των χαρακτήρων (actors) ή μεταξύ των περιπτώσεων χρήσης (σχέσεις «γενικεύει», «περιλαμβάνει», «επεκτείνει»).

46 Ερωτήσεις γιά το τέλος της μοντελοποίησης των περιπτώσεων χρήσεις
Υπάρχει μία τουλάχιστον σύνδεση γιά κάθε χαρακτήρα με μια ή περισσότερες περιπτώσεις χρήσης? Υπάρχουν χαρακτήρες ή περιπτώσεις χρήσεις που δεν έχουν καμμιά σύνδεση επικοινωνίας; Αν ναί, κάτι πάει λάθος: ή έχουμε παραλείψει κάτι, ή είναι περιττοί οι χαρακτήρες ή οι περιπτώσεις χρήσεις Υπάρχουν ομοιότητες μεταξύ κάποιων actors που αντιπροσωπεύουν κάποιο ρόλο καί θα μπορούσαν να περιγραφούν σαν μιά «βασική κλάση χαρακτήρα»? Υπάρχουν ομοιότητες μεταξύ των κάποιων περιπτώσεων χρήσεις που μπορούν να απομονωθούν καί να περιγραφούν με μιά σχέση «περιλαμβάνει» ή με μιά σχέση «γενίκευσης/εξειδίκευσης»? Υπάρχουν ειδικές περιπτώσεις σε μιά περίπτωση χρήσης που θα μπορούσαν να περιγραφούν με μιά σχέση «επεκτείνει»? Υπάρχουν κάποιες λειτουργικές απαιτήσεις που δεν συμπεριλαμβάνονται σε καμιά περίπτωση χρήσης? Αν ναί, δημιιουργείστε ανάλογες περιπτώσεις χρήσεις γι’ αυτές τις απαιτήσεις

47 Mιά καλοσχεδιασμένη πέριπτωση χρήσης…
Περιγράφει μιά συγκεκριμένη καί λογικά ατομική (ανεξάρτητη) συμπεριφορά του συστήματος (ή μέρους του συστήματος) Περιγράφει τη ροή των γεγονότων με σαφή καί εύληπτο τρόπο γιά κάποιον μη ειδικό πληροφορικής Περιγράφεται με ένα ελάχιστο σύνολο σεναρίων που περιγράφουν την κανονική συμπεριφορά καί εναλλακτικές συμπεριφορές της περίπτωσης χρήσης Έχει χρησιμοποιήσει με επιτυχία τις σχέσεις γενίκευσης/εξειδίκευσης, «περιλαμβάνει» καί «επεκτείνει»

48 Οταν σχεδιάζετε περιπτώσεις χρήσεις στη UML …
Δείξτε μόνο τις περιπτώσεις χρήσεις που είναι απαραίτητα γιά την κατανόηση της συμπεριφοράς του συστήματος ή μέρους του συστήματος εντός των ορίων του Δείξτε μόνο τους χαρακτήρες (actors) που σχετίζονται με αυτές τις περιπτώσεις χρήσεις

49 Οταν σχεδιάζετε περιπτώσεις χρήσεις στη UML …
Δώστε ένα όνομα που δείχνει το σκοπό της περίπτωσης χρήσης Bάλτε τα διάφορα στοιχεία με τέτοιο τρόπο ώστε να ελαχιστοποιηθούν οι γραμμές που διασταυρώνονται Οργανώστε το έτσι ώστε οι ρόλοι καί οι συμπεριφορές που συσχετίζονται να βρίσκονται κοντά καί φυσικά Χρησιμοποιείστε χρώμα καί σημειώσεις γιά να τραβήξετε την προσοχή σε σημαντικά σημεία του διαγράμματος Μη δείχνετε πολλά είδη συσχετίσεων. Γενικά, αν έχετε πολύπλοκες συσχετίσεις «γενίκευσης/εξειδίκευσης», «περιλαμβάνει» ή «επεκτείνει», βάλτε τες σε ξεχωριστό διάγραμμα

50 Τρόποι επαλήθευσης των περιπτώσεων χρήσης
Τρόποι επαλήθευσης των περιπτώσεων χρήσης Επαλήθευση (Verification) Επικύρωση (Validation) Επιβεβαιώνει ότι το υπό ανάπτυξη σύστημα πληρεί τις απαιτήσεις του χρήστη Επιβεβαιώνει ότι το σύστημα έχει αναπτυχθεί σωστά

51 Walking the use case (τρόπος ελέγχου της εγκυρότητας/πληρότητας των περιπτώσεων χρήσης)
Οι συμμετέχοντες παίζουν εναλλάξ τους εξής ρόλους: Χαρακτήρας (Actor) Σύστημα Ακροατές που κρατούν σημειώσεις Πολύτιμη πηγή γιά πληροφορία που έχει παραληφθεί (λεπτομέρειες γιά κάποιες περιπτώσεις χρήσεις ή καί ολόκληρες περιπτώσεις χρήσεις)

52 Οι αρχές της UML για την υλοποίηση των περιπτώσεων χρήσεις
Μια περίπτωση χρήσης υλοποιείται σαν μια συνεργασία κλάσεων καί αντικειμένων (collaboration) : δείχνει την εσωτερική υλοποίηση στο επίπεδο των αντικειμένων και των κλάσεων και τις μεταξύ τους σχέσεις (το πεδίο (context) της συνεργασίας (collaboration). Επίσης φανερώνει τη μεταξύ τους αλληλεπίδραση για την επίτευξη της επιθυμητής λειτουργικότητας (αλληλεπίδραση (interaction) της συνεργασίας των κλάσεων). H collaboration εκπροσωπείται στη UML από έναν αριθμό διαγραμμάτων που δείχνουν τόσο το πεδίο όσο και την αλληλεπίδραση μεταξύ των συστατικών. Το σενάριο είναι ένα στιγμιότυπο της περίπτωσης χρήσης ή του collaboration, που περιγράφει τις εμπλεκόμενες κλάσεις, τις λειτουργίες του και τη μεταξύ τους επικοινωνία

53 Σενάριο Όταν το σενάριο περιγράφει μιά περίπτωση χρήσης, περιορίζεται μόνο στην εξωτερική συμπεριφορά που είναι ορατή προς τους χαρακτήρες (actors) Όταν το σενάριο είναι ένα στιγμιότυπο ενός collaboration, τότε περιγράφει την εσωτερική υλοποίηση των σχετικών κλάσεων, των λειτουργιών τους καί της επικοινωνίας τους.

54 Υλοποίηση Περίπτωσης Χρήσης
Μια περίπτωση χρήσης υλοποιείται απο ένα “collaboration” και από ένα σύνολο απο κλάσεις που συμμετέχουν στο collaboration «πραγματοποιεί» Use case Collaboration υλοποιεί υλοποιεί υλοποιεί Κλάση Α Κλάση Β Κλάση Γ Περιγραφή του use-case 1.O actor πατά ένα κουμπί 2.Το use-case υλοποιεί μια ενέργεια. 3.Το use-case απαντά με ένα μήνυμα στον χρήστη Λειτουργ. 1 Λειτουργ. 2 Λειτουργ. 1 Λειτουργ. 2 Λειτουργ. 1 Λειτουργ. 2 Για την υλοποίηση μιας περίπτωσης χρήσης , η ευθύνη κάθε βήματος που περιγράφεται στο κείμενο μεταφέρεται στη συνεργασία ανάμεσα στις κλάσεις ,στις μεταξύ τους συσχετίσεις και λειτουργίες

55 Είδη αντικειμένων Χρησιμοποιούνται για την περιγραφή του collaboration που υλοποιεί μια περίπτωση χρήσης (μέθοδος Jacobson) - Αντικείμενα ορίων : αυτό το είδος των αντικειμένων βρίσκεται κοντά στα όρια του συστήματος και αλληλεπιδρά με τους χρήστες έξω από τα όρια του συστήματος - Αντικείμενα ελέγχου : ελέγχουν τις αλληλεπιδράσεις ανάμεσα σε ομάδες αντικειμένων - Αντικείμενα οντότητας : o τύπος αυτού του αντικειμένου εκπροσωπεί μια οντότητα στην περιοχή εφαρμογής του συστήματος. Είναι κυρίως παθητικό και δεν αρχικοποιεί αλληλεπιδράσεις από μόνο του.

56 Εναλλακτικοί Μέθοδοι Ανάπτυξης Συστημάτων
Oδηγούμενη από τις περιπτώσεις χρήσεις Οδηγούμενη από αρχική δημιουργία ενός μοντέλου κλάσεων καί των συσχετίσεών τους στο χώρο του προβλήματος Συνδυασμός Η διαδικασία ανάπτυξης είναι ΕΠΑΝΑΛΗΠΤΙΚΗ

57 Περιπτώσεις Χρήσεις – Περίληψη (1/4)
Οι περιπτώσεις χρήσεις είναι μιά τεχνική γιά την περιγραφή των λειτουργικών απαιτήσεων ενός συστήματος από την άποψη του χρήστη Τα διαγράμματα περιπτώσεων χρήσεις περιλαμβάνουν χαρακτήρες (actors), περιπτώσεις χρήσεις καί τις μεταξύ τους συσχετίσεις μέσα στα όρια του συστήματος που μοντελοποιείται Ο χαρακτήρας (actor) αναπαριστά ένα ρόλο κάποιας εξωτερικής οντότητας (π.χ. ενός χρήστη, κάποιου υλικού, κάποιου άλλου συστήματος, κλπ.) που αλληλεπιδρά με το σύστημα

58 Περιπτώσεις Χρήσεις – Περίληψη (2/4)
Οι χαρακτήρες (actors) ενεργοποιούν καί επικοινωνούν με τις περιπτώσεις χρήσεις. Μία περίπτωση χρήσης είναι μία σειρά από ενέργειες που εκτελούνται γιά να παραχθεί κάποιο χειροπιαστό αποτέλεσμα (που είναι χρήσιμο γιά κάποιον actor). Oι χαρακτήρες (actors) καί οι περιπτώσεις χρήσεις είναι γενικές περιγραφές (όπως οι κλάσεις). Στιγμιότυπα των περιπτώσεων χρήσης δημιουργούνται όταν εξετάζουμε συγκεκριμένα σενάρια με συγκεκριμένες τιμές στα δεδομένα, τους actors κλπ. Ένας χαρακτήρας (actor) συνδέεται με μιά ή περισσότερες περιπτώσεις χρήσεις.

59 Περιπτώσεις Χρήσεις – Περίληψη (3/4)
Καί οι χαρακτήρες (actors) καί οι περιπτώσεις χρήσεις μπορεί να έχουν συσχετίσεις γενίκευσης/εξειδίκευσης, μέσω των οποίων κληρονομούν περιγραφή καί συμπεριφορά Ένα μοντέλο Περίπτωσης Χρήσης μπορεί να περιλαμβάνει ένα ή περισσότερα διαγράμματα περίπτωσης χρήσης Οι περιπτώσεις χρήσεις υλοποιούνται με collaborations που περιλαμβάνουν κλάσεις/αντικείμενα καί συσχετίσεις καθώς καί τη μεταξύ τους αλληλεπίδραση προκειμένου να παράγουν την απαιτούμενη λειτουργικότητα. Ένα collaboration περιγράφεται με διαγράμματα δραστηριοτήτων, συνεργασίας καί αλληλεπίδρασης (θα αναλυθούν αργότερα)

60 Περιπτώσεις Χρήσεις – Περίληψη (4/4)
Κατά την υλοποίηση μιάς περίπτωσεις χρήσης, κάθε βήμα πρέπει να υλοποιείται από τις μεθόδους κάποιας κλάσης ή κλάσεων καί την μεταξύ τους αλληλεπίδραση Ένα σενάριο είναι ένα στιγμιότυπο μιάς περίπτωσης χρήσης ή μιάς collaboration καί περιγράφει ένα συγκεκριμένο μονοπάτι εκτέλεσης Όταν το σενάριο είναι στιγμιότυπο μιάς περίπτωσης χρήσης, δείχνει μόνο την αλληλεπίδραση μεταξύ της περίπτωσης χρήσης καί των εξωτερικών χαρακτήρων (actors) Όταν το σενάριο είναι στιγμιότυπο ενός collaboration, δείχνει την αλληλεπίδραση μεταξύ των κλάσεων/αντικειμένων που υλοποιούν μιά συγκεκριμένη συμπεριφορά μέσα στο σύστημα

61 Παράδειγμα - Calendar Manager CALENDARIUM
Διαχείριση ημερολογίων πολλών χρηστών μέσω του Internet. Visualisation όψεις σε ετήσια, μηνιαία, εβδομαδιαία και ημερήσια βάση εισαγωγή/ενημέρωση ραντεβού σε οποιαδήποτε όψη highlighting των ημερών με ραντεβού (μόνο σε ετήσια όψη) Ραντεβού απλά και επαναλαμβανόμενα ραντεβού δυνατότητα ορισμού διαφορετικών ειδών ραντεβού (προσωπικά, για δουλειά, με το γιατρό κλπ) διαχείριση λίστας “to-do” τα ραντεβού μπορούν να αλλάξουν θέση ή είναι σταθερά

62 Παράδειγμα – CALENDARIUM (συνέχεια)
Επικοινωνία έγκαιρη ενημέρωση όλων όσων συμμετέχουν σε ένα ραντεβού προηγούμενη ειδοποίηση για τα ραντεβού διαχείριση δικαιωμάτων προσπέλασης διαχείριση κοινών ραντεβού δυνατότητα αναζήτησης για πιθανά ραντεβού ν συμμετεχόντων Ορισμός ονοματισμένων ομάδων ατόμων Εξαγωγή ραντεβού μίας συγκεκριμένης χρονικής περιόδου στον εκτυπωτή, σε ένα λογιστικό φύλλο, σε HTML Διάφορες παράμετροι παρουσίασης που καθορίζονται από το χρήστη

63 Use Case Diagram - CALENDARIUM
query appointment export appointments delete appointment Χρήστης Σημ. Ο «χρήστης» έιναι τύπου «actor». Έίναι γενική περιγραφή, δηλαδή δεν αναφέρεται σε ένα συγκεκριμένο άτομο – περιγράφει το ρόλο με το όνομα «χρήστης» change appointment insert appointment

64 CALENDARIUM query entry Export entries Χρήστης Delete entry
« include» Change entry « include» «actor» Fax-system Update calendar Insert entry « include» « include» « include» « include» Configure program «actor» system Notify participants Administrator Administer entry type Administer users

65 CALENDARIUM {abstract} Insert entry Insert appointment
Insert to-do entry Χρήστης

66 Βιβλιογραφία (1/3) “UML Toolkit” by Hans-Erik Eriksson and Magnus Penker, Wiley Computer Publishing “UML Distilled: Applying the Standard Object Modeling Language” by Martin Fowler, Kendall Scott and Ivar Jacobson, Addison-Wesley Object Technology Series “Unified Modeling Language User Guide” by Grady Booch, James Rumbaugh and Ivar Jacobson, Addison-Wesley Object Technology Series

67 Βιβλιογραφία (2/3) “The Unified Modeling Language Reference Manual” by James Rumbaugh, Ivar Jacobson and Grady Booch, Addison-Wesley Object Technology Series “Visual Modeling With Rational Rose and Uml” by Terry Quatrani, Addison-Wesley Object Technology Series, Published 1998 “Visual Modeling with Rational Rose 2000 and UML” by Terry Quatrani, Addison-Wesley Object Technology Series, Published 1999 Kruchten P., Nov. 95, “The 4+1 View Model of Architecture”, IEEE Software

68 Βιβλιογραφία (3/3) UML Resource Centers http://www.rational.com/uml


Κατέβασμα ppt "Moντελοποίηση Περιπτώσεων Χρήσης (Use Case Modelling)"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google