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

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

Μοντελοποίηση Λειτουργιών (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

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 ο

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

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

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.

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

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

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

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

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

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

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

Section 9.2 Polar Equations and Graphs

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

SOAP API. Table of Contents

derivation of the Laplacian from rectangular to spherical coordinates

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

14 Lesson 2: The Omega Verb - Present Tense

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

2 Composition. Invertible Mappings

Démographie spatiale/spatial Demography

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

Introduction to Object-Oriented Analysis and Design

Example Sheet 3 Solutions

The challenges of non-stable predicates

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

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

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

Section 8.3 Trigonometric Equations

Homework 3 Solutions

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

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

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

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

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

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

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

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

Modern Greek Extension

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

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

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

Living and Nonliving Created by: Maria Okraska

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

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

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

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

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

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

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

Architecture οf Integrated Ιnformation Systems (ARIS)

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

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

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

4.6 Autoregressive Moving Average Model ARMA(1,1)

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

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

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

Τεχνολογία Λογισμικού & Ανάλυση Συστημάτων 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

Other Test Constructions: Likelihood Ratio & Bayes Tests

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

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

Models for Probabilistic Programs with an Adversary

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Πληροφορική»

Fractional Colorings and Zykov Products of graphs

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

Μετανάστευση Σπουδές. Σπουδές - Πανεπιστήμιο. Για να δηλώσετε ότι θέλετε να εγγραφείτε

5.4 The Poisson Distribution.

Math 6 SL Probability Distributions Practice Test Mark Scheme

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

Transcript:

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

[ rush order ] Overnight Fill [ else ] Regular Close End Send Invoice Payment Get Purchase Details Display Current Computer [ timeout ] Display Purchase Form [ incomplete ] [ OK ] Get Request Store Email Details What is Functional Modeling? Its objective is to describe: the business processes and the interaction of an information system with its environment 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 7 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 8 What is the difference between Activity Diagrams and Use Cases? An organization 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 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 10 Activity Diagrams can model the business processes of the organization Use Cases can model the interaction between the IS and its environment Information System U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 11 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 12

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 Activity Diagrams 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 An Activity Diagram 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, ) Activities vs Actions Actions: non decomposable Activities: can be decomposed into a set of activities and/or actions. Managing s branch condition merge Fill [ rush order ] [ else ] Overnight Regular Send Invoice Payment start activity fork (parallel behaviour) Activity Diagram describes the sequencing of activities with support of both conditional and parallel behaviour Close End join (end of parallel behaviour, synchronization point) end U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 15 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 16 An Activity Diagram Another Activity Diagram Managing s Hospital>Appointment System Get Patient Info Fill Send Invoice [old patient] [new patient] Create new patient [ rush order ] [ else ] Overnight Deliver Regular payment arrangements Payment This means that it has been decomposed Close End Create appointment Cancel Appointment Change Appointment U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 17 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 18

[ rush order ] Overnight Fill [ else ] Regular Close End Send Invoice Payment Another Example with conditional thread Prepare Dinner Swimlanes Activity diagrams describe what happens but not who does what it does not say which agent (or class) is responsible for what Cook Spaghetti Mix Carbonara Sauce Open Red Wine [desire for wine]? Customer Service Management Shipment Finance Combine => 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 19 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 20 Swimlanes (example) Object flow Shipment Customer service Finance Managing s Get Patient Info [old patient] [new patient] Create new patient Fill Send Invoice payment arrangements Create appointment Cancel Appointment Change Appointment [ rush order ] [ else ] Overnight Regular Payment How can also show the objects that are in involved in the flow of control? Close End U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 21 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 22 Adding Object Flow Different but equivalent ways to show an edge Hospital>Appointment System Get Patient Info Invoice Payment [new patient] [old patient] Create new patient Invoice A A Payment connectors Appt. Request Info Appt. Request Info payment arrangements Invoice Payment Object flow Create appointment Cancel Appointment Change Appointment Appt. Appt. Invoice Payment Pins (can be used to denote transformations) U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 23 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 24

Examples of analyzing an activity Examples of analyzing an activity Expansion Regions order order order order order : :LineItem collection type collection input scalar type Process Ship Send bill Get Item Compute Cost Get Item Compute Cost Get Item Compute Cost Ship Send bill Ship Send bill :Product :Money :Shipment :Bill collection output Something is missing here! U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 25 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 2005 26 Another example with expansion regions Prepare HY351 Expansion Regions and Flow finals Indicate the end of a particular flow without terminating the whole activity Choose Topics Prepare Slides Publish slides at ~hy351 Choose Topics Collect material from books Collect material from articles 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 slides Publish slides at ~hy351 Choose Topics Collect material from books Collect material from articles slides [topic not good for hy351] Publish slides at ~hy351 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 27 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 28 Signals Example with Time Signal 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. 23:00 Full Backup 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 [weekend] Web Site Backup U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 29 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 30

