Presentation is loading. Please wait.

Presentation is loading. Please wait.

Requirements Specification with Data Flow Diagrams COP 4331 and EEL4884 OO Processes for Software Systems Development © Dr. David A. Workman School of.

Similar presentations


Presentation on theme: "Requirements Specification with Data Flow Diagrams COP 4331 and EEL4884 OO Processes for Software Systems Development © Dr. David A. Workman School of."— Presentation transcript:

1 Requirements Specification with Data Flow Diagrams COP 4331 and EEL4884 OO Processes for Software Systems Development © Dr. David A. Workman School of EE and CS University of Central Florida January 29, 2007 Revised: February 10, 2009

2 February 10, 2009(c) Dr. David A. Workman2 Formal DFDs Symbol Vocabulary –External Interfaces: data portals defined at the system boundary; interfaces where external data enters or leaves the system.; used to define interfaces with other existing systems that supply or consume data transformed by the system being modeled. External interfaces could also represent interactive users (actors). –Processes (functions): functional nodes that transform data carried by in-flows into data defined by out-flows; no data flows or flow components pass thru unchanged. –Stores: internal system data storage areas or devices; data enters and leaves unchanged. –Data Flows: conduits or channels or some other transport mechanism for data; composite or atomic “infopks.” External Interface Process Nodes Store sourcesink Data id

3 February 10, 2009(c) Dr. David A. Workman3 Formal DFDs Context Diagram (Level - 0 DFD) The SYSTEM External Interface External Interface External Interface External Interface Level 0: McDonalds Restaurant See ‘Notes’ Page A B C D E F G

4 February 10, 2009(c) Dr. David A. Workman4 Formal DFDs Level 1: The first level System decomposition. Process 1.0 Process 2.0 Process 4.0 Process 5.0 Process 3.0 Store D C A B u v x y z = (x,y) r s t r = (s,t) F E G w See ‘Notes’ Page p z

5 February 10, 2009(c) Dr. David A. Workman5 Formal DFDs Level 2 : The first level System decomposition. Process 1.1 Process 1.2 Process 1.3 Process 1.5 Process 1.4 Store A B u y r 1.0 : Process Refinement Aua ua ub ubc ubd

6 February 10, 2009(c) Dr. David A. Workman6 Formal DFDs 1.0 2.0 Level 0 (Context Diagram) Level 1 1.2 2.1 Level 2

7 February 10, 2009(c) Dr. David A. Workman7 Formal DFDs External Interface Process Nodes Rule: External Interfaces MUST ONLY be connected (via flows) to Process Nodes. Store Process Nodes Process Nodes Rule: Stores can only connect to Process Nodes on the same diagram; the same process may store and retrieve data from a given store, but the producing and consuming processes may be different. Stores should be introduced on highest level diagram where they are needed. External Interface Store Process Nodes Process Nodes Rule: Process nodes can connect by data flows to other processes, stores, or external interfaces. Although the same Process node and some other given node can be connected by both in-flows and out-flows, these flows must transmit different data.

8 February 10, 2009(c) Dr. David A. Workman8 Formal DFDs PRINCIPLES –All in-flow data to a process must be transformed in some way. The label and composition of out-flows from a process must be distinct from any in-flows (and other out-flows). Out-flow labels should reflect the effect of the process that produced them (e.g. “in-flow: hungry customer out-flow: satisfied customer”) –Although technically permitted, if the only purpose of a process node is to repackage constituents of composite in-flows to form out-flows, then the following notation should be used. Process Nodes X X Not Permitted Splitting flows X a b Merging of flows X a b

