Structured analysis

from Wikipedia, the free encyclopedia

The Structured Analysis ( SA ) is a mainly by Tom DeMarco developed method for creating a formal system description in the context of software development . It is used during the analysis phase of a software project. Structured design refines the results of the SA to the point where they can then be implemented. It is a system analysis method .

The result of the structured analysis is a hierarchically structured requirements document for the scope and content of the operational application that is to be implemented in the planned software system. Structured analysis is a graphical analysis method that uses a top-down approach to divide a complex system into ever simpler functions or processes, while at the same time performing data flow modeling . In its basic form, the SA is a static analysis, which was later expanded to include methods for dynamic analyzes.

Historical development

From the 1960s onwards, efforts were made to systematize the process of system development. In 1974, for example, Jackson made a proposal for a graphical representation for structured analysis. Tom DeMarco and others began developing Structured Analysis in the 1970s, which they published in 1977.

Structured analysis

The following elements are used in structured analysis:

  • Context diagram ( English context diagram ): This diagram is the root of the analysis tree . It separates the system from its environment and thus defines which aspects are considered by the analysis and which are not.
  • A hierarchical representation of the structure of the application in the form of a "tree structure" ( similar to an organizational chart ). The top diagram is the above context diagram. A data flow diagram (see below) belongs to every lower branch of the tree structure. Each “leaf” of the tree structure (end point, which is not further refined) is associated with a “mini specification” as a description of the processes it contains (see below).
  • Data flow diagram ( English data flow diagram , short DFD ): A DFD visualizes the sub-processes into which the process shown on the DFD is divided and how the data is used in this process.
  • Mini Specification ( English mini specification ): Mini-Spec is a formal description of a no longer split in the analysis elementary process. The description is made using a pseudo code that is not standardized and generally from the later programming language used un so the logical constructs that depends, structured programming used. Further possibilities of description are Nassi-Shneiderman diagrams , program flowcharts , decision tables and decision trees .
  • Data dictionary ( English data dictionary , short DD ): A collection of all data definitions that are used in the analysis.

The first two diagrams use the following graphic elements:

  • Data flow represented as an arrow
  • Data, lettering on the arrow
  • Storage, two parallel horizontal lines with the name of the storage in between
  • Sub- and elementary processes, circle with the name and number of the sub-process in the circle
  • External data receivers / senders (only on the context diagram), square with enclosed name

Structured real-time analysis (RT)

The structured real-time analysis extends the normal structured analysis with a real-time component. This is achieved by defining the behavior of the process layer under all possible external and internal conditions and operating modes. The system was designed by Imtiaz A. Pirbhai and Derek J. Hatley .

Dynamic analysis

In addition to the definitions of the static analysis, the following elements are also defined:

  • Decision table ( English decision table , DT for short ): How the output value is set is defined in tabular form from several input values.
  • State transition diagram ( english state transition diagram , briefly STD ): states are represented on this chart as squares and transitions as arrows. The STD has input and output values ​​that are set depending on the transitions and states.
  • (Process Activation Table English table activation process , PAT ): The table describes the sequence of activation of the enumerated in the table processes.

A DFD always contains only one PAT and any number of DT and STD. All three new elements are graphically represented by a vertical line. Arrows from the left are the input parameters, arrows to the right are the output parameters.

  • Control flows ( English control flow ): Shown as a dotted arrow sent over control flows only data with Boolean definition. These are used to control the DT and STD and do not carry any real data themselves, but only serve to model the dynamic process.

Use in practice

One of the largest software projects that have been implemented in Germany with the help of structured analysis is the software for the central computer of the Tornado fighter aircraft .

Otherwise, the structured analysis has been replaced in many places by the object-oriented analysis (OOA), but is still used in many projects.

See also

literature

  • Edward Yourdon: Modern Structured Analysis , Prentice Hall, 1988, ISBN 0135986249
  • Keith Edwards: Real-Time Structured Methods, System Analysis , Wiley, 1993, ISBN 0-471-93415-1
  • Derek J. Hatley, Imtiaz A. Pirbhai: Strategies for Real Time System Specification , John Wiley and Sons Ltd, 1988, ISBN 0932633048
  • Stephen J. Mellor and Paul T. Ward: Structured Development for Real-Time Systems: Implementation Modeling Techniques: 003 , Prentice Hall, 1986, ISBN 013854803X
  • Tom DeMarco : Structured Analysis and System Specification. Prentice Hall, 1979, ISBN 0138543801

Web links