T  
  H  
  E  
     
  E  
  V  
  O  
  L  
  U  
  T  
  I  
  O  
  N  
     
  I  
  S  
     
  T  
  H  
  E  
     
  E  
  V  
  E  
  R  
     
  G  
  O  
  I  
  N  
  G  
     
  P  
  R  
  O  
  C  
  E  
  S  
  S  
     
  O  
  F  
     
  D  
  E  
  V  
  E  
  L  
  O  
  P  
  M  
  E  
  N  
  T  
     
  &  
     
  W  
  I  
  L  
  L  
     
  C  
  O  
  N  
  T  
  I  
  N  
  U  
  E  
     
  T  
  I  
  L  
  L  
     
  T  
  H  
  E  
     
  W  
  O  
  R  
  L  
  D  
     
  O  
  F  
     
  D  
  E  
  V  
  E  
  L  
  O  
  P  
  M  
  E  
  N  
  T  
     
  E  
  X  
  I  
  S  
  T  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  T  
  H  
  E  
     
  E  
  V  
  O  
  L  
  U  
  T  
  I  
  O  
  N  
     
  I  
  S  
     
  T  
  H  
  E  
     
  E  
  V  
  E  
  R  
     
  G  
  O  
  I  
  N  
  G  
     
  P  
  R  
  O  
  C  
  E  
  S  
  S  
     
  O  
  F  
     
  D  
  E  
  V  
  E  
  L  
  O  
  P  
  M  
  E  
  N  
  T  
     
  &  
     
  W  
  I  
  L  
  L  
     
  C  
  O  
  N  
  T  
  I  
  N  
  U  
  E  
     
  T  
  I  
  L  
  L  
     
  T  
  H  
  E  
     
  W  
  O  
  R  
  L  
  D  
     
  O  
  F  
     
  D  
  E  
  V  
  E  
  L  
  O  
  P  
  M  
  E  
  N  
  T  
     
  E  
  X  
  I  
  S  
  T  
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
Software Development Life Cycles


Software development itself is a very large field. Thousands of books are written on software development and many different and quality process models have been defined since the software production is started on industrial levels. Many analysts and software producing firms have defined their own software process models which can exactly fulfill their needs. We shall discuss few of them which covers the over all idea of software development process.


Software development is a 'process' and 'software development process model' functions like a life cycle. So it is also refers as 'software development life cycle'. Some most important and commonly used life cycles are discussed below.

. Prototyping Life Cycle
. Water Fall Model
. Rapid Application Development (RAD)
. The Incremental Model
. The Spiral Model
. The Component Based Development

Prototyping Life Cycle
Prototype is the first model or it is a test or pilot project. In prototyping, we develop an idea to give the user an idea about the proposed system. The prototyping can help the user to visualize how the proposed system will work. It is actual working model of the system having overall features what a customer demands from us. Prototyping provide refinement for us from the user requirements. The objective of prototyping is to enhance the quality of the requirement specification and to meet the expectations of our customer. Prototyping is only the raw work to idealize the requirements and to satisfy the customer for the overall view of the proposed system. It can be done in following ways;
          . By using simply pencil and paper.
          . With the help of a drawing software.
          . By using slides in power point or in any other slide software.
          . Visual tools like Visual Basic, Access, Developer etc.
          . Using 4th generation languages (automated tools that generates code           automatically on developer's specification.)
          . By using UIMS (user interface management system)

Water Fall Model
Some times it is also called the classic life cycle or the linear sequential model. The water fall model is the oldest and widely used software model. It does have some weaknesses, but is significantly better than haphazard approach to software development. It provides a template according to which our software is developed. So normally following phases can be made in this model.
            . Analysis
            . Design
            . Coding
            . Testing
            . Implementation & Maintenance

Rapid Application Development Model
Rapid application development is an incremental software development process model that emphasizes an extremely short development cycle. the RAD model is a 'high-speed" adaptation of linear sequential modeling which rapid development is achieved by using component based construction. If requirements are well understood and project scope is constrained, the RAD process enables a development team to create a "fully functional system" within very short time periods.
Phases of RAD;
            . Business Modeling
            . Data Modeling
            . Process Modeling
            . Application Modeling
            . Testing and Turnover

i)- Business Modeling
The information flow among business functions is modeled in a way that answers the following questions;
            . What information drive the business?
            . What information is generated?
            . Who generates it?
            . Where does the information go?
            . Who processes it?
ii)- Data Modeling
The information flow defined as part of the business modeling phase is refined into a set of data objects that are needed to support the business. The attributes of each object are identified and relationships b/w these objects are defined.
iii)- Process Modeling
The data objects defined in the data modeling phase are transformed to achieve the information flow necessary to implement a business function . Processing descriptions are created for adding , deleting , modifying or retrieving a data object.
iv)- Application Modeling
RAD assumes the use of 4th generation techniques rather than conventional techniques. The RAD process works to reuse existing program components ( when possible ) or create reusable components ( when necessary ) For the construction of s/w CASE tools are used in RAD.
v)- Testing and Turnover
Testing cost is reduced as we use reuse components which are already tested so testing cost is reduced. New components must be tested and all interfaces must be fully exercised.

The Incremental Mode
The incremental model combines the elements of linear sequential model which is applied repetitively) with the iterative philosophy of prototyping. This approach is often used to maintain greater managerial control over a product while still providing the customer with some functionality in a short time frame. Once the process for the first subset is well underway, you begin planning a new version - based on the original - which incorporates more of the desired features. For example Word-processing software developed using the incremental model.

The Spiral Model
The spiral modal is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. Using the spiral model, software is developed in a series of incremental releases. During early iterations, the incremental release might be a paper model or prototype. During later iterations, increasingly more complete versions of the engineered system are produce. A spiral model is divided into a number of frame work activities.
            . Customer Communication
            .  Planning
            . Risk Analysis
            . Construction and releases
            . Customer Evaluation
i)- Customer Communication
The tasks required to establish effective communication between developer and customer.
ii)- Planning
The tasks required to define resources, timelines and other project related information.
iii)- Risk Analysis
The tasks required to assess both technical and management risks.
iv)- Engineering
The tasks required to build one or more representations of the application.
v)- Construction and Release
The tasks required to construct, test, install, and provide user support.( documentation and training )
vi)- Customer Evaluation
The tasks required to obtain customer feed back based on evaluation of the software representations created during the engineering stage and implement during the installation stage.

The Component Based Assembly Model
The component based development model incorporates many of the characteristics of the spiral model. It is evolutionary in nature, demanding an iterative approach to the construction of software.


Software?| Software Types| Software Cycles| How to Design?|
Backend| Frontend| Software Docs| Software Features|
Soft Web Links| Refreshment| About|