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

Σχετικά έγγραφα
Τεχνολογία Λογισμικού

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

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

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

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

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

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

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

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

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

PDF created with pdffactory Pro trial version

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

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

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

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

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

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

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

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

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

UML: Unified modelling language

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

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

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

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

UML

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

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

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 21/11/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

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

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

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

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

Εισαγωγή στην αντικειµενοστρεφή τεχνολογία

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 5/12/2016. Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Θεωρίες Μάθησης και Εκπαιδευτικό Λογισμικό

Μέθοδοι μοντελοποίησης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Περιπτώσεις Χρήσης για το Π.Σ. ΜΟ.ΔΙ.Π. Κρήτης

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

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

1 η ΑΣΚΗΣΗ ΕΡΓΑΣΤΗΡΙΟΥ (ομαδική: 2 ή 3 ατόμων) (Ημερομηνία Παράδοσης: 18/11/2017) (Ζητούμενο)

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

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

Ανάλυση Πληροφοριακών Συστημάτων. «Βασικές Έννοιες Αντικειμενοστρεφούς Προγραμματισμού Διαγράμματα κλάσεων» Βασίλειος Καρακόιδας

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

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

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

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

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

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

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2016

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 7: Διαγράμματα Καταστάσεων

Tεχνολογία Λογισµικού II

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

Διαγράμματα UML για την τεκμηρίωση της Αρχιτεκτονικής

Βελτιώνω μια λεπτομέρεια, σε σχέση με την Ανακοίνωση από 22/6/2009 (1.4.3)

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

Ανάλυση Πληροφοριακών Συστημάτων. «Εισαγωγή στην UML» Βασίλειος Καρακόιδας

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 2: Βασικές Αρχές Αντικειμενοστραφούς Σχεδίασης Συστημάτων και Εφαρμογών (2ο Μέρος)

ΠΑΡΑΔΕΙΓΜΑ ΣΤΟ BIZAGI ΕΘΝΙΚΗ ΣΧΟΛΗ ΔΗΜΟΣΙΑΣ ΔΙΟΙΚΗΣΗΣ & ΑΥΤΟΔΙΟΙΚΗΣΗΣ

ΔΟΜΙΚΗ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΚΑΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΣΥΜΠΕΡΙΦΟΡΑΣ (9)

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

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

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

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

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

Διαγράμματα Κλάσεων στη Σχεδίαση

Transcript:

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 17/10/2016 Δρ. Ανδριάνα Πρέντζα Αναπληρώτρια Καθηγήτρια aprentza@unipi.gr

Use Case Models & Diagrams Μοντέλα και Διαγράμματα Περιπτώσεων Χρήσης

Διαγράμματα UML Διάγραμμα περιπτώσεων χρήσης (use case diagram) Διάγραμμα κλάσεων (class diagram) Διάγραμμα αντικειμένων (object diagram) Διάγραμμα καταστάσεων (state diagram) Διάγραμμα δραστηριοτήτων (activity diagram) Διαγράμματα αλληλεπίδρασης (interaction diagrams) Διάγραμμα ακολουθίας (sequence diagram) Διάγραμμα επικοινωνίας (communication diagram) Διαγράμματα υλοποίησης (physical diagrams) Διάγραμμα συστατικών (component diagram) Διάγραμμα ανάπτυξης (deployment diagram)

Κατηγοριοποίηση Διαγραμμάτων UML 2.0

Άξονες Μοντελοποίησης Διαγράμματα Περιπτώσεων Χρήσης Λειτουργικότητα functionality Τι κάνει το σύστημα; Ποιες λειτουργίες υποστηρίζει; Ανάλυση απαιτήσεων Περιγραφές από κείμενο Στατικά διαγράμματα Πώς είναι οργανωμένα τα συστατικά του τμήματα; Δομή structure Συμπεριφορά behaviour Δυναμική συμπεριφορά Πώς ανταποκρίνεται και από ποιες καταστάσεις περνάει;

Συλλογή απαιτήσεων Οι απαιτήσεις είναι ο «λόγος ύπαρξης» κάθε έργου ανάπτυξης λογισμικού Ορίζουν και οριοθετούν user-requirements Ορίζουν τη λειτουργικότητα που απαιτείται «τι θα κάνει το λογισμικό?» Προσδιορίζουν τους στόχους που πρέπει να επιτευχθούν ΠΡΕΠΕΙ να είναι κατανοητές πλήρως και με ακρίβεια από την ομάδα που παρέχει τη λύση Οι απαιτήσεις χρηστών (και τα μέλη των ομάδων) αλλάζουν διαρκώς; Επομένως οι απαιτήσεις πρέπει να είναι καλά τεκμηριωμένες (well-documented)

