The software life cycle model depends on the specifics, scale, and complexity of the project and the specifics of the conditions under which the system is created and functions. The model of the software life cycle is a structure that determines the sequence of execution and the relationship of processes, actions, and tasks during the life cycle. The model of the life cycle of specific information system software determines the nature of the process of creating this software, which means a set of tasks organized in time, united in the stage of work.
The software creation stage is a part of the software creation process that is limited by certain time frames and ends with the release of a specific product (software models, software components, documentation). Custom development in Houston will help save time and effort in creating software.
Two models became the most popular: cascade (waterfall), created in 1970-1985, and spiral, built-in 1986-1990. Let’s analyze them in more detail.
Cascade Model
The cascade model of the life cycle was proposed in 1970 by U. Royce. The main feature of the cascade model is that the transition to the next stage is carried out only after the work at the current stage is fully completed, there is no return to the previous stages. Each stage ends with the receipt of results, which are input data for the next stage, and the release of a complete set of documentation. The criterion of the quality of development under such a model is the accuracy of the specifications of the technical task.
Advantages of using the cascade model:
- at all stages, a set of project documentation will be created that meets all criteria and is consistent with others;
- execution of works in a logical sequence makes it possible to plan the deadlines for completing all works and the related costs.
The disadvantages of this model are caused primarily by the fact that the real process of creating software has never completely fit into a rigid scheme. The software creation process often has an iterative nature: the results of the next stage cause changes in the design decisions made at the previous stages. Therefore, there is a constant need to return to previous stages and clarify or revise previously made decisions.
Spiral Model
The spiral model was developed in the mid-1980s, the developer of this model was Barry Boehm. It is based on Deming’s classic cycle PDCA (plan-do-check-act). When using this model, IS is created in several iterations (turns of a spiral) by the method of prototyping.
Nowadays, this model is quite common. The most famous examples of its implementation are RUP (Rational Unified Process) of the company Rational and MSF (Microsoft Solution Framework). The creation of 1C according to such a model has an iterative nature and moves in a spiral, passing through stages where the characteristics of the future information product are specified at each turn.
The essential feature of the spiral model of the software life cycle is that the application software is not created immediately, but partially, using the prototyping method.
A prototype is a software component that implements individual functions and external software interfaces. With the help of several iterations, prototypes are created. Each iteration corresponds to the creation of a fragment or version of the software, the goals and characteristics of the project are clarified, the quality of the obtained results is evaluated, and the work of the next iteration is planned.
The iterative process of development objectively reflects the spiral cycle of system creation. Incomplete completion of work at each stage allows you to move on to the next stage without waiting for the full completion of work at the current stage. With the iterative method of development, the missing stage can be completed in the next iteration. The main task is to show system users a workable product as soon as possible, activating the process of clarifying and supplementing requirements.
The spiral model does not exclude the use of a cascade approach at the final stages of the project in those cases when the system requirements become quite clear.
The main problem of the spiral cycle is determining the moment of transition to the next stage. To solve it, you should create time constraints in each of the stages of the life cycle.
The transition is carried out according to the plan, even if not all the planned work is finished. The plan is based on statistical data obtained in previous projects and the personal experience of the developers.
Conclusion
There are many options for software development models. The choice of one or another option depends on the specifics and requirements of the project, and payment models. In part, the methodologies overlap and are similar to each other, but each finds its fans.
Follow Techiemag for more!
Table of Contents