Navigation
SYSTEM ANALYSIS AND DESIGN SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
UNIT 1: SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
1. Meaning of SDLC
Definition (Exam-Oriented)
System Development Life Cycle (SDLC) is a structured and systematic process used to develop an information system through a series of well-defined phases such as planning, analysis, design, implementation, testing, and maintenance.
Detailed Explanation
When an organization wants to develop a new system (for example, an online admission system or payroll system), it cannot start coding directly. It must follow a proper step-by-step method. That method is called SDLC.
SDLC ensures:
- The system is developed in an organized manner.
- Requirements are properly understood.
- Errors are minimized.
- Time and cost are controlled.
- The final system meets user needs.
In simple words, SDLC is the life journey of a system, from the initial idea to its maintenance.
Why It Is Called “Life Cycle”
It is called a life cycle because:
- A system is born (planning stage).
- It grows (analysis and design).
- It is implemented (development stage).
- It is used and maintained.
- Eventually, it may be replaced.
Just like a human life cycle, a system also passes through different stages.
2. Phases of SDLC
SDLC consists of several phases. Following are the phases based on the modern life cycle:
SDLC Diagram (Life Cycle)
1. Need of new system and primary investigation
Purpose:
To identify the core business problem, recognize the need for a new system, and investigate the basic requirements to solve that problem.
Activities:
- Identifying the primary need for the system (e.g., manual process is too slow, high error rate, outgrown current software)
- Initial assessment and management approval/authorization
- Defining the primary business objectives and expected outcomes
Example:
A university realizes its manual admission process is causing long administrative delays and student complaints. The primary investigation confirms the need for an Online Admission Management System to streamline the workflow.
2. Feasibility Study
Purpose:
To evaluate whether the proposed project is practical, financially viable, and technically possible to implement within the given constraints.
Types of Feasibility:
- Technical Feasibility: Do we have the technology and experts to build it?
- Economic Feasibility: Will the benefits outweigh the costs? Is there a budget?
- Operational Feasibility: Will the end-users adapt to and use the new system?
- Schedule Feasibility: Can the project be completed within the required timeframe?
If the project fails to meet any critical feasibility criteria, it is generally rejected or redefined at this stage to avoid future losses.
3. System Analysis
Purpose:
To study the existing business processes in depth, understand user problems, and gather detailed functional and non-functional requirements for the new system.
Activities:
- Fact-finding techniques (interviews, observation, questionnaires, document review)
- Requirement gathering from end-users and stakeholders
- Identifying existing system weaknesses and bottlenecks
- Preparing a comprehensive System Requirement Specification (SRS) document that acts as a blueprint for developers
Example:
For a hospital management system, systems analysts will interview doctors, nurses, and receptionists to understand how patient registration, OPD appointments, and billing currently work and what specific features they expect in the new software.
4. System Design
Purpose:
To translate the system requirements into a detailed technical design that specifies how the new system will work and fulfill its objectives.
Activities:
- Logical Design: Defining what the system will do (e.g., Data Flow Diagrams (DFDs), Entity-Relationship (ER) models).
- Physical Design: Defining how the system will do it (e.g., selecting specific database technologies, hardware, and server architecture).
- Designing the user interface (UI/UX), data structures, system architecture, and security protocols.
Example:
In an e-commerce app, this phase involves designing the database tables for Users, Products, and Orders, creating wireframes for the shopping cart interface, and planning the payment gateway integration architecture.
5. Development of the software
Purpose:
To convert the detailed system design into actual, working software code. This is the implementation of the blueprint.
Activities:
- Writing program code using appropriate programming languages (e.g., Java, Python, JavaScript)
- Setting up the underlying technical infrastructure and databases
- Integrating different sub-modules and components together
- Conducting peer code reviews and following coding standards
Example:
Developers will write the actual React frontend code for the e-commerce website and the Node.js backend logic to process user authentication and inventory management.
6. System testing
Purpose:
To execute the software and rigorously verify that the system works correctly, meets all stated requirements, and is free of critical defects or bugs.
Types of Testing:
- Unit Testing: Testing individual components or functions separately.
- Integration Testing: Testing how different modules interact with each other.
- System Testing: Testing the entire system as a complete entity.
- User Acceptance Testing (UAT): Real users test the system to confirm it meets their business needs before final release.
Testing ensures reliability, security, constraint compliance, and accuracy.
7. Implementation
Purpose:
To officially launch and install the new system in the real working production environment, making it available to the actual users.
Methods of deployment (Changeover Strategies):
- Direct Changeover (Plunge): The old system is shut down completely, and the new system is started immediately. (High risk)
- Parallel Changeover: Both the old and new systems run simultaneously for a brief period to ensure safety. (Low risk, high cost)
- Pilot Changeover: The new system is implemented in only one department or branch first as a trial.
- Phased Changeover: The new system is implemented gradually in stages or modules.
Example:
A bank might use Pilot Changeover by launching its new core banking software in just three branches before rolling it out nationwide.
8. Evaluation
Purpose:
To conduct a post-implementation review to verify that the deployed system successfully resolves the original business problems and meets its objectives.
Activities:
- Post-implementation technical review and audit
- Gathering active user feedback and assessing user satisfaction
- Conducting performance evaluation against original baseline metrics (e.g., expected ROI, processing speed)
Example:
After deploying the Online Admission System, the college administration measures if the processing time for student applications has actually decreased by the targeted 50% without errors.
9. Maintenance
Purpose:
To ensure the system continues to operate optimally over its lifespan, addressing newly discovered bugs, changing business environments, and hardware updates.
Activities:
- Corrective Maintenance: Fixing latent bugs and errors reported by users.
- Adaptive Maintenance: Adjusting the system to accommodate changes in the environment (e.g., upgrading to a new OS version, applying new tax laws).
- Perfective Maintenance: Adding minor enhancements to improve performance or user experience.
Note: From the Maintenance phase, continuous feedback is sent via dashed pathways to earlier phases (like Feasibility, Analysis, Design, Development, Testing, Implementation, and Evaluation) to rectify any issues or accommodate minor improvements as business needs evolve.
10. Redevelopment
Purpose:
When a system becomes entirely obsolete, too expensive to maintain effectively, or unable to meet modern business demands, the cycle initiates total redevelopment rather than patching the old system.
Activities:
- Analyzing the critical limits, failures, and excessive maintenance costs of the current system
- Triggering the formal need for a completely new, modernized system architecture
This connects back to the Need of new system and primary investigation, completing the cycle and beginning the next generation of the system life.
3. Importance of SDLC
SDLC is very important for the following reasons:
1. Provides Structure
It gives a clear roadmap for system development.
Without SDLC, development becomes unorganized.
2. Reduces Risk
Proper planning and feasibility study reduce project failure.
3. Improves Quality
Testing at different stages ensures high-quality output.
4. Controls Cost and Time
Each phase has defined activities, reducing delays and overspending.
5. Better Communication
It improves communication between developers and users.
6. Documentation
Every phase produces documentation, which helps in future maintenance.
7. Ensures User Satisfaction
Since requirements are collected properly, the final system meets user expectations.
4. Conclusion
System Development Life Cycle is the foundation of System Analysis and Design. It provides a disciplined and structured framework for developing high-quality information systems. By following SDLC, organizations can reduce risk, control cost, and ensure that the final system meets business requirements effectively.
Practice MCQs – System Development Life Cycle
[!TIP]
Test your knowledge of the phases and importance of the System Development Life Cycle (SDLC) with this interactive mock test.
