© 2008 Prentice Hall, Ovidiu Noran Tutorial 6 1 DFDs vs. Use Case Diagrams (Textbook Chapter 7 &...

25
© 2008 Prentice Hall, Ovidiu Noran Tutorial 6 1 Tutorial 6 DFDs vs. Use Case Diagrams (Textbook Chapter 7 & Appendix)

Transcript of © 2008 Prentice Hall, Ovidiu Noran Tutorial 6 1 DFDs vs. Use Case Diagrams (Textbook Chapter 7 &...

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 1

Tutorial 6

DFDs vs. Use Case Diagrams

(Textbook Chapter 7 & Appendix)

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 2

Learning Objectives

Practice more DFDs

Practice more Use Case Diagrams

Understand commonalities and differences between the two types of diagrams

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 3

Consider the following narrative:Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1

Maximum Software is a developer and supplier of software products to individuals and businesses. As part of their operations, Maximum provides a help desk line for software purchased form Maximum. An operator enquires about the nature of incoming calls. Calls that do not require help desk functions are directed to other company units. Help desk consultants are organised by product. The operator directs the call to a consultant skilled on the software that the caller needs help with. Some calls need to be put on a queue. Once a consultant answers the call, the consultant determines if this is the first call from this customer. If so, the consultant creates a new call report to keep track of all information about the problem. If it is not the first call about a problem, the consultant asks the customer about the call report number and retrieves the open call report to determine the status of the enquiry.

Part 1

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 4

Ch. 7 Ex. 14 and Ch. 7 App, Ex. 1 (cont.) If the caller does not know the call report number, the consultant

collects other identifying information such as caller’s name, the software involved etc in order to conduct a search for the appropriate call report. If a resolution of the customer’s problem has been found, the consultant informs the client as to what the resolution is, indicates on the report that the customer has been notified, and closes out the report. If resolution has not been discovered, the consultant finds out if the consultant handling this problem is on duty and if so, the call is transferred to that consultant, who records any new information from the client. For new and continuing problems, the consultant tries to find the solution by using the relevant software and looking up information in reference manuals. If the consultant knows how to solve the problem, he / she tells the customer how to deal with the problem and closes the report. Else the consultant files the report for continued research and tells the customer that someone at Maximum software will get back to him / her and if the customer discovers new information he / she should call quoting the report number.

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 5

Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1 (cont.) Decisions to make

What is to be represented, i.e. what level of detail

to show?

Keep Level-0 DFD uncluttered, 7-9 processes (max). DFD can be subsequently further decomposed. Unless further information becomes available, assumptions may be necessary to further decompose.

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 6

Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1 (cont.) Decisions to make (cont.)

What is part of the system and what is an external entity / agent?

One option is to consider the processes performed by the consultants and operators as sub-systems within the system rather than as external entities (sources/sinks). This adds detail; however, it allows bottlenecks in these processes to be corrected. So, it depends on the scope of the problem (and what the client wants to pay for)

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 7

Help Desk System Context Data Flow Diagram

Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1 (cont.)

0

Help Desk

System

Other Unit

Client

Nature of Call

New Problem Data

Non-Help Desk Call

Call Report # or Other Data

Enquiry on Nature of Call

Call

Interim Problem Status

Final Call Resolution

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 8

Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1 (cont.)

Decisions to make (cont.)

Decision logic is not shown on the DFDs. How do

we cope with that?

a) show the data flows in / out of processes that correspond to all possible decisions

b) simulate some rudimentary decision logic on the DFDs

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 9

Hospital PharmacyPartial Level-0 Diagram

2.0

ReviewPrescription

Order by Station

3.0

FillOrder

Doctor Prescription

Unfilled Order InfoUnfilled Order

Info Response

Order Info

PharmacyTech Review

Prescription

1.0

Review &Send

Prescription to Station

2.0

ReviewPrescription

Order by Station

3.0

FillOrder

Doctor Prescription

Unfilled Order InfoUnfilled Order

Info Response

Order Info

PharmacyTech Review

Prescription

1.0

Review &Send

Prescription to Station

If the Order is not filled, then the doctor is contacted.

D1 Patient File

Patie

nt In

fo

D1 Patient File

Patie

nt In

fo

Information necessary to make the decision

The doctor responds …etc etc

Option a)

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 10

3.0

Determine if first call

5.0

Determine problem

status

4.0

Create Call Report

First Call Information

Previous Call Information

