What is SDLC?
The System Development Life Cycle (SDLC) is a structured sequence of phases used to plan, build, deploy, and retire an information system. It provides a roadmap so that no critical activity is forgotten.
Phases of the SDLC
A classical SDLC has five (sometimes seven) phases:
- Planning / Preliminary Investigation — identify the business problem, set objectives, perform feasibility.
- Systems Analysis — gather requirements, model the current system, specify the new system.
- Systems Design — design architecture, database, user interface, and programs.
- Implementation — code, test, install, and train users.
- Maintenance — fix bugs, add features, adapt to changes for as long as the system is in use.
Planning Phase
Outputs of the planning phase include a project charter, feasibility study, and initial budget. A feasibility study evaluates four aspects: technical, economic, operational, and schedule feasibility.
Analysis Phase
Analysts interview users, observe current operations, read existing documents, and run questionnaires to collect requirements. Outputs are a requirements specification, data flow diagrams, use cases, and an E-R model.
Design Phase
The design phase converts requirements into specifications. It produces architecture diagrams, database schemas, screen mock-ups, input/output designs, and program specifications. Design may be logical (what) then physical (how on this technology).
Implementation Phase
This is where code is written, unit-tested, integration-tested, and finally accepted. It also covers installation strategies:
- Direct — replace overnight; risky.
- Parallel — run old and new together; safe but costly.
- Phased — roll out module by module.
- Pilot — deploy to one group first, then others.
Maintenance
Over a system's life, 60-80% of total effort goes into maintenance. Four maintenance types:
- Corrective — fixing defects.
- Adaptive — adjusting to new environments.
- Perfective — adding features or improving performance.
- Preventive — refactoring to avoid future problems.
SDLC Models
Several models organize the SDLC phases differently:
- Waterfall — strict sequential order.
- V-model — pairs each dev phase with a test phase.
- Iterative / Incremental — build in blocks.
- Spiral — risk-driven iterations.
- Agile / Scrum — short sprints, continuous feedback.
- DevOps — continuous delivery, blurring dev and operations.
Waterfall vs Agile
| Aspect | Waterfall | Agile |
|---|---|---|
| Requirements | Fixed upfront | Evolving |
| Delivery | One big release | Frequent releases |
| Change response | Expensive | Welcomed |
| Customer involvement | Start and end | Throughout |
| Best fit | Stable, well-known | Uncertain, evolving |
Summary
The SDLC gives a common vocabulary for building information systems. Choose the SDLC model that matches how stable the requirements are and how quickly the business needs to see results.
Important Questions
- Define SDLC and list its phases.
- What is a feasibility study? Describe its four types.
- Explain the analysis phase and its deliverables.
- Compare direct, parallel, phased, and pilot installation.
- List the four types of software maintenance.
- Describe the waterfall model. What are its limitations?
- What is agile software development?
- Compare waterfall and agile.