System Development Life Cycle(SDLC)


System Development Life Cycle(SDLC)



Software development life cycle (SDLC) is a process used to develop a software. System Development Life Cycle (SDLC) is a series of six main phases and in each phase, different activities take place.

System Development Life Cycle Phases:

  1. Planning

  2. Analysis

  3. Design

  4. Implementation or Deployment.

  5. Testing and Integration

  6. Maintenance

System Planning

This Phase is the most critical in the construction of a successful system. In this phase, we decide what exactly we want to do and which type of problems we have to face and how we can solve.

Activities done in this phase

  • Describing the objectives, resources and problems like costs and personnel.

  • Planning about how to make your product better than your competitors.

  • Planning about the ability of recommending alternative solutions after meeting with clients, suppliers, consultants and employees.

The outcome of the system planning phase is to define the various technical approaches that can be followed to implement the project successfully with minimum risks.

System Analysis

The aim of the System analysis phase is to detention the detail of each requirement and to make sure everyone understands the scope of the work and how each requirement is going to be fulfilled. System analysis is the most important and essential stage in SDLC. It is performed by the senior affiliates of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry.

Activities done in this phase

  • Determined end user’s requirements.

  • Documented end user’s expectations, and describe how that will perform.

  • Prototypes can be built to show the client what the end product will look like

  • Studying multiple use cases to describe each action that a user will take in the new system

It’s very important to maintain strong communication level with the clients to make sure you have a clear vision of the finished product and its function.

System Design

System Design helps in specifying hardware and system requirements and also helps in defining overall system construction.

The design phase comes after a good understanding of customer’s requirements, this phase defines the fundamentals of a system, the components, the security level, modules, architecture and the different interfaces and type of data that goes through the system.

Activities done in this phase

  • Select architectural design for system

  • Defines all the components that needs to be developed

  • Communications with third party services

  • User flows and database communications as well as front-end representations

  • Behavior of each components

A general system design can be done with a pen and a piece of paper to fix how the system will look like and how it will function, and then a detailed and extended system design is produced, and it will meet all functional and technical requirements, logically and physically.

Implementation and Deployment

In this phase, programming code is created. If the design is performed in a detailed and organized manner, code generation can be accomplished without much disturbance. In this phase the main focus for the developers. In this phase the actual coding and unit testing of the process by the development team.

Developers have to follow the coding guiding principle defined by their organization and programming tools like compilers, interpreters, debuggers and so on are used to generate the code. Different high-level programming languages such as C, C++, Pascal, Java, and PHP are used for coding. The programming language is chosen with respect to the type of software being developed.

The system is ready to be deployed and installed on customer’s locations, ready to become running, live and productive, training may be required for end users to make sure they know how to use the system and to get familiar with it, the implementation phase may take a long time and that depends on the complexity of the system and the solution it presents.

This is the longest phase of the software development life cycle. The finished product here is input to the Testing phase.


System Testing and Integration

In this phase, brings different components and subsystems together to create the whole integrated system, and then Introducing the system to different inputs to obtain and analyze its outputs and behavior and the way it functions.

After the code is developed it is tested against the requirements to make sure that the product is actually solving the needs addressed and gathered during the requirements phase. During this phase, all types of functional testing like unit testing (know more..), integration testing, system testing, acceptance testing are done as well as non-functional testing are also done.

The testers aim to find defects within the system as well as verifying whether the application behaves as expected and according to what was documented in the requirements analysis phase. It is possible that defects are identified in the testing phase. Once a defect is found, testers inform the developers about the details of the issue and if it is a valid defect, developers will fix and create a new version of the software which needs to be verified again.

System Maintenance

This is also one of the main phases of SLDC. Once when the customers start using the developed system then the actual problems come up and needs to be solved from time to time. In this phase, periodic maintenance for the system will be carried out to make sure that the system won’t become obsolete, this will include replacing the old hardware and continuously evaluating system’s performance, it also includes providing latest updates for certain components to make sure it meets the right standards and the latest technologies to face current security threats.


All the stages in the Software Development Life Cycle defined above are applicable to any software development methodology, it’s an iterative process for each project. It’s important to mention that excellent communication level should be maintained with the customer, and Prototypes are very important and helpful when it comes to meeting the requirements.

The duration and the activities in each phase depend on different models of system development life cycle came up from the idea of saving effort, money and time, in addition to minimizing the risk of not meeting the customer’s requirement at the end of project, some of these models are SDLC Iterative Model and SDLC Agile Model.


“Related post”

Software Development life cycle

Software Testing Life Cycle

Test Case Documentation

Alpha and Beta Testing

Regression Testing

Smoke and Sanity Testing

Software Testing

Validation and Verification


Entry and Exit Criteria in software testing

Integration Testing 

Automation Testing


One Comment

Leave a Reply

Your email address will not be published. Required fields are marked *