- Development
     life cycle models or process models:
 
- Based on the
     customer and the requirements, there can be different approaches in
     implementing a software application, the approach is know as a model.
     There are several models proposed, and they can be categorized into two
     Types:
 
- One iteration
     model Or Sequential Model:
 
- Where all the
     stages in SDLC are implemented once.
 
- Waterfall model
 - V-model
 
- Iterative
     models Or Incremental Model :
 
- In this all the
     stages in the SDLC are implemented multiple times in constructing a
     software application.
 
- RAD model
 - Prototype model
 - Spiral model
 - Agile model
 
- One iteration
     model Or Sequential Model:
 
- Waterfall
      model:
 
- It is Also
     called as linear sequential model, which was proposed by "royce"
     in 1970s'
 
- All the stages
     in waterfall model are independent, every stage will commence only after
     it's previous stage is completed and there is no overlapping between the
     stages.
 
- Testing starts
     only after coding is completed.
 
  
  | 
  
  
  | 
 
  
  | 
  
  
  | 
 
  
  | 
  
  
  | 
 
  
  | 
  
  
  | 
 
  
  | 
  
  
  | 
 
  
  | 
  
  
  | 
 
  
  | 
  
  
  | 
 
- Advantages:
 - It is simple
       and easy to maintain
 - It is less
       expensive
 - It Works well
       if the requirements are static.
 
- Disadvantages:
 - It will not
     support large applications and the   
     dynamic requirements.
 
- V-Model
 
- In This Model
     Also All Implementation Activities Will be Carried out one after Another
     For the Whole Application .This is suitable for small Projects where the
     requirements are not clear .As the requirements are not clear both static
     testing and Dynamic Testing are applicable for these model Projects.
 
- As the Flow of
     Activities Look like a V Shape it is Titled as “V-Model”.  
 
- V stands For
     Verification & Validation 
 
- Phases
 
- User
     Requirements
 - System
     Requirements
 - HLD
 - LLD
 - Coding
 - Unit Testing
 - Integration
     Testing
 - System Testing
 - UAT ( User
     Acceptance Testing ) 
 
- Note :  
 
- 1)we are
     Conducting Static Testing on  
 - User
     Requirements
 - System
     Requirements
 - HLD
 - LLD
 - 2)we are
     Conducting Dynamic Testing on  
 - Unit Testing
 - Integration
     Testing
 - System Testing
 - UAT 
 
- Iterative
     models Or Incremental Model:
 
- These Models
     are Recommended Only For Big Projects , Where the Application Development
     Will be planned Cycle By Cycle.
 
- RAD ( Rapid
      Application Development ) model:
 
- It is also an
     iterative model, but there would be only one release for all the
     iterations performed.
 
- This is
     preferred for large or complex applications which has to be developed in
     shorter span of time.
 
- The application
     will be split into modules and all the individual modules will be constructed
     and tested independently for their stability and then grouped(integrated)
     to form a system.
 
- Advantages:
 - It is used in
       implementing complex applications in shorter span of time.
 
- Disadvantages:
 - It will not
      support dynamic requirements
 - It requires
      lot of human resources in implementation
 - Defects in integration
      might take lot of efforts and cost to rectify, as there would be lot of
      dependency between the features or modules.
 
- Prototype
      model:
 
- Prototype:
 - It is structure
     or the static images or screens which are developed with one or tow
     features implemented.
 
- This is also an
     iterative model
 - The prototypes
     developed by the vendor's team.
 
- After the
     feasibility and requirement collection, there would be a prototype
     developed and it should be evaluated by the customer, if customer approves
     the prototype, then actual software will be implemented, tested and
     released to the customer, else the prototype should be redesigned and it
     should be evaluated by the customer again , 
 - This is a
     continuous process.
 
- Advantages:
 
- Probability
       of high quality software as there would be customer interaction with the
       s/w before it is constructed.
 
- Accepts
       dynamic requirements.
 
- Supports both
       projects and products.
 
- Project:  If You Develop an S/W  Application According to a Client
     Requirements That Application is Called Project .
 
- Product :  If You Develop a S/W  Application According to Market
     Requirements That Application is Called Product. 
 
- Disadvantages:
 
- Might be
      expensive in designing multiple prototypes.
 - Time consuming
      factor if multiple prototypes have to be designed.
 
- Spiral model:
 
- It is an
     iterative model, which consists of "risk analysis" phase where a
     detailed study would be conducted by the "domain" and
     "technology" experts, in analyzing the risk in implementing the
     software.
 
- Risk analysis
     can be done only after the complete requirements are collected and
     documented.
 
- Risk analysis
     phase will decide whether to continue with further implementations or not.
 
- Advantages:
 - It supports
       huge complex and mission Critical projects, in which domain and technical
       implementations are very complex
 
- It supports
       dynamic requirements.
 
- Disadvantages:
 
- 1. It is a very
     huge time consuming and    expensive
     process.
 - 2. The success
     rate of the project is completely   
     dependent on the risk analysis phase.
 
- 4)Agile Model or Extreme
     programming:
 
- In This Model
     Requirements Will be Given to the Tester First and Later to the Developer.
     Tester Prepare test Prefer ability Automation Test , Soon After a
     Requirement is Developed. Then test it with the help of already Prepared
     Test Cases immediately . Based on tester feedback Developer Modify the
     Requirements if Needed. Then it will be given to the Customer For User
     Acceptance Testing.
 
- Rules framed
     for agile process:
 
- there should
        be a build deployed for testing from 1 day to max of 4 weeks.
 
- B) Every single
     feature implemented should be 
     tested, if approved only the new   
     implementation should be carried out.
 
- team size
        should be often between 2 to 6
 
- D) the
     development and test teams should be   
     closely associated and should be effective    communication between the teams.
 
- Advantages:
 - Very widely used
      in products or multiple release applications.
 - Probability of
      high quality software, due to rigorous testing and effective defect
      removal at the initial stages of the implementation.
 
- Disadvantages:
 - It is tidies
     job to perform.
 - Very strict
     deadlines and should be met.
 - 3. No chance of
     proper documentation, due to    strict
     targets (dead Lines).
 - 4. 
 
No comments:
Post a Comment