Software life cycle
A software life cycle describes the process of software development with the aim of making software available to the customer. As a rule, the cycle begins with a customer problem and its analysis and ends on the customer side when the software is replaced by a successor.
A software life cycle may, depending on the process model the phases "planning", "analysis", include "Design", "development", "testing", "delivering" or other phases. There are strictly sequential procedural models such as the waterfall model and newer ones such as the spiral model .
The cycle begins with the emergence of a problem to be solved in terms of software, for example through a customer inquiry. This problem is analyzed and the software to be implemented is planned. This is followed by the implementation of the planned software in code ( implementation ).
The implementation and testing phases are followed by the productive use of the software, in which maintenance work is also carried out. Maintenance is understood to mean the elimination of errors as well as adapting the system to a changed environment or expanding it with additional functions. In any case, the software is subject to software aging .
From the customer's point of view, a software life cycle ends when the system is replaced by a successor product. From the manufacturer's point of view, the cycle ends when support is discontinued and / or the software product is discontinued.
Almost all phases in the software lifecycle, including the end of software maintenance, can be planned .
Delimitation from the product life cycle
The term product life cycle comprises the time between the launch and removal of a product from the market.