Use Case Diagrams. Tutorial



Similar documents
Large Scale Systems Design G52LSS

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

Course Registration Case Study

Chapter 7. Process Analysis and Diagramming

Modeling a Problem Scenario with UML

3.1 Use Case Diagrams

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Rational Software. Course Registration System Use-Case Model

Object Oriented Software Models

DOCUMENTING USE CASES

Software Engineering. System Modeling

Tips for writing good use cases.

Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht

CSC 342 Semester I: H ( G)

Object-oriented design methodologies

Objectives After completion of study of this unit you should be able to:

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

MEASURING SOFTWARE FUNCTIONAL SIZE FROM BUSINESS PROCESS MODELS

Section C. Requirements Elicitation

Object-Oriented Design Guidelines

Law College Computer and Technology Information

Exploratory Testing in an Agile Context

DESIGN REPORT FOR THE PROJECT INVENTORY CONTROL SYSTEM FOR CALCULATION AND ORDERING OF AVAILABLE AND PROCESSED RESOURCES

UML TUTORIALS THE USE CASE MODEL

IBM Rational University. Essentials of IBM Rational RequisitePro v7.0 REQ370 / RR331 October 2006 Student Workbook Part No.

UML Diagram Types. Use Cases do the Following. Use Case Diagram

(Refer Slide Time 00:56)

TDDC88 Lab 2 Unified Modeling Language (UML)

BPMN by example. Bizagi Suite. Copyright 2014 Bizagi

Sofware Requirements Engineeing

Agent-based University Library System

SYSTEM REQUIREMENTS SPECIFICATIONS FOR THE PROJECT INVENTORY CONTROL SYSTEM FOR CALCULATION AND ORDERING OF AVAILABLE AND PROCESSED RESOURCES

The Business Analyst Role in Agile Projects and How To Do It

System Modeling / Class Diagra Diagr m a Week 6

Requirements / Use Case Specification

Analysis and Design with UML

American Amicable Group

Masters of Science in Software & Information Systems

Dr. Pat Mirenda. Software Design Specification Document

Why Data Flow Diagrams?

Use Case Modeling. Software Development Life Cycle Training. Use Case Modeling. Set A: Requirements Analysis Part 3: Use Case Modeling

Institution/Department Administrator Manual

Data Flow Diagrams and Use cases

OOA of Railway Ticket Reservation System

Web Advisor Instructions Link to WebAdvisor through Sacred Heart Website by clicking on MYSHU Log In and Choose Faculty Point of Entry

Software Specification and Architecture 2IW80

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Business Process Modeling Information Systems in Industry ( )

Bookstore Inventory System Software Requirements Specification. Version 1.0

How To Develop Software

Understanding Data Flow Diagrams Donald S. Le Vie, Jr.

Quality Ensuring Development of Software Processes

Swirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment Marque Browne Manuel Honegger

Unleash the Power of e-learning

Data Analysis 1. SET08104 Database Systems. Napier University

Thank you for visiting the Online Course Proposal Web Tutorial for new and existing courses for Brown University Faculty and Staff.

Software Development: An Introduction

1) Testing of general knowledge 25%. Each right question counts 1. Each wrong counts 0.5. Empty

Redpaper Axel Buecker Kenny Chow Jenny Wong

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

SCATS SALES AND CUSTOMER TRACKING SYSTEM SOFTWARE REQUIREMENTS SPECIFICATION VERSION: FINAL 1.0

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

Software Engineering I CS524 Professor Dr. Liang Sheldon X. Liang

Eloquent Librarian Planning Guide

Create AKINDI Courses In AKINDI, create an AKINDI course for each section you teach. STUDENTS TAKE TEST VIEW RESULTS AND ADDRESS EXCEPTIONS

Campus Solutions Self Service: Student Quick Reference Guide

FORMAL SPECIFICATION OF SOFTWARE DEVELOPMENT USING BUSINESS RULES APPROACH

Entity/Relationship Modelling. Database Systems Lecture 4 Natasha Alechina

Efficient BPMN: from Anti-Patterns to Best Practices

Vision Document Airline Reservation System

Principles of Software Engineering: Software Methodologies. COSI 120b, Spring 2005

Databases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.

