A data flow diagram (DFD) is a computer aided software engineering (CASE) tool that is often used in the requirements analysis and specification stages of information systems development. The DFD is primarily utilized for documenting the existing system in order to ensure that analyst understands and accurately defines the requirements. Most commercial CASE products provide some means for checking DFDs for syntactic errors, however, the sheer complexity of the DFD precludes any systematic semantic analysis of the diagram. The objective of this paper is to use graph algorithms and a knowledge base in order to do a semantic, or meaning-based, analysis of a DFD. Our algorithm is a step towards automating the removal of redundancies, directed cycles, and other irrelevant substructures that may be interpreted as being wasteful in the information system being analyzed. It is hoped that our method will be useful in evaluating both existing implementations and proposed systems.
[1]
T. M. Rajkumar,et al.
Comparison of analysis techniques for information requirement determination
,
1988,
CACM.
[2]
Robert E. Tarjan,et al.
Depth-First Search and Linear Graph Algorithms
,
1972,
SIAM J. Comput..
[3]
Chris Gane,et al.
Structured Systems Analysis: Tools and Techniques
,
1977
.
[4]
Paul T. Ward,et al.
The transformation schema: An extension of the data flow diagram to represent control and timing
,
1986,
IEEE Transactions on Software Engineering.
[5]
Jay F. Nunamaker,et al.
CASE productivity perceptions of software engineering professionals
,
1989,
CACM.
[6]
Alan M. Davis,et al.
A comparison of techniques for the specification of external system behavior
,
1988,
CACM.