A system development life cycle (SDLC) refers to a process of building or improving information systems, and the models and methodologies that we use to make these systems. They are used not only to develop but also maintain and replace existing information systems. Having a structured way of developing these systems gives a number of advantages such as: easing the process of building a system, helping to reduce failures and actually meeting the specified needs of the end user. Most SDLC’s will follow pre-defined stages similar to the diagram below.
There are two types of SDLC, traditional and agile. This blog is primarily concerned with traditional methods of software development such as the waterfall model, the spiral model and the V-model.
(1) The Waterfall model also known as the linear cycle is a process that is built around planned work and is mostly suited to projects with clearly defined requirements (Hawryszkiewycz, 2001). It clearly outlines a series of steps or phases that should be taken when creating an information system. These phases usually follow a specific order with a review at the end of each phase. When the review is complete and meets the necessary requirements the next stage can be started. Below is a basic example of the waterfall model.
(2) The Spiral model is seen as an evolutionary design (Boehm, 1988) in that it is a system developed from a series of prototypes. Each prototype adds improvements to previous ones. The software project continuously passes through phases or iterations called spirals. This model is predominantly suitable for designing systems that are experimental in nature (Hawryszkiewycz, 2001). It consists of four main phases;
- Risk Analysis
The project works its way through these four main phases, similar to that of the waterfall, within every iteration of the spiral. An example of this would be the Microsoft Windows Operating System which we have seen many versions of over the years. It began with Microsoft windows 3.1 operating system which was released to the public at large. Then after evaluation and feedback from customers newer versions emerged over the years (http://www.sdlc.ws/spiral-model/).
(3) The V-Model can be seen as an extension of the waterfall model. It is similar in that it follows a downward linear process but differs in that after the coding phase the process inclines upwards to form the V shape that gives rise to the models name. this model is used widely today especially in the defence forces but there have been reservations about it effectiveness (http://www.harmonicss.co.uk/index.php/tutorials/software-engineering/56-the-death-of-the-v-model).