Pages

Monday, August 11, 2008

5.4 Automatic Transformation from Data Flow Diagram to Structure Chart

Moving from structured analysis to structured design is a very challenging task in terms of both complexity and correctness. One of the tools which can assist us is CAST (Computer-Aided Structured Transformation) which automatically translates requirement specs to design specs.



CAST accepts DFD diagram as input – the diagram which we already use for software requirement specification. CAST consists of:


  • Description language:

  • Rule base: contains info on structured design methodology to help which methods should be applied

  • Automatic transformation system: helps with intelligent decision making to determine suitable architectural design.

Structured system development consists of notations such as DFD which represents processes and data. In this kind of system development (structured) lower levels represents composition of higher level. These are the most important diagrams in analysis & design & implementation phase: DFD in analysis and structured chart for design & implementation which provides basis for evaluating coupling & cohesion.


When converting diagrams to descriptive language; DFD is decomposed into 5 components: source, sink dataflow, process & file. Structured chart is represented in modules, structure & relation.


Additionally for structure chart transform & transaction analysis are used.


In transform analysis input & output from DFD helps us to determine the central portion of system responsible for transforming data. In this type of analysis, DFD contains: transform centre which is centre of collection of processes which make up major functions of system, afferent stream which starts by reading from physical source & converts it to some suitable form for transform and efferent stream which converts the data from transformation centre to more physical form for output to real world.


In transaction analysis we try to isolate transaction centres which capture transactions by determining their types and then sending them to appropriate branch.


No comments: