Τι είναι οι Περιπτώσεις Χρήσης (Use Cases)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Advertisements

Μεθοδολογίες Προγραμματισμού ΙΙ Διάγραμμα Περίπτωσης Χρήσης
Λεκτική περιγραφή της περίπτωσης χρήσης «Διεκπεραίωση Πώλησης»
Διαδικασία Διεξαγωγής Ηλεκτρονικών Δημοπρασιών. Παραδοσιακή διαδικασία διοργανωτή Στάδιο 1 Απόφαση Αγοράς μέσω διαγωνισμού Στάδιο 6 Στάδιο 6 Αξιολόγηση.
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Το Internet: Ασφαλείς online αγορές Επίπεδο.
Copyright ©: SAMSUNG & Samsung Hope for Youth. Με επιφύλαξη κάθε νόμιμου δικαιώματος Εκπαιδευτικό υλικό Λογισμικό: Δημιουργία εφαρμογών Επίπεδο.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
Ορισμός εννοιολογικού χάρτη
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Καλώς ήρθατε ! Ετοιμάζεστε να παρακολουθήσετε την παρουσίαση της εφαρμογής Copyright © iBS LTD, all rights reserved.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ
ΕΡΓΑΛΕΙΟ ΠΑΡΑΓΩΓΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ ΣΕ WEB SITE (CONTENT MANAGEMENT TOOL)
Τι είναι Ανάλυση Τι είναι Συστήματα Πληροφορικής
ΑΠΕΙΚΟΝΙΣΗ ΕΝΝΟΙΩΝ 1. 2 Χρήστης Στόχος Ταμίας διενέργεια πώλησης διενέργεια ενοικίασης εισαγωγή ταμείου εξαγωγή ταμείου * 1 Μοντέλο Πεδίου Προβλήματος.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΕΠΙΜΟΡΦΩΣΗ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΓΙΑ ΤΑ ΝΕΑ ΑΝΑΛΥΤΙΚΑ ΠΡΟΓΡΑΜΜΑΤΑ Ευθυγράμμιση Στόχων – Διδασκαλία – Αξιολόγηση ΟΜΑΔΑ ΕΡΓΑΣΙΑΣ Ανδρέας Σ. Ανδρέου.
Νταλιακούρας Νικόλαος CEID – Πανεπιστήμιο Πατρών Object Oriented Programming II (C++) Χειμερινό Εξάμηνο
Μοντελοποίηση συμπεριφοράς. Συμβάντα - Καταστάσεις - Μεταβάσεις Στην UML για παράσταση συμβάντων και καταστάσεων σε αντικείμενα. Συμβάν Πρόκληση λειτουργίας.
Τεχνολογία ΛογισμικούSlide 1 Αλγεβρική Εξειδίκευση u Καθορισμός τύπων αφαίρεσης σε όρους σχέσεων μεταξύ τύπων λειτουργιών.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
1 HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
HMMY Τεχνολογία Λογισμικού Διδάσκων Κώστας Κοντογιάννης Αναπλ. Καθηγητής, Ε.Μ.Π.
ΟΠΑ - Τεχνολογία Λογισμικού - Εμμ. Γιακουμάκης
ΙΟΝΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΑΡΧΕΙΟΝΟΜΙΑΣ ΚΑΙ ΒΙΒΛΙΟΘΗΚΟΝΟΜΙΑΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΑΣ " Διοίκηση και Οργάνωση Βιβλιοθηκών.
ΔΙΑΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΟΤΗΤΩΝ
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
XERTE TUTORIAL - ΣΗΜΕΙΩΣΕΙΣ ΕΡΓΑΣΤΗΡΙΟΥ ΘΜΕΛ ΣΤ. ΔΗΜΗΤΡΙΑΔΗΣ Xerte Interaction – Διάδραση Θεωρίες Μάθησης & Εκπαιδευτικό Λογισμικό Σημειώσεις Εργαστηρίου.
ΕΜΠΙΣΤΕΥΤΙΚΟ. Η διανομή επιτρέπεται μόνο σε Συνεργάτες με τον όρο μη κοινοποίησης. Η Microsoft δεν παρέχει καμία εγγύηση, ρητή ή σιωπηρή. © 2012 Microsoft.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Κεφάλαιο 10 – Υποπρογράμματα
ΟΡΙΣΜΟΣ ΣΥΜΠΕΡΙΦΟΡΑΣ ΔΙΑΓΡΑΜΜΑTA ΑΛΛΗΛΕΠΙΔΡΑΣΗΣ
Moντελοποίηση Περιπτώσεων Χρήσης (Use Case Modelling)
Τεχνολογία ΛογισμικούSlide 1 Τεχνολογία Απαιτήσεων u Καθορίζει τι θέλει ο πελάτης από ένα σύστημα λογισμικού.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΣΕΡΡΩΝ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Κατασκευή Ιστοσελίδας Χρηματοοικονομικού.
Σχεδιασμός διαδικασιών
ΑΝΑΛΥΣΗ ΣΥΣΤΗΜΑΤΩΝ Ακαδ. Έτος
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΔΙΑΓΡΑΦΕΣ ΑΠΑΙΤΗΣΕΩΝ. Προδιαγραφές Απαιτήσεων  Εισαγωγή  Περιεχόμενο Προδιαγραφών Απαιτήσεων  Τρόποι Αναπαράστασης Προδιαγραφών.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Αρχές Τεχνολογίας Λογισμικού Εργαστήριο 1: Εισαγωγή.
ΕΝΟΤΗΤΑ 8η ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ - ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΣΑΒΒΑΣ ΚΑΤΕΡΕΛΟΣ.
1 Λειτουργία Εργαστηρίου Εργασία 1 : Μοντελοποίηση Πληροφοριακού Συστήματος (~30% Βαθμού) - Ομαδική Εργασία 2 : Δημιουργία Διοικητικών Αναφορών (~20% Βαθμού)
Διάλεξη 10 η ΣΥΣΤΗΜΑ ΠΛΗΡΟΦΟΡΗΣΗΣ ΜΑΡΚΕΤΙΝΓΚ (MIS) TEI Κρήτης Σχολή Διοίκησης και Οικονομίας Τμήμα Διοίκησης Επιχειρήσεων Δρ. Αλέξανδρος Αποστολάκης
1 Βιβλιογραφική Ανασκόπηση Literature Review. 2 Τι είναι η Βιβλιογραφική Ανασκόπηση;  Είναι η ικανότητα του σπουδαστή- συγγραφέα-ερευνητή να ανατρέχει.
1 Εργαστήριο MIS Use Cases. 2 ΆνθρωποιΔεδομένα Λογισμικό Υλικό Διαδικασίες.
1 State Diagrams. 2 Τα διαγράμματα καταστάσεων (State diagrams) χρησιμοποιούνται: Για να βοηθήσουν στην ανάπτυξη ενός συστήματος Για να βοηθήσουν στην.
Διαγράμματα Πακέτων (Package Diagrams)
Δομή επιλογής Πολλές φορές για να λυθεί ένα πρόβλημα πρέπει να ελεγχθεί αν ισχύει κάποια συνθήκη Παράδειγμα 2: Να διαβαστεί ένας αριθμός και να επιστραφεί.
Ανάλυση και σχεδιασμόσ πληροφοριακών συστημάτων
Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ
Κλάσεις και αντικείμενα
Αρχές Διοίκησης και Διαχείρισης Έργων
Ανάπτυξη Μοντέλων Διακριτών Συστημάτων Μέρος Β
Περιπτώσεις Χρήσης Ανάλυση Συστημάτων 2007.
ΣΥΣΤΗΜΑ ΠΟΙΟΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΥ (QUALITY SYSTEM)
Κεφάλαιο 7: Διαδικτύωση-Internet
Activity Diagrams.
Πληροφοριακό σύστημα Πληροφοριακό Σύστημα μιας επιχείρησης/οργανισμού είναι ένα σύστημα που αποτελείται από ανθρώπους, διαδικασίες και εξοπλισμό (Υλικό,
Ο ορισμός του επιχειρηματικού μοντέλου
Ακαδημαϊκές και Επαγγελματικές Δεξιότητες
Εφαρμογή Μεθοδολογίας ICONIX
ΔΙΟΙΚΗΣΗ ΟΛΙΚΗΣ ΠΟΙΟΤΗΤΑΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗ ΠΕΡΙΒΑΛΛΟΝΤΟΣ
ΕΠΙΧΕΙΡΗΜΑΤΙΚΑ ΣΧΕΔΙΑ: ΟΡΙΣΜΟΙ ΚΑΙ ΘΕΣΜΙΚΟ ΠΛΑΙΣΙΟ
ΕΙΣΑΓΩΓΗ ΣΤΗ UML ΕΙΣΑΓΩΓΗ ΣΤΗ UML.
Εννοιολογική Χαρτογράφηση
Το φυλλάδιο της εταιρείας σας
ΣΥΓΓΡΑΦΗ ΕΠΙΣΤΗΜΟΝΙΚΗΣ ΕΡΓΑΣΙΑΣ
Δένδρα αποφάσεων (Decision trees)
Μεταγράφημα παρουσίασης:

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

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

Παράδειγμα Διαγράμματος Περιπτώσεων Χρήσης (Use Case Diagram) Έλεγχος Αποθέματος «include» Πελάτης Αγορά Προϊόντος «include» Διαχείριση Προϊόντων Αναλυτής Προϊόντων

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

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

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

Περιγραφή περιπτώσεων χρήσης (2/10) Παράδειγμα: Αγορά Προϊόντος Περιγραφή σεναρίου με κείμενο Ο πελάτης ξεφυλλίζει τον κατάλογο και προσθέτει τα αντικείμενα που θέλει στο καλάθι αγορών. Όταν θέλει να πληρώσει, περιγράφει τον τρόπο αποστολής των προϊόντων, δίνει τα στοιχεία της πιστωτικής του κάρτας και επιβεβαιώνει την αγορά. Το σύστημα επαληθεύει τα στοιχεία της πιστωτικής κάρτας και επιβεβαιώνει την αγορά, ενώ στέλνει κι ένα e-mail επιβεβαίωσης.

Περιγραφή περιπτώσεων χρήσης (3/10) Εναλλακτικά Σενάρια Περιγραφή περιπτώσεων χρήσης (3/10) Εναλλακτικά Σενάρια Αφορούν σε υπο-περιπτώσεις του αρχικού σεναρίου, που προκύπτουν κάτω από συγκεκριμένες συνθήκες Έχουν τον ίδιο στόχο με το αρχικό σενάριο Παραδείγματα εναλλακτικών σεναρίων στην «Αγορά Προϊόντος» Η επαλήθευση των στοιχείων της πιστωτικής κάρτας μπορεί να αποτύχει Οι τακτικοί πελάτες δε χρειάζεται να δίνουν με κάθε αγορά τα στοιχεία αποστολής, ούτε αυτά της πιστωτικής τους κάρτας

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

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

Περιγραφή περιπτώσεων χρήσης (6/10) Παράδειγμα: Αγορά προϊόντος Κύριο σενάριο επιτυχίας Ο πελάτης ξεφυλλίζει τον κατάλογο κι επιλέγει προϊόντα για αγορά Ο πελάτης πηγαίνει στη σελίδα εξόδου Ο πελάτης συμπληρώνει τα στοιχεία αποστολής Το σύστημα παρουσιάζει τις πλήρεις πληροφορίες τιμολόγησης, μαζί με τα έξοδα αποστολής Ο πελάτης συμπληρώνει τα στοιχεία της πιστωτικής του κάρτας Το σύστημα εγκρίνει την αγορά Το σύστημα επιβεβαιώνει αμέσως την πώληση Το σύστημα στέλνει μήνυμα επιβεβαίωσης μέσω ηλεκτρονικού ταχυδρομείου

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

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

Περιγραφή περιπτώσεων χρήσης (9/10) Παράδειγμα: Αγορά προϊόντος Επεκτάσεις 3α. Ο πελάτης είναι τακτικός πελάτης Το σύστημα παρουσιάζει τις τρέχουσες πληροφορίες για τη διεύθυνση αποστολής, την τιμολόγηση και τη χρέωση Ο πελάτης ενδέχεται να αποδεχθεί ή να αναθεωρήσει αυτές τις πληροφορίες. Επιστροφή στο βήμα 6 του ΚΣΕ 6α. Το σύστημα αποτυγχάνει να εγκρίνει την αγορά μέσω πιστωτικής κάρτας Ο πελάτης μπορεί να καταχωρήσει πάλι τα στοιχεία της πιστωτικής του κάρτας, ή να κάνει ακύρωση

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

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

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

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

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

Σχέσεις μεταξύ χειριστών (2/2) Παράδειγμα Γενίκευσης Φυσικό Πρόσωπο Αγορά Προϊόντος Εταιρία Πελάτης

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

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

Σχέσεις μεταξύ περιπτώσεων χρήσης (3/11) Παράδειγμα Γενίκευσης Check Password Validate User Retinal Scan

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

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

Σχέσεις μεταξύ περιπτώσεων χρήσης (6/11) Παράδειγμα σχέσης συμπερίληψης Έλεγχος Αποθέματος «include» Αγορά Προϊόντος «include» Διαχείριση Προϊόντων Πελάτης Αναλυτής Προϊόντων

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

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

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

Σχέσεις μεταξύ περιπτώσεων χρήσης (11/11) Παράδειγμα ολων των σχέσεων Σχέσεις μεταξύ περιπτώσεων χρήσης (11/11) Παράδειγμα ολων των σχέσεων «extends» {set priority} Place Rush Order Place Order --------------- Extension Points Set priority Check Password «includes» Validate User Track Order Retinal Scan «includes»

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

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

Μέθοδος Διάκρισης Alistair Cockburn Επίπεδο θαλάσσης (sea level) Περιπτώσεις χρήσης αυτού του επιπέδου αναπαριστούν αλληλεπιδράσεις μεταξύ του πρωτεύοντος χειριστή και του συστήματος Επίπεδο ιχθύος (fish level) Αφορά σε περιπτώσεις χρήσης που συμπεριλαμβάνονται στις περιπτώσεις χρήσης επιπέδου θαλάσσης Επίπεδο χαρταετού (kite level) Περιλαμβάνει περιπτώσεις χρήσης υψηλού επιπέδου Περιπτώσεις χρήσης αυτού του επιπέδου περιγράφουν τον τρόπο με τον οποίο οι περιπτώσεις χρήσης επιπέδου θαλάσσης εφαρμόζονται στο ευρύτερο πλαίσιο των επιχειρησιακών δραστηριοτήτων Οι περιπτώσεις χρήσης επιπέδου χαρταετού είναι συνήθως επιχειρησιακές περιπτώσεις χρήσης. Οι περιπτώσεις χρήσης επιπέδου θαλάσσης και ιχθύος είναι περιπτώσεις χρήσης συστήματος.

Συμβουλές για τον εντοπισμό και τη δημιουργία περιπτώσεων χρήσης Οι περιπτώσεις χρήσης αντιπροσωπεύουν μια εξωτερική όψη του συστήματος Μια πρώτη εξέταση των περιπτώσεων χρήσης γίνεται στα πρώτα στάδια του έργου Οι λεπτομερείς εκδόσεις των περιπτώσεων χρήσης αναπτύσσονται αργότερα, συνήθως πριν τον κώδικα Ιδιαίτερη σημασία έχει το κείμενο περιγραφής μιας περίπτωσης χρήσης Μην προσπαθείτε να αναλύσετε τις περιπτώσεις χρήσης σε υποπεριπτώσεις, υπο-υποπεριπτώσεις κ.ο.κ. χρησιμοποιώντας λειτουργική διάσπαση (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

Χρήσιμη Βιβλιογραφία Martin Fowler, UML Distilled: a Brief Guide to the Standard Object Modeling Language, 3rd Edition, Pearson Education Inc., 2004 Alistair Cockburn, Writing Effective Use Cases, Addison-Wesley, 2001