Software Development Life Cycle  (SDLC)  is the step by step procedure in-order to develop a software.

SDLC consists of various Phases like:

  1. Requirements collection
  2. Feasibility Study
  3. Design
  4. Coding
  5. Testing
  6. Installation
  7. Maintenance

1. Requirements Collection:

Requirements Collection depends on the type of Companies it is used. Before proceeding further, we should know about types of companies.

There are two types of companies.

  •  Service based Companies
  • Product based Comanies

a. Service Based Companies:

In service based companies, customers who want the software for their business, approaches any one of the software company and gives their requirements to the company. Here BA( Business Analyst) collects the requirements from the customer. The company develops the software according to the requirements given by the customer and hand it over to the customer. The customer in turn pays some money to the company. This is the process that takes place in Service Based Companies. Here the customer is the owner of that software.

b. Product Based Companies:

In product based companies the PA(Product Analyst) collects the requirements by analyzing the market trends. The company will develop the software based on these requirements and sell in the market. Those who need the software they will buy them from the company. Here the company is the owner of that software.

In SDLC Requirements Collection is the First phase. In this phase either BA or PA collects the requirements in the form of Requirements Document.

2. Feasibility Study:

In this phase a set of people sit together and decides whether the product is doable or not. This will be done based on certain factors like

  1. Cost: will be decided by the Financial Department of the company
  2. Time and Resources:  will be decided by the HR Department of the company
  3. Technology: will be decided by the most technical person Architect of the company

3. Design:

In this phase blue print of the software is developed.

It consists of two phases:

  • HLD:  High Level Design. In this Architect will design a flow chart for all the modules present in the application.
  • LLD:  Low Level Design. In the the Development manager will decide the time spent, technology used and the user interfaces of the application.

4. Coding:

Once the design is completed the developers start writing the code in one of the programming languages.

5. Testing.:

Once the coding is completed the application is handed over to the Test Engineers. Now the Test Engineers start checking the application whether the application is working according to the requirements or not. This is called Testing. During this process the may find some bugs which need to be reported to the developers. Now the developers start fixing the bugs and again send the application to the Test engineers for retesting. This process continues until the application is bug free or working according to requirements or stable.

6. Installation:

Once the application is stable it is handed over to the customer and installed at the customer’s place which is called installation.

7. Maintenance:

When the customer starts using the product he may find some issues which needs to be immediately fixed and tested and hand it back to the customer which is done in Maintenance phase.

This is the entire process in SDLC.

We will see about models of SDlC in the next post.