Συλλογή απαιτήσεων Πλήρης και όχι διφορούμενη κατανόηση των απαιτήσεων είναι ζωτική έτσι ώστε όλοι να ξέρουν ΤΙ ΚΑΝΟΥΝ ΚΑΙ ΓΙΑΤΙ! Πρέπει να υπόκεινται κριτική ΞΑΝΑ ΚΑΙ ΞΑΝΑ ΚΑΙ ΞΑΝΑ πριν αρχίσει ο σχεδιασμός και η υλοποίηση! Εμπεριέχει τη συμμετοχή domain-experts για να επιβεβαιώνουν ότι οι απαιτήσεις έχουν γίνει σωστά αντιληπτές! captures the WHAT of the problem-domain

Σύλληψη και συλλογή απαιτήσεων με UML Διαγράμματα Περιπτώσεων Χρήσης (Use Case Diagrams) Σύλληψη του χώρου του προβλήματος (problemdomain) από πλευράς λειτουργικότητας που πρέπει να παρέχεται (Use Cases), και των ρόλων (Actors) για τους οποίους εκτελούνται αυτές οι λειτουργίες Αποτελεί μία αφαίρεση του χώρου προβλήματος και ένα μέσο για την σαφή, σωστά τεκμηριωμένη και μη διφορούμενη κατανόηση του χώρου προβλήματος

Περιπτώσεις χρήσης Είναι η προδιαγραφή μιας ακολουθίας ενεργειών και των παραλλαγών τους σύνολο σεναρίων - που μπορεί να εκτελέσει το σύστημα κατά την αλληλεπίδρασή του με τους δράστες του συστήματος (χρήστες, άλλα συστήματα, συσκευές) Μέσο για τον προσδιορισμό των απαιτήσεων Αναπαριστά τους εξωτερικούς δράστες (actors) (άτομο, εφαρμογή, σύστημα) και τις σχέσεις τους με τις περιπτώσεις χρήσης (use cases) του συστήματος Ο τελικός χρήστης ή μια εξωτερική του συστήματος συσκευή αλληλεπιδρά με σκοπό να λάβει μια υπηρεσία Περιγράφει τη συμπεριφορά του συστήματος όπως την αντιλαμβάνεται ο χρήστης και δεν περιέχει πληροφορία για το πώς υλοποιείται η λειτουργικότητα του συστήματος (εκ των έσω) απλώς τα βήματά της αν την εκτελούσε ένας χρήστης Χρησιμοποιείται για την περιγραφή μέρους της λειτουργικότητας του συστήματος και τον καθορισμό των λειτουργικών απαιτήσεων ενός συστήματος

Περιπτώσεις χρήσης - Ορισμός Μία ακολουθία γεγονότων που πραγματοποιείται μέσα στο σύστημα για την παραγωγή μετρήσιμων αποτελεσμάτων που έχουν νόημα για το χρήστη/δράστη (actor) του συστήματος Μια περίπτωση χρήσης πάντα ενεργοποιείται από ένα δράστη. Ο δράστης πρέπει έμμεσα ή άμεσα να δώσει εντολή στο σύστημα να εκτελέσει αυτήν την περίπτωση χρήσης Προσφέρει ένα χρήσιμο αποτέλεσμα στον εξωτερικό δράστη, αναπαριστά ένα στόχο. Μια περίπτωση χρήσης πρέπει να παράγει κάτι που είναι χρήσιμο για έναν ή περισσότερους δράστες Είναι άρτια, έχει δηλαδή μια πλήρη περιγραφή

Actors - Ορισμός Actor είναι μία οντότητα εκτός του συστήματος που αλληλεπιδρά με αυτό. Ένας actor αντιπροσωπεύει συνήθως κάποιο χρήστη του συστήματος, αλλά μπορεί να είναι και ένας οργανισμός ή κάποιο άλλο εξωτερικό σύστημα. Πρωτεύων actor για μία ΠΧ είναι ο actor που κατά κανόνα την εκκινεί η εξυπηρέτηση των στόχων του πρωτεύοντος actor είναι το στοιχείο με το οποίο αποτιμάται η αξία που παρέχει μία ΠΧ. Μπορεί να υπάρχουν και άλλοι actors δευτερεύοντες actors, οι οποίοι αλληλεπιδρούν με το σύστημα παρέχοντας κάποια πληροφορία ή εξυπηρετώντας το ίδιο το σύστημα.

