Μοντελοποίηση Λειτουργιών (Functional Modeling)

Σχετικά έγγραφα
Μοντελοποίηση Λειτουργιών (Functional Modeling)

CS 351: Information Systems Analysis and Design

CS 351: Information Systems Analysis and Design. Why we model?

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

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

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

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

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

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

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

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

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

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

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

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

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

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

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

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

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

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

Activity Diagrams Examples and Enterprise Architect v6.5

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

Bizagi Modeler: Συνοπτικός Οδηγός

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου. Σχεδίαση Συστήματος

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

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

PDF created with pdffactory Pro trial version

How to register an account with the Hellenic Community of Sheffield.

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

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

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

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

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

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

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

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

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

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

Ενότητα 2 Εργαλεία για την αναζήτηση εργασίας: Το Βιογραφικό Σημείωμα

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

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

Διαχείριση Έργων Πληροφορικής

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

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

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

Μεταπτυχιακή Εργασία Διαχείριση Επιχειρησιακών Διαδικασιών με τη χρήση Τεχνολογίας BPMN

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

Requirements Απαιτήσεις

Προσομοίωση BP με το Bizagi Modeler

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

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

(C) 2010 Pearson Education, Inc. All rights reserved.

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

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

SOAP API. Table of Contents

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

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

Μοντελοποίηση ροών εργασίας

Advanced Subsidiary Unit 1: Understanding and Written Response

Εννοιολογικό Μοντέλο. Conceptual Model

Διάλεξη 10: Αντικειμενοστρεφής Σχεδιασμός ΙI. Διδάσκων: Παναγιώτης Ανδρέου

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

UML: Unified modelling language

UNIVERSITY OF CALIFORNIA. EECS 150 Fall ) You are implementing an 4:1 Multiplexer that has the following specifications:

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

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

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

Εισαγωγή στα Πληροφοριακά Συστήματα. Ενότητα 4:

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

Test Data Management in Practice

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών. Business Process Modeling Notation (BPMN)

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

Συστήματα Διαχείρισης Βάσεων Δεδομένων

Φροντιστήριο 3. <logo image> Ημερομηνία: Παρασκευή 10/11/2006 Θεματική Ενότητα: Activity Diagrams

Modbus basic setup notes for IO-Link AL1xxx Master Block

Architecture οf Integrated Ιnformation Systems (ARIS)

department listing department name αχχουντσ ϕανε βαλικτ δδσϕηασδδη σδηφγ ασκϕηλκ τεχηνιχαλ αλαν ϕουν διξ τεχηνιχαλ ϕοην µαριανι

PortSip Softphone. Ελληνικά Ι English 1/20

CYTA Cloud Server Set Up Instructions

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

Τ.Ε.Ι. ΚΡΗΤΗΣ, Σ.Δ.Ο., Τμήμα Λογιστικής. Business Processes

Introduction to Java. Module 6: Class Diagrams and Use case Diagrams. Prepared by Costantinos Costa for EPL 233

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

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

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

Διαχείριση Έργων Ανάπτυξης Πληροφοριακών Συστημάτων

Προγραμματισμός Επιχειρησιακών Πόρων Ανασχεδιασμός Επιχειρηματικών Διεργασιών. Καθηγητής Δρ. Πάνος Φιτσιλής

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Τα διαγράµµατα UML. ρ. Πάνος Φιτσιλής

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Α. Διαβάστε τις ειδήσεις και εν συνεχεία σημειώστε. Οπτική γωνία είδησης 1:.

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

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

TMA4115 Matematikk 3

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

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

Transcript:

Management Doctor Appointment System Make payment arrangements Produce schedule information Record Availability «extend» «include» Manage schedule «include» Make old pat. app Make appointment Make new pat. app «include» Create new pat. New Patient Patient Old Patient [ rush order ] Overnight Delivery Fill Receive [ else ] Regular Delivery Close End Send Invoice Receive Payment Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2006-2007 ΗΥ351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Μοντελοποίηση Λειτουργιών (Functional Modeling) Γιάννης Τζίτζικας ιάλεξη : 8 Ημερομηνία : 6-11-2006 Θέμα : U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 1 ιάρθρωση Μοντελοποίηση Λειτουργιών (Functional Modeling) Μοντελοποίηση Λειτουργιών με τη UML Περιπτώσεις Χρήσης (Use Cases) Διαγράμματα Περιπτώσεων Χρήσης Διαγράμματα Δραστηριοτήτων (Activity Diagrams) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 2 1

Υψηλού επιπέδου επιχειρηματικές ανάγκες καταγεγραμμένες στην Πρόταση Συστήματος Καθορισμός Απαιτήσεων Αναλυτική Καταγραφή Συγκεκριμένων απαιτήσεων Επόμενο βήμα Μοντελοποίηση του Συστήματος Λειτουργική /Δομική/Συμπεριφοράς (Functional/Structural/Behavioral) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 3 Τι είναι η Μοντελοποίηση Λειτουργιών; Έχει ως σκοπό την περιγραφή: των επιχειρηματικών επεξεργασιών (business processes), και της αλληλεπίδρασης του Πληροφοριακού Συστήματος με το περιβάλλον του U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 4 2

