A engenharia do ciclo de vida dos softwares
O ciclo de vida de um software (em inglês,
software lifecycle), indica todas as etapas do desenvolvimento de um software, da sua concepção até o seu desaparecimento. O objetivo de tal segmentação é definir balizas intermediárias que permitam a
validação do desenvolvimento do software, ou seja, a conformidade do software com as necessidades expressas e a
verificação do processo de desenvolvimento, isto é, a adequação dos métodos aplicados.
A origem desta segmentação provém da constatação de que os erros têm um custo ainda maior quando são detectados tardiamente no processo de produção. O ciclo de vida permite detectar os erros o mais depressa possível e, assim, garantir a qualidade do software, os prazos de sua realização e os custos associados.
Quais são as atividades do ciclo de vida de um software
Geralmente, o ciclo de vida do software compreende a
Definição dos objetivos, que consiste em definir a finalidade do projeto e a sua inscrição numa estratégia global, a
Análise das necessidades e viabilidade, ou seja, a coleta e a formalização das necessidades do requerente (o cliente) e do conjunto dos restrições. a
Concepção geral, trata-se da elaboração das especificações da arquitetura geral do software e a
Concepção detalhada,, que consiste em definir exatamente cada subconjunto do software, a
Codificação (aplicação ou programação), que é a tradução para uma linguagem de programação das funcionalidades definidas durante as fases de concepção, os
Testes unitários, que permitem verificar individualmente cada subconjunto do software aplicado em conformidade com as especificações, a
Integração, cujo objetivo é garantir a confecção da interface dos diferentes elementos (módulos) do software. É objeto de testes de integração consignados em um documento, a
Qualificação (ou receita), ou seja, a verificação da conformidade do software às especificações iniciais, a
Documentação destinada a produzir as informações necessárias para a utilização do software e para os desenvolvimentos posteriores, a
Produção e, finalmente, a
Manutenção com todas as ações corretivas e evolutivas no software.
A sequência e a presença de cada uma destas atividades, no ciclo de vida, depende da escolha de um modelo do mesmo, entre o cliente e a equipe de desenvolvimento.
Quais são os modelos do ciclo de vida de softwares
Para ter uma metodologia que seja comum ao cliente e à empresa que realiza o desenvolvimento, foram criados modelos de ciclo de vida que definem as etapas do desenvolvimento. Isto também vale para os documentos que deverão ser produzidos e que devem permitir a validação de cada uma das etapas, antes de passar para a seguinte.
Modelo em cascata
O modelo de ciclo de vida em
cascata foi criado em 1966 e formalizado por volta de 1970. Ele define as fases sequenciais e, no final de cada uma delas, são produzidos documentos para verificar a conformidade, antes de avançar (simbolizadas na imagem por flechas para cima):
Modelo em V ou Incremental
O modelo de ciclo de vida em
V ou
Incremental foi criado como uma melhoria do modelo em cascata. Ele parte do princípio que os procedimentos de verificação da conformidade do software às especificações devem ser elaborados durante as fases de concepção: