240 likes | 1.33k Views
Use-Case Modeling. Based on pp. 239-246 of Hoffer, George, and Valicich and Chapter 6 of Systems Analysis & Design: An Object-Oriented Approach with UML by Alan Dennis, Barbara Wixom, and David Tegarden published by John Wiley & Sons, Inc., 2002 (http://www.wiley.com/college/dennis). Agenda.
E N D
Use-Case Modeling Based on pp. 239-246 of Hoffer, George, and Valicich and Chapter 6 of Systems Analysis & Design: An Object-Oriented Approach with UML by Alan Dennis, Barbara Wixom, and David Tegarden published by John Wiley & Sons, Inc., 2002 (http://www.wiley.com/college/dennis)
Agenda • What is a use case (with examples) • Guidelines for developing use-case descriptions • Guidelines for drawing use-case diagrams • Exercise
Learning Objectives • After this lecture, you should be able to: • Describe what a use case is • Describe the deliverables from use-case modeling • Develop a simple use-case description and use-case diagram
Use-Case Modeling • A foundation of the object-oriented approach to systems analysis and design • An approach to understanding functional requirements of a system within the Analysis Phase of the SDLC • High level description of what the system needs to do • Each use case describes one function involving one or more users interacting with the system
So: What is a Use Case? • From a user’s perspective: A use case is a discrete activity or function that a user performs via the system • From the system’s perspective: A use case is a discrete activity or function that the system performs for a user
Deliverables for Use-Case Modeling • Types of deliverables • Text-based descriptions of each use case • Formal use-case diagrams • Focus of deliverables • Current (as-is) system • New (to-be) system • Level of abstraction in deliverables • Logical / essential (what system should do without specifying how) • Physical / real (how functionality is implemented) • Level of detail in deliverables • Overview • Detail
Use-Case Descriptions • Capture typical interactions of the system with the system’s users • Each use case is a single function or user role • Elements • Overview Information • E.g., name (verb-noun phrase, such as “Place order”) • E.g., sentence describing the essence of the use case • Relationships (with other use cases and users) • Flow of Events • Optional Characteristics • Developed iteratively
Guidelines for Developing Use-Case Descriptions • Identify the Major Use Cases • Find the system’s boundaries • List the primary actors • List the goals of the primary actors • Identify and write the overview of the major use cases for the above • Carefully review the current use cases. Revise as needed.
Guidelines for Developing Use-Case Descriptions • Expand the Major Use Case • Choose one of the use cases to expand • Start filling in the details of the chosen use case • Write the normal flow of events for the use case • If the normal flow of events is too complex or long, decompose into subflows • List the possible alternate or exceptional flows • For each alternate or exceptional flow, list how the actor and/or the system should react
Guidelines for Developing Use-Case Descriptions • Confirm the Major Use Cases • Carefully review the current set of use cases. Revise as needed. • Start at the top again.
Guidelines for Developing Use-Case Diagrams • Draw the system boundary • Place the use cases on the diagram • Place the actors on the diagram • Draw the associations
Exercise • Identify Use Cases and Develop a Use-Case Diagram and a Use-Case Description for the Open Road Insurance system • Open Road Insurance (ORI) is an independent agency that receives policy contracts from various insurance companies. The purpose of the ORI system is to provide automotive insurance to car owners. Initially, a customer applies for coverage via an application. The agency requests a driver’s record report from the local police department. The agency also requests vehicle registration confirmation from the Department of Motor Vehicles. An agent determines the best policy for the type and level of coverage desired and sends the customer a copy of the insurance policy along with an insurance coverage card. The customer information is stored. Periodically, the system generates a fee statement, which – along with addendums to the policy – is sent to the customer, who responds by sending in a payment with the fee stub.
Exercise • One Solution • Use-Case Diagram • Use-Case Description for Apply for Coverage
Summary • What is a use case? • What are the deliverables from use-case modeling? • How do use-case models fit into the SDLC?
Guidelines for Developing Use-Case Descriptions • Write the normal flow of events (i.e., the essence of the use case) • Write each step in the form of Subject-Verb-Direct Object (and sometimes Preposition-Indirect Object) • Make sure it is clear who the initiator of the step is • Write the steps from the perspective of an independent observer • Write each step at about the same level of abstraction • Ensure the use case has a sensible set of steps • Apply the KISS principle liberally • Write repeating instructions after the set of steps to be repeated