SDLC Phase

We have many phases in the SDLC each phase has a specific output that acts as the raincoat for the other phases. We can also group phases into some important phases.

  1. Preliminary investigation (system requirement): In this phase, we identify the need for a new or improved system. The most important and difficult task for a system analyst is to identify the real problem i.e. problem definition. Here we also set the project boundaries and it is required that the project fulfills all the requirements specified in this phase.

The major things that are viewed in this phase are:

  • What is being done?
  • How is it being done?
  • How frequently does it occurs?
  • How well is the task being performed?
  • Does a problem exist?
  • If the problem exists how serious it is and what is the underline cause.

2. Feasibility study: It is undertaken to determine the possibility of either improving the existing system or developing a completely new system. It is used as a base for deciding whether to proceed with, postpone or cancel the project.

There are three aspects of the feasibility study:

  • Technical feasibility.
  • Economical feasibility.
  • Operational feasibility.

Technical feasibility deals with the hardware and the software issue. Economic feasibility is concerned with the cost-benefit analysis and Operational feasibility deals with human, organizational, and political aspects of the system.

The problem that is identified should be investigated and a decision to implement the information system or not for the organization should be taken. It is a critical step that determines the scope of the purposed system.

3. System Analysis: This phase is always grouped with the feasibility study phase and it is started along with that phase.

An analysis is the detailed understanding of all important facts of the business area under investigation. Here we study the relationship between the various system components it involves the careful study of the current system that is going to be replaced or advanced as a part of this project.

The requirements are studied and structured in accordance with their interrelationship.

Then we create an alternative initiative design to match the requirements. This alternative is compared to determine each alternative based needs the requirements. The output of the analysis phase is descriptive for the design phase if the purposed system is not feasible to develop it is rejected at every step.

4. System Design: The design of a system produces the details that clearly describe how the system will be, the requirements identified during system analysis.

The design consists of the logical and physical design of a system. During design, we comment on the recommended solution into a logical and then physical system specifications. Here we design all the aspects of the system like input screens, output screens, reports, the databases, and all the processes.

The logical design concentrates on the business aspects of the system. Logical design is not tied to any hardware or software platform, the idea is to make sure that the system functions as intended.

Physical design in physical design the logical design is turned into physical or technical specifications. During the physical design, the analysis team decides the programming language, the database system, and the file structure, the platform, and the network environment under which the system will be running.

5.Coding: This is the actual phase of software development, once the analysis and design are done we need to develop software for the specific problem. In this phase, we perform the actual development and take care of the following points.

  • Modular approach
  • Redundant modules should be eliminated.
  • Cohesion
  • Coupling

6.Testing: Testing is the process of running software with the intent of finding errors. During system testing the system is used experimentally to ensure that the software does not fail. Testing is a very expensive method but it produces high-quality code. The most important step of testing is the attitude adopted.

Testing activities are normally divided into two parts:

  • Verification
  • Validation

Verification: verification checks whether the result is with the specification. “Are we building the system correctly”

Validation: validation checks whether the result is real, what the client actually wanted. “are we building the correct system”

There are three basic terms used in testing:

  • Error
  • Fault
  • Failure

The purpose of testing is to find faults testing is thus a process to some.
Note: we can never say truly that a program/system/software will never fail.

Attributes that are used tested during testing are:

  • Useable
  • Secure
  • Compatible
  • Dependable
  • Documented

7. Implementation: Implementation is the process of installing a new application at the site and constructing any file or data that require for the execution of the system.

In simple words, we can say implementation is the process of putting the system into use.

The installation of the system can be done in three ways:

  • Direct conversion: the software installed at the user side.
  • Parallel conversion: both the old and new systems will run in parallel for some time.
  • Phase conversion: the system is installed module by module.

8. Evaluation: Evaluation perform to identify system strength and weakness evaluation can be operational evaluation, organizational impact evaluation user, and development evaluation.

9. Maintenance: it is necessary to eliminate errors in the working system during its working life and to tune the system to any variation in its working environment.

When a system is operating in an organization users sometimes find problems with how it works and often think of better ways to perform its function. Also, the organization’s requirements change with respect to the time.

During maintenance, programming needs the changes that are asked by the user and modify the system to reflect and support changing business conditions. Maintenance is not a separate phase but a repetition of the other life cycle phases.

Maintenance is of three types:

  • Corrective maintenance: in this time the error that creeps into the system is removed.
  • Adaptive maintenance: it is done to adapt to the changing external factors.
  • Perfective maintenance: this is done to satisfy the user requirements to make the system more perfect.