Περιπτώσεις χρήσης «Τι θα κάνει το λογισμικό για κάποιο χρήστη?» Η περίπτωση χρήσης επικεντρώνεται στα χαρακτηριστικά συστήματος & τη λειτουργικότητα που πρέπει να παρέχει. Περιγράφει το στόχο (κύριο στόχο συστήματος) Οι περιπτώσεις χρήσης δεν είναι ακριβώς requirements ή functional specifications, αλλά απεικονίζουν και συνεπάγονται requirements Ορίζει το εύρος του συστήματος, τι περιλαμβάνει και τι όχι.

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

Βασικά ζητήματα Οι ΠΧ περιγράφουν ολοκληρωμένη λειτουργικότητα με ευδιάκριτο αποτέλεσμα Με τις ΠΧ επιμένουμε στο να λαμβάνουμε υπόψη απαιτήσεις που δίνουν αξία στους χρήστες και στον πελάτη Με τις ΠΧ δεν μας απασχολεί μόνο τι κάνει το σύστημα, αλλά και τι κάνει το σύστημα για τον κάθε τελικό χρήστη που το χρησιμοποιεί η αλληλεπίδραση του χρήστη με το σύστημα -> αξία που παρέχει το σύστημα στο χρήστη Με τις ΠΧ αποδεχόμαστε το γεγονός ότι υπάρχουν πολλές οπτικές για το λογισμικό κι αυτό γιατί διαφορετικές ομάδες του οργανισμού έχουν διαφορετικές ανάγκες

Χαρακτηριστικά διαγραμμάτων περιπτώσεων χρήσης Το διάγραμμα περιπτώσεων χρήσης δείχνει τις λειτουργικές σχέσεις μεταξύ δραστών αλληλεπίδραση μεταξύ εξωτερικών χρηστών και συστήματος Δεν περιγράφει διαδικασίες, ενέργειες ή διαδοχικές καταστάσεις του συστήματος Χρήση: Αποτυπώνει τις επιχειρησιακές απαιτήσεις/διαδικασίες που εκτελούνται στο σύστημα (λειτουργικά στοιχεία συστήματος) Φάσεις: Καθ' όλη τη διάρκεια της ανάπτυξης του συστήματος ανάλυση απαιτήσεων, εργασία σχεδιασμού, δοκιμή συστήματος και επαλήθευση λειτουργικότητας Αποτελεί το σημείο εκκίνησης για την αντικειμενοστρεφή ανάπτυξη

Στόχοι της μοντελοποίησης των περιπτώσεων χρήσης Να καθορίσει και να περιγράψει τις λειτουργικές απαιτήσεις του συστήματος χρησιμοποιούνται κατά τη διάρκεια συναντήσεων με τους χρήστες για την ανάλυση του συστήματος και τη λήψη κοινών αποφάσεων Να δώσει μια σαφή και συνεπή περιγραφή για το τι θα πρέπει να κάνει το σύστημα Να χρησιμοποιηθεί κατά τη διάρκεια ανάπτυξης του συστήματος ως μέσο αποτύπωσης των απαιτήσεων Αποτελούν τη βάση για περαιτέρω μοντελοποίηση του συστήματος

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

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

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

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

Πώς βρίσκουμε τις περιπτώσεις χρήσης? Μπορεί η εργασία/λειτουργία ενός δράστη να απλοποιηθεί ή να γίνει πιο παραγωγική με την προσθήκη νέων λειτουργιών στο σύστημα; Τι ρήματα/ουσιαστικά χρησιμοποιούνται για την περιγραφή του συστήματος? Ο υπάλληλος κάνει μία κράτηση χρησιμοποιώντας το σύστημα... Ο υπεύθυνος πτήσεων μπορεί να δημιουργήσει τα δεδομένα μιας νέας πτήσης. Μπορεί επίσης να μεταβάλει τις λεπτομέρειες της πτήσης, στην περίπτωση...

