Modelo de ciclo de vida do software em v
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: * Definição dos objectivos, consistindo em definir a finalidade do projecto e a sua inscrição numa estratégia global. * Análise das necessidades e viabilidade, quer dizer a expressão, a recolha e a formalização das necessidades do requerente (o cliente) e do conjunto dos constrangimentos. * Concepção geral. Trata-se da elaboração das especificações da arquitectura geral do software. * Concepção detalhada, que consiste em definir precisamente cada subconjunto do software. * Codificação (Aplicação ou programação), quer dizer a tradução numa linguagem de programação das funcionalidades definidas aquando das fases de concepção. * Testes unitário, que permitem verificar individualmente que cada subconjunto do "software" é aplicado em conformidade com as especificações. * Integração, cujo objectivo é assegurar a intercomunicação dos diferentes elementos (módulos) do software. É objecto de testes de integração consignados num documento. * Qualificação (ou receita), isto é, a verificação da conformidade do software às especificações iniciais. * Documentação, destinada a