E.g.: “…the consultant determines if this is the first call from this customer. If so, the consultant creates a new call report […]. If it is not the first call about a problem, the consultant […] retrieves the open call report to determine the status of the enquiry.

D1 Call Report File

Call Report

Call Report

Information

Option b)

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 11Help Desk System Level-0 Data Flow Diagram

Open CallInformation

5

Determine Problem Status

D2 Call Report File

Other Unit

Client Inquiry on Nature of Call 1

Receive Call

Help Desk Call Information

First Call Information

Closed Call Problem Resolution

Previous Call Information

Call Information

Non-Help Desk Call Information

Call Report Information

Final Call Resolution

New Problem Data

2

Determine Direction of Call

4

Create Call

Report

D1 Call Queue

D1

Call Queue

7

Record New

Information

8

Research Problem

9

Close Call

Report

Closed Call Indication

New Information on Problem

Call Report

Problem Data

New Problem Data

Interim Problem Status

Problem Information

Call

Call Report # or Other Data

H elp Desk Call Information

Open Call Information

3

Determine if First Call

6

Transfer Call

Enquiry on Nature of Call

Nature of Call

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 12Help Desk System Use Case Diagram

Place Call

Operator

Customer

Consultant

Directthe Call

Answer Call

Refer to original consultant

Update call report

Close call report

<<extends>>

Retrieveproblem

report

Knowledgebase lookup

<<in

clud

es>>

<<includes>>

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 13

Can this system be improved?

A customer may have to explain their problem and/or question over and over to multiple people: an operator and possibly several consultants. Has this happened to you?

Why not let the initial operator have access to the customer problem database so that the caller is handed off to a consultant and the customer’s already opened problem file goes along with him. Does this happen in the GU system ?

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 14

Can this system be improved? (cont.)

The operator could have sufficient information and the option to direct the call to the proper consultant.

Clients could call the assigned consultant directly on follow-up calls to an initial call for help.

Why should clients not be called back by consultants with updates on the problem or the resolution, rather than the client having to call back to check?

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 15

Can this system be improved? (cont.)

General areas of improvement for DFDs are:

processes that simply collect and pass on information rather than transforming data

collecting the same information into several processes

placing untransformed data into data stores thus causing unknown delays in processing this data

cycles or loops that have no apparent termination.

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 16

Same Observations as in previous tutorial:

There is substantially less detail on the use case diagram than in the narrative

The missing detail will be completed when writing the use cases at intermediate and detailed levels.

Decision logic is not shown on the Use Case diagrams. It is described in the written Use Cases and/or Activity Diagrams and/or Sequence Diagrams (the latter can also show timing)

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 17

Review the Case Study DFD and the ‘corresponding’ Use Case Diagram described in Tutorial Wk 5

Case Study: Pine Valley Furniture (PVF)

Part 2

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 18Level-0 data flow diagram for the PVF WebStore

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 19

Model the functionality of Pine Valley Furniture Webstore Application with a use case diagram.

Six high-level functions identified to be included in the use case diagram.

The functions represent the “work” or “action” parts of the Website.

Case Study: PVF (cont.):

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 20WebStore use case diagram

Case Study: PVF (cont.):

Check Order

Fill Order

Place Order

Login

MaintainAccount

BrowseCatalog

ShippingClerk

Customer

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 21

The functionality should now be further detailed using written use cases as shown in the lecture. E.g. for the Place Order use case:

Place Order Brief Description

Customer connects to PVF WebStore and links to Order page. System checks customer information and creates a new order. Customer searches catalog, adds items / makes changes to the order, checks out assisted by the system. Customer requests payment screen, makes payment assisted by system. System sends e-mail confirmation and finalizes order.

Case Study: PVF (cont.):

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 22

Possible Intermediate level description:

Source: (Satzinger et al., 2008)

PVF

Case Study: PVF (cont.):

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 23

Possible fully developed description – adds triggering event, actors, related use cases, stakeholders and pre- and post-conditions:

Source: (Satzinger et al., 2008)

PVF

Case Study: PVF (cont.):

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 24

Possible fully developed description (cont.):

Source: (Satzinger et al., 2008)

PVF

Case Study: PVF (cont.):

© 2008 Prentice Hall, Ovidiu NoranTutorial 6 25

Summary

In this tutorial you learned how to:

Practice DFDs

Practice Use case Diagrams

Understand commonalities and differences between the two types of diagrams