Is This a Revolutionary Idea, or Not? - Glass, Robert L. (Communications of the ACM, 2004)
The article discusses the construction of a computer software system from its requirements by Professor R. Geoff Dromey, of Griffith University's Software Quality Institute, in Brisbane, Queensland. Each requirement, should be translated into its corresponding "behavior tree." A behavior tree is made up of software pieces, states, events and decisions/constraints data that the components exchange, and the causal, logical, and temporal dependencies. They have to be placed together like a jigsaw puzzle, where clear points of intersection between the trees cause the puzzle pieces to fit together. This design activity creates a solution-focused representation, also tends to rationalize the components from which the completed system will be constructed. Dromey likes to refer to this whole process as "Genetic Software Engineering." The whole point of this approach is to master the complexity that accompanies building a significant software system. As a fringe benefit of this approach, the traceability of the original requirements into the as-built software system becomes much easier. It is also a powerful way to find defects in a system early--only when a requirement arises.