Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,

Slides:



Advertisements
Similar presentations
Comp1004: Object Oriented Design II Designing Applications Based on BlueJ Chapter 13.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
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
CS3773 Software Engineering Lecture 03 UML Use Cases.
Waterfall Development Process
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Fall 2009ACS-3913 Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Documenting Requirements using Use Case Diagrams
Software Engineering CSE470: Requirements Analysis 1 Requirements Analysis Defining the WHAT.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
Marcelo Santos – OOAD-CDT309, Spring 2008, IDE-MdH 1 Object-Oriented Analysis and Design - CDT309 Period 4, Spring 2008 More on use cases System sequence.
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
The first step in getting what you want is to decide what you want.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Use Cases College of Alameda Copyright © 2007 Patrick McDermott.
Rational Unified Process (Part 1) CS3300 Fall 2015.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 1 , 2 , 3 and 4 Applying UML and Patterns -Craig Larman
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
Approaching a Problem Where do we start? How do we proceed?
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
OOSE Use Case. Requirement Functional: –Features, capabilities, and security Non Functional: –Usability: Human factors, help, and documentation –Reliability:
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Chapter 9 Applying UML and Patterns -Craig Larman
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Systems Analysis and Design in a Changing World, 6th Edition
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.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
Sept Ron McFadyen1 Use Cases Introduced by Ivar Jacobson in 1986 literal translation from Swedish ”usage case” Used to capture and describe.
PRESENTATION ON USE CASE. Use Case Modeling Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is.
Ivar Jacobson, Grady Booch, and James Rumbaugh The Unified Software Development Process Addison Wesley, : James Rumbaugh's OOMD 1992: Ivar Jacobson's.
IntellAgile Copyright © 2002 Craig Larman. All rights reserved. Writing Use Cases: Requirements in Context.
OO DomainModeling With UML Class Diagrams and CRC Cards Chapter 6 Princess Nourah bint Abdulrahman University College of Computer and Information Sciences.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
Use Case, Component and Deployment Diagrams University of Sunderland.
Software Engineering: Models David Millard
UML Class Diagrams David Millard
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
UML Activity and Sequence Diagrams David Millard
Jan Ron McFadyen1 Use Cases Used to capture functional requirements – there are other requirements categories such as usability, reliability,
Algorithms 1: Sequences and Modules Yvonne Howard & Rikki Prince
Building Good Solutions David Millard
Elaboration popo.
Use Cases and Scenarios
System Sequence Diagrams and Operation Contracts
UML Use Case Diagrams.
OO Domain Modeling With UML Class Diagrams and CRC Cards
Start at 17th March 2012 end at 31th March 2012
Unified Modeling Language
Unified Modeling Language
Software Requirements
Use cases Dr. X.
Presentation transcript:

Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,

Overview Definitions of Modeling The Big Software Engineering Picture Use Cases Descriptions ▫The Anatomy of a Use Case ▫An Example Use Case Diagrams ▫The Anatomy of a Use Case Diagram ▫The includes and extends relationship Use Case Modeling ▫An example

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Definitions Modeling (n) “A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.” Wikipedia "Modeling has been an essential part of engineering, art and construction for centuries. Complex software designs that would be difficult for you to describe textually can readily be conveyed through diagrams. Modeling provides three key benefits: visualization, complexity management and clear communication.” IBM “Some development managers wonder why modeling is important at all. After all, the code should speak for itself… Why add an extra layer of abstraction that we have to maintain as the project progresses? The reason is that there are a number of clear benefits that models provide a development organization. They are enhanced communication, better planning, reduced risk, and reduced costs” Software Modeling Introduction – Borland White Paper

Unified Modeling Language UML - Unified Modelling Language - 3 creators: ▫Grady Booch, Ivar Jacobson and James Rumbaugh ▫Started in early 1990’s A visual language for developing software systems

The Big Software Engineering Picture