Πως μοντελοποιούμε τις λειτουργίες στην Αντικειμενοστρεφή Ανάλυση και Σχεδίαση; Συνήθως χρησιμοποιούμε δύο τύπους διαγραμμάτων της UML: Διαγράμματα Δραστηριοτήτων (Activity Diagrams) Επιτρέπουν την μοντελοποίηση ροών εργασιών Περιπτώσεις Χρήσης και Διαγράμματα Περιπτώσεων Χρήσης Επιτρέπουν την μοντελοποίηση των βασικών αλληλεπιδράσεων μεταξύ του πληροφοριακού συστήματος και του περιβάλλοντος του. Παρατηρήσεις: Μπορούμε να τα χρησιμοποιήσουμε για να περιγράψουμε το υπάρχον (χειρογραφικό ή μηχανογραφημένο) ή το προς κατασκευή πληροφοριακό σύστημα. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 5 Τι διαφέρουν τα ιαγράμματα ραστηριοτήτων από τα ιαγράμματα Περιπτώσεων Χρήσης; Activity Diagrams Τα χρησιμοποιούμε για να μοντελοποιήσουμε τις «εσωτερικές» λειτουργίες του συστήματος Π.χ. για να περιγράψουμε πως λειτουργεί ο οργανισμός Use Cases & Use Case Diagrams Τα χρησιμοποιούμε για να μοντελοποιήσουμε τις «εξωτερικές» λειτουργίες του συστήματος Π.χ. πως αλληλεπιδρά με τους χρήστες του συστήματος ή με άλλα πληροφοριακά συστήματα U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 6 3

Ένας οργανισμός U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 7 Τα ιαγράμματα ραστηριοτήτων επιτρέπουν την μοντελοποίηση των επιχειρηματικών διαδικασιών του οργανισμού Receive Display Current Computer Get Request Fill Send Invoice [ timeout ] Display Purchase Form [ rush order ] Overnight Deli very [ else ] Regular Delivery Get Purchase Details [ incomplete ] [ OK ] Store Receive Payment Email Details Cl ose End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 8 4

Οι Περιπτώσεις Χρήσης μοντελοποιούν την αλληλεπίδραση μεταξύ το Πληροφοριακού Συστήματος και του Περιβάλλοντος του use case use case use case Information System use case U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 9 Περιπτώσεις Χρήσης Use Cases 5

