Wednesday, July 9, 2014

What is SDLC? and Different SDLC models (V model, Waterfall model)

What is SDLC?


What is SDLC stands for?

SDLC: Software Development Life Cycle

SDLC also known as Software Development Process.

What is SDLC mean?


The software development life cycle (SDLC) is a creation works performed by development team at each step in the software development process.  SDLC is followed by an entire development team within the organization. The Software development plan is a detailed plan of project, how to develop new system, how to replace old system, how to maintain new system and old data. SDLC defines a methodology for improving the quality of software and the overall system.

What is SDLC?

                SDLC is a method used by software analysts in order to develop or redesign high quality software system which meets Business and technical requirements.

    SDLC is a process to describe for planning, creating, testing, and deploying an information system.

SDLC consists of following activities:

There are mainly six phases in every Software development life cycle model:
  1. Planning/Requirement gathering and analysis
  2. Designing
  3. Implementation or coding
  4. Testing
  5. Deployment
  6. Maintenance
  • Planning or Requirements gathering and Analysis: This is very important phase of SDLC, Project Managers and Stake holders mainly focus on this phase. Business requirements are gathered in this phase. Business Analysts hold meetings with project managers, stake holders, SMEs and Users to define the requirements. After gathering requirements Business analysts analyzed requirements validity and possibilities with the help of stake holders. After that Business Analysts creates Requirement Specification Document, which will be used for next phase.
  • Designing: In this phase system designer prepare software design based on the business requirements documents. System design helps in specifying hardware and system requirements and helps in defining overall system architecture.
  •  Implementation/Coding: In this phase with the help of system design documents, software developers write the coding. Sometimes this phase is narrow down in modules/units. This is the longest phase of the SDLC. 
  • Testing: During this process Quality testing people test new implemented system and try to find out defects or bugs. In this phase Unit testing, system testing integration testing, acceptance testing are done and make sure that the new system is fulfilling all the requirements and solving the needs of business requirements.
  • Deployment: After successful testing the product is ready to delivered / deployed to the customer for their use.
  • Maintenance: Once when the customers starts using the developed system then the actual problems comes up and needs to be solved from time to time. This process where the care is taken for the developed product is known as maintenance.

There are several Software Development Models followed by different organizations

      Waterfall Model


 Waterfall model is a popular version of the system Development Life Cycle model. Water fall Model was the first process model to be introduced. The Waterfall Model is a linear sequential flow.  Waterfall model development has separate goals for each phase of development. In which progress is seen as flowing steadily downwards (like Waterfall) through the phases of software implementation. This means any phase in the development process begins only if the previous phase is complete. After the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project.


Waterfall approach does not define the process to go back to the previous phase to handle changes in requirement. The waterfall approach is the earliest approach that was used for software development.  Generally Waterfall model is used in small project and there are no uncertain requirements.  

When to use of Waterfall Model:
  • This model is used when the requirements are very clear, fixed
  • There are no uncertain requirements
  • Project is small


Advantages:
  • Easy to explain to the user
  • Easy to plan and schedule the project
  • Every phase has a defined start and end point
  • Progress can be conclusively identified by client
  • Improve quality of requirements
  • Phases do not overlap
  • Works well for smaller projects

Disadvantages:
  • Assume that requirements of a system can be frozen
  • Hard to go back to past phase after it finished
  • Flexibility and adjusting scope is difficult and expensive
  • Need more time
  • High risk and uncertainty
  • Not good for complex projects
  • Not good for long projects

      V-Model


                V-model means Verification and Validation model. It is similar to Waterfall model.  On V-shape model each phase is completed before next phase begins same as Waterfall model. On V-shape model, testing is introduced early phase of SDLC. Testing activity is performed in the each phase of SDLC phase. This model is an extension for Waterfall model. The major difference between V-shaped model and waterfall model is the early test planning in V-shape model.


                                                                                                                                                                          
                         


      When to use the V-model
  • V-model is better option when  the project is small or medium size
  • When technical resource are available when needed
  • When requirements are simple not high complex

      Advantages:
  • Works well for small and medium size project
  • Simple and easy to understand
  • Each phase has start and end date
  • High chance of success than the Waterfall model
  • Less time consumption compare to Waterfall model

      Disadvantages:
  • Not much flexibility on adjusting scope
  • High risk and uncertainty
  • Not a recommended model for complex project
  • Not good for a long project
  • If something will change in midway, then testing documents and requirements need to update



3 comments: