Requirements: Tools & Techniques
Requirements: Tools & Techniques
3
Context Diagram
Assumptions:
Customers don’t place their own orders Contract
Pricing is within system boundary but contract outside
Shipping
Context Diagram: Renewal of Passport
• System under consideration
• Passport Renewal Process
• External Entities
• Passport Holder
• Police Station Police Station
• Inputs
• Application form
• Application Fee
• Expired Passport
• Photograph
• (Verified: Pass/Fail)
• Outputs Passport Renewal
• New Passport Process Passport Holder
• Receipt
• Punched Expired Passport
• (Name/address)
Assignment
Draw a context diagram for the process of holding your newspaper delivery while you travel.
Definitions and Symbols
7
Definitions and Symbols
• Process: work or actions performed on data (inside
the system)
• Data store: data at rest (inside the system)
• Source/sink: external entity that is origin or
destination of data (outside the system)
• Data flow: arrows depicting movement of data
8
Context Diagram
9
Developing DFDs
• Level-0 diagram is a data flow diagram that represents a system’s
major processes, data flows, and data stores at a high level of detail.
• Processes are labeled 1.0, 2.0, etc. These will be decomposed into more
primitive (lower-level) DFDs.
10
Level-0 Diagram
11
Data Flow Diagramming Rules
• There are two DFD guidelines that apply:
• The inputs to a process are different from the outputs of that process.
• Processes purpose is to transform inputs into outputs.
• Objects on a DFD have unique names.
• Every process has a unique name.
12
Data Flow Diagramming Rules (Cont.)
TABLE: Rules Governing Data Flow Diagramming
13
Data Flow Diagramming Rules (Cont.)
TABLE: Rules Governing Data Flow Diagramming (cont.)
14
Decomposition of DFDs
• Functional decomposition is an iterative process of breaking a system
description down into finer and finer detail.
• Creates a set of charts in which one process on a given chart is explained in
greater detail on another chart.
• Continues until no subprocess can logically be broken down any further.
15
Decomposition of DFDs (Cont.)
• Primitive DFD is the lowest level of a DFD.
• Level-1 diagram results from decomposition of Level-
0 diagram.
• Level-n diagram is a DFD diagram that is the result of
n nested decompositions from a process on a level-0
diagram.
16
Balancing DFDs
• Conservation Principle: conserve inputs and outputs
to a process at the next level of decomposition
• Balancing: conservation of inputs and outputs to a
data flow diagram process when that process is
decomposed to a lower level
17
Balancing DFDs (Cont.)
• Balanced means:
• Number of inputs to lower level DFD equals number of
inputs to associated process of higher-level DFD
• Number of outputs to lower level DFD equals number of
outputs to associated process of higher-level DFD
18
Balancing DFDs (Cont.)
FIGURE: An unbalanced set of data flow diagrams
19
Balancing DFDs (Cont.)
• Data flow splitting is when a composite data flow at a higher
level is split and different parts go to different processes in the lower
level DFD.
• The DFD remains balanced because the same data is involved but split
into two parts.
20
Balancing DFDs (Cont.)
FIGURE: Example of data flow splitting
21
Balancing DFDs: More DFD Rules
22
Level-1 DFD Level-1 diagram showing the decomposition
of Process 4.0 from the level-0 diagram for
Hoosier Burger’s food-ordering system
23
Level-n DFD
Level-2 diagram showing the decomposition of
Process 4.3 from the level-1 diagram for Process
Level-n DFD shows
4.0 for Hoosier Burger’s food-ordering system
the sub-processes
of one of the
processes in the
Level n-1 DFD.
This is a Level-2
DFD for Process
4.3.
24
Using DFDs as Analysis Tools
• Gap Analysis is the process of discovering discrepancies between two
or more sets of data flow diagrams or discrepancies within a single
DFD.
• Inefficiencies in a system can often be identified through DFDs.
25
Using DFDs in BPR
26
Using DFDs in BPR (Cont.)
27
Course Registration System
Consider a course registration system. When a student provides a
prioritized list of courses and other information to the system, this
information is transformed into a list of preferences. The list of
preferences is used to verify the eligibility of the students using
the student records and the course prerequisites. If the student is
eligible to register for the courses he/she desires, then the
student is enrolled in those courses, and the class schedule is
communicated back to the student. In addition, the system also
compiles the list of students enrolled in each class using the
registration information for each student. This list is then given to
the faculty. The list is also forwarded to the registrar so that a
classroom of an appropriate capacity can be allocated depending
on the number of students enrolled.
DFD: Course Registration System
Context Diagram for Course Registration System
Registration
Process
Class schedule
Class list
Registrar
DFD: Course Registration System
Level 0 DFD
Students
Schedules Registrar
Class Lists
Students Faculty
1.1 Obtain
List of 1.2 Check
Student
Preferences Eligibility
Preferences
Eligible Students