Use Cases College of Alameda Copyright © 2007 Patrick McDermott.

Slides:



Advertisements
Similar presentations
The Use of Cases: Use Case Scenarios College of Alameda Copyright © 2007 Patrick McDermott Sometimes a Word is worth a thousand.
Advertisements

Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
Chapter 4 - Object-Oriented Analysis and Design in a Nutshell1 Chapter 4 Object-Oriented Analysis and Design in a Nutshell.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
CS3773 Software Engineering Lecture 03 UML Use Cases.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Documenting Requirements using Use Case Diagrams
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Software Engineering Case Study Slide 1 Introductory case study.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
An Introduction to Models & The UML The Unified Modeling Language Copyright © 2007 Patrick McDermott College of Alameda Not really.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Requirements Analysis
Systems Analysis and Design in a Changing World, 6th Edition
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Unified Modeling Language, Version 2.0
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: An Aside: The Quickest Tour through the UML that you will ever get.
2. GATHERING REQUIREMENTS Object-Oriented Analysis and Design NTPCUG.
Lecture 7: Requirements Engineering
7 Systems Analysis and Design in a Changing World, Fifth Edition.
® 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.
Use Case Diagrams College of Alameda Copyright © 2007 Patrick McDermott.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 Use Cases.
Use Cases -Use Case Diagram Chapter 3 1. Where are we? 2 Analysis Chapters Ch 2Investigating System Requirements Ch 3Use Cases Ch 4Domain Modeling Ch.
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 Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
The Unified Modeling Language (UML)
Requirements Management with Use Cases Module 3: Analyze the Problem Requirements Management with Use Cases Module 3: Analyze the Problem.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
MADALINA CROITORU Software Engineering week 4 Practical Madalina Croitoru IUT Montpellier.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
Use Case, Component and Deployment Diagrams University of Sunderland.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
TA: Shreya Rawal.  A use case is a description of a system’s behavior as it responds to a request that originates from outside of that system (Usually.
Software Engineering: Models David Millard
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction to UML.
Use Cases -Use Case Diagram
Chapter 5 System modeling
Architecture Concept Documents
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
James Miller, Julia John
IMPORTANT NOTICE TO STUDENTS:
Introduction to UML.
Use Cases & Use Case Diagrams
Use Case Modeling.
Use Case Modeling Part of the unified modeling language (U M L)
Presentation transcript:

Use Cases College of Alameda Copyright © 2007 Patrick McDermott

The Use Case Use Case Diagrams are a powerful tool to specify and discuss user’s roles. They contain Scenarios, which are often used as design or coding specs. Use brainstorming techniques to help come up with Use Cases and Use Case Scenarios to better understand the problem. The Purpose of Use Case Diagrams —How users interact with a system

What’s a Use Case? A use case defines discrete system behavior of value to a particular actor (user role). The best use cases are those written in active voice, in present tense, in terms of user action/system response (“the user does this; the system responds by doing that”), and unambiguously using the terms defined in an accompanying glossary or domain model. A single project may have hundreds of use cases defined. Because the use case defines external system behavior (as observed by the user), it doesn’t make inroads into design. In other words, it defines the “what” of a system (as in, what do we want this system to do?) rather than the “how” (as in, how shall it do it?).

Business Level Use cases are meant to help you understand what a system should do—and often to explain the system to others (like the customer or your boss). If your use case focuses on specific code-level details, it’s not going to be useful to anyone but a programmer. As a general rule, your use cases should use simple, everyday language. If you’re using lots of programming terms, or technical jargon, your use case is probably getting too detailed to be that useful. — H1 st OOA&D, p. 77

We are Driven ?Procedure Driven ?Data Driven ?Object Driven ?Business Rules Driven ?Test-Driven ?Workflow Driven !Sharp & McDermott ?Use Case Driven [OOSE] –Booch, Rosenberg, Deitels, Agile, etc.  Real Goal: -Driven Chauffer ________

A Use Case… Describes What your System Does to accomplish a particular Customer Goal: –What: Use cases are all about the “what” –System: The complete app or project –Does: what the system needs to “do”. –Particular: A single UC focus on a single goal –Customer Goal: “The customer goal is the point of the use case: what do all these steps need to make happen? We’re focusing on the customer, remember? The system has to help that customer accomplish their goal.” — H1 st OOA&D, p. 72.

More Formally… “A use case is a technique for capturing the potential requirements of a new system or software change. Each use case provides one or more scenarios that convey how the system should interact with the end user or another system to achieve a specific goal.” — H1 st OOA&D, p. 73.

Use Case Benefits  Defines the System Boundary ↨Shows Scope  IDs Actors ☺Meaningful to User  Use to Identify/Cross-check class es  Validate the Requirements document

Discovery Brainstorm Events Actors Document Analysis CRUD your Classes CRUD your Relationships Key Attributes Methods…

Use Case A use case will usually define an individual task that is equal to or is less than a business process. It will usually take place at a single place and time from the user’s point-of-view. It should be logically complete and deliver something of use to the user. It will refer to work done in a process by one actor at one (contiguous) time.

Example In an activity called Take Order, getting the customer’s name is not a good use case, it’s part of one, because an order is not logically complete until we know what it is the customer wants to order. The activity is Take an Order, and includes both identifying the customer and recording the items being ordered.

The Book Rumbaugh, James, Ivar Jacobson & Grady Booch [“The Three Amigos”], The Unified Modeling Language Reference Manual, Second Edition, Upper Saddle River, New Jersey: Addison-Wesley ( ), 2006 (2005).

3 Parts to UC Goodness 1.Clear Value: Every use case must have a clear value to the system. If the use case doesn’t help the customer achieve their goal, then the use case isn’t of much use. 2.Start & Stop: Every use case must have a definite starting and stopping point. Something must begin the process, and then there must be a condition that indicates the process is complete. 3.External Initiator: Every use case is started off by an external initiator, outside of the system. Sometimes that initiator is a person, but it could be anything outside of the system.

Requirements Ripple to UC Check your requirements against your Use Cases A Change to the Requirements implies a change to the UCs Each UC should relate to 1 or more Requirements  Else why is it there? Each Requirement should be addressed 1 or more UCs

A Use Case has Scenarios Use Case Scenario Class Requirements Program Spec Class Diagram