|
|
|
|
Lesson#20
|
Incremental Model
|
|
|
|
Incremental Model
The incremental model is a method of software/ Information
System development where the model is
designed, implemented and tested incrementally until the product
is finished. It involves both development
and maintenance. This model combines the elements of the
waterfall model with the philosophy of
prototyping.
Example
-An example of
this incremental approach is observed in the development of word processing
applications where the following services are provided on
subsequent modules:
•
Basic file management,
editing and document production functions
•
Advanced editing and
document production functions
•
Spell and grammar
checking
•
Advance page layout
85
The first increment is usually the core product which addresses
the basic requirements of the system. This
maybe either be used by the client or subjected to detailed
review to develop a plan for the next increment.
This plan addresses the modification of the core product to
better meet the needs of the customer, and the
delivery of additionally functionality. More specifically, at
each stage
•
The client assigns a
value of functionality to each module not yet implemented
•
The developer estimates
cost of developing each module
•
The resulting
value-to-cost ratio is the criterion used for selecting which module is
delivered next
Essentially the module with the highest value-to-cost ratio is
the one that provides the client with the most
functionality (value) for the least cost. Using this method the
client has a usable product at all of the
development stages. Modules are also selected on the basis of
the customer requirements and needs apart
from the value to cost ratio.
20.1 Characteristics of the Incremental Model
•
The system development
is broken into many mini development projects
•
Partial systems are
successively built to produce a final total system.
•
Highest priority
requirements tackled early on.
•
Once an incremented
portion is developed, requirements for that increment are frozen.
20.2 Incremental Model-Evaluation
Benefits
•
Working functionality is
produced earlier – computation of value to cost ratio
•
Reduces risks of change
in user requirements
•
Provides clients
flexibility in decision making.
•
Risk management is
incremental
•
Smaller scope for change
in user requirements
86
Criticism
•
Larger picture cannot be
seen until the entire system is built
•
Difficult to break down
the total system at early stage of product development to determine reasonable
increments
Iterative Models
Iterative models are an approach for developing systems based on
producing deliverables
frequently/repetitively. Each iteration, consisting of
requirements, analysis & design, implementation and
testing, results in the release of an executable subset of the
final product. These subsets grows incrementally
from iteration to iteration to become the final system. The
Procedure itself consists of three basic steps.
•
The Initialization step
-- creates a base version of the system. The goal for this initial
implementation is
to create a product to which the user can react.
•
The Iteration
step --
The iteration step involves
•
The redesign and
implementation of a task from project control list. The goal for the design and
implementation of any iteration is to be simple,
straightforward, and modular, supporting redesign
at that stage or as a task added to the project control list.
•
The analysis of the
current version of the system. The analysis of an iteration is based upon user
feedback and the program analysis facilities available. It
involves analysis of the structure,
modularity, usability, reliability, efficiency, and achievement
of goals. The project control list is
modified in light of the analysis results.
•
The Project
Control List
-- To guide the iteration
process, a project control list is created that
contains a record of all tasks that need to be performed. It
includes n
•
New features to be
implemented, and
•
Areas of redesign of the
exiting solution.
The control list is constantly being revised as a result of the
analysis phase.
20.3 Iterative Models – Evaluation
Harms
The Iterative Model can lead to "scope creep," since user
feedback following each phase may lead to
increased customer demands. As users see the system develop,
they may realize the potential of other
system capabilities which would enhance their work.
Benefits
•
In fact, the context of
multiple iterations provides advantages in the use of measuring various aspects
of product development, such as
•
Effort to date
•
Changes,
•
Defects,
•
Logical, physical, and
dynamic attributes,
•
Environmental
considerations.
87
•
The customer can tell
how product characteristics like size, complexity, coupling, and cohesion are
increasing or decreasing over time.
•
One can monitor the
relative change of the various aspects of the product or can provide bounds for
the measures to signal potential problems and anomalies.
20.4 Incremental vs. Iterative
These sound similar, and sometimes are equated but there is a
subtle difference:
•
Incremental: add to the
product at each phase
•
Iterative: re-do the
product at each phase
Example
Building a House
•
Incremental: Starts with
a modest house, keep adding rooms and upgrades to it.
•
Iterative: The
design/construction map of the house is amended and improved and repeated
until all the requirements are fulfilled. |
|
|
|
|