0% found this document useful (0 votes)
84 views

Structured Analysis and Structured Design (SA/SD) : J.Govindarajan, Asst - Prof., CSE

This document provides an overview of data flow diagrams (DFDs) and structured systems analysis. It defines key DFD elements like processes, data stores, data flows, and describes how they are graphically represented. DFDs show the flow of information through a system and can be used to model systems at different levels of abstraction. The document also provides guidelines for constructing DFDs, such as using meaningful names and ensuring logical consistency. Examples of DFDs for an ATM system and a food ordering system are presented.

Uploaded by

Geron15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
84 views

Structured Analysis and Structured Design (SA/SD) : J.Govindarajan, Asst - Prof., CSE

This document provides an overview of data flow diagrams (DFDs) and structured systems analysis. It defines key DFD elements like processes, data stores, data flows, and describes how they are graphically represented. DFDs show the flow of information through a system and can be used to model systems at different levels of abstraction. The document also provides guidelines for constructing DFDs, such as using meaningful names and ensuring logical consistency. Examples of DFDs for an ATM system and a food ordering system are presented.

Uploaded by

Geron15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 52

Structured Analysis and Structured Design (SA/SD)

J.Govindarajan, Asst.Prof., CSE

Structured Analysis: Functional modeling and Information Flow

J.Govindarajan, Asst.Prof., CSE

DATA FLOW DIAGRAM (Structured Systems Analysis )

J.Govindarajan, Asst.Prof., CSE

Data Flow Diagram


Graphical representation that depicts information flow and the transforms that are applied as data move from input to output.

The data flow diagram enables the software engineer to develop models of the information domain and functional domain at the same time.

The basic form of a data flow diagram, also known as a data flow graph or a bubble chart.
J.Govindarajan, Asst.Prof., CSE

DFD : Information Flow Model

J.Govindarajan, Asst.Prof., CSE

Data Flow Diagram


Used for describing a very problem-oriented view of the workings of a system.

It provides a description based on modeling the flow of information around a network of operational elements, with each element making use of or modifying the information flowing into that element.
J.Govindarajan, Asst.Prof., CSE

DFD : Information Flow Model


No explicit indication of the sequence of processing or conditional logic is supplied by the diagram. Logical details of the procedures or sequences are generally delayed until software design. DFD is different from flowchart.
J.Govindarajan, Asst.Prof., CSE

Elements of DFD
Entity Process Data flow Data store
J.Govindarajan, Asst.Prof., CSE

DFD: Abstraction
DFD may be used to represent a system or software at any level of abstraction.

DFDs may be partitioned into levels that represent increasing information flow and functional detail.

DFD provides a mechanism for functional modeling as well as information flow modeling.
J.Govindarajan, Asst.Prof., CSE

DFD: Information Flow Refinement

J.Govindarajan, Asst.Prof., CSE

DFD: Supporting Products


Data dictionary

Process specification (PEPSec)


to specify the processing details implied by a bubble within a DFD

J.Govindarajan, Asst.Prof., CSE

ATM: Level 1 diagram

J.Govindarajan, Asst.Prof., CSE

ATM: Level 1 diagram

J.Govindarajan, Asst.Prof., CSE

ATM: Level 2 diagram (Validate Customer Access)

J.Govindarajan, Asst.Prof., CSE

Process
Purpose:
The process shows a part of the system that transforms inputs into outputs.i.e.,it shows how one or more inputs are changed into outputs.

Represenation: Circle Process Name:


Process name will describe what the process does good name will generally consist of a verb-object phrase Eg: VALIDATE INPUT or COMPUTE TAX RATE.
J.Govindarajan, Asst.Prof., CSE

Flow
Purpose:
Used to describe the movement of chunks, or packets of information from one part of the system to another part. Shows data in motion

Represenation:
arrow into or out of a process

Flow Name:
The name represents the meaning of the information that moves along the flow good name: noun Eg: Phone number, User name, Password . etc. J.Govindarajan, Asst.Prof., CSE

Data flow
Same content may have a different meaning in different parts of the system

J.Govindarajan, Asst.Prof., CSE

Data flow: Shows Direction


