Title: DFDs vs. Use Case Diagrams
1- Tutorial 6
- DFDs vs. Use Case Diagrams
- (Textbook Chapter 7 Appendix)
2Learning Objectives
- Practice more DFDs
- Practice more Use Case Diagrams
- Understand commonalities and differences between
the two types of diagrams
3Part 1
Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1
- Consider the following narrative
- 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.
4Ch. 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 callers name, the software
involved etc in order to conduct a search for the
appropriate call report. If a resolution of the
customers 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.
5Ch. 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.
6Ch. 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)
7Ch. 7 Ex. 12 and Ch. 7 App, Ex. 1 (cont.)
Help Desk System Context Data Flow Diagram
8Ch. 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
decisionsb) simulate some rudimentary decision
logic on the DFDs
9Option a)
Information necessary to make the decision
If the Order is not filled, then the doctor is
contacted.
The doctor responds etc etc
Hospital PharmacyPartial Level-0 Diagram
10Option b)
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.
5.0
Previous Call Information
Determine problem status
First Call Information
Call Report
Call Report Information
D1
Call Report File
11 New Problem Data
Call
1
Enquiry on Nature of Call
Inquiry on Nature of Call
Call Report or Other Data
Client
9
Receive
Final Call Resolution
Nature of Call
Call
Close
Call
Report
D1
Call Queue
Call
Closed Call Problem
New
Information
Resolution
Help Desk
Information
Call Information
Closed Call
on Problem
2
Indication
5
8
Determine
3
Previous
Determine
Direction
Research
H
elp Desk
Call
Problem
Determine
of Call
Problem
Call Information
Information
Status
if First
Call
Call
Non
-
Help
Report
Desk Call
Problem
First Call
Open Call
Information
Data
Information
Information
Call Report File
D2
4
New
Other
Problem
Create
Call Report
Unit
Call Queue
D1
Data
Call
Information
6
Report
7
Transfer
Open CallInformation
Record
Call
Problem
New
Information
Information
Interim Problem Status
Help Desk System Level-0 Data Flow Diagram
12Place Call
Directthe Call
Operator
Answer Call
Customer
ltltincludesgtgt
ltltincludesgtgt
Knowledgebase lookup
Retrieveproblem report
Consultant
Refer to original consultant
Update call report
ltltextendsgtgt
Close call report
Help Desk System Use Case Diagram
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 customers
already opened problem file goes along with him.
Does this happen in the GU system ?
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?
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.
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)
17Part 2
Case Study Pine Valley Furniture (PVF)
- Review the Case Study DFD and the corresponding
Use Case Diagram described in Tutorial Wk 5
18Level-0 data flow diagram for the PVF WebStore
19Case Study PVF (cont.)
- 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.
20Case Study PVF (cont.)
WebStore use case diagram
21Case Study PVF (cont.)
- 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.
22Case Study PVF (cont.)
- Possible Intermediate level description
PVF
Source (Satzinger et al., 2008)
23Case Study PVF (cont.)
- Possible fully developed description adds
triggering event, actors, related use cases,
stakeholders and pre- and post-conditions
PVF
Source (Satzinger et al., 2008)
24Case Study PVF (cont.)
- Possible fully developed description (cont.)
PVF
Source (Satzinger et al., 2008)
25Summary
- In this tutorial you learned how to
- Practice DFDs
- Practice Use case Diagrams
- Understand commonalities and differences between
the two types of diagrams