Τι μπορούμε να μοντελοποιήσουμε με Περιπτώσεις Χρήσης; Μοντελοποιούν την εξωτερική λειτουργική όψη του συστήματος Πως αλληλεπιδρά με το περιβάλλον του (π.χ. με τους χρήστες Περιγράφουν τι μπορούν να κάνουν οι χρήστες και πως ανταποκρίνεται το σύστημα Πλέον αποτελούν βασικό εργαλείο για την ανάπτυξη και προγραμματισμό πληροφοριακών συστημάτων. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 11 Τι είναι μια Περίπτωση Χρήσης (Use Case); Περίπτωση Χρήσης (Use Case) = ένα σύνολο σεναρίων για την επίτευξη ενός σκοπού του χρήστη Σενάριο = μια ακολουθία βημάτων που περιγράφουν την αλληλεπίδραση μεταξύ χρήστη και συστήματος Παράδειγμα Σεναρίου Ο πελάτης πλοηγείται στον κατάλογο και προσθέτει τα επιθυμητά προϊόντα στο καλάθι αγοράς. Αν θελήσει να πληρώσει τότε περιγράφει τον επιθυμητό τρόπο αποστολής, δίδει τα στοιχεία της πιστωτικής του κάρτας και επιβεβαιώνει την αίτηση αγοράς. Το σύστημα ελέγχει τα στοιχεία της κάρτας και επιβεβαιώνει την αγορά (αμέσως και με την αποστολή η-μηνύματος επιβεβαίωσης). U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 12 6

Περιεχόμενο και μορφότυπος μια Περίπτωσης Χρήσης Μια Περ. Χ. συνήθως περιλαμβάνει: Ένα συνηθισμένο σενάριο (όπου όλα πάνε καλά) (all-goes-well scenario) Διάφορες ενναλακτικές ροές O μορφότυπος (format) μιας Περίπτωσης Χρήσης Ακολουθία αριθμημένων βημάτων Εναλλακτικές (alternatives) ως παραλλαγές αυτής της ακολουθίας Προαιρετικό: προσθήκη μιας γραμμής με προσυνθήκες (preconditions), ήτοι συνθήκες που πρέπει να είναι αληθείς για να ξεκινήσει η Περίπτωση Χρήσης Πόσο λεπτομερής πρέπει να είναι μια Περίπτωση Χρήσης; Όσο μεγαλύτερο είναι το ρίσκο τόσο πιο αναλυτικοί πρέπει να είμαστε U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 13 Παράδειγμα: Περίπτωση Χρήσης Αγορά Προϊόντος Αγορά Προϊόντος 1. Ο Πελάτης πλοηγείται στον κατάλογο και επιλέγει τα προϊόντα που επιθυμεί να αγοράσει 2. Ο Πελάτης επιλέγει τη λειτουργία «Παραγγελία» 3. Ο Πελάτης συμπληρώνει τα στοιχεία αποστολής (δνση, παράδοση σε 24 ώρες, παράδοση σε 3 ημέρες) 4. Το Σύστημα του παρουσιάζει αναλυτικά την τιμή της παραγγελίας (περιλαμβανομένων των εξόδων αποστολής) 5. Ο Πελάτης συμπληρώνει τα στοιχεία της πιστωτικής του κάρτας 6. Το Σύστημα ελέγχει τα στοιχεία της κάρτας (εξουσιοδότηση, πιστωτικό όριο,..) 7. Το Σύστημα επιβεβαιώνει την πώληση αμέσως 8. Το Σύστημα στέλνει ένα η-μήνυμα επιβεβαίωσης στον Πελάτη Εναλλακτική: Authorization Failure Στο βήμα 6, το Σύστημα αποτυγχάνει να εγκρίνει την αγορά μέσω πιστωτικής. Ο Πελάτης μπορεί να ξαναδώσει τα στοιχεία της πιστωτικής του κάρτας και να ξαναπροσπαθήσει Εναλλακτική: Μόνιμος (Σταθερός) Πελάτης 3α. Το σύστημα παρουσιάζει τη διεύθυνση του και τα 4 τελευταία ψηφία της πιστωτικής του 3β. Ο Πελάτης μπορεί να δεχθεί ή να επικαλύψει αυτά τα στοιχεία Επιστροφή στο βήμα 8 του αρχικού σεναρίου U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 14 7

Παράδειγμα Buy Buy a Product Product 1. 1. Customer Customer browses browses through through catalog catalogand and selects selects items items to to buy buy 2. 2. Customer Customer goes goes to to check check out out 3. 3. Customer Customer fills fills in in shipping shipping information information (address, (address, next-day next-day or or 3-day 3-day delivery) delivery) 4. 4. System System presents presents full full pricing pricing information, information, including including shipping shipping 5. 5. Customer Customer fills fills in in credit credit card card information information 6. 6. System System authorizes authorizes purchase purchase 7. 7. System System confirms confirms sale sale immediately immediately 8. 8. System System sends sends confirming confirming email email to to customer customer Alternative: Alternative: Authorization Authorization Failure Failure At At step step 6, 6, system system fails fails to to authorize authorize credit credit purchase purchase Allow Allow customer customer to to re-enter re-enter credit credit card card information information and and re-try re-try Alternative: Alternative: Regular Regular Customer Customer 3a. 3a. System System displays displays current current shipping shipping information, information, pricing pricing information, information, and and last last 4 digits digits of of credit credit card card information information 3b. 3b. Customer Customer may may accept accept or or override override these these details details Return Return to to primary primary scenario scenario at at step step 6 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 15 Τύποι Περιπτώσεων Χρήσης Εποπτικές/ Βασικές (Overview/Essential): Υψηλού επιπέδου, που συνήθως συντάσσονται στην αρχή του έργου. Περιγράφουν τα ελάχιστα που χρειάζεται για να κατανοήσουμε την λειτουργικότητα του συστήματος. Είναι ανεξάρτητες υλοποίησης (αλλιώς λέγονται Business Use Cases ή Overview Use Cases) Λεπτομερείς/Πραγματικές (Detailed/Real) Εκλεπτύνουν και περιγράφουν ακριβώς τις εποπτικές. Περιγράφουν συγκεριμένα βήματα (π.χ. η γραμματέας προσθέτει ένα.pdf έγγραφο στο σύστημα και μετά..) (αλλιώς λέγονται System Use Cases) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 16 8

Elements of a Use-Case Description Use Case Name: ID: Importance Level: Primary Actor: Use Case Type: Stakeholders and Interests: Brief Description: Trigger: Relationships: (Association, Include, Extend, Generalization) Normal Flow of Events: Subflows: Alternate/Exceptional Flows: Taken from Dennis et al. 2005 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 17 Παράδειγμα: Κλείσιμο Ιατρικού Ραντεβού (1/3) Όνομα Περίπτωσης Χρήσης: Κλείσιμο Ραντεβού Αριθμός: 2 Σπουδαιότητα: Υψηλή Κύριος Δράστης: Ασθενής Τύπος Περ. Χρήσης: Αναλυτική, Ουσιώδης Εμπλεκόμενοι και Στόχοι: Ασθενής: θέλει να ορίσει, αλλάξει ή ακυρώσει ένα ιατρικό ραντεβού Σύντομη Περιγραφή: Οασθενήςθέλειναορίσει, αλλάξει ή ακυρώσει ένα ιατρικό ραντεβού Ερέθισμα (συμβάν ενεργοποίησης): Ο ασθενής συνδέεται και επιλέγει ΡΑΝΤΕΒΟΥ Τύπος ερεθίσματος: Εξωτερικό Σχέσεις: Συσχέτιση (association) : Ασθενής Περιλαμβάνει (include) : «Διευθέτηση Τρόπου Πληρωμής» Επεκτείνει (extend) : «Δημιουργία Νέου Ασθενούς» Εξειδικεύει (generalizaiton) : U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 18 9

Παράδειγμα: Κλείσιμο Ιατρικού Ραντεβού (2/3) Φυσιολογική ροή γεγονότων: 1. Ο ασθενής συνδέεται με τον ιστόχωρο 2. Ο ασθενής πληκτρολογεί το όνομα του και τον αριθμό μητρώου του 3. Το σύστημα επιβεβαιώνει ότι ο ασθενής είναι καταγεγραμμένος στη βάση 4. Το σύστημα εκκινεί την περίπτωση χρήσης «Διευθέτηση Τρόπου Πληρωμής» 5. Ο ασθενής επιλέγει τι θέλει να κάνει: αν θέλει νέο ραντεβού, δες Ρ1 αν θέλει ακύρωση ραντεβού, δες Ρ2 αν θέλει αλλαγή ραντεβού δες Ρ3 6. Το σύστημα εμφανίζει τα αποτελέσματα του 5 στον χρήστη Συνιστώσες ροές γεγονότων Ρ1: Νέο ραντεβού 1. Το σύστημα ρωτά τον χρήστη για την επιθυμητή ημερομηνία και ώρα 2. Το σύστημα προγραμματίζει το νέο ραντεβού λαμβάνοντας υπόψη τις επιθυμίες του ασθενή και τις διαθέσιμες ημερομηνίες U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 19 Παράδειγμα: Κλείσιμο Ιατρικού Ραντεβού (3/3) Ρ2: Ακύρωση ραντεβού 1. Το σύστημα ρωτά τον χρήστη την ημερομηνία του προς ακύρωση ραντεβού 2. Το σύστημα βρίσκει και διαγράφει την αντίστοιχη εγγραφή από το πρόγραμμα των ραντεβού Ρ3: Αλλαγή ραντεβού 1. Το σύστημα εκτελεί το Ρ2 2. Το σύστημα εκτελεί το Ρ1 Εναλλακτικές Ροές - Εξαιρέσεις 3α: Το σύστημα εκτελεί την περίπτωση χρήσης «Δημιουργία Νέου Ασθενούς» Ρ1.2α1: Το σύστημα προτείνει εναλλακτικές ημερομηνίες/ώρες Ρ1.2α2: Ο ασθενής επιλέγει μια από αυτές ή αποφασίζει να μην κλείσει ραντεβού U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 20 10

Οδηγίες για τη σύνταξη Περιπτώσεων Χρήσης (Guidelines for Creating Use Case Descriptions) Write each step in Subject-Verb-Object form Clarify who is the initiator in each step Describe the steps as if you were an independent external observer Write at the same level of abstraction Ensure that there is a sensible set of steps, like: the primary actor initiates the dialog and sends data to the system the system checks the validity of the data/request the system processes the request the system returns to the actor the results of the processing Apply KISS principle liberally Write repeating instructions after the set of steps to be repeated. Adapted from Dennis et al. 2005 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 21 ιαγράμματα Περιπτώσεων Χρήσης Use Case Diagrams 11

ιαγράμματα Περιπτώσεων Χρήσης Use Case Diagrams Σκοπός: Οπτικοποίηση πολλών Περιπτώσεων Χρήσης Ένα Διάγραμμα Περιπτώσεων Χρήσης (Use Case Diagram) αποτελείται από: Ένα πλαίσιο που υποδηλώνει το σύστημα Το πλαίσιο περιέχει ένα οβάλ για κάθε Περίπτωση Χρήσης Τα οβαλ των Περιπτώσεων Χρήσης μπορούν να συνδέονται με σχέσεις εγκλεισμού (include), γενίκευσης (isa) και επέκτασης (extend) Έξω από το πλαίσιο υπάρχουν σύμβολα που υποδηλώνουν τους Δράστες (Actors), που είναι οι χρήστες (άνθρωποι ή άλλα συστήματα) του συστήματος οι οποίοι συνδέονται με ακμές με τα οβαλ των Περιτπώσεων Χρήσης στις οποίες μπορούν να λάβουν μέρος. Οι δράστες μπορεί να συνδέονται με ακμές τύποι isa. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 23 Use Case Diagrams > Actors ράστες (Actors) Οι Δράστες «εκτελούν» τις Περιπτώσεις Χρήσης Δράστης = ρόλος που ένας χρήστης μπορεί να έχει σε σχέσημετοσύστημα Ένας χρήστης μπορεί να ενσαρκώσει πολλούς ρόλους Οι δράστες δεν είναι πάντα άνθρωποι: Μπορεί να είναι ένα εξωτερικό σύστημα που χρειάζεται κάποιες πληροφορίες από το εν λόγω. AddTask ToDo User FileSystem Remove Task U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 24 12

Παράδειγμα Το πλαίσιο οριοθετεί το σύστημα (Boundary of the system) Taken from Volere Requirements Specification Document U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 25 Συσχετίσεις μετάξύ των περιπτώσεων χρήσης Use Case Diagrams > UC Relationships Include UC UC Για αποφυγή επαναλήψεων (άρα για να αποφύγουμε το copy-paste) ISA UC UC Η ειδική ΠΧ μπορεί να υπερκαλύψει (override) οποιοδήποτε τμήμα της γενικής ΠΧ. Παρά ταύτα η ειδική πρέπει να αφορά στον γενικό στόχο του χρήστη στον οποίο αφορά και η γενική. extend UC UC Μοιάζει με την ISA. Η εκτεταμένη UC μπορεί να έχει επιπλέον συμπεριφορά αλλά μόνο σε δηλωμένα «σημεία επέκτασης» ( extension points ) της βασικής ΠΧ. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 26 13

Παράδειγμα Γενίκευσης Example: Generalization Επικύρωση Χρήστη isa isa Έλεγχος Συνθήματος (Check Password) Σάρωση Αμφιβληστροειδούς (Retinal Scan) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 27 Παράδειγμα Γενίκευσης και Εγκλεισμού Example: Generalization + Include Place «include» Validate User isa Check Password Retinal Scan U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 28 14

Παράδειγμα Γενίκευσης, Εγκλεισμού και Επέκτασης Example: Generalization + Include + Extend Place extension points set priority «include» Validate User «extend» (set priority) Place Rush Check Password isa Retinal Scan <<extend>> (payment info, shipping info) RegularCustomer Buy a Product U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 29 Παράδειγμα διαγράμματος που μοντελοποιεί τις λειτουργίες ενός συστήματος κράτησης ραντεβού Appointment System Make appointment Patient Management Produce schedule information Doctor Record Availability U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 30 15

Εξειδίκευση ραστών (Specializing an actor) Appointment System Make appointment Patient Management Doctor Produce schedule information Record Availability isa New Patient U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 31 Use Case Diagram for an Appointment System Προσθήκη «include» Appointment System Make appointment Patient Produce schedule information «include» isa Management Manage schedule New Patient Record Availability «include» Doctor U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 32 16

Use Case Diagram for an Appointment System Προσθήκη «Isa» και «extend» Appointment System Make payment arrangements «extend» Make appointment Patient Management Produce schedule information Record Availability «include» Manage schedule «include» Make old pat. app Make new pat. app «include» Create new pat. New Patient Old Patient Doctor U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 33 Παράδειγμα: Πληροφοριακό Σύστημα Κινηματογράφου Στόχος: Αύξηση των κερδών μέσω μείωσης των λειτουργικών εξόδων και αύξησης των πελατών. Η αύξηση των πελατών αναμένεται να επιτευχθεί με την παροχή καλύτερων υπηρεσιών ενημέρωσης και εξυπηρέτησης πελατών. Το τελευταίο περιλαμβάνει κάρτα πελατών. Η μείωση των λειτουργικών εξόδων αναμένεται να επιτευχθεί με μείωση του προσωπικού για την έκδοση εισιτηρίων. Επίσης αναμένεται μείωση του χρόνου αναμονής στα εκδοτήρια εισιτηρίων και καλύτερη ενημέρωση πελατών για το πρόγραμμα προβολών μέσω email/sms U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 34 17

Πληροφοριακό Σύστημα Κινηματογράφου U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 35 Μεθοδολογικά Ζητήματα Μπορούμε να ξεκινήσουμε από το Use Case Diagram και κατόπιν να περιγράψουμε κάθε Use Case Μετά μπορούμε να αναθεωρήσουμε και να βελτιώσουμε το UCD Πόσες Περιπτώσεις Χρήσης να ορίσουμε? Π.χ. για ένα έργο 10 ανθρωποχρόνων 12 Περιπτώσεις Χρήσης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 36 18

Βήματα Σύνταξης Περιπτώσεων Χρήσης (Steps in Writing Use Cases) A/ Identify the major UCs 1 Review the Activity Diagram 2 Identify the system s boundaries 3 List the primary actors and their goals 4 Identify and write the major use cases 5 Carefully review use cases B/ Expand the major UCs C/ Confirm the major UCs D/ Create the UC diagram 6 Choose one major use case to expand 7 Fill in details on the use-case template 8 Fill in the steps of the normal flow of events 9 Normalize the size of each step 10 Describe alternate or exceptional flows 11 Simplify and organize as necessary 12 Review the current set (check semantics, involve the users) 13 Iterate the entire set of steps 14 Start with system boundary 15 Place elements in order to be easy to read 16 Place actors on the diagram, connect them with UCs U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 37 Μερικά Πλεονεκτήματα των Περιπτώσεων Χρήσης Αντί της μοντελοποίησης και της κατανόησης ολόκληρου του οργανισμού, προσπαθούμε να καταλάβουμε κάθε Περίπτωση Χρήσης ξεχωριστά Από τις Περιπτώσεις Χρήσης μπορούμε να εκτιμήσουμε το χρόνο και την προσπάθεια που θα απαιτηθεί για το σχεδιασμό και υλοποίηση του συστήματος Ο Διευθυντής του έργου (Project manager) μπορεί να ελέγξει την πρόοδο του έργου παρατηρώντας την πρόοδο της κάθε Περίπτωσης Χρήσης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 38 19

ιαγράμματα ραστηριοτήτων Activity Diagrams Τι μπορούμε να μοντελοποιήσουμε με ιαγράμματα ραστηριοτήτων; Μπορούν να χρησιμοποιηθούν για να μοντελοποιήσουν οποιαδήποτε διαδικασία Από επιχειρηματικές υψηλού επιπέδου έως τη ροή ελέγχου μιας μεθόδου μιας κλάσης Μοιάζουν με διαγράμματα ροής (flow charts) αλλά έχουν την επιπλέον δυνατότητα να αναπαριστούν παραλληλία (parallelism), σύμπτωση (concurrency ) και σύνθετες αποφάσεις (complex decisions). Συνδυάζουν ιδέες από διάφορες τεχνικές όπως: event diagrams, SDL state modeling, workflow modeling, Petri Nets U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 40 20

ραστηριότητες και ιαγράμματα ραστηριοτήτων Activities and Activity Diagrams Activity (or activity state) Είναι μια κατάσταση πράττειν (state of doing something): είτε στον πραγματικό κόσμο (π.χ. πλήκτριση ενός γράμματος) ή στον υπολογιστή (π.χ. εκτέλεση μιας ρουτίνας λογισμικού) Μπορεί να παριστάνει μια χειρονακτική ή μια αυτοματοποιημένη δραστηριότητα Κάθε δραστηριότητα έχει ένα όνομα Παραδείγματα ονομάτων: Λήψη Παραγγελίας, Κράτηση Ραντεβού, κλπ. Activities vs Actions Actions: άτομα (non decomposable) Activities: μπορούν να αναλυθούν σε άλλες activities ή/και actions. Activity Diagram Περιγράφει την ακολουθία των δραστηριοτήτων και υποστηρίζει συνθήκες και παραλληλία U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 41 Καθημερινά παραδείγμτα (πηγή: http://odl-skopje.etf.ukim.edu.mk/uml-help/) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 42 21

Ένα απλό παράδειγμα ιαγράμματος ραστηριοτήτων Περιγράφει τον «κλασσικό» τρόπο Λήψεως Παραγγελιών σε ένα ιστότοπο. Εντολή Παραγγελίας [timeout] Εμφάνιση Δελτίου Παραγγελίας Συμπλήρωση Δελτίου Παραγγελίας [ατελή στοιχεία] Αποθήκευση Παραγγελίας Αποστολή Email με τα στοιχεία της παραγγελίας U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 43 Ένα διάγραμμα δραστηριοτήτων Διαχείριση Παραγγελιών Receive start activity fork (parallel behaviour) διακλάδωση Fill Send Invoice πηρούνι branch condition [ rush order ] [ else ] Overnight Deli very Regular Delivery merge συνένωση Cl ose Receive Payment ζεύξη join (end of parallel behaviour, synchronization point) End end U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 44 22

Ένα διάγραμμα δραστηριοτήτων Διαχείριση Παραγγελιών Receive Fill Send Invoice [ rush order ] Overnight Deliver Deli very [ else ] Regular Delivery Receive Payment This means that it has been decomposed Cl ose End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 45 Another Activity Diagram Διαχείριση Ραντεβού Νοσοκομείου Get Patient Info [old patient] [new patient] Create new patient Make payment arrangements Create appointment Cancel Appointment Change Appointment U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 46 23

Another Example with conditional thread Ετοιμασία Δείπνου Cook Spaghetti Mix Carbonara Sauce Open Red Wine [desire for wine] Combine U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 47 Γραμμές Κολύμβησης Swimlanes Τα ΔΔρ περιγράφουν τι συμβαίνει αλλά δεν μας λένε ποιος κάνει τι Π.χ. δεν μας λέει ποια κλάση είναι υπεύθυνη για την κάθε εργασία Receive Fill Send Invoice Management [ rush order ] Overnight Delivery [ else ] Regular Delivery Receive Payment? Customer Service Shipment Finance Close End => Γραμμές Κολύμβησης (Swimlanes ) Χωρίζουν το διάγραμμα σε κατακόρυφες ζώνες. Κάθε ζώνη είναι αρμοδιότητα ενός συγκεκριμένου δράστη ή κλάσης UML V.2.0: Partitions U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 48 24

Γραμμές Κολύμβησης: Παράδειγμα Διαχείριση Παραγγελιών Τμήμα Αποστολών Γραφείο Εξυπηρέτησης Πελατών Τμήμα Οικονομικών Receive Fill Send Invoice [ rush order ] [ else ] Overnight Delivery Regular Delivery Receive Payment Close End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 49 Παράδειγμα: Login (and register if new user) Πηγή:http://www.sparxsystems.com.au/resources/map_uc.html (Entreprise Architect) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 50 25

Παράδειγμα: Login (and register if new user) Enterprise Architect provides a method of overlaying Use Cases onto activity diagrams. In the example below, the Use Case 'Login to System' has been overlayed onto the previous diagram. The Red bordered areas above are linked to existing Use Cases by setting the classifier. These 'Use Case Instances' then can be overlayed onto the associated Activities to indicate how particular business process is going to be implemented in the proposed system. Mapping Use Cases onto Activity Diagrams provides a good means of visualizing the overlay of system behavior onto business process. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 51 Ροή Αντικειμένων (Object flow) Get Patient Info [old patient] [new patient] Create new patient Make payment arrangements Create appointment Cancel Appointment Change Appointment Πως μπορούμε να δείξουμε τα αντικείμενα που εμπλέκονται στη ροή ελέγχου? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 52 26

ΑνάδειξητηςΡοήςΑντικειμένων (Adding Object Flow) Διαχείριση Ραντεβού Νοσοκομείου Get Patient Info [new patient] [old patient] Create new patient Appt. Request Info Make payment arrangements Appt. Request Info Create appointment Cancel Appointment Change Appointment Appt. Appt. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 53 ιαφορετικοί αλλά ισοδύναμοι τρόποι απεικόνισης μιας ακμής Receive Invoice Make Payment Receive Invoice A A Make Payment connectors Receive Invoice Make Payment Object flow Receive Invoice Make Payment Pins (can be used to denote transformations) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 54 27

Παραδείγματα ανάλυσης μιας δραστηριότητας Receive order Receive order Receive order Get Item Compute Cost Process Ship Send bill Ship Send bill Τι λείπει? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 55 Παραδείγματα ανάλυσης μιας δραστηριότητας Περιοχές Επέκτασης (Expansion Regions) Receive order Receive order : :LineItem collection type collection input scalar type Get Item Compute Cost Get Item Compute Cost Ship Send bill :Product :Money :Shipment :Bill collection output Expansion Regions: Allow us to model loops (i.e we can illustrate operations performed on a set of elements) Ship Send bill U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 56 28

Άλλο ένα παράδειγμα με περιοχές επέκτασης Προετοιμασία ΗΥ351 Choose Topics Prepare Slides Publish slides at ~hy351 Choose Topics Prepare Slides Publish slides at ~hy351 Choose Topics list of topics Collect material from books Collect material from articles Make slides Publish slides at ~hy351 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 57 Περιοχές επέκτασης και Τέρματα Ροής (Flow finals) Υποδηλώνουν το τέλος μια συγκεκριμένης ροής, χωρίς να τερματίζουν όλη τη διαδικασία Choose Topics Collect material from books Collect material from articles Make slides Publish slides at ~hy351 Choose Topics Collect material from books Collect material from articles Make slides [topic not good for hy351] Publish slides at ~hy351 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 58 29

Παράδειγμα: ραστηριότητα Τελική Εξέταση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 59 ραστηριότητα Τελική Εξέταση U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 60 30

ραστηριότητα Τελική Εξέταση προσθήκη partitions U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 61 Παράδειγμα: Ανάληψη Χρημάτων U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 62 31

Σήματα Signals Τα ΔΔρ έχουν ένα ξεκάθαρο σημείο εκκίνησης (start point) Που μπορεί να είναι η κλήση ενός προγράμματος ή μιας ρουτίνας Μπορούμε όμως να έχουμε και actions που ανταποκρίνονται σε σήματα Τύποι Σημάτων Χρόνου (Time signal) Μπορεί να υποδηλώνουν το τέλος ενός μήνα, το τέλος του ακαδημαικού έτους, ή το τέλος ενός χιλιοστού του δευτερολέπτου σε έναν ελεγκτή πραγματικού χρονου (real time controller) Λήψης (Accept signal) Αποστολής (Send signals) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 63 Παράδειγμα με Χρονικό Σήμα (Time Signal) 23:00 Full Backup [weekend] Web Site Backup U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 64 32

Παράδειγμα με Σήμα Χρόνου και Σήμα Αποδοχής (Time and Accept signals) 4 hours before flight Pack luggage Leave for Airport Taxi arrives U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 65 Παράδειγμα με Σήμα Χρόνου και Σήμα Αποστολής (Example with Time and Send Signal) 23:00 Full Backup Administrator login Do backup Backup [weekend] Web Site Backup U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 66 33

Παράδειγμα με Σήμα Χρόνου και Σήμα Αποστολής(2) (Example with Time and Send Signal) 23:00 Full Backup Administrator login Do backup Backup [weekend] Web Site Backup What s the difference? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 67 Περιγραφή των Ζεύξεων Join specifications Λογικές εκφράσεις (boolean) μπορούν να προσδεθούν στις ζεύξεις Boolean expressions attached to joins Choose Drink D Deliver Drink Insert Coins C [value of C > value of D] U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 68 34

Παράδειγμα Τι περιγράφει; U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 69 Example Library. Source: http://odlskopje.etf.ukim.edu.mk/umlhelp/html/images/day05/activitymem ber.gif U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 70 35

U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 71 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 72 36

Μοντελοποίηση Επιχειρηματικών ιαδικασιών με ιαγράμματα ραστηριοτήτων ιαγράμματα ραστηριότητας και Μεθοδολογίες Ανάπτυξης Πληροφοριακών Συστημάτων Αντικειμενοστρεφείς Μεθοδολογίες (Object-Oriented Methodologies) Τα Διαγράμματα Δραστηριοτήτων χρησιμοποιούνται για να μοντελοποιήσουν τη συμπεριφορά μιας επιχειρηματικής δραστηριότητας ανεξάρτητα από τα αντικείμενα Δομημένες Μεθοδολογίες (Structured Methodologies) Θα μπορούσαν να θεωρηθούν ως σύνθετα διαγράμματα ροής δεδομένων τα οποία χρησιμοποιούνται σε συνδυασμό με την δομημένη ανάλυση (structured analysis) Αρχικά η Αντικειμενοστρεφής Αν&Σχ δεν περιελάμβανε Διαγράμματα Δραστηριοτήτων (αλλά μόνο Περιπτώσεις Χρησης) Σήμερα η τάση είναι να φτιάχνουμε μερικά από τις απαιτήσεις αφού συχνά βοηθούν την επικοινωνία με τον πελάτη Δεν πρέπει όμως να υπερβάλλουμε και να καταλήξουμε να κάνουμε αναλυτική αποσύνθεση λειτουργιών (functional decomposition) Στις περισσότερες περιπτώσεις κάθε δραστηριότητα θα συσχετισθεί με μια Περίπτωση Χρήσης U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 74 37

Πότε πρέπει και πότε δεν πρέπει να χρησιμοποιούμε ιαγράμματα ραστηριότητας Πότε πρέπει Για κατανόηση και εικονογράφηση των επιχειρηματικών ροών (business workflow) Για εικονογράφηση της ροής δραστηριοτήτων σε μια Περίπτωση χρήσης Για μοντελοποίηση πολυνηματικού (multithreaded) προγραμματισμού Για μοντελοποίηση ενός σύνθετου σειριακού αλγορίθμου (flow chart) Πότε δεν πρέπει Για περιγραφή του τρόπου συνεργασίας των αντικειμένων (τότε χρησιμοποιούμε Interaction Diagrams) Για περιγραφή του τρόπου συμπεριφοράς ενός αντικειμένου κατά τη διάρκειας της ύπαρξης του (τότε χρησιμοποιούμε State Diagram) Για περιγραφή σύνθετων αποφάσεων με πολλές συνθήκες (τότε καλύτερα να χρησιμοποιήσουμε έναν Πίνακα Αλήθειας) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 75 Οδηγίες για τη σύνταξη ιαγραμμάτων ραστηριοτήτων Βήματα: 1/ Καθορισμός της εμβέλειας του διαγράμματος 2/ Καθορισμός τίτλου διαγράμματος 3/ Αναγνώριση των δραστηριοτήτων και της ροής ελέγχου μεταξύ αύτών 4/ Αναγνώριση πιθανών αποφάσεων που αφορούν τη διαδικασία που μοντελοποιείται 5/ Εντοπισμός ενδεχομένης παραλληλίας στη διαδικασία 6/ Ζωγράφισμα του διαγράμματος Άλλες συμβουλές: προσπαθήστε να ελαχιστοποιήσετε τις διασταυρώσεις και βελτιώστε την αναγνωσιμότητα του διαγράμματος Βεβαιωθείτε για την ορθότητα των «θαυματουργών» (miracle) δραστηριοτήτων (αυτών χωρίς είσοδο και των «μαύρων οπών» (δραστηριότητες χωρίς έξοδο) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 76 38

Πηγές Systems Analysis and Design with UML Version 2.0 (2nd edition) by A. Dennis, B. Haley Wixom, D. Tegarden, Wiley, 2005. CHAPTER 6 UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) by Martin Fowler, Addison Wesley, 2004. Chap. 11 (2nd edition: Chapter 9.) The Unified Modeling Language User Guide (2nd edition) by G. Booch, J. Rumbaugh, I. Jacobson, Addison Wesley, 2004, Chap 20 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2006 77 39