Software Engineering: Big Picture Requirements Gathering Surveys User studies Focus groups SSM Specification UML Use Cases Scenarios Storyboards Design UML Class Diagrams Activity Diagrams Sequence Diagrams Etc… Implementation Software code APIs Document formats Testing Unit Tests Black Box Tests Etc… Deployment Configuration Bug Tracking User Support This is rarely a straightforward progression – in reality there are lots of iterations and points of feedback

Software Engineering: Big Picture Requirements Gathering Surveys User studies Focus groups SSM Specification UML Use Cases Scenarios Storyboards Design UML Class Diagrams Activity Diagrams Sequence Diagrams Etc… Implementation Software code APIs Document formats Testing Unit Tests Black Box Tests Etc… Deployment Configuration Bug Tracking User Support This is rarely a straightforward progression – in reality there are lots of iterations and points of feedback From a problem statement to starting to find a solution – Requirements Capture

Requirements Capture: What is the Challenge? Requirements Gathering Surveys User studies Focus groups SSM Specification UML Use Cases Scenarios Storyboards

Requirements Gathering Surveys User studies Focus groups SSM Specification UML Use Cases Scenarios Storyboards Users don’t always know what they want They often need help to innovate They may have conflicting requirements They may not have a complete picture They use the language of their mini-world (domain) ▫Not necessarily the same language as technologists ▫It may be imprecise and contextual

Use Case Descriptions

Use Cases A structured textual description Captures a more formal view of a user’s interaction with a system From the User’s point of view Use cases model ▫A collection of use cases ▫Define what the system should do ▫And shows who uses (benefits from) the system They are useful because they ▫Capture fuzzy user requirements in a more precise way ▫Provide a basis for testing

Anatomy of a Use Case Description Use Case NameProcess sale Scope (system boundary)POS system Primary ActorCashier StakeholdersCashier Customer Company PreconditionsThe system has authenticated the cashier Main success scenario (system happiness)1.Customer arrives at POS checkout with items to buy 2.Cashier starts new sale 3.Cashier scans new item (enters ID) 4.System records item, displays price and calculates running total Cashier repeats 3 and 4 until all items scanned 5. System displays total 6.Customer inserts card in reader, enters PIN 7.Cashier completes sale 8.System logs sale and updates stock inventory ExtensionsOther success or failure scenarios ? What is the system? What happens in the usual sequence that we would expect to see? The stakeholder in a role that initiates an interaction with the system to achieve a goal Who are the other stakeholders: other people or organisations who have an interest in this? What has to happen before this use case can occur? What are the alternative things that can happen (for example, if something goes wrong)?

Anatomy of a Use Case Description Use Case NameProcess sale Scope (system boundary)POS system Primary ActorCashier StakeholdersCashier Customer Company PreconditionsThe system has authenticated the cashier Main success scenario (system happiness)1.Customer arrives at POS checkout with items to buy 2.Cashier starts new sale 3.Cashier scans new item (enters ID) 4.System records item, displays price and calculates running total Cashier repeats 3 and 4 until all items scanned 5. System displays total 6.Customer inserts card in reader, enters PIN 7.Cashier completes sale 8.System logs sale and updates stock inventory ExtensionsOther success or failure scenarios ? Use Case Scenario A customer arrives at a checkout with a basket of items to buy. The cashier uses a Point-of-Sale system to scan each item. The POS system records a running total and line-item details. The customer pays for the total bill using a debit card, entering their PIN to authorise the payment. The system updates the stock levels. The Customer leaves

Anatomy of a Use Case Description Use Case NameProcess sale Scope (system boundary)POS system Primary ActorCashier StakeholdersCashier Customer Company PreconditionsThe system has authenticated the cashier Main success scenario (system happiness)1.Customer arrives at POS checkout with items to buy 2.Cashier starts new sale 3.Cashier scans new item (enters ID) 4.System records item, displays price and calculates running total Cashier repeats 3 and 4 until all items scanned 5. System displays total 6.Customer inserts card in reader, enters PIN 7.Cashier completes sale 8.System logs sale and updates stock inventory ExtensionsOther success or failure scenarios ?

