Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Φθινόπωρο 2007 HΥ351 Ανάλυση και Σχεδίαση Πληροφοριακών Συστημάτων Information Systems Analysis and Design Activity Diagrams Examples and Enterprise Architect v6.5 Διαγράμματα Δραστηριοτήτων Διάρθρωση φροντιστηρίου Επανάληψη Παραδείγματα Διαγραμμάτων Pins and Transformations Παραδείγματα Συχνών Λαθών 1
Σύντομη Επανάληψη Activity (or activity state) Είναι μια κατάσταση πράττειν (state of doing something): στον πραγματικό κόσμο(π.χ. πλήκτριση ενός γράμματος) στον υπολογιστή (π.χ. εκτέλεση μιας ρουτίνας λογισμικού) Μπορεί να παριστάνει μια χειρονακτική ή μια αυτοματοποιημένη δραστηριότητα Κάθε δραστηριότητα έχει ένα όνομα Παραδείγματα ονομάτων: Λήψη Παραγγελίας, Κράτηση Ραντεβού, κλπ. Activity Diagram Περιγράφει την ακολουθία των δραστηριοτήτων και υποστηρίζει συνθήκες και παραλληλία Τα γραφικά δομικά στοιχεία ενός διαγράμματος δραστηριότητας Activity act UseCase Activ ity States Initial Final Flow Final act UseCase act UseCase act UseC... Partition FlowFinal Decision / Merge Region act Us... act UseCase «iterativ e» ExpansionRegion1 Send Receive Fork/Join act UseCase act UseCase act UseCase Event1 Event1 2
Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο Δημιουργία νέου τραπεζικού λογαριασμού Θέλουμε να αναπτύξουμε ένα σύστημα που να επιτρέπει το άνοιγμα τραπεζικών λογαριασμών σε πελάτες της τράπεζας που ήδη έχουν πιστωτική κάρτα η οποία μάλιστα είναι συνδεδεμένη με έναν λογαριασμό τράπεζας. Ο λογαριασμός αυτός πρέπει να έχει υπόλοιπο τουλάχιστον 150 Ευρώ. Αλλιώς το άνοιγμα νέου τραπεζικού λογαριασμού απορρίπτεται. 3
Δημιουργία νέου τραπεζικού λογαριασμού act Δημιουργία νέου τραπεζικού λογαριασμού Στοιχεία πιστωτικής κάρτας Επαρκές υπόλοιπο Είδος λογαριασμού [τραπεζικός] [ταμι ευτηρίου] Δημιουργία τραπεζικού λογαριασμού Δημιουργία Λογαριασμού Ταμιευτηρίου Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο 4
Εγκατάσταση εφαρμογής Εκφράστε με διάγραμμα δραστηριότητας τον κλασσικό διάλογο των συστημάτων αυτόματης εγκατάστασης λογισμικού. Εγκατάσταση εφαρμογής act Εγκατάσταση εφαρμογής Εμφάνιση Όρων Χρήσης Αποδοχή Φακέλου Προορισμού Υπάρχει Δημιουργία Φακέλου Επαρκεί Έλεγχος διαθέσιμου χώρου Αν τιγραφή αρχείων 5
Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο δείπνου Εκφράστε με διάγραμμα δραστηριότητας το πρόβλημα απόφασης για το σημερινό δείπνο. Αν αποφασίσουμε να φάμε μέσα να περιγραφεί στο διάγραμμα η διαδικασία προετοιμασίας του γεύματος. 6
δείπνου act δείπν ου Μέσα στο σπίτι συν ταγής Συλλογή υλικών Προετοιμασία δείπν ου Προετοιμασία τραπεζιού εστιατορίου Έχει Μετακίνηση στο εστιατόριο Γεύμα Κράτηση θέσης Αρέσει Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο 7
Ανάληψη μετρητών από ΑΤΜ act Αν άληψη Χρημάτων από ΑΤΜ Εισαγωγή PIN Εισαγωγή Ποσού Επαρκεί υπηρεσίας Αν άληψης Προκαθορισμένο Ποσό Έλεγχος υπολοίπου προκαθορισμένου Παραλαβή χρημάτων Παραλαβή κάρτας Παραλαβή απόδειξης Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο 8
Κράτηση αεροπορικού εισιτηρίου Πρωταρχικό σενάριο χρήσης: 1. Ο πελάτης συνδέεται στο σύστημα. 2. Ο πελάτης επιλέγει τον τόπο αναχώρησης. 3. Ο πελάτης επιλέγει την ημερομηνία αναχώρησης. 4. Ο πελάτης επιλέγει τον αριθμό των επιβατών 5. Το σύστημα εμφανίζει τις διαθέσιμες πτήσεις και τα στοιχεία τους. 6. Ο πελάτης επιλέγει την πτήση που τον ενδιαφέρει. 7. Το σύστημα παρουσιάζει την πλήρη πληροφορία τιμολόγησης. 8. Ο πελάτης εισάγει τα στοιχεία του και επιλέγει τον τρόπο πληρωμής 9. Το σύστημα επιβεβαιώνει την κράτηση θέσης. 10.Ο πελάτης αποσυνδέεται από το σύστημα. Κράτηση αεροπορικού εισιτηρίου Εναλλακτικές περιπτώσεις: Εναλλακτικό σενάριο: πτήσης allez-retour Στο βήμα 2, ο πελάτης επιλέγει τύπο πτήσης allez-retour. Να επιτραπεί στον πελάτη να εισάγει και τόπο άφιξης καθώς και ημερομηνία άφιξης. Εναλλακτικό σενάριο: Μη ύπαρξη απαιτούμενων κενών θέσεων σε μια πτήση Στο βήμα 6, να επιτραπεί στον πελάτη να επιλέξει διαφορετική πτήση για κάθε επιβάτη. Εναλλακτικό σενάριο: τρόπου πληρωμής 7α: Ο πελάτης επιλέγει σαν τρόπο πληρωμής τα μετρητά. Το σύστημα ενημερώνει τον πελάτη πως πρέπει να γίνει η αγορά του εισιτηρίου από ένα πρακτορείο μέχρι μια συγκεκριμένη ημερομηνία αλλιώς χάνεται η κράτηση. 7β: Ο πελάτης επιλέγει σαν τρόπο πληρωμής την πιστωτική κάρτα. Το σύστημα ζητά από τον πελάτη να εισάγει τα στοιχεία της πιστωτικής κάρτας. Εναλλακτικό σενάριο: Αποτυχία επιβεβαίωσης κράτησης θέσης Στο βήμα 8 το σύστημα αποτυγχάνει να εγκρίνει την πίστωση για την αγορά. Να επιτραπεί στον πελάτη να ξαναδώσει τα στοιχεία της πιστωτικής του κάρτας. 9
Κράτηση αεροπορικού εισιτηρίου act Κράτηση Θέσης Σύν δεση στο σύστημα Σωστά στοιχεία τόπου αν αχώρησης Καταληκτική ημερομην ία αγοράς κάρτας Εν ημέρωση λανθασμένων στοιχείων ημερομην ίας αν αχώρησης Πληρωμή με μετρητά Εισαγωγή στοιχείων πιστωτικής κάρτας One Way τόπου άφιξης Εισαγωγή στοιχείων πελάτη ημερομην ίας άφιξης Εισαγωγή αριθμού επιβατών «iterativ e» Υπάρχουν κενές θέσεις Εμφάνιση πτήσεων με πτήσης Αποδεκτή επιλογή κενές θέσεις FlowFinal Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο 10
Αποστολή SMS Πρωταρχικό σενάριο χρήσης: 1. Ο χρήστης ανοίγει του μενού της συσκευής και επιλέγει τη συγγραφή νέου μηνύματος. 2. Ο χρήστης πληκτρολογεί το περιεχόμενο του μηνύματος. 3. Ο χρήστης επιλέγει τους παραλήπτες είτε πληκτρολογώντας των αριθμό τους είτε επιλέγοντας κάθε παραλήπτη από τη λίστα. 4. Αν πρόκειται για απάντηση σε μήνυμα ο πρωτεύον παραλήπτης έχει ήδη προεπιλεγεί. 5. Το σύστημα υπολογίζει τη χρέωση με βάση το είδος της συνδρομής του χρήστη και με βάση την τιμολογιακή πολιτική. 6. Γίνεται η χρέωση στο χρήστη. 7. Αν η χρέωση είναι αποδεκτή (δηλαδή δεν έχει ξεπεραστεί κάποιο όριο που έχει οριστεί από τη συνδρομή όπως υπάρχουν αρκετές μονάδες στο χρήστη) η αποστολήολοκληρώνεται. 8. Επιβεβαίωση λήψης μηνύματος. Αποστολή SMS Εναλλακτικές περιπτώσεις: Εναλλακτικό σενάριο: απάντησης / προώθησης μηνύματος Στο βήμα 1: Ο χρήστης επιλέγει το μήνυμα στο οποίο θέλει να απαντήσει. Ο χρήστης επιλέγει αν στην απάντηση θέλει να συμπεριλάβει το παλιό μήνυμα ή όχι Ο χρήστης πληκτρολογεί το επιπλέον περιεχόμενο του μηνύματος Εναλλακτικό σενάριο: Αποτυχία αποστολής μηνύματος Στο βήμα 7 ο χρήστης ενημερώνεται πως η διαδικασία δεν μπορεί να ολοκληρωθεί. Αν θέλαμε να είμαστε πιο τυπικοί και συγκεκριμένοι, τότε θα μπορούσαμε να το εκφράσουμε με ένα activity diagram της μορφής: 11
Αποστολή SMS act Αποστολή SMS Νέο Μήνυμα μην ύματος προς απάν τηση να συμπεριληφθεί Σύν ταξη περιεχομέν ου προσθήκη αρχι κού περιεχόμενου "Quote" παλαιό μήν υμα «iterative» επιλογή παραλήπτη ήδη επαφή επαφής Εισαγωγή αριθμού Υπολογισμός κόστους μην ύματος Έλεγχος χρέωσης Επαρκές υπόλοιπο Αποστολή μην ύματος Επιβεβαίωση παραλαβής μην ύματος Ενημέρωση αποτυχίας αποστολής Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο 12
Εγγραφή Φοιτητή Θεωρείστε τη δραστηριότητα εγγραφής φοιτητών, η οποία λαμβάνει χώρα στην αρχή κάθε ακαδημαϊκού εξαμήνου, και υποθέστε ότι ζητείται η κατασκευή ενός πληροφοριακού συστήματος για την στήριξη αυτής της δραστηριότητας. Να συντάξετε το διάγραμμα δραστηριοτήτων για αυτό το σκοπό. Να λάβετε υπ' όψη σας τόσο τις απαιτήσεις της πρώτης εγγραφής, όσο και των επομένων. Να προβλέψετε την δυνατότητα ηλεκτρονικής εγγραφής από απόσταση. Να προβλέψετε, ακόμη, την δυνατότητα "προεγγραφής", η οποία θα εξυπηρετεί την εκτίμηση πληθυσμού στα μαθήματα. Εγγραφή φοιτητή act Εγγραφή φοιτητή Νέος χρήστης Δημιουργία λογαριασμού «iterative» Επικυρώθηκε Τύπος Είσοδος [φοιτητής] Εμφάνιση φοιτητικού μητρώου Προεγγραφή Εμφάνιση διαθέσιμου μαθήματος Επικύρωση FlowFinal Προσθήκη μαθήματος [γραμματεία] Καθορισμός ΑΜ μαθήματος Ικανοποίηση προαπαιτουμένων Αποθήκευση Αποθήκευση 13
Παραδείγματα Δημιουργία νέου τραπεζικού λογαριασμού Εγκατάσταση νέας εφαρμογής δείπνου Ανάληψη χρημάτων από ΑΤΜ Κράτηση αεροπορικού εισιτηρίου Αποστολή SMS Εγγραφή φοιτητή Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο Καλείστε να σχεδιάσετε ένα σύστημα που να υποστηρίζει τη διαδικασία οργάνωσης του προγράμματος ενός επιστημονικού συνεδρίου. Συζητάτε με τον υπεύθυνο προγράμματος του συνεδρίου ο οποίος σας λέει: Αμέσως μετά την εκπνοή της προθεσμίας υποβολής άρθρων τα άρθρα που έχουν υποβληθεί πρέπει να κατανεμηθούν στους κριτές του συνεδρίου. Κάθε κριτής κατόπιν κρίνει τα άρθρα που του έχουν εκχωρηθεί και εισηγείται αποδοχή ή απόρριψη. Μόλις περατωθεί η διαδικασία κρίσης από τον κάθε κριτή καταρτίζεται η λίστα των άρθρων που έγιναν δεκτά και δημοσιεύεται στο διαδίκτυο. Εκφράστε την παραπάνω διαδικασία με Διάγραμμα Δραστηριοτήτων. 14
Διαδικασία ς Άρθρων προς παρουσίαση σε ένα επιστημονικό συνέδριο Allocate papers to reviewers «concurrent» [accept] Review paper Deadline for submission Collection of submitted papers [reject] When have multiple tokens, flow can stop without activity stopping Flow final indicates termination of flow, not activity Time signal Deadline for submission triggers allocation of submitted papers to reviewers Each paper is reviewed by a reviewer and either accepted or rejected Reviewing done in parallel indicated by keyword, <<concurrent>> If paper rejected, ends flow; otherwise, token added to output collection Output collection passed to Publish accepted papers Expansion region acts as a filter Collection of accepted papers Publish accepted papers Pins and Transformations 15
Pins and transformations Actions can have parameters. We can use pins to show them. Output parameters must match input parameters If don t match, we can indicate transformation to get from one to the other Transformation must be query on output pin parameter that generates object of right type (class) for input pin Pins are optional use to show data used and produced by actions. If using pins, then can have multiple in-coming flows to an action (which are implicitly joined) Pins and transformations: Example Cancel Appointment «transformation» appointment.cancellationnotice appointment «transformation» appointment.patient message Notify Patient patient Pins are optional use to show data used and produced by actions. If using pins, then can we have multiple in-coming flows to an action (which are implicitly joined) 16
Παραδείγματα Συχνών Λαθών act Δημιουργία νέου τραπεζικού λογαριασμού Επαρκές υπόλοιπο Στοιχεία πιστωτικής κάρτας Το FlowFinal χρησιμοποιείται για να εκφράσει τον τερματισμό μιας επανάληψης σε ένα βρόχο επαναλήψεων. Εδώ θα έπρεπε η άρνηση του κόμβου απόφασης θα έπρεπ να συνδεθεί με το. Απόρριψη αίτησης Είδος λογαριασμού [τραπεζι κός] [ταμιευτηρίου] Δημιουργία τραπεζικού λογαριασμού Δημιουργία Λογαριασμού Ταμιευτηρίου 17
act Αν άληψη Χρημάτων από ΑΤΜ Εισαγωγή κάρτας Εισαγωγή Πελάτης PIN υπηρεσίας Αν άληψης Εισαγωγή ποσού Προκαθορισμένο Ποσό προκαθορισμέν ου Επαρκές υπόλοιπο Παραλαβή χρημάτων Παραλαβή κάρτας Δεν έχουμε κανένα όφελος απότοχρησιμοποιούμε partitions αν τα εγκλεισμένα διαγράμματα είναι ανεξάρτητα. Παραλαβή απόδειξης Επιβεβαίωση Επαρκεί συν αλλαγής Έλεγχος υπολοίπου Απόρριψη συναλλαγής Σύστημα Τράπ act Εγγραφή φοιτητή Νέος χρήστης Δημιουργία λογαριασμού Δεν πρέπει να υπάρχουν «μαύρες οπές», δηλαδή δραστηριότητες που δεν οδηγούν πουθενά «iterativ Είσοδος Τύπος [φοιτητής] Εμφάνιση φοιτητικού μητρώου Εμφάν διαθέσ μαθήμ [γραμματεία] Καθορισμός ΑΜ 18