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.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

USE CASE MODELLING A use case is a scenario that describes the use of a system by an actor to accomplish a specific goal. An actor is a user playing a.
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
Karolina Muszyńska Based on:
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Information System Engineering
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Use-case Modeling.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
SwE 313 Case Study Registration System.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Use Case Modelling.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
IS0514 Lecture Week 3 Use Case Modelling.
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
USE Case Model.
System Sequence Diagrams
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
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 Documentation CSCI 5801: Software Engineering.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Faculty of Computer & Information
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
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.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
REQUIREMENTS CAPTURE 1 ASU Course Registration System Use-case Model.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
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.
Use Case Diagrams Lecture Oo14 Use Cases. References n Booch, et al, The Unified modeling Language User’s Guide, AWL, 1999, Chapt 16 & 17 n Fowler & Scott,
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
ACO 101: Use cases What do the users do?. When building a system You begin with the Use Case Analysis – When looking at the system as a whole, Use Case.
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Using Use Case Diagrams
Chapter 5 유스케이스 개요 Introduction to Use Cases
Use case Diagram.
Use Case Model Use case diagram.
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
Interaction Modeling Extracted from textbook:
Object-Oriented Software Engineering
Use Case Modeling Part of the unified modeling language (U M L)
Presentation transcript:

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 provides it's clients.

Use Cases A use case contains: An actor or actors that represent the role the user plays while interacting with the system. A scenario that describes a sequence of steps detailing an interaction between the actor and the system. It describes one feature that is provided by the system.

Use Cases A use case is a set of scenarios that have a common user goal (function).

Actors The actor in a use case represents the users of a system. The users can be humans, and/or other systems. The system actors may play multiple roles in a system. For instance, a Sales manager maybe both a supervisor and a salesman. A single actor may carry out many use cases.

Identifying Actors Some questions to help identify the system actors are: Who is interested in a particular requirement? Where in the organization is the system used? Who will benefit from the system use? Who will supply the system with this information, use this information, and remove this information? Who will support and maintain the system? Does the system use an external resource?

Identifying Actors Does one person play several different roles? Do several people play the same role? Does the system interact with a legacy system?

Use Cases Not all use cases will be obvious. Some methods for identifying use cases are: Reviewing focus group session results. Observing how users interact and use similar systems or their current system. Reviewing the marketing requirements document. Interacting with the customer.

Use Cases Some questions to ask that can help identify use cases are: What are the tasks of each actor? Will any actor create, store, change, remove, or read information in the system? What use cases will create, store, change, remove, or read this information? Will any actor need to inform the system about sudden, external changes? Does any actor need to be informed about certain occurrences in the system?

Use Cases What use cases will support and maintain the system? Can all functional requirements be performed by the use cases?

Use Case Development Dangers It is very easy to attempt to define all the use cases and their alternatives in a system. Eventually you will reach the point of diminishing returns. Strive for the 80/20 rule. A good rule of thumb is: A use case typically represents a major piece of functionality that is complete from beginning to end. A use case must deliver something of value to an actor.

Use Case Flow A use case essentially documents the flow of events that are needed to accomplish the required behavior. The flow of events should include: When and how the use case starts and ends. What interaction the use case has with the actors. What data is needed by the use case. The normal sequence of events for the use case. The description of any alternate or exceptional flow.

Use Case Outline X. Use Case Name X.1 Precondition X.2 Main Flow X.3 Subflows (if applicable) X.4 Alternative flows

Simple Use Case Jim needs to check his email to see if he has mail from his mother. He opens his mail program on the computer and browses through the messages. He finds a message from his mother.

Simple Use Case 1. Check mail 1.1 The preconditions assume that the computer is up an running. 1.2 Main Flow a. Open mail program. b. Browse through the new mail messages. c. Find an email from mother.

Simple Use Case 1.4 Alternative: Mail program not active. At step 1, the mail program is not open. a. Allow the user to start the mail program. a.1 The user starts the mail program. a.2. The user enters the appropriate password.

Student Course Use Case We are developing a system that will allow students to review the courses that they have registered for. When the students log onto the system they need to provide their student id number, a password, and the quarter they wish to review. Once this information is properly entered, the student is presented with a listing of courses for the quarter.

Professor's Course Use Case Another user of our system is the professor. When entering the system the professor needs to provide a user name and password. The professor needs to indicate to the system what courses he will teach during a particular quarter. The professor also needs to be able to get a list of the students registered for his courses (course roster).

Use Case Relationships A relationship indicates the communication between an actor and a use case. The relationship is called an association relationship. The actor may communicate to the use case (system). The use case (system) may communicate to the actor. Communication may flow in both directions.

Use Case Relationships It is possible that a system may contain multiple use cases that contain the same behavior. In this case, the identical behavior is defined as it's own use case and the multiple use cases refer to the similar behavior use case. This is called an include relationship. The association is labeled with <<include>>. Defining a separate use case for the common behavior implies that one does not have to copy the description of that behavior to every use case that uses it.

Use Case Relationships If use case A is defined and a use case B does just a bit more then the use case A, then use case A can be generalized to capture the alternative scenario represented in use case B. This is called a use case generalization association. The generalization use case is associated with another use case. Most likely the generalized use case is not associated with an actor.

Use Case Relationships Another relationship involves extending a use case to add behavior to the base use case but specific “extension points” are declared. This is called an extend relationship. The association is labeled with <<extend>>. When the extend relationship is used, the additional behavior may only be added at the extension points. An extension use case may also include “extension points” itself.

Use Case Relationships When to use include, generalization, and extend: If the same steps are repeated in two or more separate use cases then use the include relationship to avoid the repetition. If there is a variation on the normal behavior then use the generalization relationship. If there is a variation on the normal behavior but there is a need to use a more controlled form, then use the extend relationship. Remember to declare the extension points in the base use case.

Use Case Diagrams The use case diagram shows: The actors. The use cases. The relationships between the actors and use cases as well as use cases and use cases (extends, generalization, extends).