Παράδειγμα περιπτώσεων χρήσης Ο οργανισμός Σιδηροδρόμων επιθυμεί να αναπτύξει ένα σύστημα κράτησης και έκδοσης εισιτηρίων. Αυτό πρέπει να υποστηρίζει εκ των προτέρων κράτηση εισιτηρίων, ακύρωση εισιτηρίων και αλλαγή θέσης εισιτηρίου. Όλα αυτά τα διαχειρίζεται ο υπάλληλος κρατήσεων. Το σύστημα θα διαθέτει επίσης ένα web-interface όπου οι χρήστες θα μπορούν να εγγράφονται μόνοι τους και να αγοράζουν εισιτήρια online. Μπορούν να πληρώνουν είτε χρησιμοποιώντας κάποιο online τραπεζικό λογαριασμό είτε μέσω πιστωτικής κάρτας. Κρατήσεις μέσω internet μπορούν να ακυρώνονται μόνο στο γκισέ. Το σύστημα θα διαθέτει και υπηρεσία ενημέρωσης των χρηστών για να ελέγχουν το πρόγραμμα των τρένων, τις τιμές και τη διαθεσιμότητα των εισιτηρίων.

Παράδειγμα περιπτώσεων χρήσης Make Reservation Cancel Reservation Modify Class Print Ticket Query Timetable Check Fare Register as Member

Δράστης (actor) Είναι ένας ρόλος που αλληλεπιδρά με το σύστημα Αναπαριστά ένα ρόλο και όχι κάποιον individuals Μπορεί να είναι άτομο ή συσκευή ή άλλο σύστημα Επικοινωνεί με το σύστημα με την αποστολή ή/και λήψη μηνυμάτων Ένας δράστης μπορεί να συμμετέχει σε πολλές περιπτώσεις χρήσης Μία περίπτωση χρήσης μπορεί να έχει αρκετούς δράστες να συμμετέχουν σε αυτή

Δράστης (actor) ΕΠΙΣΗΣ οι πραγματικοί δράστες μπορούν να έχουν περισσότερους από έναν ρόλους σε κάθε χρονική στιγμή Ένας δράστης που αλληλεπιδρά με το σύστημα υπό διαφορετικό ρόλο κάθε φορά, αναγνωρίζεται ως διαφορετικός χρήστης. (Π.χ. ένας καθηγητής μπορεί να λειτουργεί είτε ως καθηγητής (Faculty) είτε ως πρόεδρος τμήματος).

Δράστης (actor) Π.χ. Για το ΑΤΜ, δράστες είναι: Κάτοχος ειδικής κάρτας Υπάλληλος τράπεζας Πληροφοριακό σύστημα της τράπεζας Σύστημα εξουσιοδότησης πιστωτικής κάρτας Π.χ. Στην περίπτωση επίσκεψης ενός ασθενούς σε ένα γιατρό που βρίσκεται σε μια κλινική για την εκτέλεση κάποιων εξετάσεων, δράστες είναι: Ο γιατρός Ο ασθενής

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

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

Προσδιορισμός δραστών Τι ουσιαστικά/υποκείμενα χρησιμοποιούνται για την περιγραφή του συστήματος? Ο υπάλληλος κρατήσεων κάνει μία κράτηση χρησιμοποιώντας το σύστημα... Ένας χρήστης πρέπει να κάνει login στο σύστημα για να σώσει το ταξίδι του

Προσδιορισμός δραστών Ο οργανισμός Σιδηροδρόμων επιθυμεί να αναπτύξει ένα σύστημα κράτησης και έκδοσης εισιτηρίων. Αυτό πρέπει να υποστηρίζει εκ των προτέρων κράτηση εισιτηρίων, ακύρωση εισιτηρίων και αλλαγή θέσης εισιτηρίου. Το σύστημα θα διαθέτει επίσης ένα web-interface όπου οι χρήστες θα μπορούν να εγγράφονται μόνοι τους και να αγοράζουν εισιτήρια online. Actors: Reservation Clerk Passenger

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

Όριο συστήματος στα διαγράμματα περιπτώσεων χρήσης Σύστημα Διαγνωστικό Κέντρο Patient Make appointment Doctor Perform medical tests

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

Διάγραμμα περιπτώσεων χρήσης Modify Class Check Fare Reservation Clerk Query Timetable Make Reservation Passenger Cancel Reservation Print Ticket Register as Member

