< programming > The phases a software product goes through between when it is conceived and when it is no longer available for use. The software life-cycle typically includes the following: requirements analysis , design , construction, testing ( validation ), installation, operation, maintenance, and retirement.
The development process tends to run iteratively through these phases rather than linearly; several models (spiral, waterfall etc.) have been proposed to describe this process.
Other processes associated with a software product are: quality assurance, marketing, sales and support.
(1996-12-27)