Upload
muhammad-wajahat-bajwa
View
20
Download
0
Embed Size (px)
Citation preview
SOFTWARE ENGINEERING
DATA FLOW DIAGRAM
Learning outcomes:
Describe the steps to approach the construction of multi-level DFDs Develop context diagrams Develop Level 0 DFDs Develop Level 1 DFDs
Steps to Construct DFDs:
Build the context diagram Create the level 0 diagram. Decompose level 0 processes into level 1 DFDs Decompose level 1 processes into level 2 DFDs and decompose further if needed
Creating the context diagram
Identify ‘user roles’ (external entities) Identify the information that each external entity sends to the system and receives from
the system
Creating the level 0 DFD
Identify the major functions of the system (processes) Identify which processes produce the data sent to the external entities and which
processes require the data produced by the external entities Identify data flows and data stores and their interaction Data flow to data store means ‘update’, data flow from data store means ‘retrieve’
Creating level 1, level 2, etc. DFDs
Functional decomposition in an iterative process which results in DFDs that give more details about a process
The lowest level DFDs are called primitive DFDs Describing a process can help to decide whether it is necessary to decompose the
corresponding DFD If a process requires to carry out several tasks (logical functions), it is a good candidate
for decomposition Ensure the conservation of inputs and outputs (data flows) when decomposing
processes (balancing) Ensure completeness, consistency, no timing dependence, iterative development,
creation of primitive DFDs
1
Example No 1
The DFD takes an input-process-output view of a system. That is, data objects flow into the software, are transformed by processing elements, and resultant data objects flow out of the software. Data objects are represented by labeled arrows, and transformations are represented by circles (also called bubbles). The DFD is presented in a hierarchical fashion. That is, the first data flow model (sometimes called a level 0 DFD or context diagram) represents the system as a whole
A level 0 DFD for the security function is shown in Figure. The primary external entities (boxes) produce information for use by the system and consume information generated by the system.
The level 0 DFD must now be expanded into a level 1 data flow model. Let us consider the narrative of the Safehome
During installation, the SafeHome PC is used to program and configure the system. Each sensor is assigned a number and type, a master password is programmed for arming and disarming the system, and telephone number(s) are input for dialing when a sensor event occurs.
When a sensor event is recognized, the software invokes an audible alarm attached to the system. After a delay time that is specified by the homeowner during system configuration activities, the software dials a telephone number of a monitoring service, provides information about the location, reporting the nature of the event that has been detected. The telephone number will be redialed every 20 seconds until telephone connection is obtained.
2
The homeowner receives security information via a control panel, the PC, or a browser, collectively called an interface. The interface displays prompting messages and system status information on the control panel, the PC, or the browser window.
Level 1 DFD for Safehome
3
Level 2 DFD for Monitor Sensors Process
Example No. 2
Creating Data Flow Diagrams: Lemonade Stand Example
The operations of a simple lemonade stand will be used to demonstrate the creation of dataflow diagrams. Steps are as follows:
1. Create a list of activities
2. Construct Context Level DFD(identifies sources and sink)
3. Construct Level 0 DFD (identifies manageable sub processes )
4. Construct Level 1- n DFD (identifies actual data flows and data stores )
4
Think through the activities that take place at a lemonade stand. Create a list of activities:
Customer Order Serve Product Collect Payment Produce Product Store Product
Also think of the additional activities needed to support the basic activities.
Customer Order Serve Product Collect Payment Produce Product Store Product Order Raw Materials Pay for Raw Materials Pay for Labor
Group these activities in some logical fashion, possibly functional areas:
Group 1
Customer Order Serve Product Collect Payment
Group 2
Produce Product Store Product Order Raw Materials
Group 3
Pay for Raw Materials Pay for Labor
5
Create a context level diagram identifying the sources and sinks (users).
Create a level 0 diagram identifying the logical subsystems that may exist
6
Create a level 1 decomposing the processes in level 0 and identifying data stores.
Customer Order Collect Payment
Serve Product Produce Product Store Product
7
Order Raw Materials Pay for Raw Materials
Pay for Labor
8
Example No 3
University Registration System. The system should enable staff of each academic department to examine the modules offered by their department, add and remove modules, and change the information about them (e.g. the maximum number of students permitted). It should permit students to examine currently available modules, add and drop modules to and from their schedules, and examine the modules for which they are enrolled. Department staff should be able to print a variety of reports about the modules and the students enrolled in them. The system should ensure that no student takes too many modules and that students who have any unpaid fees are not permitted to register (students can verify their fee paying status). Note: assume that a fees data store is maintained by the university’s financial office and this data store is accessed by the registration system but the fees data store is not modified by the registration system.
Class Task: Draw level 0 and level 1 diagram for the following system
Home Task: Bus Garage Repairs
Buses come to a garage for repairs.
A mechanic and helper perform the repair, record the reason for the repair and record the total cost of all parts used on a Shop Repair Order.
Information on labor, parts and repair outcome is used for billing by the Accounting Department, parts monitoring by the inventory management computer system and a performance review by the supervisor.
9