Information Technology Reference
In-Depth Information
Everything Sequential Is Not a Life Cycle
A life cycle is distinguished by three characteristics: (1) a unit developing
in stages, (2) a process regulating the development, and (3) a transition
between states moving the unit toward a predetermined goal. Although
it may appear so, everything sequential is not necessarily a life cycle. The
18-hole golf course and the English alphabet set from “A” to “Z” are both
sequential but they are not associated with a life cycle. For a sequence
to be a life cycle, it must possess some of the distinguishing characteristics
of a life cycle cited above. In our example, a golfers “game” over a period
of time has the elements to be a considered a life cycle.
It may be noted that sequential should not be confused with a forward
direction. Something can be sequential and yet take steps back, in a
sequence. Similarly, the regulation mechanism in a life cycle may introduce
conditional branching and feedback loops within the sequence of steps.
Coarse-Grained Process Models
Life cycle is a coarse grained process model. It allows one to get a good
picture of the entire process but does not itself get lost in details. The
details become (sub-)elements of the process. Boehm has given a good
description of this concept in his introductory paper on Spiral Models in
1988. He says that a life cycle “addresses the following software project
questions:
What shall we do next?
How long shall we continue to do it?”
He goes on to say that a life cycle differs from “a software method (often
called a methodology) in that a method's primary focus is on how to
navigate through each phase (determining data, control, or “uses” hierar-
chies; partitioning functions; allocating requirements) and how to represent
phase products (structure charts; stimulus-response threads; state transition
diagrams).”
A software product development life cycle can be explained as con-
sisting of requirements analysis, an initial design, a proof-of-concept
prototype, code development, QA (quality assurance), and delivery. Each
of these steps can have sub-elements; for example, requirements analysis
could include user surveys, feasibility studies, performance analysis,
reverse-engineering, documentation, etc. Some of these sub-elements may
be life cycles in their own right, if they possess the distinguishing char-
acteristics of a life cycle.
Search WWH ::




Custom Search