Use Case NameProcess sale Scope (system boundary)POS system Primary ActorCashier StakeholdersCashier Customer Company PreconditionsThe system has authenticated the cashier Main success scenario (system happiness)1.Customer arrives at POS checkout with items to buy 2.Cashier starts new sale 3.Cashier scans new item (enters ID) 4.System records item, displays price and calculates running total Cashier repeats 3 and 4 until all items scanned 5. System displays total 6.Customer inserts card in reader, enters PIN 7.Cashier completes sale 8.System logs sale and updates stock inventory ExtensionsOther success or failure scenarios Anatomy of a Use Case Description 1.Scan failure: item ID not in system - Enter item id manually 2.Customer PIN not valid - Call manager 3.Customer pays by cash - Cashier accepts cash 1.Scan failure: item ID not in system - Enter item id manually 2.Customer PIN not valid - Call manager 3.Customer pays by cash - Cashier accepts cash

In Summary Cockburn says: ▫A Use Case captures a contract with the stakeholders of a system about its behaviour ▫The Use Case describes how the system reacts to a request from a primary actor in order to achieve a goal ▫Use cases are essentially textual  There will be a whole collection of use cases for a given system ▫A collection of use cases can be shown together in a Use Case Diagram

Use Case Diagrams

A Use Case Diagram At it’s simplest a use case diagram shows an Actor interacting with a Use Case Student Submit Coursework

A Use Case Diagram Several actors can interact with different use cases in the same System Student Lecturer Submit Coursework Create Assignment Handin System

A Use Case Diagram Actors can share the same use case Student View Assignment Lecturer Submit Coursework Create Assignment Handin System

A Use Case Diagram One use case can include another use case to show that this is always included in its function Student View Assignment Lecturer Submit Coursework Create Assignment Handin System Obtain Receipt Obtain Receipt includes

A Use Case Diagram One use case can extend another use case to show that there is sometimes a variation Student View Assignment Lecturer Submit Coursework Create Assignment Handin System Duplicate Assignment Obtain Receipt Obtain Receipt extends includes

Use Case Diagram Anatomy Actor Use Case includes extends System Anyone or anything with behaviour that gets value from interacting with the system A description of a user’s goal – normally starts with a verb Shows the system boundary (and gives the system a name) Connects an Actor with a Use Case Shows that one use case always includes a second use case Shows that one use case is a sometimes done as a variation of a second use case

Break

The Process of Use Case Modeling

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

Noun Phrase Parsing In order to find the key objects and actions ▫search through the problem definition and ▫extract all the noun phrases Noun phrases are phrases which describe, individuate or pick-out things in the world ▫for example "customer" individuates an entity which will be represented in the system Don't worry about whether or not the noun phrases should be part of the final solution, just meticulously list the noun phrases.

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

In order to find the common processes, look for verb phrases: ▫those which describe "doing things", ▫for example ”cooks" is a process which summarises part of the process Don't worry about whether or not the verb phrases describe final processes of the system, or whether or not one subsumes the description of the other, just list them. Verb Phrase Parsing

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

Most often, the requirements will be from a domain of discourse or "mini-world" -- a given requirements specification will be in the language of a particular work practice, such as hospitality. Given this, you can: ▫remove synonyms (noun-phrases which mean the same thing in the domain of discourse). ▫ignore pronouns and articles such as "the", because they refer to an object/noun-phrase in the context of the rest of the sentences. Tidy up the Lists

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

Which nouns are actors? ▫Robot Waiter, Customer, System (Robot Chef?) For Use Cases Look for noun verb phrases ▫Cook Breakfast ▫Fry Sausage The cases may be described at different levels of detail ▫E.g. Fry Sausage is part of Cook Breakfast Figure out which noun verb pairs are parts of another But Beware! ▫Sometimes there will be a high level phrase (Cook Breakfast) ▫But sometimes there wont be  Can invent one by grouping together the lower level phrases Sketch Actors and Use Cases

What are the Noun Verb Phrases? A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order by name. Customers can order different combinations of ingredients for their meal, and also ask for one drink. The system then cooks the breakfast. It must be able to fry sausages, bacon, eggs and mushrooms; toast bread, waffles and muffins; and pour their orange juice or coffee. Customers can take a doggy bag at the end if they want. The waiter then serves the breakfast.

