O ciclo de vida de um "software (em inglês software lifecycle), designa todas as etapas do desenvolvimento de um software, da sua concepção ao seu desaparecimento. O objectivo de tal segmentação é definir balizas intermédias que permitem a validação do desenvolvimento do software, isto é, a conformidade do software com as necessidades exprimidas, e a verificação do processo de desenvolvimento, quer dizer, a adequação dos métodos aplicados.
A origem desta discriminação provém da constatação que os erros têm um custo ainda mais elevado quando são detectados tardiamente no processo de realização. O ciclo de vida permite detectar os erros o mais depressa possível e assim dominar a qualidade do software, os prazos da sua realização e os custos associados.
Geralmente, o ciclo de vida do software compreende, no mínimo, as actividades seguintes:
A sequência e a presença de cada uma destas actividades no ciclo de vida depende da escolha de um modelo de ciclo de vida entre o cliente e a equipa de desenvolvimento.
Para estar em condições de ter uma metodologia comum ao cliente e à empresa que realiza o desenvolvimento, foram criados modelos de ciclo de vida que definem as etapas do desenvolvimento, assim como os documentos a produzir que permitem validar cada uma das etapas antes de passar à seguinte.
O modelo de ciclo de vida em cascata foi criado logo em 1966, seguidamente formalizado por volta de 1970. Define fases sequenciais ao fim de cada uma das quais são produzidos documentos para verificar a conformidade, antes de passar à seguinte:

O modelo de ciclo de vida em V parte do princípio que os procedimentos de verificação da conformidade do software às especificações devem ser elaborados logo durante as fases de concepção.
