PPT

Functional and
Behavioural Modeling
“What is the software supposed to do?”
TCS2411 Software Engineering
1
Lecture Objectives
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
2
Functional Modeling
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
3
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
TCS2411 Software Engineering
4
Context Diagram
Customer
Receipt
Customer Order
Food
Ordering
System
Kitchen
Food Order
Management
Reports
Restaurant
Manager
TCS2411 Software Engineering
5
Level-1 DFD
Customer Order
Customer
Receipt
Goods Sold
1. Process
Customer
Order
2. Update
Goods Sold
Goods Sold
Record
Goods Sold
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
6
External Entity
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
TCS2411 Software Engineering
Supplier
Management
7
Process
A transformer of information (a function)
that resides within the bounds of the
system to be modeled
Examples:
1.Process
New
Member
TCS2411 Software Engineering
2. Student
Registration
2.1 Accept
Registration
Details
8
Data Flow
Data object that flows in the system; the
arrowhead indicates the direction of data
flow
new student record
student record
TCS2411 Software Engineering
9
Data Store
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
TCS2411 Software Engineering
Inventory
Courses
10
DFD Rules
Process
No process can have only outputs.
No process can have only inputs.
A process has a verb label.
TCS2411 Software Engineering
11
DFD Rules
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.
TCS2411 Software Engineering
12
DFD Rules
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
Data Flow
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
14
DFD Rules
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
15
DFD Characteristics
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
16
Behavioural Modeling
events
Outside
world
TCS2411 Software Engineering
behavior
Application
17
Behavioural Modeling
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
State
Event causing transition
Action that occurs
New state
TCS2411 Software Engineering
19
State Transition
Diagram (STD)
announce
complete
hangup
button
pressed
Idle
incoming call
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
References
“Software Engineering: A Practitioner’s
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
TCS2411 Software Engineering
22