GroTechMinds

SDLC
Software Development Life Cycle(SDLC)

After reading this blog you will be able to answer the questions mentioned below under 'Take Quiz' section

Introduction

Software Development Life Cycle is a step-by-step procedure to develop a software application. SDLC is the most important aspect of software development. 7(seven) Stages in  SDLC need to be followed for robust and smooth application. SDLC can be achieved in multiple ways known as SDLC models.

7(seven) Stages in SDLC
table
  1. Requirement Collection        

Business analysts do the requirement collection in service-based companies that provide services to other companies TCS, Wipro, and Infosys and by Product Managers in product-based companies who have their product/software example Gmail, Zomato, and Swiggy Business Analysts collect the requirements and give them to their architects, developers, and testers.

2. Feasibility study

The finance head, HR head, and technical head do the feasibility study. They decide if is it possible to take the project. The finance head will determine whether the project will make a profit or not, the HR head will decide do we have enough resources and the technical head will decide do we have the technology to build robust and bug-free applications. Once three of them say ‘Yes’ then the company accepts the project. 

3. Design

The design is done by an architect. There are two types of design

a) High-level design(HLD)- High-level design is not a detailed design. HLD talks about how the application will look like.

b) Low-level design(LLD)- Low-level design is a detailed design. LLD talks about the features of an application.

4. Coding

The developer by looking into the low-level design, will write the code. Developers also do white box testing(WBT).

5. Testing

The tester will test an application. There are different kinds of testing involved while testing the application. They are black box testing(BBT).

6. Release

 The test engineer will release software in the production.

7. Maintenance

     The maintenance is the agreement between two organizations till what period developer and tester can support the company to whom we have delivered the application.Maintenance

Software Development Life Cycle(SDLC) Models

SDLC can be achieved in multiple ways known as SDLC models. Every application will be made by following any one of these models. Depending on the requirements company will decide which model is best for developing robust applications. The goal of all the models is to develop applications by following SDLC differently and different from each other. There are 5(five) models-

Waterfall Model

  Waterfall models are for those projects where backtracking of requirements is not possible here the applications have fewer modules, the requirement is small, no need to change the requirements. It is for such type of application where the customer is sure what they need. In this waterfall model, the phases do not overlap.it is mostly used by service-based companies (SBC).

Advantages of the Waterfall Model

  1. The chances of finding bugs are less.
  2. Time consumption and money involvement are less.

Disadvantages of the Waterfall Model

  1. In any case requirement change is not possible once it is frozen it is not possible to change or add anything.
  2. It is difficult to measure progress within stages.

Spiral Model

 The spiral model is also called as Iterative and Incremental model. We choose the spiral model only for those projects where there is a dependency between modules. The spiral model goal is to give application in phases. Requirement change is not allowed in between cycles once the cycle is completed then we can change the requirement of the first phase(A) and work with the next phase of the cycle(B). So, we will deliver the current phase(B) with the requirement change in the earlier phase(A). Each cycle of the spiral model looks like a waterfall model. As in the waterfall model requirement changes are not allowed in the spiral model every one-cycle requirement change is not allowed.

 Advantages of the Spiral Model

  1. When given software in phases customers can think broader perspective like what the advantages, and disadvantage of features are and how to make software robust.
  2. Customers don’t have to wait for a longer time to receive the initial part of the application.

Disadvantages of the Spiral Model

  1. Customers have to wait for a long time just to receive the whole application.
  2. Requirements changes are not allowed in between the cycles.   
Add a heading (1)

Verification and Validation Model(V &V)

  To overcome the drawbacks of the waterfall model and the spiral model we choose the V & V model. Converting CRS to the SRS to the HLD to the LLD is called verification. Testing the functionality of an application by executing the test cases is called validation.  In the V & V model execution of processes happens sequentially because the next phase starts after the completion of the previous phase. In this model each development phase is associated with the testing phase in the reverse manner, for this reason, it makes a V-shape.