Flows show direction an arrowhead at either end of the flow (or possibly at both ends) indicates whether data (or material) are moving into or out of a process (or doing both).
Input flow Output flow

Dialog flow

J.Govindarajan, Asst.Prof., CSE

Dataflows : Diverge and Converge


Dataflows can diverge and converge in a DFD Diverging flow:
Duplicate copies of a packet of data are being sent to different parts of the system, or Complex packet of data is being split into several more elementary data packets, each of which is being sent to different parts of the system, or Dataflow pipeline carries items with different values that are being separated.

Converging flow:
several elementary packets of data are joining together to form more complex, aggregate packets of data.
J.Govindarajan, Asst.Prof., CSE

Example : Dataflow Diverge

J.Govindarajan, Asst.Prof., CSE

Example : Dataflow Diverge

J.Govindarajan, Asst.Prof., CSE

DFD: Procedure details


DFD doesnt answer following questions:
Questions about input prompts Questions about output flows

J.Govindarajan, Asst.Prof., CSE

DFD: Process with multiple input and multiple output flows


DFD doesnt answer following questions :
in what sequence do the packets of data arrive? in what sequence are the output packets generated? Is there a one-to-one ratio between the input packets and the output packets?

Does process Q require exactly one packet from input flows A, B, and C in order to produce exactly one output packet for output flows X, Y, and Z? Or are there two As for every three Bs?
J.Govindarajan, Asst.Prof., CSE

Store
Purpose:
used to model a collection of data packets at rest. stores represent data at rest

Representation:
Two parallel lines

Alternative Represenations:

Store Name:
Chosen to identify the store is the plural of the name of the packets that are carried by flows into and out of the store.
J.Govindarajan, Asst.Prof., CSE

Data store vs database


Datastore:
abstract graphical notation possible implementations Possible forms of datastore:
File Database Data stored in optical disk or other electronic forms

for

variety

of

J.Govindarajan, Asst.Prof., CSE

Data store
User requirement:
The store exists as a necessary time-delayed storage area between two processes that occur at different times.

Implementation requirement

J.Govindarajan, Asst.Prof., CSE

Data store: Implementation Requirement


Both processes are expected to run on the same computer, but there isnt enough memory (or some other hardware resource) to fit both processes at the same time. Either or both of the processes are expected to run on a computer hardware configuration that is somewhat unreliable.

The systems analyst or the systems designer thought that the user might eventually want to access the information for some other purpose.
J.Govindarajan, Asst.Prof., CSE

Data store: User Requirement

J.Govindarajan, Asst.Prof., CSE

Data store: Implementation Requirement

J.Govindarajan, Asst.Prof., CSE

Guidelines : Constructing DFD


Choose meaningful names for processes, flows, stores, and terminators. Number the processes.

Redraw the DFD as many times as necessary for esthetics.


Avoid overly complex DFDs. Make sure the DFD is internally consistent and consistent with any associated DFDs.
J.Govindarajan, Asst.Prof., CSE

Guideline: Choose meaningful names


Process:
Identify the role that the person is carrying out, rather than the persons name or identity.
An inappropriate process name

Examples of good process names:


Calculate missile trajectory,
Produce inventory report Validate phone number Assign students to class Appropriate process name

Examples of poor process names:


Take Care of Customers Process Data General Edit
J.Govindarajan, Asst.Prof., CSE

Guideline: Number the Processes


The DFD model is a network of communicating, asynchronous processes, which is, in fact, an accurate representation of the way most systems actually operate.

Some sequence may be implied by the presence or absence of data


e.g., it may turn out that bubble 2 cannot carry out its function until it receives data from bubble 1

But the numbering scheme has nothing to do with sequence.

Use of numbering: Convenient way of referring to the process J.Govindarajan, Asst.Prof., CSE

Guideline: Ensure that DFD Is Logically Consistent


Avoid infinite sinks (or black holes)
Process that have inputs but no outputs.

Avoid spontaneous generation process


Process that have outputs but no inputs are suspicious, and generally incorrect. Example for exception: Random number generator

J.Govindarajan, Asst.Prof., CSE

Guideline: Ensure that DFD Is Logically Consistent Beware of unlabeled flows and unlabeled processes