Example with Time and Accept signals Example with Time and Send Signal 4 hours before flight 23:00 Pack luggage Full Backup Taxi arrives Leave for Airport Administrator login Do backup Backup [weekend] Web Site Backup U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 31 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 32 Example with Time and Send Signal (2) Join specifications 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 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 34 Join specifications Παράδειγµα Boolean expressions attached to joins Εντολή Παραγγελίας [timeout] Εµφάνιση ελτίου Παραγγελίας Choose Drink D Deliver Drink Συµπλήρωση ελτίου Παραγγελίας [ατελή στοιχεία] Insert Coins C [value of C > value of D] Αποθήκευση Παραγγελίας Αποστολή Email µε τα στοιχεία της παραγγελίας U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 35 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 36

Activity Diagrams and IS Development Methodologies Business Process Modeling with Activity Diagrams 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 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 38 When to use and use not Activity Diagrams Guidelines for Creating Activity Diagrams When to use activity diagrams for understanding and illustrating business workflow for illustrating the flow of activities in a 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) 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 39 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 40 Use Cases Use Cases Information System 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 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 43 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 44 Contents and Format of a Use Case An example Use Case description 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 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 s 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/3) Όνοµα Περίπτωσης Χρήσης: Κλείσιµο Ραντεβού Αριθµός: 2 Σπουδαιότητα: Υψηλή Κύριος ράστης: Ασθενής ΤύποςΠερ. Χρήσης: Αναλυτική, Ουσιώδης Εµπλεκόµενοι και Στόχοι: Ασθενής: θέλει να ορίσει, αλλάξει ή ακυρώσει ένα ιατρικό ραντεβού Σύντοµη Περιγραφή: Ο ασθενής θέλει να ορίσει, αλλάξει ή ακυρώσει ένα ιατρικό ραντεβού Ερέθισµα (συµβάν ενεργοποίησης): Ο ασθενής συνδέεται και επιλέγει ΡΑΝΤΕΒΟΥ Τύποςερεθίσµατος: Εξωτερικό Σχέσεις: Συσχέτιση (association) : Ασθενής Περιλαµβάνει (include) : «ιευθέτηση Τρόπου Πληρωµής» Επεκτείνει (extend) : «ηµιουργία Νέου Ασθενούς» Εξειδικεύει (generalizaiton) : U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 49 Φυσιολογική ροή γεγονότων: 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: Ο ασθενής επιλέγει µια από αυτές ή αποφασίζει να µην κλείσει ραντεβού 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. U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 51 Adapted from Dennis et al. 2005 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 52 Use Case Diagrams Purpose: For visualising several Use Cases (now part of UML) However they are not necessary (in order to use UC) Use Case Diagrams 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 Use Case Diagram 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 s 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 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 Example: Generalization Check Password Validate User isa Retinal Scan U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 57 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 58 Example: Generalization + Include Example: Generalization + Include + Extend Place Validate User Place extension points set priority Validate User Check Password isa Retinal Scan «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 2005 59 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 60

Use Case Diagram for an Appointment System Use Case Diagram for an Appointment System Specializing an actor Appointment System Appointment System appointment Patient appointment Patient Management Produce schedule information Management Produce schedule information isa New Patient Doctor Record Availability Doctor Record Availability U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 61 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 62 Use Case Diagram for an Appointment System adding Use Case Diagram for an Appointment System adding «Isa» and «extend» Appointment System appointment Patient Appointment System payment arrangements «extend» appointment Patient Management Produce schedule information Record Availability Manage schedule isa New Patient Management Produce schedule information Record Availability Manage schedule old pat. app new pat. app Create new pat. New Patient Old Patient Doctor Doctor U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 63 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 64 Another Example Another example Add Student Trading Manager Set Limits (from Use Cas e View) <<include>> Accounting Update Accounts <<include>> System Delete Student <<extend>> Valuation (f rom Us e Case View) Analyze Risk <<include>> Find Student Lecturer (from Use Case View) Amend Student (f rom Use Case View) Trader Price Deal (from Use Case View) <<include>> Capture Deal SalesPerson Check Grades (from Use Case View) Student (from Use Case View) Limits Exceeded U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 65 U. of Crete, Information Systems Analysis and Design Yannis Tzitzikas, Fall 2005 66

Methodological Issues Creating Use Cases and Use Case Diagrams 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 D/ Create the UC diagram 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 s 5 Carefully review s 6 Choose one major 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 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