Spread Knowledge

CS507 - Information Systems - Lecture Handout 20

User Rating:  / 0
PoorBest 

Related Content: CS507 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Information Systems

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

Incremental Model

Incremental Model 1

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.

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.

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

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.

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
  • 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.

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.