Page 56 -
P. 56
CHAPTER 2 THE PROCESS 27
FIGURE 2.3
(a) The phases Problem
of a problem definition
solving loop
[RAC95]
(b) The phases
within phases Status Technical
of the problem quo development
solving loop
[RAC95]
Solution
integration
(a)
problem definition
status quo development technical
solution
integration
definition problem
status status technical
quo quo development
integration solution
problem definition
status development technical
quo
solution
integration
problem
definiton
Status status development
technical
quo quo
solution
integration
problem
definiton
Status technical
quo development
solution
integration
(b)
All software development can be characterized as a problem solving loop (Figure
2.3a) in which four distinct stages are encountered: status quo, problem definition,
technical development, and solution integration. Status quo “represents the current
state of affairs” [RAC95]; problem definition identifies the specific problem to be solved;
technical development solves the problem through the application of some technol-
ogy, and solution integration delivers the results (e.g., documents, programs, data,
new business function, new product) to those who requested the solution in the first
place. The generic software engineering phases and steps defined in Section 2.1.2
easily map into these stages.
This problem solving loop applies to software engineering work at many different
levels of resolution. It can be used at the macro level when the entire application is
considered, at a mid-level when program components are being engineered, and