Διάγραμμα περιπτώσεων χρήσης Ένα διάγραμμα περιπτώσεων χρήσης απεικονίζει ένα σύνολο περιπτώσεων χρήσης για ένα σύστημα, τους δράστες και τις σχέσεις μεταξύ των δραστών και των περιπτώσεων χρήσης Σκοπός του διαγράμματος είναι η παρουσίαση ενός είδους context diagram με το οποίο κάποιος μπορεί να κατανοήσει γρήγορα τους δράστες του συστήματος και τους βασικούς τρόπους με τους οποίους χρησιμοποιούν το σύστημα Στο διάγραμμα οι περιπτώσεις χρήσης συνδέονται με τους δράστες με γραμμές που αναπαριστούν συσχετίσεις επικοινωνίας, δείχνουν δηλαδή ποιοι δράστες αρχικοποιούν ή συμμετέχουν σε ποιες περιπτώσεις χρήσης

Βήματα για τη δημιουργία των διαγραμμάτων περιπτώσεων χρήσης Kαθορισμός των ορίων του συστήματος, του περιβάλλοντος λειτουργίας λογισμικού Εύρεση των δραστών (actors) που αντιστοιχούν σε εξωτερικά συστήματα και σε χρήστες του συστήματος Καθορισμός των περιπτώσεων χρήσης παίρνοντας έναν έναν τους δράστες, εξαντλούμε τις απαιτήσεις τους σε εργασίες που πρέπει να κάνει το λογισμικό. Αν μετά το τέλος αυτής της εργασίας, υπάρχουν εργασίες που πρέπει να κάνει το λογισμικό αλλά δεν έχουν απεικονιστεί σε περιπτώσεις χρήσης, τότε είτε πρέπει να ορίσουμε νέους δράστες, είτε να τις αντιστοιχίσουμε στους υπάρχοντες

Βήματα για τη δημιουργία των διαγραμμάτων περιπτώσεων χρήσης Κατασκευή γενικού (καθολικού) διαγράμματος περιπτώσεων χρήσης Τεκμηρίωση (προδιαγραφή) των περιπτώσεων χρήσης Eύρεση των συσχετίσεων μεταξύ των περιπτώσεων χρήσης Επικύρωση του μοντέλου των περιπτώσεων χρήσης

Παραδείγματα περιπτώσεων χρήσης Στην περίπτωση της «διαχείρισης του ιατρικού φακέλου των ασθενών» μπορούμε να διακρίνουμε τις ακόλουθες περιπτώσεις χρήσης Η περίπτωση χρήσης «Διαχείριση προσωπικών στοιχείων ασθενών» Η περίπτωση χρήσης «Διαχείριση ιατρικής πληροφορίας ασθενών» Στην περίπτωση ενός κλινικού συστήματος κάποιες από τις περιπτώσεις χρήσης είναι Η περίπτωση χρήσης «Καθορισμός ραντεβού» (Make appointment) Η περίπτωση χρήσης «Εκτέλεση ιατρικών εξετάσεων» (Perform medical tests). Συνεπώς, σε ένα διάγραμμα περιπτώσεων χρήσεων μοντελοποιείται εκείνο το σύνολο των ενεργειών που εκτελούνται στο σύστημα και οι οποίες παράγουν κάποιο αποτέλεσμα και αυτό το αποτέλεσμα είναι χρήσιμο σε κάποιο παίκτη του συστήματος.

Διάγραμμα Περίπτωσης Χρήσης Παράδειγμα Σύστημα Διαγνωστικό Κέντρο Patient Make appointment Doctor Perform medical tests

Διάγραμμα Περίπτωσης Χρήσης Παράδειγμα Withdraw Deposit Customer Teller Check Balance Open Account

Σχέσεις μεταξύ των περιπτώσεων χρήσης Ο ορισμός τους εξαρτάται από το σχεδιαστή του use case diagram Είδη σχέσεων Σχέση «περιλαμβάνει» (include) Σχέση «επεκτείνει» (extend) Σχέση «γενικεύει» (generalization)

