Stages of Software Development Life Cycle

Stages of Software Development Life Cycle

By - Laxmi Kamble4/29/2025

Stages of Software Development Life Cycle

Learn the Stages of Software Development Life Cycle (SDLC) including planning, analysis, design, implementation, testing, deployment, and maintenance.

SDLC has two types

Stages of Software Development Life Cycle

1.Information Gathering:        -Business Analyst is responsible for gathering the information from customer

 

-Information gathering is nothing but collecting requirements from customer

 

-information gathering involves business requirement specification (BRS

-BRS is bridge between client, developer ,tester

-BRS is an documents in that all requirements related to the applications are available

 

-BA is responsible for preparing BRS document

 

2.Analysis: -      -here also BA is responsible person 

 

-in this phase BA will prepare SRS document [Software Requirement Specification] with the help of BRS document

Stages of Software Development Life Cycle

 

 

-SRS document includes 

1] Functional Flow Diagram

2]Functional Requirement

3] Use cases

4] Snapshots

 

1]Functional flow diagram: FFD is nothing but flow of our application

 

-This flow shows relationship between the task 

 

-It will gives the idea about sequence of functionality

 

-Relationship of functionality is nothing but dependency of each function

 

Ex: Facebook

Stages of Software Development Life Cycle

 

2] Functional Requirement : Functional requirement is nothing but attributes which are required to complete a specific function

 

Ex: sign up page

 

-so for sign up page requirements are like first name, last name, mobile number, email id, password, sign up button

 

-for First name there should be some requirements

 

1] Requirements are like name should in characters only [a-z or A-Z]

 

2] Name should not accept any number [0-9]

 

3] It should not accept any blank spaces [    ]

 

4] It  should not accept any special symbols [! @ # $ %]

 

3] Use cases: - use cases is nothing but functionality in terms of input and output

Stages of Software Development Life Cycle

 

 

 

 

4] Snapshots: Snapshots are visualization of any functionality before development of any application

 

-Snapshots are created by business analyst

 

-BA can use tools for creating snapshots

 

-Snapshots gives idea to developer and designer that how software suppose to look like

 

3] Design:               - High Level Design

                                  -Low Level Design

 

a] High Level Design- High level design contain design of working of main module

 

-It include relation and dependency of main module

 

-It include what and how any module works

 

-High level design is created by Design Architecture

 

b] Low Level Design – Low level design include static logic of every submodule

 

-Low level design is created by Front End developer

 

Ex: if sign up page is main module then name, email, password, mobile number etc are the sub-functionality of main module

 

4] Coding: coding means developing the code , one line is code

 

-multiple line of code is a program 

 

-set of program written by the developer creates the software 

 

-There are two types of developer 

a. Front end developer

b. Back end developer

 

a]Front end developer : User interface functionality ,function flows, process are developed by the front end developer

 

b]Back end developer : Data management ,data gathering data security algorithm selection is done by back end developer

 

Note: Person or developer who can work as front end as well as back end developer is known as full stack developer

 

5] Testing : Testing is the process of checking completeness and correctness of the software

 

Types of Testing / Parts of testing

1] White Box testing

2] Black Box testing

3] Grey Box testing

 

1] White -Box Testing : It is also called as Unit testing, code level testing ,clear box testing, structural testing ,parallel testing

-Developer is responsible for White box testing

-in white box testing whenever developer is done with coding part then he will debug or compile the code and check that if any error is there

-if any error is there then he will resolve it

-Developer can not send the code to tester without doing white box testing 

-Developer will test only positive  case scenarios

-The aim of white box testing is to check completeness and correctness of the code or program

Explore Other Demanding Courses

No courses available for the selected domain.

2] Black-Box testing :  -Tester is responsible for Black box testing

-Black box testing is also known as system and function testing

-we have to check overall functionality (Internal and external) of the application 

-Tester have to test application in positive as well as negative ways

 

A] Positive Testing : - Testing an application with valid data/correct input is called as Positive testing 

Ex: If there is mobile number field in India mobile number are of 10 digits ,then tester check the functionality by entering 10 digits numbers whether it works or not

 

B] Negative Testing : Testing an application with invalid data/incorrect input is called as Negative Testing

Ex: In mobile number field by entering less than 10 digits or greater than 10 digits

 

3] Grey Box testing : It is the combination of White box testing and Black box testing

-To do grey box testing ,Tester should have some programming knowledge

5] Maintenance : -Maintenance means provide service after delivery of product / software

- company name as Tech-Mahindra provide support to customer of Vodafone , jio

-Maintenance involve Non-technical support called as BPO(Business Process Outsource)

-Technical support is called as KPO(Knowledge process outsource)

 

6] Coding: coding means developing the code , one line is code

 

-multiple line of code is a program 

-set of program written by the developer creates the software

 -There are two types of developer 

a. Front end developer

b. Back end developer

 

a] Front end developer : User interface functionality ,function flows, process are developed by the front end developer

 

b] Back end developer : Data management ,data gathering data security algorithm selection is done by back end developer

 

Note: Person or developer who can work as front end as well as back end developer is known as full stack developer

Full Stack Development refers to the development of both the frontend (client-side) and backend (server-side) of a web application. A Full Stack Developer is someone who is skilled in both areas and can build a complete web application from start to finish.

 

Attributes of Full-Stack  :   

1.Front-End (Client-Side)

