Post on 25-Dec-2015
data flow diagrams shows how data moves through an
information system but does not show program logic or processing steps
provides a logical model that shows what the system does, not how it does it
data flow diagrams notation
use four basic symbols that represent processes, data flows, data stores, and external entities
Gane and Sarson symbol set Yourdon symbol set
referenced by using all capital letters for the symbol name
DFD notation
DATA STORE
PROCESS
DATA FLOW
EXTERNALENTITY
DATA FLOW
DATA FLOW
DATA FLOW
DATA STORE
EXTERNALENTITY
PROCESSGane &Sarson
Yourdon
DFD notation process symbol
receives input data and produces output that has a different content, form, or both
contain the business logic, also called business rules
referred to as a black box data flow symbol
represents one or more data items
DFD notation data store symbol
represent data that the system stores logical representation (physical
characteristics of data store are unimportant)
external entity symbol represents the source or sink of data
modeling with DFDs: basic steps step 1: draw a context diagram
context diagram – represents the system as a single process (process 0)
step 2: draw a diagram 0 DFD diagram 0 - exploded view of process 0;
zooms in on the context diagram and shows major processes, data flows, and data stores; must retain all the connections that flow into and out of process 0
modeling with a DFD: basic steps step 3: draw the lower-level diagrams
functional decomposition of diagram 0 observe leveling – use a series of
increasingly detailed DFDs to describe the information system
observe balancing – maintain the input and output data flows of the parent DFD on the child DFD
modeling with DFDs guidelines for drawing DFDs
context diagram should fit on one page use the name of the information system as
the process name in the context diagram use unique names within each set of
symbols do not cross lines provide a unique name and reference
number for each process obtain as much user input and feedback as
possible
modeling with DFDs other syntactic rules
avoid the following combinations of data flow and process
spontaneous generation black hole gray hole
an external entity should be connected by a data flow to a process only
data stores cannot be connected to each other
modeling with DFDs other concepts
naming conventions conservation of data diverging data flows converging data flows composite data flow control flow (e.g., time)
Example: Context Diagram
GRADING SYSTEM
STUDENTRECORDSSYSTEM
STUDENT
INSTRUCTOR
FINAL GRADE
CLASS LIST
GRADE REPORT
SUBMITTED WORK
GRADED WORK
GRADE PARAMETERS
0
Example: Diagram 0
STUDENTRECORDSSYSTEM
STUDENT
INSTRUCTOR
GRADINGDETAIL
CLASS LIST
GRADE REPORT
SUBMITTED WORK
GRADED
WORK
GRADE PARAMETERS
GRADEBOOKD1
ASSIGNFINAL
GRADE
2
GRADESTUDENT
WORK
3
ESTABLISHGRADEBOOK
1
PRODUCEGRADEREPORT
4
CLASSGRADEBOOK
CLASS DETAIL
FINAL GRADE
STUDENTGRADE
4-model approach (classical)
Current Proposed
Logical
physical aspects of system are removed as much as possible;current system is reduced to data and processes that transform them
includes additional functions;obsolete functions are removed; inefficient data flows are reorganized
Physical
processes labels include the technology (people or systems) used to process the data;data flows and data stores are labeled with the actual name of the physical media on which data flow or in which data are stored
represents the physical implementation of the new system
data dictionary data elements must be documented in a
data dictionary so that clear, comprehensive information about the data and processes that make up the system are stored
data dictionary data flow attributes
name or label description alternate name(s) origin destination data structure volume and frequency
data dictionary data store characteristics
data store name or label description alternate name(s) data structure volume and frequency
data dictionary process characteristics
process name or label description process number process description
data dictionary external entity characteristics
entity name description alternate name(s) input data flows output data flows
data dictionary to document attributes, a data structure
is used data structure – specific arrangement of
data attributes that define a data store or a single instance of a data flow
notation = + { } [ ] ()
data dictionary: example
ORDER = ORDER NUMBER + ORDER DATE +
[CUSTOMER NUMBER|CORPORATE ACCOUNT] + SHIP ADDRESS + BILL ADDRESS + {PRODUCT} +
AMOUNT
PRODUCT = PRODUCT NUMBER + DESCRIPTION +
QUANITY ORDERED + PRICE + EXTENDED PRICE
SHIP ADDRESS = ADDRESS
BILL ADDRESS = ADDRESS
ADDRESS = (POBOX NUMBER) + STREET + CITY +
[STATE|PROVINCE] + (COUNTRY) + ZIPCODE
ORDERS = {ORDER}
decomposition diagram depicts the partitioning of the system
into logical subsystems or processes shows the top-down functional
decomposition of a system used as a planning tool for the DFD also known as a hierarchy chart
decomposition diagram
GRADINGSYSTEM
ESTABLISHGRADEBOOK
ASSIGN FINAL
GRADE
GRADESTUDENT
WORK
TASK 1 TASK 2
PRODUCEGRADEREPORT
process description describes the logic of primitive processes may be represented in the following
forms: structured English decision table decision tree
process description structured English
use the three logical building blocks sequence selection iteration
use indentation for readability use standard terms used in the data
dictionary and specific words that describe the processing rules
process description structured English
examples Profits = Revenues - Expenses Generate Inventory Report Add Product record to Products IF Customer Not in Customers
THEN Add Customer to CustomersELSE Add Current Sale to Customer’s Total Sales Add Total Sales to Customer balance in Customers
FOR EACH Customer in CustomersDelete Customer with matching
Customer ID
process description decision tables
alternative way to describe business rules or processing that involve a complex set of conditions
shows a logical structure, with all possible combinations of conditions and resulting actions
rows represent conditions and possible outcomes; columns indicate which combinations of conditions result in specific actions
combination of conditions may result in more than one outcome
process description decision tables
example
Conditions and Actions
Rule 1 Rule 2
Rule 3 Rule 4
type of check personal
payroll
personal
payroll
check amount > 1000
yes - no -
company accredited by X
- yes - no
cash the check X X
do not cash the check X X
process description decision trees
Graphical representation of the conditions, actions, and rules found in a decision table
choice between a decision table or decision tree is a matter of personal preference
use case analysis tool used to describe a business
task and how the user (actor) interacts with the system to accomplish the task
may be represented in narrative or graphical form
no standard template for documenting detailed use cases
analysts are encouraged to use templates that work for them or the project they are on
use case example
Name: Place New OrderUse-Case ID: UC123Source: Requirement 1.00Description: A club member submits a new
order for products. The member’s account standing is validated. When the availability of products is verified, a packing order is sent to the warehouse for it to prepare the shipment. Back orders are created for products not in stock. On completion, the member is sent an order confirmation.
use case example
Precondition: The party making the order must be a member
Trigger: A new order is submittedBasic flow: Member provides order and
payment information. All information are verified ….
Result: An order confirmation is generated and sent to the club member
use case sections Use Case Name Iteration Description Preconditions Triggers Basic course of events Alternative paths Postconditions Business rules Notes Author and date Additional sections such as assumptions,
exceptions, recommendations, technical requirements
event-response list depicts the business events that the
system must respond to employ use case analysis contains information on:
actor that initiates the event event trigger or input response or output
event decomposition diagram map the events to the decomposition serves as an outline for the lower-level
data flow diagrams
system diagram merged events depicted in the data flow
diagram a single diagram may represent the
entire system may be a collection of DFDs representing
a set of events for a major component of the system(e.g., a process in diagram 0)
modern structured analysis draw the context DFD of the proposed
system make the corresponding functional
decomposition diagram and diagram 0 create an event-response or use-case list draw an event DFD for each event * merge event DFDs into a system diagram draw detailed, primitive DFDs for the more
complex events update the data dictionary make the process descriptions