Software Process Models
To solve actual problems in an organization setting it is a software engineer or a team of engineers must incorporate a development strategy which encompasses the methods, process, and tools layers define in before section and the generic phases also discussed in previous section. This strategy is often referred to as a process model or a software engineering paradigm. A process model for software engineering is selection based on the nature of the project and application the techniques and tools to be used and the controls and deliverables that are needed. In an intriguing paper on the nature of the software process, L.B.S. raccoon [RAC95] uses fractals as the basis for a discussion of the true nature of the software process.
All the software development can be characterized as a problem solving loop in which four distinct stages are encountered that are; problem solution integration, definition, status quo, and technical development. Status quo is represents the current state of affairs problem definition identifies the specific problem to be solved technical development solves the problem by the application of some technology and solution integration delivers the results who requested the solution in the first place.
The problem solving loop is define above applies to software engineering work at various levels of resolution. These techniques are used at the macro level when the entire application is considered at a middle level when program components are being engineered and even at the line of code level. Thus, each stage in the problem solving loop contains an identical problem solving loop, which contains still the other problem solving loop this continues to some rational boundary, for software, a line of code
Realistically, it is hard to compartmentalize activities as neatly as because cross talk occurs within across stages, yet this simplified view leads to a very important idea regardless of the procedure model that is chosen for a software project all the stages problem definition, technical development, status quo, and solution integration-coexist simultaneously at some stages of detail. Given the recursive nature the four stages are discussed above apply equally to the analysis of a complete application and to the generation of a small segment of code.
Raccoon suggests a Chaos model that will define software development a continuum from the user to the developer to the technology. As per the work progresses toward a complete system the stages will described above are applied recursively to user needs and the developer's technical specification of the software.