Σχέσεις μεταξύ των περιπτώσεων χρήσης Σχέση «περιλαμβάνει» (include): Mια περίπτωση χρήσης περιλαμβάνει τη συμπεριφορά μιας άλλης. Π.χ. η περίπτωση χρήσης «τροποποίηση παραγγελίας» περιλαμβάνει την περίπτωση χρήσης «εμφάνιση λίστας παραγγελιών» Σχέση «επεκτείνει» (extends: Μια περίπτωση χρήσης επεκτείνει κάποια άλλη προσθέτοντας επιπλέον ενέργειες στη γενική περίπτωση χρήσης. Π.χ. η περίπτωση χρήσης «εγγραφή αλλοδαπού φοιτητή» εμπλουτίζει τη γενική περίπτωση χρήσης «εγγραφή φοιτητή». Προαιρετική σχέση Σχέση «γενικεύει/εξειδικεύει» (generalization / specialization): Mια περίπτωση χρήσης κληρονομεί τη συμπεριφορά και την περιγραφή μιας άλλης περίπτωσης χρήσης

Σχέση «περιλαμβάνει» (include) Όταν μία περίπτωση χρήσης χρησιμοποιεί τη λειτουργικότητα μίας άλλης περίπτωσης χρήσης Η λειτουργικότητα της περίπτωσης χρήσης Β περιλαμβάνεται στην περίπτωση χρήσης Α υποχρεωτικά Κάθε φορά που η περίπτωση χρήσης Α εκτελείται, τα επιχειρηματικά βήματα τα οποία ορίζονται στην περίπτωση χρήσης Β εκτελούνται επίσης Το τόξο του βέλους δείχνει στη γονική περίπτωση χρήσης (parent use case), δηλ. από την περίπτωση που την περιλαμβάνει προς αυτή που περιλαμβάνεται Η βάση του βέλους συνδέεται με την απογονική περίπτωση χρήσης (child use case) Το στερεότυπο "<<include>>" προσδιορίζει τη σχέση Α «include» Β

Σχέση «περιλαμβάνει» (include) Η κοινή συμπεριφορά που παρατηρείται σε περισσότερες από μία περιπτώσεις χρήσης μπορεί να καταγραφεί σε ξεχωριστή περίπτωση χρήσης και η οποία να χρησιμοποιείται από τις άλλες περιπτώσεις χρήσης Επομένως αν χρειαστεί να γίνει κάποια αλλαγή στο τμήμα της κοινής συμπεριφοράς, τότε η αλλαγή γίνεται μόνο σε αυτή την περίπτωση χρήσης, και όχι σε όλες τις περιπτώσεις χρήσης οι οποίες περιελάμβαναν το κοινό τμήμα.

Σχέση «περιλαμβάνει» (include) Η λειτουργικότητα της περίπτωσης χρήσης "Validate patient records" περιλαμβάνεται στην περίπτωση χρήσης "Make appointment " Κάθε φορά που η περίπτωση χρήσης "Make appointment" εκτελείται, τα επιχειρηματικά βήματα τα οποία ορίζονται στην περίπτωση χρήσης "Validate patient records" εκτελούνται επίσης

Σχέση «περιλαμβάνει» (include) Χρησιμοποιείται όταν υπάρχει κάποια συγκεκριμένη συμπεριφορά, η οποία είναι όμοια σε περισσότερες από μία περιπτώσεις χρήσης «include» Εισαγωγή username και password Αγορά Προϊόντος «include» Πελάτης Διαχείριση Προϊόντων Αναλυτής Προϊόντων

Σχέση «περιλαμβάνει» (include) Η συμπεριφορά της περίπτωσης χρήσης Α ενσωματώνεται στις περιπτώσεις χρήσης Β καί Γ Η ενσωματωμένη περίπτωση χρήσης Α είναι απαραίτητη για τη λειτουργικότητα των περιπτώσεων χρήσης Β καί Γ Οι περιπτώσεις χρήσης Signing car insurance και Signing life insurance περιλαμβάνουν την περίπτωση χρήσης Signing insurance policy Α «include» Signing Insurance Policy «include» Signing Car Insurance Β Signing Life Insurance Γ

Παράδειγμα σχέσης «include» Ανάληψη χρημάτων «include» Χρήστης Ελεγχος Pin «include» Μεταφορά χρημάτων

Σχέση «περιλαμβάνει» (include) Η ΠΧ «Έλεγχος Pin» δεν προσφέρει καμία αξία στο χρήστη του ΑΤΜ ούτε υπηρετεί τον τελικό του στόχο. Οι στόχοι εξυπηρετούνται από «Ανάληψη χρημάτων» και «Μεταφορά χρημάτων» Η ΠΧ «Έλεγχος Pin» εξυπηρετεί έναν επιμέρους στόχο του actor, δεν ενεργοποιείται αυτόνομα, αλλά εντάσσεται στην ενεργοποίηση των υπολοίπων. Αφηρημένες ΠΧ συγκεκριμένες ΠΧ

Σχέση «επεκτείνει» (extend) Η απογονική περίπτωση χρήσης προσθέτει/εμπλουτίζει τη λειτουργικότητα και τα χαρακτηριστικά της γονικής περίπτωσης χρήσης Χρησιμοποιείται για να περιγράψει διαφοροποιήσεις στην κανονική ροή των γεγονότων που περιγράφεται από μία γενική περίπτωση χρήσης Η περίπτωση χρήσης Α (απογονική) επαυξάνει τη λειτουργικότητα της περίπτωσης χρήσης Β (γονική) Ουσιαστικά, η περίπτωση χρήσης Α (απογονική) είναι μία εξειδικευμένη έκδοση της γενικότερης περίπτωσης χρήσης Β (γονική) Το τόξο του βέλους δείχνει στη γονική περίπτωση χρήσης (parent use case) Το στερεότυπο "<<exclude>>" προσδιορίζει τη σχέση «extend» A B

Σχέση «επεκτείνει» (extend) Μια περίπτωση χρήσης «επεκτείνει» μια άλλη περίπτωση χρήσης: η πρώτη περιλαμβάνει κάποια από τη συμπεριφορά της κλάσης που επεκτείνει. Η περίπτωση χρήσης B που επεκτείνεται χρειάζεται τη λειτουργία της βασικής περίπτωσης χρήσης A «extend» A B Register «extend» login Παράδειγμα σχέσης «extend» ανάμεσα στη UC login" (γονική UC) και στη UC Register" (απογονική UC) Η UC Register" επαυξάνει τη λειτουργικότητα της UC login Ουσιαστικά, η UC "Register" είναι εξειδικευμένη έκδοση της γενικότερης UC login

Σχέση «επεκτείνει» (extend) Παράδειγμα μίας σχέσης «extend» ανάμεσα στην περίπτωση χρήσης "Perform medical tests" (γονική περίπτωση χρήσης) και στην περίπτωση χρήσης "Perform Pathological Tests" (απογονική περίπτωση χρήσης) Η περίπτωση χρήσης "Perform Pathological Tests" επαυξάνει τη λειτουργικότητα της περίπτωσης χρήσης "Perform medical tests Ουσιαστικά, η περίπτωση χρήσης "Perform Pathological Tests" είναι μία εξειδικευμένη έκδοση της γενικότερης περίπτωσης χρήσης "Perform medical tests

Σχέση «επεκτείνει» (extend) Extension Point το σημείο στο οποίο προστίθεται μία extending use case μπορεί να οριστεί με τη βοήθεια του σημείου επέκτασης Για κάθε περίπτωση χρήσης μπορούν να οριστούν πάνω από ένα σημεία επέκτασης Tα ονόματα των σημείων επέκτασης πρέπει να είναι μοναδικά Tα ονόματα των σημείων επέκτασης δεν χρειάζεται να είναι τα ονόματα των περιπτώσεων χρήσης που κάνουν την επέκταση Tα ονόματα των σημείων επέκτασης είναι απλά labels που εμφανίζονται στη ροή των γεγονότων της βασικής περίπτωσης χρήσης

Παράδειγμα σχέσης «extend» Book borrower «extend» too many books on loan Refuse loan Borrow copy of book Extension points Status validation: after confirming identity

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

Σχέση «επεκτείνει»

Παράδειγμα σχέσης επέκτασης Έγκριση Αγοράς «include» σημεία επέκτασης στοιχεία πιστ. κάρτας Αγορά Προϊόντος Πελάτης «extend» {στοιχεία πιστ. κάρτας} Διόρθωση Στοιχείων Πιστωτικής Κάρτας

Σχέση «επεκτείνει» (extend) Search «extend» name Search by name Name e-mail «extend» e-mail Search by e-mail

Παράδειγμα σχέσης «extend» Δημιουργία γραφικού «extend» Σύνταξη κειμένου «extend» Ορθογραφικός έλεγχος

Παράδειγμα σχέσης «extend» Επεκτάσεις λειτουργικότητας στη βασική έκδοση Η βασική λειτουργικότητα του επεξεργαστή κειμένου μπορεί να πωλείται σε μία βασική έκδοση του λογισμικού, ενώ η λειτουργικότητα του ορθογραφικού ελέγχου μπορεί να προσφέρεται σε μία εμπλουτισμένη και ακριβότερη έκδοση

Σχέσεις Include & Extend Χρήση της σχέσης extend όταν περιγράφουμε μία ιδιαιτερότητα/διαφοροποίηση της κανονικής συμπεριφοράς Χρήση της σχέσης include όταν θέλουμε να ξεχωρίσουμε τα επαναλαμβανόμενα τμήματα διαφόρων περιπτώσεων χρήσης σε μία περίπτωση χρήσης

Σχέσεις Include & Extend Reservation Clerk Passenger Describe variations from Normal Flow in a extending Use Case Cancel Reservation Make Reservation «extend» Generate Payment Failure Notice «include» «include» Update Seat Availability Factor out common behaviour in a Use Case that other Use Cases include.

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

Σχέση γενίκευσης Η απογονική περίπτωση χρήσης έχει την ίδια σημασία από πλευράς επιχειρηματικής διαδικασίας, αλλά είναι μία εμπλουτισμένη έκδοση της γονικής περίπτωσης χρήσης Η γονική περίπτωση χρήσης είναι μία πιο γενική περίπτωση χρήσης της απογονικής περίπτωσης χρήσης Οποιαδήποτε εμφάνιση της γονικής περίπτωσης χρήσης Β μπορεί να αντικατασταθεί στην επιχειρηματική ροή του συστήματος από την απογονική περίπτωση χρήσης Α χωρίς καμία επίδραση στην επιχειρηματική ροή. Το τόξο του βέλους δείχνει στη γονική περίπτωση χρήσης (parent use case) Η βάση του βέλους συνδέεται με την απογονική περίπτωση χρήσης (child use case) A B

Σχέση γενίκευσης Παράδειγμα σχέσης γενίκευσης ανάμεσα στην περίπτωση χρήσης "Store patient records (paper file)" (γονική περίπτωση χρήσης) και στην περίπτωση χρήσης "Store patient records (computerized file)" (απογονική περίπτωση χρήσης). Η γονική περίπτωση χρήσης είναι μία πιο γενική περίπτωση χρήσης της απογονικής περίπτωσης χρήσης Οποιαδήποτε εμφάνιση της γονικής περίπτωσης χρήσης "Store patient records (paper file)" μπορεί να αντικατασταθεί στην επιχειρηματική ροή του συστήματος από την απογονική περίπτωση χρήσης "Store patient records (computerized file)" χωρίς καμία επίδραση στην επιχειρηματική ροή.

Παράδειγμα σχέσης γενίκευσης «include» Συμπλήρωση Στοιχείων Αποστολής Αγορά Προϊόντος Πελάτης Ο πελάτης είναι τακτικός πελάτης του καταστήματος Παρουσίαση Τρεχόντων Στοιχείων Αποστολής

Πηγές / Acknowledgements Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language User Guide. Addison-Wesley Professional 2 Edition, ISBN 0321267974. Pascal Roques, UML in Practice, John Wiley, 2004 UML Fundamentals & OOAD UML 2.0, www.acm.org Αφροδίτη Τσαλγατίδου. Εισαγωγή στη UML, Καποδιστριακό Πανεπιστήμιο Αθηνών Ιωάννης Γαβιώτης. Πληροφοριακά Συστήματα Μοντελοποίηση με UML, Πανεπιστήμιο Αιγαίου Γιάννης Τζίτζικας. Μοντελοποίηση Λειτουργιών, Πανεπιστήμιο Κρήτης Martin Fowler, UML Distilled: a Brief Guide to the Standard Object Modeling Language, 3 rd Edition, Pearson Education Inc., 2004 A. Dennis, B. Haley Wixom, D. Tegarden, Systems Analysis and Design with UML Version 2.0, 2 nd edition, Wiley, 2005. S. M. Mallya, Requirements Capture using UML Use Cases Ε. Γιακουμάκης, Ν. Διαμαντίδης «Τεχνολογία Λογισμικού», Εκδόσεις Σταμούλη, 2009