CS 351: Information Systems Analysis and Design

Σχετικά έγγραφα
CS 351: Information Systems Analysis and Design. Why we model?

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

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

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

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

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

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

Instruction Execution Times

Test Data Management in Practice

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

The Simply Typed Lambda Calculus

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

TMA4115 Matematikk 3

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

Business English. Ενότητα # 9: Financial Planning. Ευαγγελία Κουτσογιάννη Τμήμα Διοίκησης Επιχειρήσεων

Assalamu `alaikum wr. wb.

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

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

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

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

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

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Advanced Subsidiary Unit 1: Understanding and Written Response

the total number of electrons passing through the lamp.

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

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

Συντακτικές λειτουργίες

Section 9.2 Polar Equations and Graphs

Approximation of distance between locations on earth given by latitude and longitude

SOAP API. Table of Contents

Paper Reference. Paper Reference(s) 1776/04 Edexcel GCSE Modern Greek Paper 4 Writing. Thursday 21 May 2009 Afternoon Time: 1 hour 15 minutes

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

Démographie spatiale/spatial Demography

Section 1: Listening and responding. Presenter: Niki Farfara MGTAV VCE Seminar 7 August 2016

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

Lecture 2. Soundness and completeness of propositional logic

derivation of the Laplacian from rectangular to spherical coordinates

14 Lesson 2: The Omega Verb - Present Tense

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

2 Composition. Invertible Mappings

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

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

Example Sheet 3 Solutions

Introduction to Object-Oriented Analysis and Design

The challenges of non-stable predicates

Section 8.3 Trigonometric Equations

Παλεπηζηήκην Πεηξαηώο Τκήκα Πιεξνθνξηθήο Πξόγξακκα Μεηαπηπρηαθώλ Σπνπδώλ «Πξνεγκέλα Σπζηήκαηα Πιεξνθνξηθήο»

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

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Modbus basic setup notes for IO-Link AL1xxx Master Block

Every set of first-order formulas is equivalent to an independent set

[1] P Q. Fig. 3.1

Homework 3 Solutions

Οδηγίες χρήσης. Registered. Οδηγίες ένταξης σήματος D-U-N-S Registered στην ιστοσελίδα σας και χρήσης του στην ηλεκτρονική σας επικοινωνία

CYTA Cloud Server Set Up Instructions

Block Ciphers Modes. Ramki Thurimella

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

TaxiCounter Android App. Περδίκης Ανδρέας ME10069

Right Rear Door. Let's now finish the door hinge saga with the right rear door

Potential Dividers. 46 minutes. 46 marks. Page 1 of 11

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

Γιπλυμαηική Δπγαζία. «Ανθπυποκενηπικόρ ζσεδιαζμόρ γέθςπαρ πλοίος» Φοςζιάνηρ Αθανάζιορ. Δπιβλέπυν Καθηγηηήρ: Νηθφιανο Π. Βεληίθνο

ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΑΝΑΛΥΣΗ

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

Chapter 2 * * * * * * * Introduction to Verbs * * * * * * *

Modern Greek Extension

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

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

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

Living and Nonliving Created by: Maria Okraska

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΒΑΛΕΝΤΙΝΑ ΠΑΠΑΔΟΠΟΥΛΟΥ Α.Μ.: 09/061. Υπεύθυνος Καθηγητής: Σάββας Μακρίδης

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

Στεγαστική δήλωση: Σχετικά με τις στεγαστικές υπηρεσίες που λαμβάνετε (Residential statement: About the residential services you get)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ & ΠΛΗΡΟΦΟΡΙΚΗΣ. του Γεράσιμου Τουλιάτου ΑΜ: 697

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

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

Οδηγίες χρήσης υλικού D U N S Registered

Architecture οf Integrated Ιnformation Systems (ARIS)

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Other Test Constructions: Likelihood Ratio & Bayes Tests

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

Math 6 SL Probability Distributions Practice Test Mark Scheme

ΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΣΤΗ ΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ. ιπλωµατική Εργασία. της ΘΕΟ ΟΣΟΠΟΥΛΟΥ ΕΛΕΝΗΣ ΜΣ:5411

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια

Ρηματική άποψη. (Aspect of the verb) Α. Θέματα και άποψη του ρήματος (Verb stems and aspect)

4.6 Autoregressive Moving Average Model ARMA(1,1)

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

Code Breaker. TEACHER s NOTES

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

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

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

Προσωπική Aνάπτυξη. Ενότητα 2: Διαπραγμάτευση. Juan Carlos Martínez Director of Projects Development Department

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

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

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

Οι αδελφοί Montgolfier: Ψηφιακή αφήγηση The Montgolfier Βrothers Digital Story (προτείνεται να διδαχθεί στο Unit 4, Lesson 3, Αγγλικά Στ Δημοτικού)

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

Transcript:

HY 351: Ανάλυση και Σχεδίαση Πληροφοριακών Συστηµάτων CS 351: Information Systems Analysis and Design Functional Modeling Lecture : 8 Date : 20-10-2005 Yannis Tzitzikas University of Crete, Fall 2005 Outline Why we model? Functional Modeling UML Diagrams for functional modeling Activity Diagrams Use Case descriptions and Use Case Diagrams U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 2

Τι είναι µοντέλο και γιατί µοντελοποιούµε Μοντέλο: Μια αφαίρεση (απλούστευση) της πραγµατικότητας εστιάζει στα σηµαντικά, κρύβει τις άσχετες πλευρές και τις δευτερεύουσας σηµασίας λεπτοµέρειες Γιατί µοντελοποιούµε; Ένα µοντέλο µας επιτρέπει την καλύτερη κατανόηση ενός συστήµατος Συνήθως φτιάχνουµε µοντέλα σύνθετων συστηµάτων τα οποία δεν µπορούµε να κατανοήσουµε στην πληρότητα τους (ένεκα των περιορισµένων µας αντιληπτικών και διανοητικών ικανοτήτων) Μοντελοποιώντας περιορίζουµε το πρόβληµα εστιάζοντας σε επιµέρους πλευρές του συστήµατος (διαίρει και βασίλευε) και κλίµακες αφαίρεσης. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 3 Βασικές Αρχές Μοντελοποίησης Η επιλογή του τύπου µοντέλου καθορίζει τον τρόπο µελέτης του συστήµατος και τη µορφή της λύσης που θα επιτευχθεί. Αντί αρχιτεκτονικού σχεδίου, µαθηµατικές φόρµουλες πίεσης στους πυλώνες Κάθε µοντέλο µπορεί να παρασταθεί σε διαφορετικά επίπεδα ακρίβειας Καλά µοντέλα είναι εκείνα που συνδέονται µε την πραγµατικότητα Κανένα µοντέλο από µόνο του δεν είναι επαρκές. Κάθε µη τετριµµένο σύστηµα προσεγγίζεται καλύτερα από ένα (σχετικά µικρό) σύνολο ανεξάρτητων µοντέλων από διαφορετικές σκοπιές. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 4

Μοντελοποίηση στην Ανάλυση και Σχεδίαση Πλ. Συστηµάτων Μοντελοποίηση στην Ανάλυση και Σχεδίαση Πλ. Συστ.: Βοηθά την οπτικοποίηση ενός (υπαρκτού ή προς κατασκευή) συστήµατος Βοηθά την προδιαγραφή της δοµής ή συµπεριφοράς ενός συστήµατος Αποτελεί οδηγό για την κατασκευή ενός συστήµατος Τεκµηριώνει τις αποφάσεις που έχουµε πάρει U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 5 Modeling in IS Analysis and Design High level business requirements described in the system request Requirements determination Detailed list of more precise requirements modeling Functional/Structural/Behavioral modeling of the system U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 6

What is Functional Modeling? Its objective is to describe: the business processes and the interaction of an information system with its environment U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 7 How we model functions in OO Analysis and Design? Usually we employ two types of (UML) models: Activity Diagrams allow the logical modeling of business processes and workflow Use Cases and Use Case Diagrams allow the logical description of the basic functions of the information system w.r.t. its environment Remarks: They are both logical, I.e. they do not specify how the modeled functions will be designed and implemented in the real system We could use them in order to describe not only the new system, but also the existing one. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 8

What is the difference between Activity Diagrams and Use Cases? Activity Diagrams we use them to model the internal functional view of the system how the business system operates Use Cases we use them to model the external functional view of the system how it interacts with its environment (users) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 9 An organization U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 10

Activity Diagrams can model the business processes of the organization Receive Order Display Current Computer Get Order Request Fill Order Send Invoice [ timeout ] Display Purchase Form [ rush order ] Overnight Delivery [ else ] Regular Delivery Get Purchase Details [ incomplete ] [ OK ] Store Order Receive Payment Email Order Details Close Order End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 11 Use Cases can model the interaction between the IS and its environment use case use case use case Information System use case U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 12

Activity Diagrams What can we model with Activity Diagrams? They could be used to model any process from a high level business process to the flow of control of a method They are like flow charts with the extra ability to represent parallelism, concurrency and complex decisions. They combine ideas from several techniques (not from 3 amigos) like event diagrams, SDL state modeling, workflow modeling, Petri Nets U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 14

Activities and Activity Diagrams Activity (or activity state) is a state of doing something: either a real-world process (typing a letter) or the execution of a software routine it could represent a manual or computerised activity each activity has a name usually: Verb + Noun (e.g. Set Appointment, Receive Order ) Activities vs Actions Actions: non decomposable Activities: can be decomposed into a set of activities and/or actions. Activity Diagram describes the sequencing of activities with support of both conditional and parallel behaviour U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 15 An Activity Diagram Managing Orders Receive Order start activity fork (parallel behaviour) Fill Order Send Invoice branch condition [ rush order ] [ else ] Overnight Delivery Regular Delivery merge Receive Payment Close Order join (end of parallel behaviour, synchronization point) End end U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 16

An Activity Diagram Managing Orders Receive Order Fill Order Send Invoice [ rush order ] Overnight Delivery Deliver Order [ else ] Regular Delivery Receive Payment This means that it has been decomposed Close Order End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 17 Another Activity Diagram Hospital>Appointment System 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 2005 18

Another Example with conditional thread Prepare Dinner Cook Spaghetti Mix Carbonara Sauce Open Red Wine [desire for wine] Combine U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 19 Swimlanes Activity diagrams describe what happens but not who does what it does not say which agent (or class) is responsible for what Receive Order Fill Send Order Invoice Management [ rush order ] Overnight Delivery [ else ] Regular Delivery Receive Payment? Customer Service Shipment Finance Close Order End => Swimlanes arrange the activity diagram in vertical zones. Each zone represent the responsibilities of a particular agent or class. V.2: Partitions U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 20

Swimlanes (example) Shipment Customer service Finance Managing Orders Receive Order Fill Order Send Invoice [ rush order ] [ else ] Overnight Delivery Regular Delivery Receive Payment Close Order End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 21 Object flow Get Patient Info [old patient] [new patient] Create new patient Make payment arrangements Create appointment Cancel Appointment Change Appointment How can also show the objects that are in involved in the flow of control? U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 22

Adding Object Flow Hospital>Appointment System Get Patient Info [new patient] [old patient] Create new patient Appt. Request Info Appt. Request Info Make payment arrangements Create appointment Cancel Appointment Change Appointment Appt. Appt. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 23 Different but equivalent ways to show an edge Receive Invoice Make Payment Receive Invoice A A Make Payment connectors Receive Invoice Order 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 2005 24

Examples of analyzing an activity Receive order Receive order Receive order Get Item Compute Cost Process Order Ship Order Send bill Ship Order Send bill Something is missing here! U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 25 Examples of analyzing an activity Expansion Regions Receive order Receive order :Order :LineItem collection type collection input scalar type Get Item Compute Cost Get Item Compute Cost Ship Order 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 Order Send bill U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 26

Another example with expansion regions Prepare HY351 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 2005 27 Expansion Regions and Flow finals Indicate the end of a particular flow without terminating the whole activity 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 2005 28

Signals Activity diagrams have a clearly defined start point which could be the invocation of a program or routine However, we could also have actions that respond to signals. Types of Signals Time signal may indicate the end of a month, the end of a financial period, or the end of each microsecond in a real time controller Accept signal Send signals U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 29 Example with Time Signal 23:00 Full Backup [weekend] Web Site Backup U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 30

Example with 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 2005 31 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 2005 32

Example with Time and Send Signal (2) 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 2005 33 Join specifications U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 34

Join specifications 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 2005 35 Παράδειγµα Εντολή Παραγγελίας [timeout] Εµφάνιση ελτίου Παραγγελίας Συµπλήρωση ελτίου Παραγγελίας [ατελή στοιχεία] Αποθήκευση Παραγγελίας Αποστολή Email µε τα στοιχεία της παραγγελίας U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 36

Business Process Modeling with Activity Diagrams Activity Diagrams and IS Development Methodologies Object-Oriented Methodologies Activity diagrams are used to model the behaviour in a business process independent of the objects Structured Methodologies They could be considered as sophisticated data flow diagrams (that are used in conjunction with structured analysis) Αρχικά η Αντικειµενοστρεφής Αν&Σχ δεν περιελάµβανε ιαγράµµατα ραστηριοτήτων (αλλά µόνο Περιπτώσεις Χρησης) Σήµερα η τάση είναι να φτιάχνουµε µερικά από τις απαιτήσεις αφού συχνά βοηθούν την επικοινωνία µε τον πελάτη εν πρέπει όµως να υπερβάλλουµε και να καταλήξουµε να κάνουµε αναλυτική αποσύνθεση λειτουργιών (functional decomposition) In most cases each activity will be associated with a use case U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 38

When to use and use not Activity Diagrams When to use activity diagrams for understanding and illustrating business workflow for illustrating the flow of activities in a use case for modeling multithreaded programming for modeling a complicated sequential algorithm (flow chart) When use not activity diagrams for describing how objects collaborate (use Interaction Diagrams instead) for describing how an object behaves over its lifetime (use a State Diagram instead) for representing complex conditional logic (use a Truth Table instead) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 39 Guidelines for Creating Activity Diagrams 1/ Determine the scope of the diagram 2/ Set the title of the diagram 3/ Identify activities and control flows that occur between activities 4/ Identify any decisions that are part of the process being modeled 5/ Identify any prospects for parallelism in the process 6/ Draw the activity diagram Other tips: try to minimize line crossings and enhance readability verify the correctness of miracle activities (those with no input) and black hole activities (those with no output) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 40

Use Cases Use Cases use case use case use case Information System use case U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 42

What we can model with Use Cases? They model the external functional view of the system how it interacts with its environment (e.g. with the users of the system) they describe what the user can do and how the system responds They have become primary element in project development and planning Distinctions Use Cases Use Case Diagrams U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 43 What is a Use Case? Use Case = a set of scenarios tied together by a common user goal Scenario = a sequence of steps describing an interaction (user vs system) E.g.: The customer browses the catalog and adds desired items to the shopping basket. When the customer wishes to pay, the customer describes the shipping and credit card information and confirms the sale. The system checks the authorization on the credit card and confirms the sale both immediately and with a follow-up email. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 44

Contents and Format of a Use Case A UC usually contains: a common all-goes-well scenario alternatives that may include things going well alternative ways that things go well The format for a UC sequence of numbered steps alternatives as variations of that sequence [ add a line for preconditions (that should be true when the UC can start) ] How detailed a UC should be? The more risk the more detail we need U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 45 An example Use Case description 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 2005 46

Types of Use Cases Overview vs Detail Overview Use Cases: high level, specified at the beginning of the project, very brief Detailed Use Cases refine and specify exactly overview use cases Essential vs Real Essential Use Cases (implementation independent) describe the minimum essential issues necessary to understand the functionality (else called Business Use Cases) Real Use Case describe specific set of steps (e.g. the secretary can add an MS Office doc to the repository and then search..) (else called System Use Cases) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 47 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 2005 48

Παράδειγµα: Κλείσιµο Ιατρικού Ραντεβού (1/3) Όνοµα Περίπτωσης Χρήσης: Κλείσιµο Ραντεβού Αριθµός: 2 Σπουδαιότητα: Υψηλή Κύριος ράστης: Ασθενής ΤύποςΠερ. Χρήσης: Αναλυτική, Ουσιώδης Εµπλεκόµενοι και Στόχοι: Ασθενής: θέλει να ορίσει, αλλάξει ή ακυρώσει ένα ιατρικό ραντεβού Σύντοµη Περιγραφή: Ο ασθενής θέλει να ορίσει, αλλάξει ή ακυρώσει ένα ιατρικό ραντεβού Ερέθισµα (συµβάν ενεργοποίησης): Ο ασθενής συνδέεται και επιλέγει ΡΑΝΤΕΒΟΥ Τύποςερεθίσµατος: Εξωτερικό Σχέσεις: Συσχέτιση (association) Περιλαµβάνει (include) Επεκτείνει (extend) Εξειδικεύει (generalizaiton) : : Ασθενής : «ιευθέτηση Τρόπου Πληρωµής» : «ηµιουργία Νέου Ασθενούς» U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 49 Παράδειγµα: Κλείσιµο Ιατρικού Ραντεβού (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 2005 50

Παράδειγµα: Κλείσιµο Ιατρικού Ραντεβού (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 2005 51 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 2005 52

Use Case Diagrams Use Case Diagrams Purpose: For visualising several Use Cases (now part of UML) However they are not necessary (in order to use UC) A Use Case Diagram is a graph having as nodes: Actors Use Cases and edges: between Actors and Use Cases, and between Use Cases include, ISA, extend U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 54

Use Case Diagrams > Actors AddTask ToDo User FileSystem Actors carry out Use Cases Remove Task Actor = role a user plays with respect to the system A user may play a lot of roles Actors are not always humans: can be an external system that needs some information from the current system Hints The number of actors is subjective A method that helps us identify use cases is to think about the external events (from outside world) to which we want to react U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 55 Use Case Diagram Boundary of the system Taken from Volere Requirements Specification Document U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 56

Use Case Diagrams > UC Relationships Include UC UC to avoid describing the same chunk of behaviour many times, or to avoid copy-paste ISA UC UC the specialized can override any part of the base UC, although it should still be about the same essential user goal extend UC UC like ISA. The extending UC may add additional behaviour but only on declared extension points of the base UC U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 57 Example: Generalization Validate User isa Check Password Retinal Scan U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 58

Example: Generalization + Include Place Order «include» Validate User isa Check Password Retinal Scan U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 59 Example: Generalization + Include + Extend Place Order extension points set priority «include» Validate User «extend» (set priority) Place Rush Order 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 2005 60

Use Case Diagram for an Appointment System Appointment System Make appointment Patient Management Produce schedule information Doctor Record Availability U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 61 Use Case Diagram for an Appointment System 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 2005 62

Use Case Diagram for an Appointment System adding «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 2005 63 Use Case Diagram for an Appointment System adding «Isa» and «extend» Appointment System Make payment arrangements «extend» Make appointment Patient Management Produce schedule information «include» Manage schedule Make old pat. app Make new pat. app «include» New Patient Record Availability «include» Create new pat. Old Patient Doctor U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 64

Another Example Add Student (from Use Cas e View) Delete Student <<extend>> (f rom Us e Case View) Lecturer <<include>> Find Student (f rom Use Case View) (from Use Case View) Amend Student (from Use Case View) <<include>> Check Grades (from Use Case View) Student (from Use Case View) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 65 Another example Trading Manager Set Limits <<include>> Accounting System Update Accounts <<include>> Valuation Analyze Risk Trader Price Deal Capture Deal SalesPerson Limits Exceeded U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 66

Creating Use Cases and Use Case Diagrams Methodological Issues One could first start by defining the Use Case Diagram and then describe each Use Case How many Use Cases should we define? For one10-person year project 12 Use Cases U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 68

Steps in Writing Use Cases A/ Identify the major UCs B/ Expand the major UCs C/ Confirm 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 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 D/ Create the UC diagram 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 2005 69 Some Advantages of Use Cases Instead of having to model or understand the functioning of the entire organization, we try to understand and study each Use Case separately We can exploit Use Cases in order to estimate the time and effort needed to design and implement the system Project managers can control the progress of the project by inspecting the progress of each individual Use Case U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 70

Reading and References 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 2005 71