Problem Frames Approach - Problem Analysis and The Software Development Process

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:

    Give a scientist a problem and he will probably provide a solution; historians and sociologists, by contrast, can offer only opinions. Ask a dozen chemists the composition of an organic compound such as methane, and within a short time all twelve will have come up with the same solution of CH4. Ask, however, a dozen economists or sociologists to provide policies to reduce unemployment or the level of crime and twelve widely differing opinions are likely to be offered.
    Derek Gjertsen, British scientist, author. Science and Philosophy: Past and Present, ch. 3, Penguin (1989)

    Analysis as an instrument of enlightenment and civilization is good, in so far as it shatters absurd convictions, acts as a solvent upon natural prejudices, and undermines authority; good, in other words, in that it sets free, refines, humanizes, makes slaves ripe for freedom. But it is bad, very bad, in so far as it stands in the way of action, cannot shape the vital forces, maims life at its roots. Analysis can be a very unappetizing affair, as much so as death.
    Thomas Mann (1875–1955)

    The man, or the boy, in his development is psychologically deterred from incorporating serving characteristics by an easily observable fact: there are already people around who are clearly meant to serve and they are girls and women. To perform the activities these people are doing is to risk being, and being thought of, and thinking of oneself, as a woman. This has been made a terrifying prospect and has been made to constitute a major threat to masculine identity.
    Jean Baker Miller (20th century)

    The toddler’s wish to please ... is a powerful aid in helping the child to develop a social awareness and, eventually, a moral conscience. The child’s love for the parent is so strong that it causes him to change his behavior: to refrain from hitting and biting, to share toys with a peer, to become toilet trained. This wish for approval is the parent’s most reliable ally in the process of socializing the child.
    Alicia F. Lieberman (20th century)