Physical DFD
Modified DFD to show implementation decisions about the new system, such as what programming languages will be used
Structure chart
Shows how the processes of the system will be organized
Illustrates the organization and interactions of the different pieces of code within the program to the analysts and programmers so that the program can be developed by many programmers
Program specifications
Detailed instructions developed so that during construction, the programmers know exactly what they should be creating
Written documents that include explicit instructions on how to program pieces of code
Physical process models
Show implementation details and explain how the final system will work
Human-machine boundary
Physical DFDs differentiate human and computer interaction by a line drawn on the model to separate human action from automated processes
Top-down modular approach
Use a variety of program design techniques
Program design
Document that includes all of the structure charts and program specifications that will be used to implement the system
Sequence
The order of components that are involved
Selection
Under what condition a module is involved
Iteration
How often a component is repeated
Module
Lines of program code that perform a single function; work together to form a program
Control module
Higher-level component that contains the logic for performing other modules
Subordinate modules
Components that a control module call and control
Library module
Modules that are standardized and used in many places throughout the system
Have vertical lines on both sides of the rectangle to communicate that they will appear several times on the structure chart
Loop
Curved arrow that indicates that the execution of some or all subordinate modules is repeated
Conditional line
The execution of one or more of the subordinate modules occurs in some cases but not in others
Connector
Symbol to connect large structure charts
On-page connector
Circle is used to connect parts of the structure chart when there are space constraints and a diagram needs to be continues on another part of the page
Off-page connector
Hexagon is used to continue the diagram on another page entirely
Couples
Shown by arrows, are drawn on the structure chart to show that information is passed between modules, with the arrowhead indicating which way the information is being sent
Data couples
Shown by arrows with empty circles; used to represent the passing of pieces of data or data structures to other modules
Control couple
Drawn with the use of arrows with filled-in circles; used to pass parameters or system-related messages back and forth among modules
Flag
Control couple used when when a parameter needs to be passed
Passed from subordinates to control modules, but not the other way around
Passed so that the control modules can make decisions about how the program will operate
Afferent processes
Processes that provide inputs into the system
Central processes
Perform critical functions in the operation of the system
Efferent processes
Deal with system outputs
Transaction structure
Contains control modules that calls subordinate modules, each of which handles a particular transaction
Transform structure
The control module calls several subordinate modules in some sequence, after which something "happens"
Modules are related because together they form a process that transforms some input into an output
Cohesion
How well the lines of code within each structure chart module relate to each other
Functional cohesion
All elements of the module contribute to performing a single task; highly desireable
Temporal cohesion
Takes place when functions within a module may not have much in common other than being evoked at the same time
Coincidental cohesion
There's no apparent relationship among a module's functions; avoid this
Factoring
The process of separating out a function from one module into a module of its own
Coupling
How closely modules are interrelated, and the second guideline for good structure chart design states that modules should be loosely couples
Data coupling
Modules pass parameters to or specific pieces of data to each other; good
Content coupling
One module actually refers to the inside of another module; bad
Fan-in
The number of control modules that communicate with a subordinate
Event-driven programs
Programs that include procedures that are executed in response to an event initiated by the user, system, or program code
Visual Basic.Net, C++
Pseudocode
Detailed outline of the lines of code that need to be written, and it's presented in the next section of the form
Language that contains logical structures, including sequential statements, conditional statements, and iteration