Creating a Data Flow Model
The data flow diagram DFD enables the software engineer to build models of the information domain and functional domain at the similar time. As the DFD is refined into greater levels of detail the analyst performs an implicit functional decomposition of the system thereby accomplishing the 4th operational analysis principle. At the similar time the DFD refinement results in a corresponding refinement of data as it moves by the processes which embody the application.
A few easy guidelines can aid immeasurably during derivation of a data flow diagram;(1) The level data flow diagram should depict the software or system as a dingle bubble; (2) primary output and input should be carefully noted;(3) refinement should start through isolating candidate processes data stores and objects to be represented at the next level; (4) bubbles and all arrows should be labeled with meaningful names; (5) information flow continuity must be maintained from level 2 level and (6) 1 bubble data time should be sophisticated. There is a natural tendency to overcomplicate the data flow diagram. This will happen when the analyst attempts to overcomplicate the data flow diagram. This will happen when the analyst attempts to show too m8ich detail too early or represents procedural aspects of the software in lieu of information flow.
Now again focus on the Safe Home product a level zero DFD for the system which is shown in Figure. The primary external entities boxes produce information for use through consume and the system information generated through the system. The labeled arrows represent data object type or data objects hierarchies. Example for data encompasses and user commands all configuration commands all activations or deactivation commands all miscellane9ous interactions and all data which are input to quality or expand a command.
The level zero DFD is now expanded into a level one model but how do we proceed? A simple, still effectual approach is to perform a grammatical parse on the processing narrative which defines the circumstance level bubble. Which is we isolate all nouns and verbs in the narrative. To describe we again reproduce the processing narrative underlining the 1st occurrence of all nouns and italicizing the 1st occurrence of all verbs. It should be not3ed which nouns and verbs that are synonyms or have no direct bearing on the modeling procedure are omitted.
Safe Home software enables the homeowner to arrange the security system when it is installed monitors all sensors connected to the privacy system and interacts with the homeowner by a keypad and function keys contained in the Safe Home control panel.
During installation the Safe Home control panel is used to program and configure the system. Every sensor is assigned a number and type a master password in programmed for disarming and arming the system and telephone numbers are input for dialing when a sensor event occurs.
When a sensor event is identified the software invokes an audible alarm attached to the system. Following a delay time which is specified through the homeowner during system configuration activities the software dials a telephone number of a monitoring service give information about the location, reporting and the nature of the event twenty seconds until telephone connection is obtained.
All interaction with Safe Home is managed through a user-interaction subsystem which reads input provided by the function keys and keypad display prompting messages and system status on the LCD screen. Keyboard interaction takes the following form.
By examining the grammatical parse we see a pattern starts to emerge. All verbs are Safe Home processes which is they may ultimately be represented as bubbles in a sybsequent6 DFD and all nouns are either external control objects or entities data arrows or data stores double lines. Note although which nouns and verbs can be attached to one another example for sensor assigned number and type Thus through performing a grammatical parse on the processing narrative for a bubble at any DFD stage we can generate much useful information about how to proceed with the refinement to the next level. By using this information a level one
DFD which is shown in Figure the circumstance level procedure that is shown in Figure has been expanded into 7 processes derived from an examination of the grammatical parse. As same the information flow among processes at level one has been derived from the parse.
It should be noted which information flow continuity is maintained among levels zero and one. To Elaboration of the content of inputs and output a DFD levels zero and one is postponed.
Processes represented at DFD continue until each bubble performs a easy function. That is until the procedure represented through the bubble performs a function which would be easily implemented as a program component. In the past lecture we discuss a concept called cohesion which can be used to assess the simplicity of a given function. Till now we strive to refine DFDs until each bubble is single minded.