Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης. Use Cases and Use Case Diagrams

Σχετικά έγγραφα
Κατάλογος εικόνων Πρόλογος της τρίτης έκδοσης Πρόλογος της πρώτης έκδοσης... 23

Οι περιπτώσεις χρήσης

Περιεχόμενο του μαθήματος

περιεχόμενα παρουσίασης Actors Σενάρια Περιεχόμενο περιπτώσεων χρήσης Πρότυπα περιπτώσεων χρήσης Διαγράμματα περιπτώσεων χρήσης

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 3: Μοντελοποίηση Περιπτώσεων Χρήσης (1ο Μέρος)

Περίπτωση Χρήσης Use case

PDF created with pdffactory Pro trial version

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 1 ο Εργαστήριο

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Επιχειρηματική Μοντελοποίηση. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΕΚΦΩΝΗΣΗ ΥΠΟΧΡΕΩΤΙΚΗΣ ΕΡΓΑΣΙΑΣ σε UML

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Περιπτώσεις Χρήσης. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

Ηλεκτρονικό Κατάστημα

Ανάλυση Περιπτώσεων Χρήσης

Διαγράμματα περιπτώσεων χρήσης

Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών & Δικτύων,

Αρχιτεκτονική Λογισμικού

ΠΑΝΕΠΙΣΤΗΜΙΟ ΔΥΤΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ

ΚΥΚΛΟΣ ΖΩΗΣ ΛΟΓΙΣΜΙΚΟΥ και ΔΙΑΓΡΑΜΜΑΤΑ ΡΟΗΣ ΔΕΔΟΜΕΝΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΠΕΡΙΠΤΩΣΕΙΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΞΙΔΙΩΤΙΚΟΥ ΠΡΑΚΤΟΡΕΙΟΥ

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ

ΕΝ ΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ. Άσκηση 1 Εφαρµογή Web

Περιεχόμενα. ΚΕΦΑΛΑΙΟ 1 Εισαγωγή στη UML... 19

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 2 ο Εργαστήριο -

Μοντελοποίηση Πεδίου

ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 8 ο & 9 ο Εργαστήριο -

Ενδιαφερόμενοι - Stakeholders. Πελάτης Ταμίας υπάλληλος Διαχειριστής Σύστημα εξουσιοδότησης πληρωμής

ΕΙΣΑΓΩΓΗ ΣΤΗΝ UML ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΕΠΙΧΕΙΡΗΜΑΤΙΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ (ΔΙΑΓΡΑΜΜΑΤΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ & ΠΕΡΙΠΤΩΣΕΩΝ ΧΡΗΣΗΣ) (7-8)

Ανάλυση Απαιτήσεων Mεθοδολογίες Ανάπτυξης

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Τεχνολογία Λογισμικού. Ενότητα 1: Εισαγωγή στην UML Καθηγητής Εφαρμογών Ηλίας Γουνόπουλος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Μοντελοποίηση δεδομένων με UML Χρήση σε πολυμεσικές εφαρμογές

ΔΙΑΚΗΡΥΞΗ ΔΗΜΟΠΡΑΣΙΑΣ ΜΕ ΑΡΙΘΜΟ ΔΔ-...

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

. Μεθοδολογία Προγραμματισμού. UML Διαγράμματα. Νικόλαος Πεταλίδης. Εισαγωγή Εαρινό Εξάμηνο 2014

Use Cases: μια σύντομη εισαγωγή. Heavily based on UML & the UP by Arlow and Neustadt, Addison Wesley, 2002

Πίνακας Περιεχομένων. μέρος A 1 Εισαγωγή στην Τεχνολογία Λογισμικού

ΑΝΑΛΥΣΗ ΑΠΑΙΤΗΣΕΩΝ ανάλυση απαιτήσεων Σε αυτό το μάθημα θα ασχοληθούμε με : Δημιουργία μοντέλων

Αυτή η ενότητα παρέχει πρόσθετες πληροφορίες και λεπτομέρειες για την Υπηρεσία

Διαχείριση Πληροφοριακών Συστημάτων

ALERTS ή EDA (Event Driven Actions)

