Rodrigo Zolli Ciclo de vida e Processo de Desenvolvimento
A norma ISO 12207 fornece um framework para compreender as
atividades e processos do ciclo de vida do software da sua concepção até o fim do seu uso, que podemos indicar pela figura a seguir. Ciclo de vida e Processo de Desenvolvimento
Para garantir que o sistema faz o que o usuário deseja, utilizamos
duas técnicas: a verificação e a validação. Verificar significa analisar se o produto de uma fase do processo de desenvolvimento está de acordo com sua especificação. Validar significa analisar se o produto de uma fase do processo de desenvolvimento está de acordo com as expectativas do cliente. Processo em Cascata Também conhecido como Linear Sequencial. Nesse processo, assumimos que as atividades de análise, projeto e implementação podem ser feitas de forma sequencial, sem que sejam necessárias interações entre as fases.
Modelagem do Sistema, onde são estabelecidos os requisitos do
sistema do qual o software sendo realizado participa, incluindo os requisitos de informação e de negócios. Análise de Requisitos, onde são modelados os requisitos de informação, funcionais, comportamentais, de desempenho e de interface do software. Processo em Cascata Projeto, onde são planejadas as estruturas de dados, a arquitetura do sistema e o comportamento é mapeado em procedimentos. Codificação, onde o projeto é transformado em uma linguagem inteligível pelo computador. Testes, onde verificamos e validamos o software. Manutenção, onde garantimos a usabilidade do software. Prototipagem No processo de Prototipagem (pura) o desenvolvedor interage diretamente com o usuário, escutando seus pedidos e desenvolvendo, imediatamente, um protótipo do produto desejado. O usuário, então, utiliza esse protótipo e fornece ao desenvolvedor novas informações que o levam a modificar o protótipo, de maneira a atender todas as necessidades do usuário. É claramente um processo de desenvolvimento baseado em um ciclo de realimentação de informações, com alta participação do usuário. Não existe uma fase formal de análise ou projeto. Isso pode causar problemas graves e difíceis de corrigir no produto final, dificultando de sobremaneira a manutenção dos produtos. Pouca ênfase é dada à documentação. Atualmente quase todos os processos de desenvolvimento utilizam protótipos, mas não um ciclo de vida de prototipagem. Prototipagem Incremental Sistemas complexos se alteram com o tempo, usando a interação do ciclo do desenvolvimento para acompanhar a evolução do sistema. O Processo Incremental pode ser entendido como uma combinação do linear com a prototipagem. Tem o foco principal na entrega do produto. Para realizá-lo, repetimos a sequencia linear ao longo do tempo de vida do desenvolvimento do sistema, buscando Implementar funcionalidades essenciais ao cliente. Espiral Ele se diferencia do Processo incremental porque os produtos de cada ciclo não são “subsistemas” do sistema original, mas sim produtos específicos que atendem necessidades específicas do projeto, como por exemplo, “teste de viabilidade” e “definição da interface com o usuário”. Em cada ciclo da espiral, algumas atividades são realizadas em ordem sequencial: comunicação com o cliente, planejamento, análise de riscos, engenharia, construção e, finalmente, avaliação dos resultados.