The system-development life cycle enables users to transform a newly developed project into an operational one.
The System Development Life Cycle, “SDLC” for short, is a multistep, iterative process, structured in a methodical way. This process is used to model or provide a framework for technical and non-technical activities to deliver a quality system, which meets or exceeds a business’s expectations or manage decision-making progression.
Traditionally, the systems-development life cycle consisted of five stages. That has now increased to six phases. Increasing the number of steps helped systems analysts to define clearer actions to achieve specific goals.
Similar to a project life cycle (PLC), the SDLC uses a systems approach to describe a process. It is often used and followed when there is an IT or IS project under development.
The SDLC highlights different stages (phrases or steps) of the development process. The life cycle approach is used so users can see and understand what activities are involved within a given step. It is also used to let them know that at any time, steps can be repeated, or a previous step can be reworked when needing to modify or improve the system.
SDLC works by lowering the cost of software development while simultaneously improving quality and shortening production time. SDLC achieves these apparently divergent goals by following a plan that removes the typical pitfalls to software development projects. That plan starts by evaluating existing systems for deficiencies. Next, it defines the requirements of the new system. It then creates the software through the stages of design, development, testing, and deployment. By anticipating costly mistakes like failing to ask the end user for suggestions, SLDC can eliminate redundant rework and after-the-fact fixes.
1) Planning: the most skilled and experienced software engineers in the organization usually do the most important parts of software development, requirement gathering or requirement analysis. After the requirements are gathered from the client, a scope document is created in which the scope of the project is determined and documented.
2) Implementation: The software engineers start writing the code according to the client’s requirements.
3) Testing: This is the process of finding defects or bugs in the created software.
4) Documentation: Every step in the project is documented for future reference and for the improvement of the software in the development process. The design documentation may include writing the application-programming interface (API).
5) Deployment and maintenance: The software is deployed after it has been approved for release.
6) Maintaining: Software maintenance is done for future reference. Software improvement and new requirements (change requests) can take longer than the time needed to create the initial development of the software.
Iterative model: The iterative model, instead of starting with fully known requirements, project teams implement a set of software requirements, then test, evaluate and pinpoint further requirements. A new version of the software is produced with each phase, or iteration. Rinse and repeat until the complete system is ready. In addition, at each iteration some new design modifications are made, and new functions are added.
• Results can be obtained early and on a periodic basis.
• Some working functionality can be developed early in the life cycle.
• Risk can be managed easier and high risks are finished first.
• Less costly to change the requirements.
• Better suited for large critical projects.
• More management attention is required.
• Projects progress is highly dependent of risk analysis phase.
• Highly skilled resources are required for risk analysis.
• Not suitable for smaller projects.
The Waterfall Model was the first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed before the next phase can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software development.
The waterfall Model illustrates the software development process in a linear sequential flow. This means that any phase in the development process begins only if the previous phase is complete. In this waterfall model, the phases do not overlap.
Waterfall model firstly is in a simpler layout, so it is easier to understand compared to the iterative model. However, with the iterative model the risks can be managed and can be found easier which can mean that the higher risk parts can be done first to prevent any damage in the future. Also, with the iterative model it is less costly to change requirements which mean that the money can be put into different phases. The waterfall model is flow based which means that once the first phase is passed you cannot go back to the previous phase. However, with iterative model the previous phases can be changed if needed.