Problem Analysis and The Software Development Process
When problem analysis is incorporated into the software development process, the software development lifecycle starts with the problem analyst, who studies the situation and:
- creates a context diagram
- gathers a list of requirements and adds a requirements oval to the context diagram, creating a grand "all-in-one" problem diagram. (However, in many cases actually creating an all-in-one problem diagram may be impractical or unhelpful: there will be too many requirements references criss-crossing the diagram to make it very useful.)
- decomposes the all-in-one problem and problem diagram into simpler problems and simpler problem diagrams. These problems are projections, not subsets, of the all-in-one diagram.
- continues to decompose problems until each problem is simple enough that it can be seen to be an instance of a recognized problem frame. Each subproblem description includes a description of the specification interfaces for the machine to be built.
At this point, problem analysis — problem decomposition — is complete. The next step is to reverse the process and to build the desired software system though a process of solution composition.
The solution composition process is not yet well-understood, and is still very much a research topic. Extrapolating from hints in Software Requirements & Specifications, we can guess that the software development process would continue with the developers, who would:
- compose the multiple subproblem machine specifications into the specification for a single all-in-one machine: a specification for a software machine that satisfies all of the customer's requirements. This is a non-trivial activity — the composition process may very well raise composition problems that need to be solved.
- implement the all-in-one machine by going through the traditional code/test/deploy process.
Read more about this topic: Problem Frames Approach
Famous quotes containing the words problem, analysis, development and/or process:
“To make a good salad is to be a brilliant diplomatistthe problem is entirely the same in both cases. To know exactly how much oil one must put with ones vinegar.”
—Oscar Wilde (18541900)
“The spider-mind acquires a faculty of memory, and, with it, a singular skill of analysis and synthesis, taking apart and putting together in different relations the meshes of its trap. Man had in the beginning no power of analysis or synthesis approaching that of the spider, or even of the honey-bee; but he had acute sensibility to the higher forces.”
—Henry Brooks Adams (18381918)
“For the child whose impulsiveness is indulged, who retains his primitive-discharge mechanisms, is not only an ill-behaved child but a child whose intellectual development is slowed down. No matter how well he is endowed intellectually, if direct action and immediate gratification are the guiding principles of his behavior, there will be less incentive to develop the higher mental processes, to reason, to employ the imagination creatively. . . .”
—Selma H. Fraiberg (20th century)
“Im not suggesting that all men are beautiful, vulnerable boys, but we all started out that way. What happened to us? How did we become monsters of feminist nightmares? The answer, of course, is that we underwent a careful and deliberate process of gender training, sometimes brutal, always dehumanizing, cutting away large chunks of ourselves. Little girls went through something similarly crippling. If the gender training was successful, we each ended up being half a person.”
—Frank Pittman (20th century)