1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
Use-Cases.
Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case & Use Case Diagram
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Use-case Modeling.
SwE 313 Case Study Registration System.
Close Registration Brief Description
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
USE Case Model.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System.
Use Cases 2 ENGR ♯10 Peter Andreae
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Requirements Management with Use Cases Module 2: Introduction to RMUC Requirements Management with Use Cases Module 2: Introduction to RMUC.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
1 Source: IBM Academic Program IBM Software Group ® Mastering Requirements Management with Use Cases Module 3: Introduction to Use-Case Modeling.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Faculty of Computer & Information Software Engineering Third year
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model Actor.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Faculty of Computer & Information
Rational Requirements Management with Use Cases v5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Model Use case diagram.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
Requirements Management with Use Cases Module 9: Requirements Across The Product Lifecycle Requirements Management with Use Cases Module 9: Requirements.
Requirements specification Why is this the first major stage of software development? –Need to understand what customer wants first Goal of requirements.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Requirements Management with Use Cases Module 3: Analyze the Problem Requirements Management with Use Cases Module 3: Analyze the Problem.
Essentials of Visual Modeling w/ UML Instructor Notes
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 3: Outlining Use Cases.
UML - Development Process 1 Software Development Process Using UML.
Rational Requirements Management with Use Cases v 5.5 Copyright © Rational Software, all rights reserved 1 Requirements Management with Use Cases.
Requirements Management with Use Cases Module 5: Define The System To Be Built Requirements Management with Use Cases Module 5: Define The System To Be.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Using Use Case Diagrams
Recall The Team Skills Refining the Use cases
Chapter 5 유스케이스 개요 Introduction to Use Cases
Use Case Model Use case diagram.
UML Use Case Diagrams.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Presentation transcript:

1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships to each other.  Define functional decomposition.  Read and draw a use-case diagram.

2 What Is Use-Case Modeling?  Links stakeholder needs to software requirements.  Defines clear boundaries of a system.  Captures and communicates the desired behavior of the system.  Identifies who or what interacts with the system.  Validates/verifies requirements.  Is a planning instrument. Use Case 2 Specification Actor 2 Use case 1 Model Use case 2 Use case 3

3 Use case 1 Use case 2 Use case 3 A Use-Case Model is Mostly Text Use-Case-Model Survey - survey description - list of all actors - list of all use cases Use-Case 2 Spec - brief description - flow of events Use-Case 3 Spec - brief description - flow of events Actor 1 Actor 2Actor 3 Use-Case 1 Spec - brief description - flow of events The System

4 Major Use-Case Modeling Elements Actor Someone/something outside the system, acting in a role that interacts with the system Use case Represents something of value that the system does for its actors Actor Use Case

5 What Is a Use Case? defines a sequence of actions performed by a system that yields an observable result of value to an actor. A use case Use Case Name

6 Use Cases Contain Software Requirements  Each use case  Describes actions the system takes to deliver something of value to an actor.  Shows the system functionality an actor uses.  Models a dialog between the system and actors.  Is a complete and meaningful flow of events from the perspective of a particular actor.

7 Benefits of Use Cases  Give context for requirements.  Put system requirements in logical sequences.  Illustrate why the system is needed.  Help verify that all requirements are captured.  Are easy to understand.  Use terminology that customers and users understand.  Tell concrete stories of system use.  Verify stakeholder understanding.  Facilitate agreement with customers.  Facilitate reuse: test, documentation, and design.

8 Lifecycle of a Use Case Discovered Outlined Briefly Described Close Registration Brief description : This use case allows a Registrar to close the registration process. Course offerings that do not have enough students are cancelled. The Billing System is notified for each student in each course offering that is not cancelled, so the student can be billed for the course offering. Close Registration Outline -Flow of events -Step-by-Step Close Registration Use-Case Specification -Detailed Flow of Events Special Requirements -Pre/Post Conditions Fully Described

9 Define Actors: Focus on the Roles  An actor represents a role that a human, hardware device, or another system can play in relation to the system.  Actor names should clearly denote the actor’s role. ?

10 Charlie and Jodie both act as a Student. Charlie also acts as a Professor. Student Professor Actors and Roles Register for courses Submit grades Charlie: Is employed as a math professor and is an economics undergraduate. Jodie: Is a science undergraduate.

11 Communicates-Association  A channel of communication between an actor and a use case.  A line is used to represent a communicates-association.  An arrowhead indicates who initiates each interaction.  No arrowhead indicates either end can initiate each interaction. Actor 1 Actor 2 Actor 3 Use Case

12 Arrowhead Conventions Supervisor Active sensor Passive sensor Hybrid sensor Supervisor Monitor for alarms Passive sensor Hybrid sensor Active sensor Monitor for alarms

13 Each Communicates-Association Is a Whole Dialog Student Course Catalog System Register for Courses System displays course list. Student select courses. System displays approved schedule. Student logs on to system. System approves log on. Student requests course info. System transmits request. Course Catalog returns course info.