Πληροφορική 2. Τεχνολογία Λογισμικού

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

περιεχόμενα παρουσίασης

UML. Γενικά χαρακτηριστικά Στοιχεία µοντέλων Συσχετίσεις. Παραδείγματα

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 4 ο Εργαστήριο -

ΕΡΓΑΣΙΑ ΜΑΘΗΜΑΤΟΣ Φάση 1: Ετοιµασία και Σύνταξη µιας Μελέτης Σκοπιµότητας (Επιτευξιµότητας) Ηµεροµηνίες: 1/10-31/10 (Αξία: 10% του τελικού σας βαθµού)

Ελληνικό Ανοικτό Πανεπιστήµιο. Η ιαχείριση Απαιτήσεων στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Κεφάλαιο 2ο. Κατανοώντας την αντικειμενοστρέφεια

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

Εργαστήριο Τεχνολογίας Λογισμικού και Ανάλυσης Συστημάτων - 7 ο Εργαστήριο -

Τεχνολογία Λογισμικού

Pylon Entry. Πόροι. Στη διαδικασία αυτή περιγράφεται η Δημιουργία- Μεταβολή-Διαγραφή Αναζήτηση Πόρων

Scheduling έργου 1 Τρίτη, 27 Οκτωβρίου 2015

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

Η Ασφαλιστική Αγορά. Κινείται µεταξύ Υγείας και Υγείας

ΤΜΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗΣ Μεταπτυχιακό Δίπλωµα Ειδίκευσης Πληροφορική Υγείας

Διαγράμματα UML στην Ανάλυση. Μέρος Β Διαγράμματα Κλάσεων Διαγράμματα Αντικειμένων

Κεφάλαιο 10 ο Υποπρογράµµατα

Τα διαγράµµατα ακολουθίας

Τεχνολογία Λογισμικού

Τεχνολογία Λογισμικού

ΠΛΗΡΟΦΟΡΙΚΗ Γ ΤΑΞΗΣ ΓΕΛ ΚΛΕΙΩ ΣΓΟΥΡΟΠΟΥΛΟΥ. ΣΥΓΧΡΟΝΑ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Αντικειμενοστραφής Προγραμματισμός

Σενάριο 13. Προγραμματίζοντας ένα Ρομπότ

6. Διαχείριση Έργου. Έκδοση των φοιτητών

Μεθοδολογίες Παραγωγής Λογισµικού

Κανόνες για ανάπτυξη διαγραµµάτων κλάσεων

Αυτή η ενότητα παρέχει πρόσθετες πληροφορίες και λεπτομέρειες για την Υπηρεσία

Επιχειρηµατικές ιαδικασίες: Εισαγωγικές Έννοιες & Αρχικά στάδια µοντελοποίησης

Επιλογή και επανάληψη. Λογική έκφραση ή συνθήκη

Καταχώρηση Παραπεμπτικού Εξετάσεων

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Εισαγωγή στη γλώσσα UML

Μοντελοποίηση Συστημάτων

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων

