400 likes | 412 Views
data flow diagrams. 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
E N D
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
DATA STORE DFD notation EXTERNAL ENTITY EXTERNAL ENTITY DATA FLOW DATA FLOW Gane & Sarson Yourdon PROCESS PROCESS DATA FLOW DATA FLOW DATA STORE
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)
STUDENT STUDENT RECORDS SYSTEM GRADING SYSTEM INSTRUCTOR Example: Context Diagram 0 GRADED WORK CLASS LIST SUBMITTED WORK FINAL GRADE GRADE REPORT GRADE PARAMETERS
2 3 ASSIGN FINAL GRADE GRADE STUDENT WORK STUDENT 1 STUDENT RECORDS SYSTEM ESTABLISH GRADEBOOK GRADEBOOK D1 INSTRUCTOR Example: Diagram 0 STUDENT GRADE FINAL GRADE CLASS LIST GRADING DETAIL SUBMITTED WORK GRADED WORK CLASS GRADEBOOK CLASS DETAIL GRADE PARAMETERS 4 PRODUCE GRADE REPORT GRADE REPORT
Context diagram Level 0 diagram Level 1 diagram Level 2 diagram DFD levels
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
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 Customers ELSE Add Current Sale to Customer’s Total Sales Add Total Sales to Customer balance in Customers • FOR EACH Customer in Customers Delete 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
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
process description • decision trees • example
other process analysis tools event-driven approach
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 Order Use-Case ID: UC123 Source: Requirement 1.00 Description: 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 submitted Basic 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