User Stories and Use Cases

Similar documents
An Introduction to Use-Case Modeling

Product Requirements Documentation: Use Cases

CHAPTER 3 Use Cases. 3. Use Cases

CHAPTER 3 Use Cases. 3. Use Cases

Comp435 Object-Oriented Design. Requirements and Use Cases. Requirements Analysis. Outline. Requirements Analysis. Requirements change

Requirements Engineering

Requirements Analysis. Requirements Analysis is Hard

Information Systems RE Business Process and Data Analysis (cont d) + Use Case Analysis

The Use Case Technique: An Overview

Requirements Analysis

Requirements Analysis

Requirements Use Cases

Use cases. Paul Jackson. School of Informatics University of Edinburgh

Use case methodology (IEC 62559) International Electrotechnical Commission

UC Santa Barbara. CS189A - Capstone. Chandra Krintz Department of Computer Science UC Santa Barbara

Requirements Engineering Unit 4: Requirements modeling, specification & prioritization

System Sequence Diagrams

(Sample) Use-Case Model Survey. For an Automated Teller Machine (ATM) Handout 1. Introduction

BUSINESS PROCESS MODELLING Primer Version 0.2

Requirements Analysis. Overview

An Introduction to Use Cases

Design-Informing Models

Object-Oriented Analysis/Design and Use Cases Object Oriented Analysis and Design

SYSTEM AND SOFTWARE DESIGN USING THE UNIFIED MODELING LANGUAGE (UML)

Information Technology Audit & Cyber Security

Use cases. Version October 2013

02291: System Integration

making money from customer use of kiosk attracting more customers to the store saving money if the kiosk replaces manual operations

The Stable Framework

Virtual money in vacation resort

CS/IT Secure Software Construction

EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG

Electronic Banking (E-Banking)

Essentials of IBM Rational Requirements Composer, v3. Module 4: Creating a use-case model

Use cases. Version 2.6 November 2015

CS 350 COMPUTER/HUMAN INTERACTION

Service-Oriented Architecture A View From the Field. Paul C. Brown, Ph.D. Principal Software Architect

FRAM First Steps How to Use FRAM and the FMV

v.camp : Business Model Development & Innovation (P)Re-Think Your Business Model Exercises

Solutions Manual. Object-Oriented Software Engineering. An Agile Unified Methodology. David Kung

Current accounts Helping you to get things moving.

BDD Behaviour Driven Development. Marek Majchrzak, Andrzej Bednarz Wrocław,

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Software Engineering Third Year CSE( Sem:I) 2 marks Questions and Answers

HOW TO WRITE A WINNING PROPOSAL

Introduction. Accounting. Information 3/22/2010. Chapter 1. The language of business

Nationwide Paym. Terms and Conditions. How will Nationwide use your personal information? Terms and Conditions. Building Society

Co-creation DG508. Michelle van Lieshout. University of technology Eindhoven Department of Industrial Design

ANZ EFTPOS card and ANZ Visa Debit card CONDITIONS OF USE

Software Engineering I (02161)

Using Incentives to Increase Engagement and Persistence in Two- Generation Programs. Megan Stanley & LaDonna Pavetti

Object-Oriented Software Engineering. Using UML, Patterns, and Java. Functional Modeling

Closing the Loop Using Automation to Build a Better Compliance Program

Design-Informing Models

Software Engineering (CSC 4350/6350) Rao Casturi

Automatic Demand Draft Generation using the Automated Teller Machine

Example1: Courseware System Description

Software Engineering I (02161)

Micro Service Architecture

Frameworx 13.0 Product Conformance Certification Report

and convenience stores

CS/ISE 5714 Spring Chapter 6. Constructing Design-Informing Models

Development of Information System for Constance Hospitality Academy

YOUR GUIDE TO. Version 1.0. Not FDIC Insured May Lose Value No Bank Guarantee

Scrum, Creating Great Products & Critical Systems

Babu Madhav Institute of Information Technology, UTU 2017

Requirements Elicitation with Use Cases

5/21/14 WHAT IS ECONOMICS? ECONOMICS IS. NOT The the study of money NOT another word for accounting NOT hard to understand SO WHAT IS IT?

Agile Requirements with User Stories. Overview

Use-Case Diagram. Contents. Introduction. 1. Introduction. User-Centred Design (UCD) Users Requirements

