Functional and
Behavioural Modeling
Data Flow Diagram
(DFD)
Graphical representation of functional
modeling
In analysis, provide representation of
information flow in existing and required
system
In design, the DFDs can be decomposed
into lower level processes (sub-systems)
for implementation
What is the software supposed to do?
TCS2411 Software Engineering
TCS2411 Software Engineering
Lecture Objectives
Context Diagram
To illustrate the modeling of functional
and behavioural characteristics of the
problem domain
To describe the elements of data flow
diagrams and the associated rules for
drawing them correctly
To describe the elements and usage of
state transition diagrams
TCS2411 Software Engineering
Customer
Customer Order
Kitchen
Food
Ordering
System
Receipt
Food Order
Management
Reports
Restaurant
Manager
2
TCS2411 Software Engineering
Functional Modeling
Level-1 DFD
In understanding the requirements of the
software, the functions required by the
customer will be identified
All the functions process information in
some way in the system
Basically input process output
Representation of how information is
transformed
TCS2411 Software Engineering
Customer Order
Customer
Receipt
Goods Sold
1. Process
Customer
Order
2. Update
Goods Sold
Goods Sold
Record
Goods Sold
3
Daily Goods
Sold Amounts
TCS2411 Software Engineering
Kitchen
Food Order
Inventory
Data
3. Update
Inventory
4. Produce
Management
Reports
Management
Reports
Inventory
Record
Daily Inventory Inventory
Depletion Amounts
Restaurant
Manager
External Entity
Data Store
A producer or consumer of information
that resides outside the bounds of the
system to be modeled
Source - producer of information
Sink - consumer of information
Examples:
Customer
Supplier
A repository of data that is to be stored
for use by one or more processes
May be as simple as a buffer or queue or
as sophisticated as a relational database
Examples:
Students
Management
TCS2411 Software Engineering
Process
2. Student
Registration
TCS2411 Software Engineering
10
Process
No process can have only outputs.
No process can have only inputs.
A process has a verb label.
2.1 Accept
Registration
Details
TCS2411 Software Engineering
Data Flow
TCS2411 Software Engineering
11
DFD Rules
Data object that flows in the system; the
arrowhead indicates the direction of data
flow
Data Store
Data cannot move directly from one data
store to another data store.
Data cannot move directly from an outside
source to a data store.
Data cannot move directly to an outside sink
from a data store.
A data store has a noun phrase label.
new student record
student record
TCS2411 Software Engineering
Courses
DFD Rules
A transformer of information (a function)
that resides within the bounds of the
system to be modeled
Examples:
1.Process
New
Member
Inventory
TCS2411 Software Engineering
12
DFD Rules
DFD Characteristics
Source/Sink
Data cannot move directly from a source to a
sink. It must be moved by a process if the
data are of any concern to our system.
A source/sink has a noun phrase label.
TCS2411 Software Engineering
13
DFD Rules
Can be used to model physical or logical,
current or new systems
Does not represent procedural or timerelated processes
Revisions to the same DFD are done to
improve model based on understanding
Decision to stop iterative decomposition
may be difficult
TCS2411 Software Engineering
Behavioural Modeling
Data Flow
events
A data flow has only one direction of flow
between symbols.
A fork in data flow means that exactly the
same data goes from a common location to
two or more processes/stores/sources/sinks.
A join in a data flow means that exactly the
same data comes from any two or more
processes/stores/sources/sinks.
TCS2411 Software Engineering
Outside
world
14
DFD Rules
behavior
Application
TCS2411 Software Engineering
17
Behavioural Modeling
Data Flow (continued)
A data flow cannot go directly back to the
same process it leaves.
A data flow to a data store means update.
A data flow from a data store means retrieve
or use.
A data flow has a noun phrase label. More
than one data flow noun phrase can appear
on a single arrow.
TCS2411 Software Engineering
16
15
Representation of how the system
changes and the events that cause the
changes to happen
Also represent actions that may be taken
as consequences of events
Graphically drawn as state transition
diagram
TCS2411 Software Engineering
18
State Transition
Diagram (STD) Notation
Software Engineering: A Practitioners
Approach 5th Ed. by Roger S. Pressman,
Mc-Graw-Hill, 2001
Software Engineering by Ian Sommerville,
Addison-Wesley, 2001
Modern Systems Analysis and Design by
Jeffrey A. Hoffer, Joey F. George & Joseph
S. Valacich, Benjamin/Cummings, 1996
State
Event causing transition
Action that occurs
New state
TCS2411 Software Engineering
References
19
TCS2411 Software Engineering
22
State Transition
Diagram (STD)
announce
complete
Idle
hangup
incoming call
button
pressed
initiate answer
Connected
Ringing
answered announce message
TCS2411 Software Engineering
20
State Transition
Diagram Elements
State - any observable mode of behaviour
represented as a node in STD
State transition - change of one state to another
caused by an event
represented as labeled arrow in STD
label is the event causing the transition
Event - external or internal occurrence that has
an effect on the system
Action - process taken as response to event
TCS2411 Software Engineering
21