This is what users see and interact with.

  • Languages: HTML, CSS, JavaScript
  • Frameworks/Libraries: React, Angular, Vue.js, Svelte
  • Tools: Webpack, Babel, Tailwind CSS, Bootstrap

2. Backend (Server-Side)

Handles business logic, database interactions, authentication, etc.

  • Languages: Node.js (JavaScript), Python, Java, Ruby, PHP, Go
  • Frameworks:
    • Node.js → Express.js
    • Python → Django, Flask
    • Java → Spring
  • Databases:
    • SQL: MySQL, PostgreSQL, SQLite
    • NoSQL: MongoDB, Firebase3. DevOps / Deployment

Making the app live and accessible to users.

  • Web Servers: Apache, Nginx
  • Cloud Providers: AWS, Azure, Google Cloud
  • Containerization: Docker, Kubernetes
  • CI/CD Tools: GitHub Actions, Jenkins, Travis CI4. Version Control
  • Tool: Git
  • Platform: GitHub, GitLab, Bitbucket

Skills of Full-Stack Developer

  • Strong understanding of both frontend and backend technologies
  • RESTful APIs / GraphQL
  • Database design & querying
  • Authentication & Authorization (JWT, OAuth)
  • Testing (Unit, Integration)
  • Debugging and problem-solving
  • Agile/Scrum workflow

   Popular Tech Stacks

  1. MERN Stack
    • MongoDB, Express.js, React, Node.js
  2. MEAN Stack
    • MongoDB, Express.js, Angular, Node.js
  3. LAMP Stack
    • Linux, Apache, MySQL, PHP
  4. Django + React/Vue

Career Path & Learning

  • Start with HTML, CSS, JavaScript
  • Learn a frontend framework (e.g., React)
  • Learn backend fundamentals (e.g., Node.js + Express)
  • Understand databases (SQL + NoSQL)
  • Practice building full-stack projects
  • Learn about deployment & hosting (e.g., Netlify, Vercel, Heroku)
  •  

What Are the Skills Required for a Full Stack Developer?

A full stack developer needs a firm grip on multiple frameworks, programming languages, and databases. When it comes to front-end development knowledge, a developer needs the industry-ready skills of HTML, CSS, JavaScript, jQuery, Angular, and ReactJS. 

In terms of back-end development, full stack developer skills include firm grip on programming languages such as PHP, Java, Python, Node.js, and Ruby. Note that Java’s popularity makes it essential that you make it a priority to acquire good Java full stack developer skills.

When it comes to databases, a full stack developer must be very familiar with MySQL, MongoDB, Oracle Database, and SQL Server. In terms of DevOps, one should have practical skills of CI/CD (Continuous integration and continuous delivery) and related tools such as GitLab and Jenkins.

 

You will also need a solid collection of soft skills such as excellent communication, efficient time management, curiosity, and creativity. If you are planning to jump in mobile application development, then you will need to have skills to React Native. Finally, if you plan on getting into native app development, you will need to learn Kotlin and Swift.

The front-end developer:

The “front-end” refers to the portion of a web application that runs in your browser. In our meal-kit analogy from earlier, the front-end is your kitchen at home where you need to assemble the meal using the ingredients that you received in the mail. When you request send to the sites, the server constructs a webpage that it sends back to your browser, but remember the webpage is really just a bunch of code for your browser to run. Front-end developers write that code.

Web browsers understand three main tools: HTML, CSS, and JavaScript. These technologies allow us to create beautiful (or ugly) interactive web applications. They’re the bread and butter for any front-end developer. Each tool has a specific role: 

  • HTML – HTML is often described as the backbone of a webpage as it describes the underlying structure and content on a page. Make me a link to the contact page. Display my “cute_cat.jpg” image. Add in a paragraph of text.
  • CSS – Websites built with only HTML look…horrible. Thankfully, we can use CSS to style our HTML content and make beautiful web pages. With CSS we can change colors, move content around to build nice-looking layouts, manipulate fonts and sizes, and even add animations.  Make the first paragraph of text purple and bold. Make each image 500px wide.  Make the first heading larger and give it an orange border on the bottom.
  • JavaScript – JavaScript allows developers to add interactivity and dynamic content to web pages. By using JavaScript we can do things like respond to a user’s clicks, show and hide content, load new information, or send data off to a server somewhere without ever reloading the page. 

For example, when you post a new comment on a Facebook post, JavaScript code listens for you to click ‘submit’ or hit the enter key. It then reads your new comment from the form and sends the data off to the server to be saved to a database (thanks to some back-end logic). Finally, it updates the current webpage to show your new comment alongside the existing comments. JavaScript can also be used to build browser-based games.

 

The back-end developer:

Behind every smooth-running web application lies the expertise of a Back-End Developer. Back-end developers are responsible for building the server side of web applications, handling databases, and managing server operations. They work with programming languages like Python, Ruby, PHP, or Java, and frameworks like Django, Ruby on Rails, or Laravel.

Back-end developers focus on the logic and functionality that powers web applications, making sure they operate efficiently and securely. They collaborate with Front-End Developers to create seamless interactions between the user interface and server, ultimately delivering robust and scalable web applications.

 

Do visit our channel to learn more: SevenMentor

Author:-

Laxmi Kamble

Get Free Consultation

Loading...

Call the Trainer and Book your free demo Class..... Call now!!!

| SevenMentor Pvt Ltd.

© Copyright 2025 | SevenMentor Pvt Ltd.

Share on FacebookShare on TwitterVisit InstagramShare on LinkedIn