Software Development Life Cycle (SDLC)
The process of creating a new software or system, encompassing planning, writing, modifying, and maintaining software.
11 phases of SDLC
1: Defining the Problem.
2: Planning.
3: Feasibility Study.
4: Analysis.
5: Requirement Engineering.
6: Design.
7: Implementation.
8: Testing.
9: Deployment.
10: Documentation.
11: support.
Defining the Problem Phase
The initial phase where the problem to be solved or system to be developed is clearly defined, and all requirements are documented and approved.
Planning Phase
The phase in project planning where the project's goal is identified and necessary requirements for product development are assessed.
Feasibility Study Phase
An essential aspect of project planning that evaluates the viability and practicality of developing a proposed system in various dimensions.
Technical Feasibility
Assesses the practicality of implementing a proposed project from a technological standpoint by evaluating available technology, tools, and resources.
Economic Feasibility
Evaluates the financial viability of a proposed system by comparing its costs and benefits.
Operational Feasibility
Assesses how well a proposed system aligns with the organization's operational processes and goals.
Legal Feasibility
Evaluates compliance of a proposed system with applicable laws, regulations, and standards.
Schedule Feasibility
Assesses whether a system can be completed within a specified timeframe.
Analysis Phase
The phase where the project team determines the end-user requirements, often with client focus groups, and assesses whether the project can go ahead.
Requirement Engineering Phase
Focuses on gathering, analyzing, documenting, and managing requirements for the proposed system.
Requirement Gathering
The stage in SDLC that identifies and documents the needs and expectations of stakeholders through interviews, surveys, observations, and document analysis.
Requirements Validation
The process of reviewing gathered requirements to ensure they align with the stakeholders' intentions.
Requirements Management
A continual process aimed at ensuring that the software meets the expectations of users and accommodates new requirements.