×

SDLC | Software Development Life Cycle

SDLC (Software Development Life Cycle)

 Software development life cycle is a step by step procedure to develop Software. 

For Service-based software Company, the BA (Business Analysis) will collect information from the client to develop software. 

And for the Product -based Software Companythe PA (Product Analysis) will collect information dependent on the market analysis.

Software Development Life Cycle Stages

Software Development Life Cycle Stages

Requirement Collection: -

The first phase of the software development life cycle process is requirement collection, where a business analyst will collect the business needs of the customer in the form of requirement documents and planning for the quality assurance requirements. 

This stage gives a clear picture of the scope of the entire project and the anticipated issues, opportunities, and directives, which triggered the project and need teams to get detailed and precise requirements. It will help companies to finalize the necessary timeline to finish the work of that system. 

 Feasibility Study: -

In the second stage of the software development life cycle, based on the requirements, a set of people sit and analysis if the project is Doable or not Doable, which means that organization has enough resource, cost, time so that they can deliver the product on time with the high -quality product. We can check the feasibility in a different manner, i.e., Economic, Legal, Operation, feasibility, Technical, Schedule.

Design: -

 In the third stage of the software development life cycle, once the feasibility is done, prepare a blueprint of the application. The blueprint has flow charts, flow diagrams, and decision tree and user interface components. 

 The Designer will design the document in two ways:

HLD (High-Level Design): In HLD, we have a brief description, name of each module, interface relationship, dependencies between modules, database tables, and complete architecture diagrams 

LLD (Low-Level Design): In LLD, we have functional logic of the modules, Database tables, which include type and size, pointing all kinds of dependency issues and listing of error messages

Coding:- 

The fourth stage of the software development life cycle is coding, after the complication of requirements and designing phase, the developer starts writing code using the particular program language and, the developer needs to follow specific predefined coding guidelines and used programming tools like compiler, interpreters, debugger to generate and implement the code. Coding is the time taking  process of the Software Development Life Cycle process

Testing:

In the testing phase ofthe software development life cycle, once the coding is completed, the application is handed over to the test engineers where they start checking the functionality of an application according to the requirement. During the testing process, we may encounter some bugs which need to be fixed by developers and retested by the test engineers.

Installation:-

In the installation phase, the process will continue until the application is bug-free/ stable/ and works according to customer needs. The stable application is handed over to the customer in the form of installation or deploying or rolls out.

Maintenance:- 

 The last phase of software development life cycle, when a customer starts using the software they may place some issues which need to be in-detail tested & fixed and handover back to the customer and bug fixes, up-gradation, enhancement is done under maintenance phase. 

“All this phase is essential to make a good quality product or an application. Without completion of any phase, it might not deliver a good quality product because all the phases are connected.”

Different Types of SDLC (Software Development Life Cycle) models 

Different Types of SDLC

Waterfall Model:-

 Waterfall model is the first sequential-linear model introduced in the software development life cycle. In this model, output of the first phase is the input to the phase. Waterfall model is used for a small project. Waterfall model is simple and easy to understand. The different stages of the waterfall model are- requirement analysis, feasibility study, design, coding, testing, installation, maintenance.

Spiral Model: -

We go for this model whenever the modules are dependent on each other. In this type, we develop application models wise & hand it over to the customer. The spiral model is also called Iteration and Cyclic Model. Spiral models are best suited for a medium level project. The phases of the spiral model are- requirement collection, design, coding, and testing.

Prototype Model:-

Since customer rejection was more in the previous model, the company started collecting the requirements to prepare a Prototype (Sample). It is partially implemented before or during the analysis so that customers can see the product early in the life cycle. Showing the prototype to the customer and after the client approves the prototype start working on the original project.

Verification & Validation Model:-

When the execution happens in a V shape, i.e., the first downward flow goes on for verification process & one point of time to upward flow go on for validation process, so it’s known as V-Model. The V&V Model is an extended version of the waterfall model. Since this model executed in two phases, i.e., the first verification process takes place, and once the application is ready, the validation part is stable.

Hybrid Model:-