D6 INFORMATION SYSTEMS DEVELOPMENT. SOLUTIONS & MARKING SCHEME. June 2013

Foundations for Systems Development

Object Oriented Programming. Risk Management

Enhanced Login Security Frequently Asked Questions

Modern Systems Analysis and Design

Offline Payment Methods

Fahad H.Alshammari, Rami Alnaqeib, M.A.Zaidan, Ali K.Hmood, B.B.Zaidan, A.A.Zaidan

Use Cases. Use Cases Diagrams

Scenario-based Requirements Engineering and User-Interface Design

Java Programming (10155)

Chapter 4 Software Lifecycle and Performance Analysis

Security Development Tool for Microsoft Dynamics AX 2012 WHITEPAPER

Carl R. Haske, Ph.D., STATPROBE, Inc., Ann Arbor, MI

IBM Business Monitor V8.0 Global monitoring context lab

Design Report: Resource Management Software CS400 Senior Design I

Overview. System Definition Webster s Dictionary. System Engineering Hierarchy. System Engineering. Computer-Based Systems [PRE2005]

API Architecture. for the Data Interoperability at OSU initiative

Meta-Model specification V2 D

Oracle Service Bus Examples and Tutorials

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Level 2 Process: Customer Management Version 2

Transcription:

Use Case Diagrams Tutorial

What is a use case? A requirements analysis concept A case of a use of the system/product Describes the system's actions from a the point of view of a user Tells a story A sequence of events involving Interactions of a user with the system Specifies one aspect of the behavior of a system, without specifying the structure of the system Is oriented toward satisfying a user's goal

How do we describe use cases? Textual or tabular descriptions User stories Diagrams

Use Case Descriptions actors - something with a behavior or role, e.g., a person, another system, organization. scenario - a specific sequence of actions and interactions between actors and the system, a.k.a. a use case instance use case - a collection of related success and failure scenarios, describing actors using the system to support a goal.

What is an Actor? Include all user roles that interact with the system Include system components only if they responsible for initiating/triggering a use case. For example, a timer that triggers sending of an e-mail reminder primary - a user whose goals are fulfilled by the system importance: define user goals supporting - provides a service (e.g., info) to the system importance: clarify external interfaces and protocols offstage - has an interest in the behavior but is not primary or supporting, e.g., government importance: ensure all interests (even subtle) are identified and satisfied

Finding Actors [1] External objects that produce/consume data: Must serve as sources and destinations for data Must be external to the system

Finding Actors [2] Ask the following questions: Who are the system s primary users? Who requires system support for daily tasks? Who are the system s secondary users? What hardware does the system handle? Which other (if any) systems interact with the system in question? Do any entities interacting with the system perform multiple roles as actors? Which other entities (human or otherwise) might have an interest in the system's output?

What is a user story? An abbreviated description of a use case Used in agile development Answers 3 questions: 1.Who? 2.Does what? 3.And why? As a <type of user>, I want <some behavior from the system> so that <some value is achieved>

Use Case Diagrams A picture describes how actors relate to use cases and use cases relate to one another Diagrams are not essential They are helpful in giving an overview, but only secondary in importance to the textual description They do not capture the full information of the actual use cases In contrast, text is essential

Use Case Diagram Objective Built in early stages of development Purpose Specify the context of a system Capture the requirements of a system Validate a systems architecture Drive implementation and generate test cases Developed by analysts and domain experts

How do use case diagrams fit in? This applies also to use case descriptions. Diagram reproduced from www.edrawsoft.com.

Example Use-Case Diagram A standard form of use case diagram is defined in the Unified Modeling Language.

Elements of use case diagram: Actor Actor is someone interacting with use case (system function). Named by noun. Name Similar to the concept of user, but a user can play different roles; (example: a prof. can be instructor and researcher plays 2 roles with two systems). Actor triggers use case. Actor has responsibility toward the system (inputs), and Actor have expectations from the system (outputs). 13

Elements of use case diagram: Use Case Do something System function (process automated or manual). Named by verb. Each Actor must be linked to a use case, while some use cases may not be linked to actors. = Use Case 14

Elements of use case diagram: Other details Connection between Actor and Use Case Boundary of system <<include>> Include relationship between Use Cases (one UC must call another; e.g., Login UC includes User Authentication UC) <<extend>> Extend relationship between Use Cases (one UC calls Another under certain condition; think of if-then decision points) 15