Analysis So Far… Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Robot Chef Provide Breakfast Fry Mushrooms Fry Mushrooms Pour OJ Pour OJ Pour Coffee Pour Coffee Toast Muffins Toast Muffins Toast Muffins Toast Muffins Toast Bread Toast Bread Fry Eggs Fry Eggs Fry Bacon Fry Bacon Fry Sausage Fry Sausage Ask Drink Ask Drink Take Doggy Bag Take Doggy Bag

This process of understanding a problem is called Stepwise Refinement We take the problem and: ▫Simplify were possible  adjust language and group similar cases ▫Elaborate  decompose (break down) if needed  add an appropriate level of detail However it is an iterative process involving much re-writing So the last step is to revise the design ▫(revisiting any of the previous steps as necessary) ▫This will continue until we are happy that we have a working design Stepwise Refinement

Simplify Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Robot Chef Provide Breakfast Fry Mushrooms Fry Mushrooms Pour OJ Pour OJ Pour Coffee Pour Coffee Toast Muffins Toast Muffins Toast Muffins Toast Muffins Toast Bread Toast Bread Fry Eggs Fry Eggs Fry Bacon Fry Bacon Fry Sausage Fry Sausage Ask Drink Ask Drink Take Doggy Bag Take Doggy Bag

Simplify Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Robot Chef Provide Breakfast Fry Mushrooms Fry Mushrooms Pour OJ Pour OJ Pour Coffee Pour Coffee Toast Muffins Toast Muffins Toast Muffins Toast Muffins Toast Bread Toast Bread Fry Eggs Fry Eggs Fry Bacon Fry Bacon Fry Sausage Fry Sausage Ask Drink Ask Drink Take Doggy Bag Take Doggy Bag

Simplify Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Pour Drink Pour Drink Robot Chef Toast Food Toast Food Fry Food Fry Food Provide Breakfast Take Doggy Bag Take Doggy Bag

Simplify Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Pour Drink Pour Drink Robot Chef Toast Food Toast Food Fry Food Fry Food Provide Breakfast Take Doggy Bag Take Doggy Bag

Elaborate Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Pour Drink Pour Drink Robot Chef Toast Food Toast Food Fry Food Fry Food Provide Breakfast Take Doggy Bag Take Doggy Bag

Elaborate Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Pour Drink Pour Drink Robot Chef Toast Food Toast Food Fry Food Fry Food includes Provide Breakfast Take Doggy Bag Take Doggy Bag extends

Elaborate Take Order Take Order Cook Breakfast Cook Breakfast Serves Breakfast Greet People Greet People Robot Waiter Customer Robot Chef Automated Breakfast System Take Doggy Bag Take Doggy Bag extends Pour Drink Pour Drink Toast Food Toast Food Fry Food Fry Food includes

Now your turn! In groups of 3-4 look at this scenario Perform a noun verb analysis ▫Identify Actors ▫Identify Use Cases Perform a use case analysis ▫Look for common functions (includes) ▫Look for variations (extends) ▫Draw a Use Case Diagram “A health spa wants a new system to improve the process of reserving and allocating treatments. They want a phone receptionist to be able to check current bookings, make new reservations and cancel old ones. An assistant uses the same system to record the arrival of pre-booked customers, and they can also use the system to transfer them to alternative treatments if the customer is unhappy. Sometimes a customer arrives unannounced, in which case the assistant can use the system to check availability and allocate them a treatment.”

Summary A Use Case describes a users interaction with a system ▫Captures system requirements from the user point of view A Use Case Description ▫Is a structured textual description of that interaction ▫Identifies actors, stakeholders and preconditions ▫Includes main (success) scenario and alternatives A Use Case Diagram ▫Shows (many) actors interacting with (many) use cases in a system ▫Use cases can be related using:  Includes (always includes this other use case)  Extends (sometimes this other use case happens instead) Use Cases are useful at capturing requirements because: ▫Helps to share mental models ▫Bridge the technical and domain divide