Se565 9

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 29

SE-565

Software System Requirements

IX. Data Flow Diagrams

Dr. Jiacun Wang


Department of Software Engineering
Monmouth University

12/08/21 Jiacun Wang 1


Topics
 Requirements engineering methods
 Structured techniques for documenting and analyzing
requirements
 Data-Flow Diagrams
 Data Dictionaries

12/08/21 Jiacun Wang RE-9 2


Role of methods in RE
 Process of requirements engineering (RE) is usually guided by
a requirements method
 Requirement methods are systematic ways of producing
system models
 System models are important bridges between the analysis and
the design process

12/08/21 Jiacun Wang RE-9 3


Necessary properties for a RE
method
 Suitability for agreement with the end-user (using intuitive
notation)
 The precision of definition of its notation
 Assistance with formulating requirements
 Definition of the world outside
 Scope for malleability
 Scope for integrating other approaches
 Scope for communication
 Tool support

12/08/21 Jiacun Wang RE-9 4


No ideal RE method
 There is no ideal requirement method
 A number of methods use a variety of modelling techniques to
formulate system requirements
 System models can be enriched by modelling different aspects
of using modelling techniques

12/08/21 Jiacun Wang RE-9 5


SA and OOA
 Structured analysis (SA)
 focus on functionality
 focus on data
 Object-oriented analysis (OOA)
 integrate data and functions

12/08/21 Jiacun Wang RE-9 6


Data-Flow Modeling
 One of the most popular structured methods
 The Data-Flow Diagram (DFD) method (DeMarco, 1979) provides
a description of a system based on modeling
 the transformational processes of a system,
 the collections (stores) of data that the system manipulates,
and
 the flows of data between the processes, stores and the
outside world.
 The DFD describes the functional viewpoint of the system e.g. it
describes the system in terms of its operation (tasks).

12/08/21 Jiacun Wang RE-9 7


Data-Flow Modeling (cont.)
 This method works well for transaction-processing systems and
other function-intensive applications.
 The DFD provides a way to represent the steps involved in a
business process or the operations of a proposed software
system.
 A DFD illustrates how the functional requirements in the SRS
combine to let the user perform specific tasks.

12/08/21 Jiacun Wang RE-9 8


The four basic elements of the
DFD notation
 The circle (the bubble)
 It denotes an operation and is labeled with a brief description of
the operation
 Transformation of data into other data
 Notation

3.
Reserve
seat

12/08/21 Jiacun Wang RE-9 9


 The box or rectangle (terminator)
 It denotes external entities - source or sink of information
outside the boundaries of the system
 The source/sink can be a human user or other system
 Notation

Customer

Source of
information

12/08/21 Jiacun Wang RE-9 10


 The paralleled bars or parallel lines
 It denotes a data store or file
 A place where data are held for later transformation or
reference.
 Notation User database

Update
user
details

12/08/21 Jiacun Wang RE-9 11


 The arc (arrow)
 It denotes the flow of information between the other three
elements - data flow
 Notation
Customer’s card
details

PIN Validate
Customer customer Access map
access

Network database

12/08/21 Jiacun Wang RE-9 12


The Data-Flow Diagram Notation
Summary

Data Transformation

Terminator Input Output Terminator

Data dictionary

12/08/21 Jiacun Wang RE-9 13


Hierarchical/functional
decomposition
 The DFD can present the system at different levels of details.
(Hierarchical/functional decomposition)

• Context level The decomposition continues until


• Level 1 the lowest level diagram contains
• Level 2 only primitive process operations
• ………. that can be clearly represented in
details
• Level n narrative text, pseudocode,
activity diagram, etc.

12/08/21 Jiacun Wang RE-9 14


Guidelines for building DFDs
1. All names should be unique.
2. Suppress logical decisions (no diamond shaped boxes!).
3. Don’t become bogged down in details. Defer error conditions
and error handling until the end of the analysis (not in the case
of a diagnostic system or patient monitoring system, for ex.).
4. Preserve the number of inputs and outputs between the levels.
5. As bubbles are decomposed into less abstract bubbles, the
corresponding data flows may also need to be decomposed.

12/08/21 Jiacun Wang RE-9 15


Rules of decomposition
A top level process
I1 O3 I O
A A
I2
O
I1
O3 O1
O2

I1

I2
I
is decomposed into some
I2 number
of lower level processes

12/08/21 Jiacun Wang RE-9 16