ΦΥΛΛΟ ΠΑΡΑΤΗΡΗΣΗΣ ΤΑΞΗΣ: ΕΝΑ ΜΟΝΤΕΛΟ ΓΙΑ ΠΕΙΡΑΜΑΤΙΣΜΟ (2 η

MCSS Medical Center Support Systems. Users Manual Module Financial

UML

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Υποσύστημα Πρακτικής Άσκησης Εγχειρίδιο χρήσης Φοιτητή

Έγγραφο Περιγραφής Απαιτήσεων Λογισμικού

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Μάθημα: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Διδάσκων: Καθ. Ιωάννης Βασιλείου ΕΝΔΕΙΚΤΙΚΗ ΛΥΣΗ ΚΑΙ ΣΧΟΛΙΑ ΣΤΗΝ ΠΡΩΤΗ ΑΣΚΗΣΗ

Μάθημα «Υπηρεσίες Ηλεκτρονικής Υγείας»

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Εγχειρίδιο Χρήστη. Ιούνιος Σελίδα - 1 -

Η Υγειονοµική Περίθαλψη στο Οντάριο: Λήψη επείγουσας περίθαλψης

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Διαδικασίες παραγωγής λογισμικού. Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση

Περιεχόμενο του μαθήματος

Μηχανική Λογισμικού με Ανοιχτό Λογισμικό Δρ. Γεώργιος Κακαρόντζας Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Α.Τ.Ε.Ι. Θεσσαλίας

Καταχώρηση Παραπεμπτικού Εξετάσεων

Transcript:

Περιπτώσεις Χρήσης και Διαγράµµατα Περιπτώσεων Χρήσης Use Cases and Use Case Diagrams

Τι είναι οι Περιπτώσεις Χρήσης (Use Cases)! Eίναι µια τεχνική αποτύπωσης των λειτουργικών απαιτήσεων ενός συστήµατος! Περιγράφουν τις τυπικές αλληλεπιδράσεις µεταξύ των χρηστών (χειριστών) ενός συστήµατος και του συστήµατος! Παρέχουν µια εξιστόρηση του τρόπου χρήσης του συστήµατος

Παράδειγµα Διαγράµµατος Περιπτώσεων Χρήσης (Use Case Diagram) Είσοδος στο Σύστηµα Ασθενής «include» Κλείσιµο ραντεβού «include» Ενηµέρωση Φακέλου Ασθενή Γιατρός

Χειριστές (1/2) (Αctors)! Χειριστής (actor) είναι ένας ρόλος που παίζει ένας χρήστης σε σχέση µε το σύστηµα! Οι χειριστές διεκπεραιώνουν περιπτώσεις χρήσης! Ένας χειριστής µπορεί να εµπλέκεται σε πολλές περιπτώσεις χρήσεις, και αντίστροφα! Ένας χειριστής δεν είναι απαραίτητα άνθρωπος! Ένα πρόσωπο µπορεί να παίζει περισσότερους από έναν ρόλους

Χειριστές (2/2) Κατηγορίες χειριστών! Πρωτεύοντες χειριστές! Είναι αυτοί που καλούν το σύστηµα για την παροχή µιας υπηρεσίας! Συνήθως, αλλά όχι πάντα, είναι αυτοί που ξεκινούν µια περίπτωση χρήσης! Η περίπτωση χρήσης προσπαθεί να εκπληρώσει το στόχο τους! Δευτερεύοντες χειριστές! Το σύστηµα επικοινωνεί µαζί τους, ενώ διεκπεραιώνει µια περίπτωση χρήσης

Περιγραφή περιπτώσεων χρήσης (1/10) Σενάρια! Η χρήση σεναρίων είναι µια δηµοφιλής τεχνική για την περιγραφή περιπτώσεων χρήσης! Ένα σενάριο (scenario) είναι µια ακολουθία βηµάτων που περιγράφουν την αλληλεπίδραση ενός χρήστη µε το σύστηµα! Η περιγραφή των περιπτώσεων χρήσης µε τη χρήση σεναρίων βοηθά στη σωστή ανάπτυξή τους

Περιγραφή περιπτώσεων χρήσης (2/10) Παράδειγµα: Κλείσιµο Ραντεβού Ασθενή και Επίσκεψη Περιγραφή σεναρίου µε κείµενο Ο ασθενής εισέρχεται στο σύστηµα για να κλείσει ραντεβού µ έναν γιατρό. Για να κλείσει ραντεβού χρειάζεται πρώτα να επιλέξει την κλινική και τον συγκεκριµένο ιατρό. Το σύστηµα του επιστρέφει έναν κωδικό για το ραντεβού. Όταν επισκέπεται το νοσοκοµείο, δίνει στον υπάλληλο υποδοχής τον κωδικό ραντεβού και το ΑΜΚΑ του. Ο υπάλληλος βρίσκει το ραντεβού και ελέγχει το ΑΜΚΑ. Αν η επαλήθευση των στοιχείων είναι επιτυχής, ο ασθενής ενηµερώνεται ότι µπορεί να πάει στην αίθουσα αναµονής µέχρι να τον φωνάξει ο Ιατρός. Αν το ραντεβού είναι µε πληρωµή, ο υπάλληλος ενηµερώνει τον ασθενή ότι θα πρέπει να πάει να πληρώσει στο Ταµείο, ενώ ειδοποιεί ηλεκτρονικά το Ταµείο µε τα στοιχεία του συγκεκριµένου ραντεβού. Ο ασθενής πληρώνει στο Ταµείο µε µετρητά ή µε πιστωτική κάρτα. Αν η πληρωµή είναι µε πιστωτική κάρτα, το σύστηµα επαληθεύει τα στοιχεία της πιστωτικής κάρτας και ολοκληρώνει την πληρωµή. Μετά την ολοκλήρωση της πληρωµής, ο υπάλληλος υποδοχής ενηµερώνεται αυτόµατα µέσω συστήµατος. Στη συνέχεια ενηµερώνει ηλεκτρονικά το ηµερολόγιο του Ιατρού µε τα στοιχεία του συγκεκριµένου ραντεβού.

Περιγραφή περιπτώσεων χρήσης (3/10) Εναλλακτικά Σενάρια! Αφορούν σε υπο-περιπτώσεις του αρχικού σεναρίου, που προκύπτουν κάτω από συγκεκριµένες συνθήκες! Έχουν τον ίδιο στόχο µε το αρχικό σενάριο! Παραδείγµατα εναλλακτικών σεναρίων στο παράδειγµα! Ο ασθενής δεν έχει κωδικό για να µπει στο σύστηµα! Το ραντεβού είναι µε πληρωµή! Η επαλήθευση των στοιχείων της πιστωτικής κάρτας µπορεί να αποτύχει! Ο ασθενής έχει δώσει ανύπαρκτο κωδικό ραντεβού! Ο ασθενής έχει δώσει ανύπαρκτο ανύπαρκτο ΑΜΚΑ

Περιγραφή περιπτώσεων χρήσης (4/10) Eποµένως:! Το περιεχόµενο µιας περίπτωσης χρήσης µπορεί να περιγραφεί από ένα σύνολο σεναρίων τα οποία συνδέονται µεταξύ τους µε έναν κοινό στόχο για το χρήστη Η περιγραφή αποτελείται από:! Κύριο σενάριο επιτυχίας (ΚΣΕ)! Περιγράφει το περιεχόµενο της περίπτωσης χρήσης ως µια ακολουθία αριθµηµένων βηµάτων! Επεκτάσεις! Περιγράφουν εναλλακτικά σενάρια, που έχουν τον ίδιο στόχο µε το ΚΣΕ της περίπτωσης χρήσης! Μπορεί να αφορούν σε επιτυχίες ή αποτυχίες

Περιγραφή περιπτώσεων χρήσης (5/10) Κύριο Σενάριο Επιτυχίας (ΚΣΕ)! Ένα ΚΣΕ είναι µια ακολουθία αριθµηµένων βηµάτων! Κάθε βήµα συνήθως είναι ένα στοιχείο της αλληλεπίδρασης µεταξύ ενός χειριστή και του συστήµατος! Κάθε βήµα πρέπει να είναι µια σύντοµη εντολή και να δείχνει σαφώς ποιος είναι αυτός που το εκτελεί! Κάθε βήµα πρέπει να αναδεικνύει την πρόθεση αυτού που το εκτελεί κι όχι τους µηχανισµούς που αυτός χρησιµοποιεί Προσοχή: Ένα ΚΣΕ δεν αποτελεί περιγραφή της διασύνδεσης µε το χρήστη

Περιγραφή περιπτώσεων χρήσης (6/10) Παράδειγµα: Κλείσιµο ραντεβού Κύριο σενάριο επιτυχίας 1. Ο ασθενής εισέρχεται στο σύστηµα για να κλείσει ραντεβού 2. Ο ασθενής επιλέγει την κλινική 3. Ο ασθενής επιλέγει ιατρό της κλινικής. 4. Ο ασθενής εισάγει το χρονικό διάστηµα που επιθυµεί ραντεβού 5. Το σύστηµα του εµφανίζει τα διαθέσιµα ραντεβού 6. Ο ασθενής επιλέγει ένα διαθέσιµο ραντεβού 7. Το σύστηµα του επιστρέφει έναν κωδικό για το ραντεβού.

Περιγραφή περιπτώσεων χρήσης (7/10) Επεκτάσεις! Μία επέκταση κατονοµάζει µια συνθήκη, η οποία έχει ως αποτέλεσµα διαφορετικές αλληλεπιδράσεις από αυτές που περιγράφονται στο ΚΣΕ, και καταγράφει τις διαφορές αυτές! Διαδικασία ανάπτυξης µιας επέκτασης! Καταγραφή του βήµατος του ΚΣΕ, στο οποίο εντοπίζεται η συνθήκη! Σύντοµη περιγραφή της συνθήκης! Απαρίθµηση και σύντοµη περιγραφή των βηµάτων της επέκτασης! Αναφορά στο σηµείο επιστροφής στο ΚΣΕ, αν υπάρχει

Περιγραφή περιπτώσεων χρήσης (8/10) Εύρεση Επεκτάσεων! Προκύπτουν από την ίδια τη δοµή της περίπτωσης χρήσης! Για κάθε βήµα του ΚΣΕ! Πώς µπορεί αυτό να εξελιχθεί διαφορετικά;! Πώς µπορεί να αποτύχει; Είναι προτιµότερο να εξετάζονται πρώτα όλες οι συνθήκες των επεκτάσεων, πριν εξεταστούν οι συνέπειές τους

Περιγραφή περιπτώσεων χρήσης (9/10) Παράδειγµα: Κλείσιµο ραντεβού Εύρεση Επεκτάσεων 1Α. Ο ασθενής δεν έχει κωδικό για να µπει στο σύστηµα! 1Α.1: το σύστηµα του δίνει την επιλογή να δηµιουργήσει κωδικό! 1Α.2: Επιστροφή στο βήµα 1 #Α. Το σύστηµα αποτυγχάνει να επαληθεύσει τα στοιχεία της πιστωτικής κάρτας! #Α1: Ο πελάτης µπορεί να καταχωρήσει πάλι τα στοιχεία της πιστωτικής του κάρτας, ή να κάνει ακύρωση

Περιγραφή περιπτώσεων χρήσης (10/10) Επιπλέον πληροφορίες! Συνθήκη Εισόδου (pre-condition)! Περιγράφει τί πρέπει να επαληθεύσει το σύστηµα ότι ισχύει, πριν επιτρέψει την εκκίνηση µιας περίπτωσης χρήσης! Εγγύηση (guarantee)! Περιγράφει τί θα εξασφαλίζει το σύστηµα στο τέλος της περίπτωσης χρήσης! Εγγυήσεις επιτυχίας: ισχύουν πάντα µετά από ένα επιτυχηµένο σενάριο! Ελάχιστες εγγυήσεις: ισχύουν µετά από κάθε σενάριο! Σκανδάλη (trigger)! Καθορίζει το συµβάν που αποτελεί αφορµή εκκίνησης της περίπτωσης χρήσης

UML Διαγράµµατα Περιπτώσεων Χρήσης! Απεικονίζουν τα όρια του συστήµατος και τις αλληλεπιδράσεις του µε τον έξω κόσµο! Μπορούν να θεωρηθούν ως γραφικοί πίνακες περιεχοµένων, για το σύνολο των περιπτώσεων χρήσης του συστήµατος Η UML δεν αναφέρει τίποτε για το περιεχόµενο περιγραφής των περιπτώσεων χρήσης. Προσφέρει απλώς µια διαγραµµατική µορφή για την απεικόνιση περιπτώσεων χρήσης Με άλλα λόγια, η περιγραφή περιπτώσεων χρήσης µέσω σεναρίων δεν αποτελεί µέρος της UML

Βασικά Σύµβολα Σύµβολο Περιγραφή Σύµβολο Περιγραφή Χειριστής Όνοµα Περίπτωσης Χρήσης Περίπτωση Χρήσης Όριο Συστήµατος Σύνδεσµος Επικοινωνίας Σχέση Γενίκευσης Σχόλιο «extends» Σχέση Eπέκτασης «include» Σχέση Συµπερίληψης

Εύρεση χειριστών! Ερωτήσεις! Ποιοί χρησιµοποιούν την κύρια λειτουργικότητα του συστήµατος;! Ποιοι συντηρούν και/ή διαχειρίζονται το σύστηµα;! Ποιες περιφερειακές συσκευές χρησιµοποιεί το σύστηµα;! Ποια άλλα συστήµατα επικοινωνούν µε το σύστηµα;! Ποιός ή τί έχει ενδιαφέρον γιά τα αποτελέσµατα που θα παράγει το σύστηµα;

Σχέσεις µεταξύ χειριστών! Γενίκευση (1/2)! Χρησιµοποιείται για την απεικόνιση κληρονοµικών σχέσεων µεταξύ χειριστών! Ένας χειριστής Β που κληρονοµεί έναν χειριστή Α, επικοινωνεί µε τις ίδιες περιπτώσεις χρήσης! Η πολλαπλή κληρονοµικότητα επιτρέπεται Η χρήση σχέσεων γενίκευσης, όπου αυτές χρειάζονται, απλοποιούν σε µεγάλο βαθµό το διάγραµµα περιπτώσεων χρήσης

Σχέσεις µεταξύ χειριστών (2/2) Παράδειγµα Γενίκευσης Παιδί Ενήλικας Ασθενής Κλείσιµο ραντεβού

Σχέσεις µεταξύ περιπτώσεων χρήσης (1/11) Τρία Είδη Σχέσεων! Σχέση Γενίκευσης/Εξειδίκευσης! Σχέση Συµπερίληψης (include)! Σχέση Επέκτασης (extend)

Σχέσεις µεταξύ περιπτώσεων χρήσης (2/11) Σχέση γενίκευσης/εξειδίκευσης (generalization/specialization)! Αντίστοιχη της σχέσης γενίκευσης/εξειδίκευσης ανάµεσα στις κλάσεις (µπορεί να υπάρχει και µεταξύ χειριστών)! Επιτρέπει τη µοντελοποίηση των αφαιρετικών (abstract) περιπτώσεων χρήσης.! Χρησιµοποιείται όταν υπάρχει µια περίπτωση χρήσης που είναι όµοια µε κάποια άλλη, αλλά κάνει κάτι περισσότερο! Χρησιµοποιείται συνήθως για την απεικόνιση εναλλακτικών σεναρίων! Η περίπτωση χρήσης Α γενικεύει τις περιπτώσεις χρήσης Β και Γ! Οι περιπτώσεις χρήσης B και Γ εξειδικεύουν την περίπτωση χρήσης Α:! κληρονοµούν τις σχέσεις επικοινωνίας της περίπτωσης χρήσης A.! κληρονοµούν τη συµπεριφορά της περίπτωσης χρήσης A! µπορεί να επεκτείνουν τη συµπεριφορά της περίπτωσης χρήσης A αλλά και να την υποσκελίσουν (override). A Γ B

Σχέσεις µεταξύ περιπτώσεων χρήσης (3/11) Παράδειγµα Γενίκευσης Επικύρωση Χρήστη Έλεγχος Κωδικού Σάρωση Ίριδας Οφθαλµού

Σχέσεις µεταξύ περιπτώσεων χρήσης (4/11) Σχέση συµπερίληψης (include)! Χρησιµοποιείται όταν υπάρχει κάποια συγκεκριµένη συµπεριφορά, η οποία είναι όµοια σε περισσότερες από µία περιπτώσεις χρήσης! Επίσης, χρησιµοποιείται για την απεικόνιση περίπλοκων βηµάτων του ΚΣΕ

Σχέσεις µεταξύ περιπτώσεων χρήσης (5/11) Σχέση Συµπερίληψης... συνέχεια! Η συµπεριφορά της περίπτωσης χρήσης Α ενσωµατώνεται στις περιπτώσεις χρήσης Βκαί Γ! Η ενσωµατωµένη περίπτωση χρήσης Α είναι απαραίτητη για τη λειτουργικότητα των περιπτώσεων χρήσης Β καί Γ. Α «include» Β «include» Γ

Σχέσεις µεταξύ περιπτώσεων χρήσης (6/11) Παράδειγµα σχέσης συµπερίληψης Είσοδος στο Σύστηµα Ασθενής «include» Κλείσιµο ραντεβού «include» Ενηµέρωση Φακέλου Ασθενή Γιατρός

Σχέσεις µεταξύ περιπτώσεων χρήσης (8/11) Σχέση επέκτασης (extend)! Η βασική περίπτωση χρήσης (που επεκτείνεται) δηλώνει συγκεκριµένα «σηµεία επέκτασης»! Η επεκτείνουσα περίπτωση χρήσης µπορεί να προσθέσει συµπεριφορά µόνο σε αυτά τα σηµεία επέκτασης! Η επεκτείνουσα περίπτωση χρήσης µπορεί να επεκτείνει ένα ή περισσότερα σηµεία επέκτασης Διαφορά από τη Γενίκευση/Εξειδίκευση:! Στη γενίκευση, αν η περίπτωση χρήσης Β εξειδικεύει την περίπτωση χρήσης Α, κληρονοµεί και τη συµπεριφορά της Α! Στη σχέση επέκτασης, αν η αν η περίπτωση χρήσης Β επεκτείνει την περίπτωση χρήσης Α, ΔΕΝ κληρονοµεί τη συµπεριφορά της Α, απλά την επεκτείνει σε συγκεκριµένα σηµεία επέκτασης, τα οποία χρειάζεται να καθοριστούν σαφώς

Σχέσεις µεταξύ περιπτώσεων χρήσης (9/11) Παράδειγµα σχέσης επέκτασης και συµπερίληψης Πληρωµή στο Ταµείο σηµεία επέκτασης στοιχεία πιστ. κάρτας Επίσκεψη στον Ιατρό «include» «extend» Πελάτης {στοιχεία πιστ. κάρτας} Διόρθωση Στοιχείων Πιστωτικής Κάρτας

Σχέσεις µεταξύ περιπτώσεων χρήσης (10/11) Πως περιγράφονται οι σχέσεις επέκτασης! Πρέπει να καθοριστεί η συνθήκη υπό την οποία ενσωµατώνεται η επεκτείνουσα περίπτωση χρήσης! Για κάθε περίπτωση χρήσης µπορούν να οριστούν πάνω από ένα σηµεία επέκτασης! Tα ονόµατα των σηµείων επέκτασης! πρέπει να είναι µοναδικά! δε χρειάζεται να είναι τα ονόµατα των περιπτώσεων χρήσης που κάνουν την επέκταση! είναι απλά labels που εµφανίζονται στη ροή των γεγονότων της βασικής περίπτωσης χρήσης

Σχέσεις µεταξύ περιπτώσεων χρήσης (11/11) Παράδειγµα όλων των σχέσεων Κλείσιµο Ραντεβού ---------------------------- Σηµεία Επέκτασης Προτεραιότητα «extends» {Προτεραιότητα} «includes» Κλείσιµο Επείγοντος Ραντεβού Έλεγχος Κωδικού Ενηµέρωση Φακέλου Ασθενούς «includes» Επικύρωση Χρήστη Έλεγχος Ίριδας Οφθαλµού

Κανόνες χρήσης σχέσεων µεταξύ περιπτώσεων χρήσεων! Χρησιµοποιείτε συµπερίληψη όταν επαναλαµβάνετε κάποια ίδια βήµατα σε 2 ή περισσότερες περιπτώσεις χρήσης και θέλετε να αποφύγετε την επανάληψη αυτή! Χρησιµοποιείτε γενίκευση όταν περιγράφετε µια παραλλαγή/ επέκταση της κανονικής συµπεριφοράς και θέλετε να την απεικονίσετε στο διάγραµµα, έχοντας υπ όψη ότι ισχύει και η κληρονοµικότητα µεταξύ των περιπτώσεων χρήσης.! Χρησιµοποιείτε επέκταση όταν περιγράφετε µια παραλλαγή της κανονικής συµπεριφοράς υπό ορισµένες συνθήκες, δηλώνοντας τα σηµεία επέκτασης στη βασική περίπτωση χρήσης

Συµβουλές για τον εντοπισµό και τη δηµιουργία περιπτώσεων χρήσης! Οι περιπτώσεις χρήσης αντιπροσωπεύουν µια εξωτερική όψη του συστήµατος! Μια πρώτη εξέταση των περιπτώσεων χρήσης γίνεται στα πρώτα στάδια του έργου! Οι λεπτοµερείς εκδόσεις των περιπτώσεων χρήσης αναπτύσσονται αργότερα, συνήθως πριν τον κώδικα! Ιδιαίτερη σηµασία έχει το κείµενο περιγραφής µιας περίπτωσης χρήσης! Μην προσπαθείτε να αναλύσετε τις περιπτώσεις χρήσης σε υποπεριπτώσεις, υπο-υποπεριπτώσεις κ.ο.κ. χρησιµοποιώντας λειτουργική διάσπαση (functional decomposition): αποτελεί σπατάλη χρόνου!! Δείξτε µόνο τις περιπτώσεις χρήσειςπου είναι απαραίτητες για την κατανόηση της συµπεριφοράς του συστήµατος ή µέρους του συστήµατος εντός των ορίων του! Δείξτε µόνο τους actors που σχετίζονται µε αυτές τις περιπτώσεις χρήσεις

Όταν σχεδιάζετε διαγράµµατα περιπτώσεων χρήσεις στη UML Δώστε ένα όνοµα που δείχνει το σκοπό της περίπτωσης χρήσης Βάλτε τα διάφορα στοιχεία µε τέτοιο τρόπο ώστε να ελαχιστοποιηθούν οι γραµµές που διασταυρώνονται Οργανώστε το έτσι ώστε οι ρόλοι και οι συµπεριφορές που συσχετίζονται να βρίσκονται κοντά καί φυσικά Χρησιµοποιείστε χρώµα καί σηµειώσεις γιά να τραβήξετε την προσοχή σε σηµαντικά σηµεία του διαγράµµατος! Κρατήστε τα διαγράµµατα περιπτώσεων χρήσης απλά και κατανοητά χρησιµοποιώντας την αρχή KISS (Keep Ιt Simple and Stupid)

Όταν περιγράφετε τις περιπτώσεις! Να θυµάστε ότι:! H περιγραφή χρήσης µε σενάρια! βλέπει το σύστηµα από τη µεριά του χειριστή (actor)! δεν περιγράφει πως γίνονται τα πράγµατα µέσα στο σύστηµα (αυτό γίνεται στο σχεδιασµό του συστήµατος)! Το κείµενο να είναι σαφές, πλήρες, συνεπές, για να µπορεί να κατανοηθεί και να ελεγχθεί από τον πελάτη! Σύνθετες και περίπλοκες προτάσεις να αποφεύγονται

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

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

Ερωτήσεις για το τέλος της µοντελοποίησης των περιπτώσεων χρήσης (3/3) Υπάρχουν οµοιότητες µεταξύ των κάποιων περιπτώσεων χρήσειςπου µπορούν να αποµονωθούν καί να περιγραφούν µε µία σχέση «περιλαµβάνει» ή µε µία σχέση «γενίκευσης/ εξειδίκευσης»; Υπάρχουν ειδικές περιπτώσεις σε µία περίπτωση χρήσηςπου θα µπορούσαν να περιγραφούν µε µία σχέση «επεκτείνει»; Υπάρχουν λειτουργικές απαιτήσεις που δεν συµπεριλαµβάνονται σε καµιά περίπτωση χρήσης; Αν ναι, δηµιουργείστε ανάλογες περιπτώσεις χρήσεις γι αυτές τις απαιτήσεις

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

Εναλλακτικός τρόπος περιγραφής των περιπτώσεων χρήσης! Με χρήση διαγραµµάτων δραστηριοτήτων (activity diagrams): φανερώνουν την ακολουθία των γεγονότων και τις αποφάσεις που λαµβάνονται για το ποιά δραστηριότητα θα επακολουθήσει Η UML δεν αναφέρει τίποτε για το περιεχόµενο περιγραφής των περιπτώσεων χρήσης. Προσφέρει απλώς µια διαγραµµατική µορφή για την απεικόνιση περιπτώσεων χρήσης Με άλλα λόγια, η περιγραφή περιπτώσεων χρήσης µέσω σεναρίων δεν αποτελεί µέρος της UML