14 A Scenario Is a Use-Case Instance Scenario 1 Log on to system. Approve log on. Enter subject in search. Get course list. Display course list. Select courses. Confirm availability. Display final schedule. Scenario 2 Log on to system. Approve log on. Enter subject in search. Invalid subject. Re-enter subject. Get course list. Display course list. Select courses. Confirm availability. Display final schedule. Student Course Catalog System Register for Courses

15 Use-Case Diagram Bank Consortium Bank Customer An Automated Teller Machine (ATM) Cashier Withdraw Cash Transfer Funds Deposit Funds Maintain ATM Maintenance Crew Collect Deposits

16 Example: Online Course Registration System Course Catalog System Student Course Registration System Actor X Actor Y Register for Courses Course Registration System Artifacts Another Use Case Use Case 3

17  Indicate the value or goal of the actor.  Use the active form; begin with a verb.  Imagine a to-do list.  Examples of variations  Register for Courses  Registering for Courses  Acknowledge Registration  Course Registration  Use Registration System How Should I Name a Use Case? Which variations show the value to the actor? Which do not? Which would you choose as the use-case name? Why?

18 Steps for Creating a Use-Case Model 1.Find actors and use cases.  Identify and briefly describe actors.  Identify and briefly describe use cases. 2.Write the use cases.  Outline all use cases.  Prioritize the use-case flows.  Detail the flows in order of priority.

19 StudentRegistrarRegistration System The student never touches the system; the registrar operates it. Or, are you building an Internet application? Online Registration System ( Student Who is pressing the keys (interacting with the system)? Find Actors

20 Identify Actors  Who/what uses the system?  Who/what gets information from this system?  Who/what provides information to the system?  Where in the company is the system used?  Who/what supports and maintains the system?  What other systems use this system?

21 Description of an Actor Text NameStudent Brief descriptionA person who signs up for a course. Relationships with use cases Register for Courses Student Use-Case-Model Survey

22 Checkpoints for Actors  Have you found all the actors? Have you accounted for and modeled all roles in the system's environment?  Is each actor involved with at least one use case?  Can you name at least two people who would be able to perform as a particular actor?  Do any actors play similar roles in relation to the system? If so, merge them into a single actor.

23 Find Use Cases Actor GOAL 1 GOAL 2 What goal am I trying to achieve by using the system?

24 Identify Use Cases  What are the goals of each actor?  Why does the actor want to use the system?  Will the actor create, store, change, remove, or read data in the system? If so, why?  Will the actor need to inform the system about external events or changes?  Will the actor need to be informed about certain occurrences in the system?  Does the system supply the business with all of the correct behavior?

25 Description of a Use Case Text description of a use case. NameRegister for Courses Brief descriptionThe student selects the courses they wish to attend to the next semester. A schedule of primary and alternate courses is produced. Relationships with actors Register for Courses Student

26 Checkpoints for Use Cases  The use-case model presents the behavior of the system; it is easy to understand what the system does by reviewing the model.  All use cases have been identified; the use cases collectively account for all required behavior.  All features map to at least one use case.  The use-case model contains no superfluous behavior; all use cases can be justified by tracing them back to a functional requirement.  All CRUD use cases have been removed.  Create, Retrieve, Update, Delete

27 Functional Decomposition  Is breaking down a problem into small, isolated parts.  The parts work together to provide the functionality of the system. Often do not make sense in isolation.  Use cases:  Are NOT functional decomposition.  Keep the functionality together to describe a complete use of the system.  Provide context.

28 Functional Decomposition: An Example Enter PIN Insert Card Select “From” Account Enter Amount Select Withdraw Cash Customer Select Account Balance Select Transfer Funds Select “To” Account Bank Consortium Process Transaction

29 Avoid Functional Decomposition Symptoms  Very small use cases  Too many use cases  Uses cases with no result of value  Names with low-level operations “Operation” + “object” “Function” + “data” Example: “Insert Card”  Difficulty understanding the overall model Corrective Actions  Search for larger context “Why are you building this system?”  Put yourself in user’s role “What does the user want to achieve?” “Whose goal does this use case satisfy?” “What value does this use case add?” “What is the story behind this use case?”

30 Functional Decomposition: A Corrected Example Withdraw Cash Transfer Funds Deposit Funds Customer Bank Consortium

31 Evolve the Use Case: Diagram Register for Courses Use-Case Specification + Flow of events detailed Step-by-step + Special Requirements + Pre/Post Conditions  Detail  Outline Register for Courses Outline + Flow of events outlined High-level steps Student Course Catalog System + Brief Description Register for Courses

32 Where Do Use Cases Fit into the RM Process? ? Analyze the Problem Refine the System Managing Changing Requirements Use-Case Specification (detailed) Define the System Manage the Scope Use-Case Spec. (outline) Understand Stakeholder Needs