System Analysis and Design Week 1 Introduction

Say hello to your new Visa Debit Card

8 Steps to Effective Use Cases

Final Exam Requirements Engineering I (MINF 4204, HS13)

Rule = A definition of what a Product Backlog is. Good Practice = A practice which is commonly done and is good to do. Avoid = A practice which, in

WRRF3B PERFORMANCE CRITERIA ELEMENTS OF COMPETENCY PRODUCE FINANCIAL REPORTS. 1 Enter payment summaries into journals. 2 Reconcile accounts to balance

MODELING AN ELECTRONIC PORTAL APPLICATION

Lecture 4: User and Task Analysis. February 3

Software Architecture and Engineering Requirements Elicitation Peter Müller

SERIALS CATALOGING IN THE DIGITAL ENVIRONMENT: FAST, FASTER, FASTEST

The analysis and design of a Smalltalk application.

Electronic Banking Bonanza

Say hello to your new Visa Debit Card

2 Software Processes

status Homework 2 posted:

Everything Online Green Aug 2019

A Guide to the Business Analysis Body of Knowledge (BABOK Guide), Version 2.0 Skillport

How To Create a Social Support Strategy

How to Plan an Event /Activity

PROCEDURES AND PAPERFLOW

How to Use Your Customer Data for Impactful Inbound Marketing. e-book

Always Selling: Sales and Marketing Business Practices Everyone in the Library Can Use

Table of Contents. Welcome to igo Figure...1 About this Guide...1 A Few Important Things to Know...1

Software development activities

NOTE: Close any security window that pops up (McAfee, MalwareBytes, etc.)

Software Architecture and Engineering Requirements Elicitation Peter Müller

account(s) Powers Ferry Road #150 Atlanta, Georgia (770)

Measuring Your ROI On Social Media


Essential Skills and Work Habits Reference Sheets with Tasks

Transcription:

1/19 User Stories and Use Cases Mikael Svahnberg 1 2017-03-23 1 Mikael.Svahnberg@bth.se

2/19 User Stories User Stories are the currently preferred way in agile of writing requirements. Simpler structure than the regular requirements Not usually worked with in lenghty documents Rather, just enough to fill a sprint Template: As a <type of user> I want <some goal> so that <some reason>.

3/19 User Stories Examples As a software designer I want to document what the customer is telling me so that I can discuss my understanding of their requirements with them. As a software designer I want to document what the customer is telling me so that I can easily continue designing based on a joint understanding. As a software designer I want to be able to reuse common procedures between my use cases so that I only have to maintain them in one place. As a project manager I need to decide what to focus on building right now so that I best satisfy all customers expectations. As a product manager I want to make sure that we are building software of high quality.

www.bth.se Good and Bad Require- Discuss: ments I 4/19 Users shall be able to view a personal calendar and recent notifications in the system. Use Case: View Calendar and Notifications Actors: System Users Description: A user requests to view their personal calendar. The system displays the users personal calendar. A user requests to view their recent notifications. The system displays the users recent notifications.

www.bth.se Good and Bad Require- Discuss: ments I 4/19 Users shall be able to view a personal calendar and recent notifications in the system. Use Case: View Calendar and Notifications Actors: System Users Description: A user requests to view their personal calendar. The system displays the users personal calendar. A user requests to view their recent notifications. The system displays the users recent notifications. As a regular user I want to be able to view my personal calendar and recent notifications so that I can make sure that a new notification does not double-book me on an event.

5/19 User Stories and UML Use Cases User Stories are not UML Use Cases.... But you can use them as a starting point (for the Description) Discuss: Why are they not the same? Why do we need both? User Stories have Conditions of Satisfaction Acceptance criteria. Where would you fit these in a Use Case? Would you fit these in a Use Case? Value Both User Stories and UML Use Cases focus on value. They describe something that adds value to the system. e.g. A Business Process

6/19 UML Use Cases A concrete scenario Normally describes a process consisting of some back-and-forth interaction with the system. A collection of requirements, working together to solve a particular scenario. Focus primarily on the positive scenario everything goes as expected. Describes a particular instance of the scenario not all possible cases.

7/19 UML Use Cases Name Actors Brief Description Use Case: Return Book Actors: Customer, Librarian Description: A customer returns a book. The librarian scans the barcode and the system registers the book as being back in the library. Discuss Why can t the customer scan the barcode themselves? Why barcode? Why does the system need to know that the book is back in the library? How do we test this? How do we regression test this? From a Requirements Engineering perspective, how can we find more information if we need it?

