1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

47
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176

Transcript of 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Page 1: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

1

Chapter 5Modeling System Requirements

Finding the Use Cases

Page 159 - 176

Page 2: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Revision

System Analysis:– SDLC– Techniques for Analysis:

Gathering Information about the system The stakeholders Requirements

An Extensive amount of information is required to properly define the systems functional and non-functional requirements

2

Page 3: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Introduction:

To record these extensive amount of information:

We use models– Activity Diagram, to document workflows– Workflow: is a sequence of processing steps that

completely handles one business transaction or customer “request”

3

Page 4: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Objective:

Developing techniques for documenting the functional requirement by creating models

Remembering that the process is closely tied to the models developed during the process.

4

Page 5: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Background: p159-160

Waiters on Call is a meal delivery service that delivers complete meals from well-known restaurants.

They pay wholesale price, and the customers pay retail price with service charge.

They started off with only two restaurants and one delivery driver.

The business expanded, and they needed a computer system to support the operations.

5

Page 6: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Call Meal-Delivery System:

Interview with analyst:– What events happen when you are running your

business?– Tell me what’s going on in your business, and why

do you need a computerized system?– How do you handle the money?

Revision: p.134 – 135: Question Themes: See next slide

6

Page 7: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

7

Page 8: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Need to understand:

Understand the workflow What the system suppose to do

8

Page 9: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

9

Page 10: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

10

Page 11: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Requirements:

The system must respond when certain events occur. Makes the system to DO something. This RESPOND is a USE CASE

The system produces at specific points in time certain deliverables.

To support the business operations you need to store information.

The system must maintain information.

11

Page 12: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Events: (Occurrence)

A customer calls and you place an order A driver finished a delivery, record a

delivery completion A customer calls back to change an order,

and you then update the order A driver reports to work, so you sign in a

driver A driver submits the day’s receipts, so you

reconcile the driver receipts.12

Page 13: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

The system produces at specific points in time:

End-of-day deposit slips End-of-week restaurant payments Weekly sales report Monthly financial reports

13

Page 14: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

To store information about:

Restaurants Menu items Customers Orders Order payments Drivers

14

Page 15: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

To maintain information:

To add a new restaurant Changes of menus Drop a restaurant Hire a new driver Drop a driver

15

Page 16: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Procedure for object-oriented systems analysis:

Step1: Identify the business events and make an event table.

Step2: Identify the use cases and produce a use case diagram for the system.

Step3: Write a use case narrative describing the system’s response to each business event.

16

Page 17: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Cont.

Step4: Draw a system sequence diagram for each use case scenario.

Step5: Produce a domain model showing the concepts, attributes, and associations in the problem domain of the system.

Step6: Write a contract for each system operation.

17

Page 18: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Use Case:

Is an activity the system carries out– Usually in response to a request

18

Page 19: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Example:

Consider again our example of the Meal Deliver System:

A customer calls to order Need to record the order, and relevant

information Order-Entry subsystem:

19

Page 20: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

20

Page 21: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Use Case:

Several Techniques:– List all users and think what the system must do for

them– Start with the existing system and add any new

functions requested by the users.– Users must describe their goals in using the

system By asking users about their goals, you can

focus on processes. See next slide:

21

Page 22: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

User Goal Technique:

USER/ACTOR User Goal and resulting Use Case

Order Clerk Look up menu’sCreate new OrderUpdate Order

Driver Sign-inCollects Bill

22

Page 23: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Recognizing Events:

Understanding system behavior in terms of events takes a stimulus-response perspective. Pattern of operation:– The system does nothing until triggered by an

event. It sits and waits for an event to occur.– When an event occurs, the system responds as

completely as possible.– After the response is finished, the system sits and

waits until next event occurs.

23

Page 24: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Example:

Vending Machine:– It sits in the hallway until someone drops money

in the coin slot.– The purchaser presses a button to select the

desired beverage– The machine then dispenses the beverage.

When the coins are entered (trigger), the machine recognizes that an event has occurred. A customer wants to buy a beverage.24

Page 25: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Vending Machine:

The signal from the coin slot is the trigger. In order to response, the machine now needs

two pieces of data:– The specification of the beverage– The amount paid

Pressing the beverage selection button tells which drink is desired.

The coin slot senses the amount paid

25

Page 26: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Example:

See next slide, and identify all the components of the event table.

26

Page 27: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

27

Page 28: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Revision:

What is a Use Case What are the elements of a Use Case Let’s create an ATM sysem!!

28

Page 29: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

What is a Use Case?

What are they?– Use cases capture the functional requirements

of a system. What the system should do. It describes the behavior of the system.

– Use cases describe the interactions between various actors and the system

29

Page 30: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

What elements they consists of?

30

Page 31: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Let’s create an ATM system!

Draw the system Identify who wants to interact with the system What are their goals? What do we need to complete the use case

successfully?

31

Page 32: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

32

Page 33: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Written Use Case:

For each use case:– Describe the steps involved in an interaction

between an actor and the system, beginning with the primary actor (the one that initiates the use case)

– Start with the main success scenario: happy path– Look for alternative paths:

Exceptions: What could go wrong? Extensions: What other goal might come into play here?

33

Page 34: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Event Analysis:

Event analysis is like a giant vending machine, waiting for buttons to be pushed or coins to be inserted before it springs into action.

In order to respond to an event, the system or some object within it must be able to recognize that an event has occurred.

34

Page 35: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Level of analysis:

To focus on EBP:– Elementary business processes: is a task performed

by one person, – in one place, – in response to a business event, which adds

measurable business value and – leaves the system and its data in a consistent state

35

Page 36: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

To note:

EBP occurs in a response to a business event

An event occurs at a specific time and place, can be described by the system, and should be remembered by the system

Events drive or trigger all processing that a system does.

Analyzing events make sense when you define requirements by identifying use cases

36

Page 37: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Event Decomposition:

Technique that first focuses on the events a system must respond to

And then look at HOW a system must respond or the use case– “What events occur that will make the system to

respond” You direct your attention to the external

environment and see the system as a black box.

37

Page 38: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Types of Events:

External Events– Occur outside the system

– Usually caused by external agent

Temporal Events– Occurs when system reaches a point (deadline) in

time

State Events– Asynchronous events responding to system trigger

38

Page 39: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

39

Page 40: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

40

Page 41: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

State Events:

An event that occurs when something happens inside the system that triggers the need for processing:– A sale causes the inventory level of a product to

drop below the re-order level and activates a re-order

Not the same as temporal events, because a point in time cannot be defined.

41

Page 42: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Case Study:

The next few slides investigate events of RMO– External events– Temporal events– Event Table

42

Page 43: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

43

Page 44: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

44

Page 45: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

45

Page 46: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Example: Placing an order

External-, Temporal- or State Event? What is the EVENT: Customer places an order HOW will this event take place? TRIGGER or

entering a new order From where is this event taking place?

SOURCE or ‘Customer’ How must the system re-act? USE case:

Create new order

46

Page 47: 1 Chapter 5 Modeling System Requirements Finding the Use Cases Page 159 - 176.

Problem Domain Classes:

We need to STORE information: Identify “things” Relationships among “things” Attributes of “things” Domain Model Class Diagram:

– Generalization/Specialization– Whole-Part hierarchies

Aggregation Composition

47