Use Case Model.

Slides:



Advertisements
Similar presentations
Use Case Model. C-S 5462 Use case model describes what the user expects the system to do –functional requirements may describe only the functionalities.
Advertisements

Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Systems Analysis and Design in a Changing World, Fourth Edition
COMP1007 Intro to Systems Requirements © Copyright De Montfort University 2002 All Rights Reserved COMP1007 Intro to System Requirements Lecture 2 Use-Cases.
Requirements Analysis 4. 1 Use Case I b504.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Use-Cases.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Use Case Diagram.
Unified Modeling Language
Chapter 7: The Object-Oriented Approach to Requirements
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.
Case Study :. Introduction The ATM network will consist of a large number of ATM machines distributed over a wide geographical area. The network must.
Requirements Determining the requirements of software involves determining the needs of the users of the software. Determining the requirements of software.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Faculty of Computer & Information Software Engineering Third year
Chapter 6 A Use-Case-Driven Process. 2 Definitions The choice of models and the choice of techniques used to express them have a significant impact on.
Faculty of Computer & Information
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
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.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Systems Analysis and Design in a Changing World, Fourth Edition
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
UML (Unified Modeling Language)
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Session 5 Object Model Development. OOAD with UML / Session 5 / 2 of 19 Review A class icon is a rectangle with three sections within it An object is.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Using Use Case Diagrams
UML Diagrams: Class Diagrams The Static Analysis Model
Business System Development
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Modeling - II Lecture # 27.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 5 유스케이스 개요 Introduction to Use Cases
Recall The Team Skills Analyzing the Problem (with 5 steps)
COMPONENT & DEPLOYMENT DIAGRAMS
Storyboarding and Game Design SBG, MBG620 Full Sail University
Interaction View.
M.M. Pickard, PhD A Primer on Use Cases (Reference: UML Superstructure Specification, v2.1.1)
Object-Oriented Static Modeling of the Banking System - I
The Process of Object Modeling
SE-565 Software System Requirements IV. Use Cases
Concepts, Specifications, and Diagrams
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Systems Analysis and Design in a Changing World, 6th Edition
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Object Oriented Analysis and Design
Use Cases 1.
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Object-Oriented Software Engineering
Use Case Modeling Part of the unified modeling language (U M L)
CIS 375 Bruce R. Maxim UM-Dearborn
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Software Development Process Using UML Recap
Presentation transcript:

Use Case Model

Use case model Describes what a user expects the system to do functional requirements May describe only the functionalities that are visible to the user requirements view May include additional functionalities to elaborate those in the previous step design view Consists of use case diagrams and textual descriptions C-S 446/546

Elements of a Use Case diagram Subject dependency Use case Use case association generalization association Use case Use case dependency actor C-S 446/546 actor

Definitions Subject Actor A black box that describes the system or subsystem that is modeled Example: ATM system, login subsystem Represented optionally as a rectangle in the use case diagram, but generally not shown Actor A role played by an external entity that interacts with the subject One object may play multiple roles in a context in which case there will be multiple actors example: bank manager playing the role of a teller or that of a customer C-S 446/546

Definitions (continued) Primary actor An actor who initiates the major, main or important use cases in the system Example : a customer in a banking system Secondary actor An actor who is involved with one or more use cases but does not initiate any use case Example : database There is no syntactic difference between a primary actor and a secondary actor C-S 446/546

Definitions (continued) Generalization between actors One actor can be a specialization of another actor Based on the same concept as the specialization relationship between classes Example : preferred customer in a bank is a specialization of a customer Use case An important functionality to be implemented and is visible to the actors An interacting behavior between an actor and the subject Must yield an observable result to the actor Example: “deposit” in a banking system C-S 446/546

Definitions (continued) Association An interaction between an actor and a use case Unidirectional associations must be represented by arrows Direction of arrow indicates information flow Bi-directional associations can be represented by double-sided arrows or straight lines C-S 446/546

Definitions (continued) “include” dependency One use case may include another use case If use case A includes use case B, B must be implemented in order to implement A Represented as a dashed arrow from A to B with a label “<<include>>” Example : use case “withdraw” includes use case “update account” <<include>> A B C-S 446/546

