SDLC Phases
SDLC Phases
Planning Phase
Definition: The planning phase involves outlining the project scope, resources, timeline, and key
deliverables to ensure a structured approach to development.
Description: During this phase, the project team defines what the project will include, allocates
necessary resources such as personnel and budget, and creates a detailed timeline with
milestones and deadlines. The team also explores alternative solutions to the identified problem,
evaluating different approaches to ensure the most effective course of action. If no alternative
solutions are found, the data is organized into a comprehensive project plan and presented to
management for approval.
During the analysis phase, developers collect detailed information about what the software needs
to do. They conduct interviews, surveys, and studies to understand the end user's requirements.
By the end of this phase, developers have a clear understanding of the requirements, which will
guide the design and development of the software.
The Requirements Engineering Phase in the Software Development Life Cycle (SDLC) is a
critical stage that focuses on gathering, analyzing, documenting, and managing the requirements
of the software project. This phase ensures that the final product meets the needs and
expectations of stakeholders and users.
Requirements Gathering: The requirements gathering phase is the step where developers
collect and define what the software needs to do, based on the input from stakeholders and users.
This ensures everyone understands what the software should achieve.
1. Functional Requirements: These describe what the software should do. They outline the
specific tasks and features that the software must have. For example:
2. Non-Functional Requirements: These explain how the software should work. They
focus on the quality and constraints of the software rather than specific tasks. For
example:
Verification occurs after requirements have been accepted, concentrating on ensuring that the
requirements are well-defined and free of errors.
Validation involves reviewing the elicited requirements to ensure they are complete and
accurate, confirming that they meet the actual needs of users and stakeholders.
Requirements Management: Throughout the project, requirements may change due to evolving
user needs or external factors. This activity focuses on tracking changes, ensuring that all
stakeholders are aware of updates, and maintaining the integrity of the requirements throughout
the software development process.
The Requirements Engineering Phase is crucial because it lays the foundation for the entire
development process. Well-defined requirements lead to better design, development, and testing,
ultimately resulting in a product that meets user needs and reduces the risk of project failure.
Inadequate requirements engineering can lead to misunderstandings, and increased costs, making
this phase a vital component of successful software development.
Design Phase
Definition: The design phase involves creating a blueprint for how the software will look and
function.
Description: In this phase, developers plan the structure and design of the software. They decide
on elements such as the user interface (UI), database structure, and overall layout. For the user
interface, the project team designs mock-up screen layouts that the developers use to write the
code for the actual interface.
Development (Coding) Phase
Definition: The development phase is where the actual coding of the software takes place.
Description: In this phase, developers write the code based on the design specifications. The
developers design the database, generate the code for the data flow process and design the actual
user interface screens. During this phase, test data is prepared and processed as many times as
necessary to refine the code. Testing may also begin during this phase to catch and fix errors
early.
Testing Phase
Definition: Testing is the process of identifying and fixing errors or bugs to ensure the software
works correctly.
Description: During this phase, the software is tested rigorously to check that it performs as
expected and is free of bugs. The main purpose of testing/verification of the system is to
determine that whether it meets its required results or not.
Deployment Phase
Definition: Deployment is the release of the software to its intended users.
Description: Once the software passes testing, it is deployed or delivered to the client or end-
users. This phase may involve installing the software on user devices or setting it up on servers.
It also includes training users or providing documentation so they can use the software
effectively.
The four deployment methods are given below:
1. Direct Deployment: The old system is completely switched to the new system all at once. It’s
fast but risky because there’s no backup if something goes wrong.
2. Phased Deployment: The new system is introduced bit by bit in steps. This way, problems
can be fixed gradually, making it safer.
3. Parallel Deployment: Both the old and new systems run together for a while. This is safer
because users can still rely on the old system if needed, but it costs more to run both.
4. Pilot Deployment: The new system is first tested in one small area or department. If it works
well, it’s then spread to the rest of the organization, reducing the chance of big issues.
Maintenance Phase
Definition: Maintenance involves making updates and improvements to the software after it has
been deployed.
Description: After deployment, the software may require updates or bug fixes. The maintenance
phase ensures the software continues to operate smoothly and meets any new requirements or
changes in technology. Developers may also add new features or improvements based on user
feedback, keeping the software functional and relevant.