9 February 10, 2009(c) Dr. David A. Workman9 Formal DFDs PRINCIPLES –The sum of all data flows entering a DFD, as defined by External Sources, must equal the sum of all data flows leaving a DFD, as defined by the External Sinks. The system defined by a DFD must not “add” information nor “delete” information - it only transforms it (and/or replicates it). –The sum of all data flow components entering a Process must equal the sum of the data flow components leaving a Process. This takes into account the fact that some data flows can be composite flows made up of more basic or primitive data elements. –Stores act as “buffers” or “repositories” of information. They do not alter data in any way. Once again, any data flowing into a Store must be retrievable without change from the Store as an out-flow, either as it was entered, or in the form of its components, ad in the case of composite in-flows. Component in-flows and composite out-flows are equally permissible. A Store should always have at least one in-flow and at least one out-flow. If this is not the case, then it probably should be modeled as an External Interface. –A DFD is complete and consistent if it is possible to track or traces every infopak that enters the System through an External Interface as part of an in-flow from its point of entry, through the Processes that manipulate it, and finally to the infopaks it has functionally affected as out-flows (or components of out-flows) leaving an External Interface.

10 February 10, 2009(c) Dr. David A. Workman10 Example: MacDonald’s MacDonald’s Restaurant (Customer Service) Dumpster Resturant Supplies Customers CONTEXT DIAGRAM Trash (consumed supplies) Supplies & Raw Food Hungry Customers (with Money) Satiated Customers (having eaten Food and with no Money) Bank Cash Receipts

11 February 10, 2009(c) Dr. David A. Workman11 Example: MacDonald’s Customers 1.0 Take Order Computer System New Food order 2.0 Deliver Order Clean Trays Prepared Food Drink Dispenser Receipt | Order status Order Queries Satisfied Customer Utensils Hungry Customer with Food Hungry Customer (with Cash no Order) Hungry Customer (with Order, No Cash No Food) 3.0 Eat Food Trash Waste Bin Dirty Trays Used Tray 5.0 Dump Trash Open Full Bag Open Empty Bag Dumpster Tied Full Bag 4.0 Wash Trays Helper See ‘Notes’ Page Restaurant Supplies & Food Empty Bags Empty Bag Restaurant Supplies Bank Cash

12 February 10, 2009(c) Dr. David A. Workman12 Example: MacDonald’s Customers 1.0 Take Order New Food order 2.0 Deliver Order Clean Trays Order status Order Queries Satisfied Customer Hungry Customer with Tray of Food Hungry Customer Hungry Customer with Order# 3.0Eat Food Trash Dirty Trays Used Tray 5.0 Dump Trash Open Full Bag Open Empty Bag Dumpster Tied Full Bag 4.0 Wash Trays See ‘Notes’ Page Prepared Food Utinsels, Napkins Condiments, Drinks Supplies Empty Bag Supplies Cooked items Computer Order Processing System Waste Bin Bank Cash Hungry Customer (with Cash no Order) Hungry Customer (with Order, No Cash No Food)

13 February 10, 2009(c) Dr. David A. Workman13 DFDs => OO Design Booch Methodology for Transforming DFDs into OO Design 1.External Interfaces become boundary objects in the OO Design 2.Data Flows become entity objects or object attributes in the OO Design 3.Stores are modeled as Container objects (perhaps single objects). 4.Process Bubbles at Level 1 are modeled as control objects. 5.Process Bubbles at levels > 1 are modeled as methods of some class.

14 February 10, 2009(c) Dr. David A. Workman14 Problem Scenario UCF provides a number of services to its students. At the beginning of a new semester, a student must register for class and pay tuition. Once registration is complete, textbooks and other course materials must be purchased at the bookstore. During the semester, good students attend class and acquire knowledge. At the end of the course good students take a final exam to determine their grade – the completed course with grade are entered into the registration system. After the degree program is successfully completed, good students graduate and leave UCF with a diploma. As an exercise for discussion, model this scenario as a DFD.

15 February 10, 2009(c) Dr. David A. Workman15 UCF Education New Students Alumni Textbook Publishers Course Materials Suppliers Bank 1.0 Register For Classes freshmen Student Account transactions Transaction Confirmation 2.0 Purchase Course materials Registered students needing course materials and/or textbooks Student Account transactions Transaction Confirmation textbooks Consumable Course Mat’ls 3.0 Take Course Students needing degree credits Students needing more courses Repeat offenders 4.0 Receive Degree Students having completed degree requirements Alumni with diploma


Download ppt "Requirements Specification with Data Flow Diagrams COP 4331 and EEL4884 OO Processes for Software Systems Development © Dr. David A. Workman School of."

Similar presentations


Ads by Google