The term software lifecycle describes the development of an application, from the concept phase right up to the retirement phase. The purpose of such a plan is to define the various intermediate phases required to validate the development of the application, i.e. to ensure the software conforms to the requirements for the application and verification of development procedures, i.e. to make sure the methods employed are appropriate.
Such plans originate from the fact that errors detected late in the implementation phase can end up being costly to rectify. The lifecycle allows for errors to be detected at as early a stage as possible and therefore enable developers to concentrate on the quality of the software, implementation time frames and associated costs.
The basic software lifecycle involves the following procedures:
To facilitate a common methodology for both the client and the software company, lifecycle models have been updated to reflect the development stages involved and the documentation required, so that each stage is validated before moving on to the next stage.
The waterfall lifecycle model was designed in 1966 and then finalized around 1970. It is defined as a sequence of phases, at the end of each one documentation is gathered to ensure it conforms to specifications and requirements prior to moving on to the next phase:
The V lifecycle model stems from the principle that the procedures used to test if the application conforms to specifications must have been created in the design phase.