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.