SDLC

SDLC?

SDLC (Software Development Life Cycle) is the process of developing software through business needs, analysis, design, implementation and maintenance

The Phases of SDLC

  • Investigation
  • System Analysis
  • Design
  • Testing
  • Operations and Maintenance

Investigation

The 1st stage of SDLC is the investigation phase. During this stage, business opportunities and problems are identified, and information technology solutions are discussed. Multiple alternative projects may be suggested and their feasibility analyzed. Operational feasibility is assessed, and it is determined whether or not the project fits with the current business environment, and to what degree it addresses business objects. In addition, an economic feasibility investigation is conducted to judge the costs and benefits of the project. Technical feasibility must also be analyzed to determine if the available hardware and software resources are sufficient to meet expected specifications

  • The results of the feasibility study can then be compiled into a report, along with preliminary specifications.
  • When the investigation stage ends, a decision whether or not to move forward with the project should be made.

System Analysis

The goal of system analysis is to determine where the problem is in an attempt to fix the system.This step involves breaking down the system in different pieces to analyze the situation, analyzing project goals, breaking down what needs to be created and attempting to engage users so that definite requirements can be defined.

Design

  • In systems design the design functions and operations are described in detail, including screen layouts, business rules, process diagrams and other documentation. The output of this stage will describe the new system as a collection of modules or subsystems.
  • The design stage takes as its initial input the requirements identified in the approved requirements document. For each requirement, a set of one or more design elements will be produced as a result of interviews, workshops, and/or prototype efforts.
  • Design elements describe the desired software features in detail, and generally include functional hierarchy diagrams, screen layout diagrams, tables of business rules, business process diagrams, pseudo-code, and a complete entity-relationship diagram with a full data dictionary. These design elements are intended to describe the software in sufficient detail that skilled programmers may develop the software with minimal additional input design.

Testing

The code is tested at various levels in software testing. Unit, system and user acceptance testings are often performed.

Some testing methods :

  • Defect testing the failed scenarios, including defect tracking
  • Path testing
  • Data set testing
  • Unit testing
  • System testing
  • Integration testing
  • Black-box testing
  • White-box testing
  • Regression testing
  • Automation testing
  • User acceptance testing
  • Software performance testing

Operations and Maintenance

The deployment of the system includes changes and enhancements before the decommissioning or sunset of the system. Maintaining the system is an important aspect of SDLC. As key personnel change positions in the organization, new changes will be implemented, which will require system.