04 | SDLC

Published on Aug 11, 2021 | By Tesvan team

What is SDLC?

 

SDLC is Software Development Life Cycle. It is the sequence of activities carried out by Developers to design and develop high-quality software.

 

Requirement collection and analysis

The requirement is the first stage in the SDLC process. It is conducted by the senior team members with inputs from all the stakeholders and domain experts in the industry. Planning for the quality assurance requirements and recognization of the risks involved is also done at this stage.

This stage gives a clearer picture of the scope of the entire project and the anticipated issues, opportunities, and directives which triggered the project.

Requirements Gathering stage need teams to get detailed and precise requirements. This helps companies to finalize the necessary timeline to finish the work of that system.

 

Feasibility study

Once the requirement analysis phase is completed the next SDLC step is to define and document software needs. This process conducted with the help of 'Software Requirement Specification' document also known as 'SRS' document. It includes everything which should be designed and developed during the project life cycle.

There are mainly five types of feasibilities checks:
Economic: Can we complete the project within the budget or not?
Legal: Can we handle this project as cyber law and other regulatory framework/compliances.
Operation feasibility: Can we create operations which is expected by the client?
Technical: Need to check whether the current computer system can support the software
Schedule: Decide that the project can be completed within the given schedule or not.

 

Design

In this third phase, the system and software design documents are prepared as per the requirement specification document. This helps define overall system architecture.

This design phase serves as input for the next phase of the model.

There are two kinds of design documents developed in this phase:

High-Level Design (HLD)

  • Brief description and name of each module
  • An outline about the functionality of every module
  • Interface relationship and dependencies between modules
  • Database tables identified along with their key elements
  • Complete architecture diagrams along with technology details

Low-Level Design(LLD)

  • Functional logic of the modules
  • Database tables, which include type and size
  • Complete detail of the interface
  • Addresses all types of dependency issues
  • Listing of error messages
  • Complete input and outputs for every module

 

Coding

Once the system design phase is over, the next phase is coding. In this phase, developers start to build the entire system by writing code using the chosen programming language. In the coding phase, tasks are divided into units or modules and assigned to the various developers. It is the longest phase of the Software Development Life Cycle process.

In this phase, the Developer needs to follow certain predefined coding guidelines. They also need to use programming tools like compilers, interpreters, debuggers to generate and implement the code.

 

Testing

Once the software is complete, and it is deployed in the testing environment. The testing team starts testing the functionality of the entire system. This is done to verify that the entire application works according to the customer's requirements.

During this phase, QA and testing team may find some bugs/defects which they communicate to developers. The development team fixes the bug and sends it back to QA for a re-test. This process continues until the software is bug-free, stable, and working according to the business needs of that system.

 

Installation/Deployment

Once the software testing phase is over and no bugs or errors are left in the system then the final deployment process starts. Based on the feedback given by the project manager, the final software is released and checked for deployment issues if any.

 

Maintenance

Once the system is deployed, and customers start using the developed system, the following 3 activities occur

  • Bug fixing - bugs are reported because of some scenarios which are not tested at all
  • Upgrade - Upgrading the application to the newer versions of the Software
  • Enhancement - Adding some new features into the existing software

The main focus of this SDLC phase is to ensure that needs continue to be met and that the system continues to perform as per the specification mentioned in the first phase.

 

Waterfall model in SDLC

The waterfall is a widely accepted SDLC model. In this approach, the whole process of the software development is divided into various phases of SDLC. In this SDLC model, the outcome of one phase acts as the input for the next phase.

This SDLC model is documentation-intensive, with earlier phases documenting what need be performed in the subsequent phases.

 

V-Model in SDLC

In this type of SDLC model testing and development, the phase is planned in parallel. So, there are verification phases of SDLC on one side and the validation phase on the other side. V-Model joins by Coding phase.

 

 

Useful links
1. SDLC /video tutorial/eng/
2. SDLC /video tutorial/rus/
3. SDLC /article/eng/
4. SDLC /article/rus/

Next Lessons


05 | STLC

Aug 11, 2021

 Requirement Collection and analysisRequirement Phase Testing also known as Requirement Analysis in which test team studies the requirements from a testing poin...

By Tesvan team

06 | Verification and Validation

Aug 11, 2021

Verification and Validation VerificationVerification in Software Testing is a process of checking documents, design, code, and program in order to check if the ...

By Tesvan team

07 | Unit testing

Aug 12, 2021

Testing levels There are mainly four Levels of Testing in software testing Unit testingA Unit is a smallest testable portion of system or application which can ...

By Tesvan team

08 | Integration testing

Aug 12, 2021

Integration testing Integration means combining. For Example, in this testing phase, different software modules are combined and tested as a group to make sure ...

By Tesvan team

09 | System testing

Aug 12, 2021

System testing System testing is performed on a complete, integrated system. It allows checking system's compliance as per the requirements. It tests the overal...

By Tesvan team

Interesting For You



10 | Acceptance testing

Aug 12, 2021 | By Tesvan team

Acceptance testing Acceptance testing is a test conducted to find if the requirements of a specification or contract are met as per its delivery. Acceptance tes...

07 | Unit testing

Aug 12, 2021 | By Tesvan team

Testing levels There are mainly four Levels of Testing in software testing Unit testingA Unit is a smallest testable portion of system or application which can ...