System Development Life cycle (Planning, Analysis, Design, Implementation, Testing and Maintenance.)
SDLC refers to a methodology for developing systems. It provides a consistent framework of tasks and deliverables needed to develop systems. The SDLC methodology may be condensed to include only those activities appropriate for a particular project, whether the system is automated or manual, whether it is a new system, or an enhancement to existing systems. The SDLC methodology tracks a project from an idea developed by the user, through a feasibility study, systems analysis and design, programming, pilot testing, implementation, and post-implementation analysis. Documentation developed during the project development is used in the future when the system is reassessed for its continuation, modification, or deletion.
SDLC is a guideline for developing systems/software that involves following Phases.
Phases in SDLC are Planning, Analysis, Design, Implementation, Testing and Maintenance.
- Project planning, feasibility study: Establishes a high-level view of the intended project and determines its goals.
- Systems Analysis, Requirements Definition: Refines project goals into defined functions and operation of the intended application. Analyzes end-user information needs.
- Systems Design: Describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation. A prototype should be developed during the logical design phase if possible. The detailed design phase modifies the logical design and produces a final detailed design, which includes technology choices, specifies a system architecture, meets all system goals for performance, and still has all of the application functionality and behavior specified in the logical design.
- Implementation (Development): The real code is written here.
- Integration and Testing: Brings all the pieces together into a special testing environment, then checks for errors, bugs and interoperability.
- Acceptance, Installation, Deployment: The final stage of initial development, where the software is put into production and runs actual business.
- Maintenance: What happens during the rest of the software's life: changes, correction, additions, moves to a different computing platform and more.
Products and Deliverable