Beware of read-only or write-only stores


store should have both inputs and outputs

J.Govindarajan, Asst.Prof., CSE

LEVELED DFDs

J.Govindarajan, Asst.Prof., CSE

balanced DFD fragment

J.Govindarajan, Asst.Prof., CSE

Balanced DFD fragment: out of balance

J.Govindarajan, Asst.Prof., CSE

Show a store at the highest level where it first serves as an interface between two or more bubbles Then show it again in EVERY lower-level diagram that further describes (or partitions) those interface bubbles.

Showing stores at lower levels

J.Govindarajan, Asst.Prof., CSE

Process of developing DFD


1. Making a list of business activities to determine the DFD elements (external entities, data flows, processes, and data stores). 1. Constructing context diagram or Level 0 diagram is constructed that shows only a single process (representing the entire system), and associated external entities. 1. Constructing Level 1 Diagrams:
which reveals general processes and data stores

1. Constructing child diagrams (Level 1 Diagrams) will be drawn for each process illustrated by Level 0 diagrams.
J.Govindarajan, Asst.Prof., CSE

Examples

J.Govindarajan, Asst.Prof., CSE

Food ordering system


The restaurant uses an information system that
takes customer orders, sends the order to the

kitchen,
inventory,

monitors
and

the

goods

sold

and
for

generates

reports

management.

J.Govindarajan, Asst.Prof., CSE

Look for nouns and verbs


1. Identify nouns and verbs generally 2. Allocate significant nouns and verbs by extracting those who play one of data flaw diagrams four roles 3. Eliminate: Redundant , Irrelevant components plus internal entities 4. Explore domain components and add more significant

5. Assign significant components to notations Connect notations


6. Review and modify ( Do until satisfied)
J.Govindarajan, Asst.Prof., CSE

Food ordering system


The restaurant uses an information system that takes customer orders, sends the order to the kitchen, stores the goods sold, and generates management reports for manger and receipts for customer.

J.Govindarajan, Asst.Prof., CSE

Functions
takes customer orders, sends the order to the kitchen Stores the goods sold generates management reports for manger and receipts for customer. .

J.Govindarajan, Asst.Prof., CSE

Functions
takes customer orders, sends the order to the kitchen Stores the goods sold generates management reports for manger

generates receipts for customer..

J.Govindarajan, Asst.Prof., CSE

Data and Entity


Data

takes customer orders, sends the order to the kitchen Stores the goods sold generates management reports for manger generates receipts for customer.

customer Order Food order Goods Manager reports Customer receipt


Entity

Customer
Kitchen Manager

J.Govindarajan, Asst.Prof., CSE

Food Processing System: Context flow diagram


Customer Order

Customer
Food Order Customer receipt

Kitchen

Food Ordering System

Management report

Manager
J.Govindarajan, Asst.Prof., CSE

Major Functions
takes customer orders

sends the order to the kitchen


Stores the goods sold generates management reports for manger generates receipts for customer.

J.Govindarajan, Asst.Prof., CSE

Major Functions
takes customer orders

sends the order to the kitchen


Stores the goods sold generates receipts for customer. generates manager
J.Govindarajan, Asst.Prof., CSE

management

reports

for

Food Processing System: Level 1 diagram


Customer Order

Customer
Goods Sold

Goods sold Daily Goods Sold

Customer receipt

1. Receive and Transform customer order

2. Generate Manager Reports

Food Order

Manager Report

Kitchen
J.Govindarajan, Asst.Prof., CSE

Manager

Level 2 (Decomposing Process 1)


Customer
Customer Order 1.1. Receive customer order

Customer receipt 1.2. Generate Customer report

Customer Order

Customer Order

Customer Order 1. 3. Transform customer order Food Order 1.4. Stores goods sold Goods Sold

Kitchen
J.Govindarajan, Asst.Prof., CSE

Goods sold

Level 2 (Decomposing Process 2)


Goods sold

Daily Goods Sold


2.1. Access Goods Sold 2.2. Aggregate Goods Sold Aggregate Daily Goods Sold 2.3. Generate Report

Daily Goods Sold

Manager Report

Manager
J.Govindarajan, Asst.Prof., CSE

You might also like