We go for a hybrid model whenever we want to obtain the characteristics of two models in a single model. In the hybrid model, we can combine any two basic models -

· Spiral & prototype

· V and prototype

The hybrid model works with small, medium, and large projects. It is easy to understand and apply, especially with small and medium projects.


Related Topics

Functional Testing

In this section, we are going to study Functional Testing in detail. Functional testing is a type of software testing which focuses on the testing of the functional behaviour of...

18 minutes read.

Software Testing Tutorial

Software testing is a process of finding bugs and defects in an application to make an application bug free and stable.  “Checking the functionality of the application according to the customer requirements”. To...

3 minutes read.

Performance Testing Tool

This article will help you in getting a good understanding of performance testing systems and performance testing tools. What is Performance Testing? Performance testing is a technique that is used to evaluate...

4 minutes read.

Smoke Testing

In the previous tutorials, we have studied Manual Testing, Automation Testing, Regression Testing, and other types of testing. Here, we will look into Smoke Testing, the need for Smoke Testing,...

14 minutes read.

Sanity Testing

In this tutorial, we are going to study Sanity Testing, which is a type of software testing usually performed after the completion of smoke testing to ensure the correctness of...

10 minutes read.

Defect or Bug Life Cycle in Software Testing

In this tutorial, we will study the Defect Life Cycle or Bug Life Cycle in software testing. As the name suggests, it is a life cycle of a defect found...

14 minutes read.

White Box Testing vs Black Box Testing vs Gray Box Testing

White Box Testing In white-box testing, the whole testing process is focused on the infrastructure of the software, including design, code, structure, and integration with other systems to evaluate and enhance...

8 minutes read.

Waterfall Model

 Waterfall model is a first and basic model of the software development life cycle. In this model, the execution happens in sequence order meaning the output of one phase is equal...

5 minutes read.

Endurance Testing

This article will help you in getting a better understanding of endurance testing and various endurance testing tools.  Endurance testing is a testing method in which software is tested for its...

4 minutes read.

SDLC | Software Development Life Cycle

SDLC (Software Development Life Cycle)  Software development life cycle is a step by step procedure to develop Software.  For Service-based software Company, the BA (Business Analysis) will collect information from the client to develop software.  And for the Product -based Software...

4 minutes read.

Error vs Defect vs Failure in Software Testing

Error or Mistake vs Bug or Defect or Fault vs Failure In this tutorial, we will study the difference between Error, Mistake, Issue, Fault, Defect, Bug, and Failure. We have already...

6 minutes read.

Non-Functional Testing

In this section, we are going to study Non-Functional Testing in detail. Non-Functional testing is another type of software testing which concentrates on the testing of the non-functional behaviour of...

19 minutes read.

Software Testing Principles

To measure and improve the quality of software, tests are conducted on the software as well as on the processes that are used to build it. Software testing is a...

5 minutes read.

Active Testing

Active testing is a method of software testing in which the tester actively manipulates the system under test by providing inputs, triggering actions, and monitoring outputs in order to evaluate...

3 minutes read.

Bugs or Defects in Software Testing

In this tutorial, we will study software testing defects or bugs in detail. We will walk through the terminologies related to defects and how they occur in the system, the...

15 minutes read.

Levels of Software Testing

As we have discussed earlier, testing is performed to enhance and measure the quality of software. In order to achieve the goal of a premium quality product, we have software...

4 minutes read.

Unit Testing Tool

This article will help you in providing a good understanding of the unit testing system and various unit testing tools. Before going into our main topic, we need to understand what...

3 minutes read.

Usability Testing

In this tutorial, we are going to study Usability Testing. Usability testing is a type of non-functional software testing which focuses on testing the usability of the product. We have...

24 minutes read.

Manual Testing Types

In this tutorial, we will discuss the types of manual testing in detail. As discussed in the previous tutorials, there are three types of manual testing in the software testing...

15 minutes read.

Automation Testing

In the previous tutorials, we have discussed that software testing mainly consists of two types of testing, which are Manual testing and Automation testing. Manual testing is used to test...

25 minutes read.