System Development Life Cycle – SDLC

The systems development life cycle (SDLC) is a conceptual model used in project management that describes the stages involved in an information system development project, from an initial feasibility study through maintenance of the completed application.

It is a framework that describes the activities performed at each stage of a software development project.

Systems development is the process of defining, designing, testing, and implementing a new software application or program. It could include the internal development of customized systems, the creation of database systems, or the acquisition of third party developed software.[FCA]

Common SDLC Methodology Steps

SDLC methodology generally follows the following steps:
1.The existing system is evaluated. Deficiencies are identified.         
This can be done by interviewing users of the system and consulting with support personnel.
2.The new system requirements are defined.

  In particular, the deficiencies in the existing system must be   addressed with specific           proposals for improvement.

3.The proposed system is designed.

  Plans are laid out concerning the physical construction, hardware,   operating systems,       programming, communications, and security issues.

4.The new system is developed.

  The new components and programs must be obtained/developed and   installed. Users of    the system must be trained in its use, and all   aspects of performance must be tested. If      necessary, adjustments   must be made at this stage.

SDLC

SDLC

5.The system is put into use.

 This can be done in various ways. The new system can phased in,   according to        application or location, and the old system gradually   replaced. In some cases, it may be  more cost-effective to shut down   the old system and implement the new system all at  once.

6.Maintenance must be kept up rigorously at all times.

Once the new system is up and running for a while, it should be   exhaustively evaluated. Users of the system should be kept up-to-  date concerning the latest modifications and procedures.


Software Development Life Cycle (Software)

“The systems development life cycle (SDLC), also referred to as the application development lifecycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system.”[wikipedia]

  • The software development life cycle (SDLC) is a framework defining tasks performed at each step in the software development process.
  • ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
  • CMMI  , a bench-mark for measuring the maturity of an organization’s software process. CMMI defines 5 levels of process maturity based on certain Key Process Areas (KPA).

Configuration Maturity Matrix (CMM) Levels

Level 5 – Optimizing  (< 1%)

      • — process change management
      • — technology change management
      • — defect prevention

Level 4 – Managed   (< 5%)

  • — software quality management
  • — quantitative process management

Level 3 – Defined      (< 10%)

  • — peer reviews
  • — intergroup coordination
  • — software product engineering
  • — integrated software management
  • — training program
  • — organization process definition
  • — organization process focus

Level 2 – Repeatable (~ 15%)

  • — software configuration management
  • — software quality assurance
  • — software project tracking and oversight
  • — software project planning
  • — requirements management

Level 1 – Initial         (~ 70%) 


Common SDLC Activities 

A typical Software Development life cycle consists of the following stages:
  • Stage 1: Planning and Requirement Analysis
  • Stage 2: Defining Requirements
  • Stage 3: Designing the product architecture
  • Stage 4: Building or Developing the Product
  • Stage 5: Testing the Product
  • Stage 6: Deployment in the Market and Maintenance

SDLC Models:

SDLC MOdels

SDLC MOdels

  • Waterfall Model
  • Iterative Model
  • Spiral Model
  • V-Model
  • Big Bang Model
  • Agile Model
  •  Rapid Application Development (RAD) Model
  •  Rapid Application Development and Prototyping Model.