Guidelines for building DFDs
(cont.):
6. Place data stores only on the Level 1 and lower levels, not on
the context diagram.
7. Name each process as a concise action: verb + object
8. Number the processes uniquely and hierarchically. On level 1
diagram number each process with an integer. If you create a
child DFD for process 2, number the processes in that child
diagram 2.1, 2.2, etc.
9. Don’t show more than 10 processes on a single diagram
because it becomes harder to understand and change. Instead,
introduce another layer of abstraction by grouping related
processes into a higher-level process.

12/08/21 Jiacun Wang RE-9 17


Example: Simple library system
The context - level DFD for
Issue library item

Library card

Library Requested item Issue Return date Library


user library item assistant
Issued item

12/08/21 Jiacun Wang RE-9 18


Example: Simple library system
Level 1 of the DFD for the User database
Issue library item
User Updated
details details
Library
Check Update
card
user
user details
User User
status ID
Library Item ID
Requested
user item Check
item Item
Return
status Issue Library
Issued Item date
details item assistant
item

Item database Update


details
12/08/21 Jiacun Wang RE-9 19
Example: A Distribution System
Context level data flow diagram
Reply to be mailed

Greenbelt Dept-Queries
Depts Mgmt-Reports Greenbelt
Mgmt

Reports to
Depts Mgmt-Queries

Greenbelt
Distribution
Customer System Correspondence
Correspondence with Supplier

Customer Supplier
Response to Supplier
Customer Discarded Response
correspondence

12/08/21 Jiacun Wang RE-9 20


Level 1 data flow diagram
Discarded
Customer Correspondence
Correspondence Reply to be mailed Preparing Response
Receiving Shipments to Customer
Correspondence Order items
Supplier 4
Response 1 Invoice
Recorded Inventory File
Customer
Mgmt-Queries
Order
Dept-Queries supplies
Order Copy
Keeping
Stocking Accounts
Supplies

3
Reports to Depts 2
Mgmt-Reports
Credit File
Correspondence
with Supplier

12/08/21 Jiacun Wang RE-9 21


Level 2 DFD: Receiving correspondence
Customer
Correspondence
Routed Correspondence Discarded
Read & Correspondence
Evaluate
Record &
Correspondence
Route
Correspondence
Supplier 1.2 Recorded
Response Customer Order
1.1
Correspondence
Demanding Reply

Correspondence
Draft of Reply
Read & File
Sign Draft Draft Reply

1.4
1.3

Reply To Be Mailed

12/08/21 Jiacun Wang RE-9 22


Class exercise
Draw the context diagram, level 1 and one level 2 diagrams for
modeling the processing of an ATM.

12/08/21 Jiacun Wang RE-9 23


Data Dictionaries
 Repositories to store information about all data items or
attributes used in the application.
 Typical information include:
 Name of data item
 Aliases (other names for the item)
 Description/Purpose (meaning)
 Related data items (formulas)
 Range of values
 Data flows (generated_by/used_by)
 Data structure definition/form

12/08/21 Jiacun Wang RE-9 24


Data Dictionaries Notation

Meta Symbol Meaning

+ And (concatenation)
() Optional
{} Iteration
[…..|…..|…..] Selection of one alternative
“” A literal string

12/08/21 Jiacun Wang RE-9 25


Simple Book Order DFD

Customer Customer
database

Invoice Order Credit Status

Create Verify
Invoice Order is
Valid

12/08/21 Jiacun Wang RE-9 26


Data Dictionary for the Book Order DFD
Name Data Flows Description/Purpose Form
Generated By Used By
Credit Status Customer Verify Order An “okay” or “not okay ” [OK| NOTOK]
Data Base Is Valid that defines the credit
worthiness of each customer
Invoice Create Customer A bill indicating how Customer name +
Invoice much the customer owes +billing address+price
Customer- Unique customer identifier First-name +
name (middle-name) +
last-name
Order Customer Verify order A contract between customer Customer name +
is valid & book company { item } +
customer address
Customer- [ shipping-address |
address billing-address |
shipping-address+
billing-address ]
First-name {legal character }
Legal character [A-Z | a-z | 0-9 | ‘ | - | |]

12/08/21 Jiacun Wang RE-9 27


Data Dictionaries (cont.)
 Integration problems are reduced if all developers respect the
data dictionary definitions.
 The data dictionary complements the project glossary
 Begin collecting data definitions as you encounter them during
the elicitation
 If you keep the data dictionary current, it will remain a valuable
tool throughout the system’s maintenance life

12/08/21 Jiacun Wang RE-9 28


Class exercise: Create a 5 item data dictionary
for this DFD
User database

User details Update details


Library
card Check Update
user user
details
User status User ID
Library Requested Item ID
user item Check
Item
item status Return
Issued Issue date Library
item item assistant

Item details Update details


Item database

12/08/21 Jiacun Wang RE-9 29

You might also like