8/19 Expanded Use Cases Use Case: name Actors: primary actors Description: brief description Main Course of Events: Actor System 1. action 2. response...... n-1. action n. response Alternative Flow of Events: p. a description of what might happen instead, and how the system reacts to this.

9/19 Discussion: What s in a Name What are good names for use cases? Example: Discussion Forum What are the primary use cases for a discussion forum?

10/19 Planning with the help of Use Cases Use Cases describe high-level usage scenarios features? Which use case should be implemented first? Which use cases contribute to a Minimum Viable Product?

11/19 Discussion on Use Case Ranking Increase ranking of a use case if it has direct impact on architectural design example: adds classes to domain layer, require persistent services includes risky, time-critical, complex functions involves new research or technology represents primary business processes directly supports revenue or decreased costs Discuss For each of these cases, why does it increase the rank of a use case?

12/19 Use Case Ranking Techniques Scored (Numerical Weights) Discrete (High, Medium, Low) Simple Ordering (bubble sort?) MoSCoW (Must have, Should have, Could have, Won t have) Cumulative Voting

13/19 Use Case Diagrams Overview of Use Cases, System Boundaries, and Actors

14/19 Use Case Reuse Extend and Include Do this later! Your main job is still to understand what the customer wants. Relating use cases is mostly a modelling exercise.

15/19 Use Case WithdrawMoney Use Case: Withdraw Money Primary Actor: Customer Actors: Bank Description: A customer authenticates themselves against the bank, and selects how much money they want to withdraw and in what types of banknotes. The system updates the account (if there is enough money) and gives the money to the customer. Main Flow of Events: Actor System 1. Customer Authorises themself to the machine 2. Initiate use case Authorisation 3. Customer Checks how much money is available 4. System displays the amount of money on the account. 5. Customer decides how much money they want 6. Customer decides what banknotes they want 7. System verifies that there are sufficient funds in the account. 8. System subtracts desired amount from account. 9. System dispenses money (according to the preferred banknotes). 10. System returns card.

16/19 Use Case WithdrawMoney Use Case: Withdraw Money Primary Actor: Customer Actors: Bank Preconditions: - Customer is a customer at the bank - There is money in the bank terminal Postconditions: - Customer walks away with cash in hand - The customers account is accordingly updated Description: A customer authenticates themselves against the bank, and selects how much money they want to withdraw and in what types of banknotes. The system updates the account (if there is enough money) and gives the money to the customer. Main Flow of Events: Actor System 1. Customer Authorises themself to the machine 2. Initiate use case Authorisation 3. Customer Checks how much money is available 4. System displays the amount of money on the account. 5. Customer decides how much money they want 6. Customer decides what banknotes they want 7. System verifies that there are sufficient funds in the account. 8. System subtracts desired amount from account. 9. System dispenses money (according to the preferred banknotes). 10. System returns card. Alternative Flows: - 2. Customer fails to authorise themselves correctly. The transaction is aborted. - 7. There are not enough money in the account. The transaction is aborted and an error message is shown. - 9. The desired banknotes are not available. The system dispenses other banknotes. - 9. There is not enough money in the machine. The transaction is aborted and the system initiates the out of money use case.

17/19 Extends vs Includes Extends inheritance: Your new use case is the same as the old, except for any modifications you introduce. Includes borrows a separate use case and inserts it into the flow of the current use case. In fact, you may use the include relationship to compose smaller scenarios into a bigger one. Example Example the use case Pay for Items can include Pay by cash, Pay by card, and Pay by cheque. The use case Pay with Gift Certificate extends Pay by cash.

18/19 How to write Extends Use Cases Trigger: What starts the extension rather than the original use case? Extension Point: Where in the original use case do you add your extensions Main Course of Events: the changes to the flow. Trigger: Customer wants to pay with a gift certificate Extension Points: Payment in the Process Sale use case Main Success Scenario: Actor System 1.... 2.... Larman and the Extend Relationship See more in Larman, page 497. The bottom line is that not even Larman knows what to use the extends relationship for, so he writes something fluffy in the hope that someone might glean some meaning out of it. So in your case I think the best advice is: don t use the extends relationship.

19/19 Extends vs Includes