Software Development Life Cycle

Software Development Life Cycle

  • SDLC is the process of design, build, maintain and test a software product followed by the software development team.
  • Software development life cycle is an approach to develop a software product in a systematic way as per the customer’s requirements.
  • The life cycle provides different phases to build a high quality and efficient software product .
  • SDLC ensures that high quality software product is developed or not ?
  • SDLC phases are :
  1. Requirement gathering and analysis
  2. Feasibility Study
  3. Software Design
  4. Software Implementation/ Coding 
  5. Software Testing  
  6. Software Deployment
  7. Software Maintenance
Software Development Life Cycle

Phase 1 :  Requirement Gathering :

This is the first phase of the software development life cycle in which Software analyst team collects the requirements as per the customer’s needs to develop a software. Once the requirement is gathered, software requirement specification ( SRS ) document is created in which the range of the project is defined.

Phase 2 : Feasibility Study :

Feasibility study is done before the decision is made by the software development team to develop a software which should be economically, technically and operationally beneficial.

Feasibility analysis is the process to  evaluate the feasibility of the project.

There are three types of feasibility :

  1. Economical Feasibility :  Economical feasibility evaluates that the software product or the project is completed within the budget or not ? It ensures that production and development cost should be less.
  2. Technical Feasibility : It ensures that the computer system supports software or not and technology is available or not?
  3. Operational Feasibility : It checks that the customer is satisfied to operations created by the development team and the proposed system is beneficial for the organization or not ?

Phase 3 : Software Design :

At this step, the input for this phase is software requirement specification document and the output will be proper architecture which helps in implementation or coding to the programmers.

Software design converts the user requirements into software implementation.It represents the design of the software product.This phase specifies all the modules and data flow representation.

Phase 4 : Software Implementation/ Coding :

After completing the designing phase, the next phase is coding phase. In the coding phase, programmers starts writing the code in the specific programming language according to the design phase. This is the main phase of SDLC so it takes a long time to complete. The programming languages are used to generate the code such as C, C++, Java, Python etc. The programming language are selected according to the type of software product is developed.

Phase 5 : Software Testing :

Software testing phase is done after the coding phase. The testing team starts verifying the performance of the entire system that the software product is developed according to the customer’s requirement. If any error occurs in the software, then development team fixes that bug and send back to testing team to re-test.

Phase 6 : Deployment Phase :

When the testing process is completed and the system is error free then the next stage will be deployment of the software product. Based on the feedback, software product is delivered to the customer.

Phase 7 : Software Maintenance : 

 Software maintenance is used to improve the system performance for the future issues. If any problem occurs in the future and needs to be solved then maintenance phase is attempted.

 # Types of Software Maintenance :

  • Corrective Maintenance : Used to fix the bugs of the software product.
  • Adaptive Maintenance : Used when new technology becomes and needs to update the software product.
  • Perfective Maintenance : To increase the system functionality and reliability, this maintenance is done.
  • Preventive Maintenance : Preventive maintenance is used to prevent the errors that comes in the future.