Steps involved in the V & V Model

  1. Firstly BRS(Business Requirement Collection) is done by a business analyst or product manager alongside a tester who reviews BRS and writes acceptance test scenarios and test cases to do acceptance testing in the future.
  2. Secondly, BRS converted into SRS(Software Requirement Collection) tells details of the software we are going to develop, and FRS(Functional Requirement Collection) tells descriptive and detailed information about the software we are going to develop alongside a tester who reviews SRS against BRS writes system test scenarios and test cases to do system testing in the future.
  3. Thirdly, convert SRS and FRS into HLD(High-level Design) by the architect alongside a tester who reviews HLD against SRS and writes integration test scenarios and test cases to do integration testing in the future.
  4. Fourthly, convert HLD into LLD(Low-Level design)  by the architect alongside a tester who reviews LLD against HLD and writes component test scenarios and test cases to do component testing in the future.
  5. Fifthly, the developer will write code and do White box testing in the developer environment and then give the build to the tester. The tester will zip the build and start running the test.

 Advantages of the V & V  Model

  1. The quality of the application is robust as the developer and tester work together parallel chances of finding bugs at later stages are less.
  2. Verification is done first and validation is done later finding bugs at later stages of development is less.

Disadvantages of the V & V  Model

  1. Cost involvement is high.
  2. Time consumption is high.
v and v model

Prototype Model(Dummy Model)

The prototype model is also known as the dummy model. Before developing the application we make a dummy model, and show it to the customer if the customer says yes then we make an application. This kind of model is taken by

    1. Customer who is new to the market.
    2. Software Company is new to the domain.
    3. The customer is not sure what he wants.
Steps Involved in the Prototype Model

Prototype Model(Dummy Model)

  1. Firstly, there will be requirement collection and then a feasibility study.
  2. Secondly, the design and development of the prototype model are done.
  3. Thirdly, we ask for the customer review.
  4. Fourthly, the customer gives review comments, if the review comments are fixed will be again going to design and develop the prototype model.
  5. Fifthly, we do prototype testing, which is done by the tester to make sure all the points that are present in the requirement are present in the dummy model. The software is not ready for the prototype testing.
  6. Sixthly, HLD and LLD are done by the architect, developers do coding, and then testing is done by the tester.
  7. Seventhly, the Application is released by released engineer, and maintenance is done by the developer and tester.

 Advantages of the Prototype Model

  1. The chances of getting rejected by the customer are less.
  2. The prototype model is flexible. It can be easily changed and modified according to the preferences and needs of the customer or the developer.

Disadvantages of the  Prototype Model

  1. Time consumption is higher since we are developing a dummy model than the real model.
  2. Money involvement is more since the time taken is higher.
prototype model

Agile Model

 The agile model is an iterative and incremental approach where the requirement keeps changing as a company we should be flexible enough to handle or adapt those requirement changes, develop these requirement changes, test these requirement changes, developed these requirement changes, test these requirement changes and give quality software to the customer within a short period is called agile model/agile/agile methodology. The agile model is mostly used by the product-based company (PBC).

Scrum helps Agile to achieve SDLC. The goal of SDLC is the development of software and releasing it to the customer.  Scrum has certain rules and regulations that one must follow in the agile model to develop an application. 

  Advantages of the Agile Model    

  1. The agile model provides flexibility.
  2. The agile model gives quality software within a short period. 

Disadvantages of the  Agile Model

  1. In the agile model, documentation doesn’t play an important role.
  2. Jr. developer and Jr. tester don’t play a much important role. 
Conclusion

Each SDLC model has its advantages and disadvantages, and the choice of model depends on the project`s specific needs, team size, and complexity. By following SDLC we will have robust, bug-free software which plays an important role in customer satisfaction and positive feedback.

Test Your Knowledge

Upskill Yourself
Consult Us