Definitions (continued) “extend” dependency One use case may be extended by another use case If use case A is extended by use case B, then both A and B can be independently implemented and used A will occasionally use B depending on some constraints C-S 446/546

Definitions (continued) “extend” dependency (continued) Represented as a dashed arrow from B to A with a label “<<extend>>” Notice that the arrow is reversed Example : Use case “withdraw” is extended by use case “compute penalty” when the user withdraws an amount more than the balance in the account; the use case “compute penalty” is therefore occasionally used by “withdraw”. <<extend>> B A C-S 446/546

Example of generalization, extension and inclusion C-S 446/546

Constraints in a Use Case model Every use case must be connected to an actor or be included in another use case or extends another use case Every use case connected to an actor must return an observable result to the actor The result may be data, confirmation or termination of an action C-S 446/546

How to find actors? Those that interact with the system (provide input, observe results, provide control information, …) primary actors Those that are used by the system but external to the system secondary actors such as database, files, … Generally, users of the system are primary actors C-S 446/546

How to find use cases? Every requirement is a use case Every functionality that supports the implementation of a requirement is a use case Design issue Found when the first (abstract) use case model is refined to express a design Do not confuse a “use case” with a “method” in implementation Generally, there is a one-to-many relationship between a use case and a method C-S 446/546

How to find use case relationships? Extracted from the application domain Must be justifiable from the application domain or from the designer’s choice Examples Use case “withdraw” includes use case “update account” is justifiable from application domain Use case “withdraw” is extended by “compute penalty” is a designer’s choice Designer can decide to implement two different versions of withdrawals or just only one with no extension C-S 446/546

Use case narrative Important for design and implementation of use cases Different types Textual (informal) descriptions Algorithmic descriptions Diagrammatic descriptions (activity diagram) C-S 446/546

Case Study - ATM Model only the transactions Customer accounts assumed to exist Opening and closing of accounts are handled by another portion of the system Include operations “deposit”, withdraw”, “check balance”, “transfer” If balance is zero or less than the amount to be withdrawn, then withdrawal should fail C-S 446/546

Login Logout Deposit customer Withdraw Check balance Database Transfer C-S 446/546

Use Case narrative See the attached document for more detailed textual description of a use case narrative for ATM C-S 446/546

Use case diagram for ATM – revised to show design issues Login Logout Validate account Deposit customer Withdraw Update account Check balance Database Transfer All dependency relationships are of type <<include>> Use case diagram for ATM – revised to show design issues C-S 446/546

ATM - Exercises Enhance the diagram to include the following: A manager can open an account A manager can close an account A privileged customer may be able to withdraw more than the balance available C-S 446/546

Exercise A company posts job openings online. Job seekers must apply for these jobs online. The company will process the applications and calls eligible job seekers for interview. Upon successful completion of an interview, a job seeker may be hired and the corresponding job opening will be deleted from the company’s web site. C-S 446/546

Use-Cases: describing how the user will use the system A use case is a typical sequence of actions that a user performs in order to complete a given task The objective of use case analysis is to model the system from the point of view of … how users interact with this system … when trying to achieve their objectives. It is one of the key activities in requirements analysis A use case model consists of a set of use cases an optional description or diagram indicating how they are related C-S 446/546

Use cases A use case should Cover the full sequence of steps from the beginning of a task until the end Describe the user’s interaction with the system Not the computations the system performs Be written so as to be as independent as possible from any particular user interface design Only include actions in which the actor interacts with the computer Not actions a user does manually C-S 446/546

Scenarios A scenario is an instance of a use case A specific occurrence of the use case a specific actor ... at a specific time ... with specific data. C-S 446/546

How to describe a single use case A. Name: Give a short, descriptive name to the use case B. Actors: List the actors who can perform this use case C. Goals: Explain what the actor or actors are trying to achieve D. Preconditions: State of the system before the use case E. Summary: Give a short informal description F. Related use cases G. Steps: Describe each step using a 2-column format H. Postconditions: State of the system in following completion A and G are the most important C-S 446/546

Use case diagrams C-S 446/546