Linking Use Cases Association relationships Generalization relationships One element (child) "is based on" another element (parent) Include relationships One use case (base) includes the functionality of another (inclusion case) Supports re-use of functionality Extend relationships One use case (extension) extends the behavior of another (base)

Use Case Levels

1. Generalization The child use case inherits the behavior and meaning of the parent use case. The child may add to or override the behavior of its parent. parent child 18

More about Generalization registration non-graduate registration graduate registration 19

Generalization Example The actor Order Registry Clerk can instantiate the general use case Place Order. Place Order can also be specialized by the use cases Phone Order or Internet Order.

Generalization Example

2. Include base <<include>> included The base use case explicitly incorporates the behavior of another use case at a location specified in the base. The included use case never stands alone. It only occurs as a part of some larger base that includes it. 22

More about Include Enables us to avoid describing the same flow of events several times by putting the common behavior in a use case of its own. updating grades output generating <<include>> <<include>> verifying student id 23 ניתוח מערכות מידע

Include relationship Include relationship a standard case linked to a mandatory use case. Example: to Authorize Car Loan (standard use case), a clerk must run Check Client s Credit History (include use case). The standard UC includes the mandatory UC (use the verb to figure direction arrow). Standard use case can NOT execute without the include case tight coupling. 24

Reading use case diagram with Include relationship 25

Include Example

3. Extend base <<extend>> extending The base use case implicitly incorporates the behavior of another use case at certain points called extension points. The base use case may stand alone, but under certain conditions its behavior may be extended by the behavior of another use case. 27

More about Extend Enables to model optional behavior or branching under conditions. Exam copy request <<extend>> Exam-grade appeal 28

Extend relationship Extend relationship linking an optional use case to a standard use case. Example: Register Course (standard use case) may have Register for Special Class (extend use case) class for non-standard students, in unusual time, with special topics, requiring extra fees ). The optional UC extends the standard UC Standard use case can execute without the extend case loose coupling. Reading extend relationship 29

Extend Example #1

Extend Example #2

Extend Example #2 cont.

Relationships between Use Cases and Actors Actors may be connected to use cases by associations, indicating that the actor and the use case communicate with one another using messages. updating grades faculty 33

Example #1 place phone call <<extend>> place conference call cellular network receive phone call <<extend>> receive additional call user use scheduler Cellular Telephone 34

Example #2 Altered State University (ASU) Registration System 1. Professors indicate which courses they will teach on-line. 2. A course catalog can be printed 3. Allow students to select on-line four courses for upcoming semester. 4. No course may have more than 10 students or less than 3 students. 5. When the registration is completed, the system sends information to the billing system. 6. Professors can obtain course rosters on-line. 7. Students can add or drop classes on-line.

Example #2 cont. Altered State University (ASU) Registration System

How to create use case diagram 1. List main system functions (use cases) in a column: think of business events demanding system s response users goals/needs to be accomplished via the system Create, Read, Update, Delete (CRUD) data tasks Naming use cases user s needs usually can be translated in data tasks 2. Draw ovals around the function labels 3. Draw system boundary 4. Draw actors and connect them with use cases (if more intuitive, this can be done as step 2) 5. Specify include and extend relationships between use cases (yes, at the end - not before, as this may pull you into process thinking, which does not apply in UC diagramming). 37

Use-Case Diagrams: Example [1] I. Begin with a Use Case! A user placing an order with a sales company might follow these steps : 1. Browse catalog and select items. 2. Call sales representative. 3. Supply shipping information. 4. Supply payment information. 5. Receive conformation number from salesperson. II. Then translate Use Case sequence into Diagram

Use-Case Diagrams: Example [2] The salesperson could also be included in this use case diagram because the salesperson is also interacting with the ordering system.

Use-Case Diagram Case Study [1] Vending Machine After client interview the following system scenarios were identified: A customer buys a product The supplier restocks the machine The supplier collects money from the machine On the basis of these scenarios, the following three actors can be identified: Customer; Supplier; Collector (in this case Collector=Supplier)

Use-Case Diagram Case Study [2]

Use-Case Diagram Case Study [3] Introducing annotations (notes) and constraints.