Buscar

CICLO DE VIDA DE UM SOFTWARE

Prévia do material em texto

CICLOS DE VIDA DE DESENVOLVIMENTO DE SOFTWARES
A principal função do ciclo de vida é indicar as fases, atividades, entregas e responsabilidades de cada envolvido no processo de desenvolvimento de softwares. Nesse sentido, ela funciona como um grande esquema. Seu objetivo é manter o projeto alinhado às necessidades dos usuários e às expectativas de seus patrocinadores, sem perder de vista as entregas que viabilizam a utilização do software. Logo, ele serve para permitir que pequenas entregas sejam realizadas com certa periodicidade e favorece uma melhoria contínua no processo de desenvolvimento e utilização do software.
Existem três etapas principais no ciclo de vida do desenvolvimento de softwares: a definição, o desenvolvimento e a operação.
1. Definição
É o momento em que ocorre o planejamento do projeto, são levantados os requisitos mínimos, estudada a viabilidade do software e definido qual modelo de ciclo de vida será usado.
2. Desenvolvimento
O desenvolvimento envolve as atividades de especificações, design, prototipagem, arquitetura da informação, codificação, testes e criação de integrações com outros sistemas, quando necessário.
O resultado dessa etapa pode ser um PMV ou o software completamente desenvolvido e concluído.
3. Operação
A última parte pode ser de suporte aos usuários e correção de possíveis bugs. Também pode contemplar a continuidade do desenvolvimento do software para atender a novos requisitos dos usuários. Ambos os casos dependem do modelo de ciclo de vida selecionado para o projeto.
Existem ao menos sete modelos de ciclo de vida para o desenvolvimento de softwares: em cascata, em V, incremental, Rapid Application Development (RAD), espiral, prototipagem e evolutivo.
Aqui vamos nos deter em dois mais conhecidos e utilizados:
Modelo em cascata
Foi criado em 1970, e é o modelo mais tradicional. Ele indica que uma nova fase só pode começar quando a anterior for concluída, documentada e aprovada pelo cliente.
A primeira versão para o cliente é entregue apenas no final do ciclo, e a ênfase do modelo está sobre as etapas de planejamento e desenvolvimento do software.
A principal crítica a esse modelo é pelo fato de considerar a realidade estática e bem conhecida para realizar o desenvolvimento de um software. Quase sempre, a realidade das empresas e dos usuários é complexa, dinâmica e carregada de mudanças.
Seu principal benefício é a facilidade de gestão do projeto.
Modelo evolutivo
Diferentemente do modelo em cascata, o evolutivo considera que nenhum requisito é conhecido no momento do planejamento. Por isso, o projeto faz entregas com base nas requisições conhecidas naquele momento, pede para o cliente usar o software em suas operações diárias e solicita feedbacks para criar novas versões.
A grande vantagem desse modelo é a sua facilidade de se adaptar a cenários dinâmicos e oferecer novas funcionalidades aos usuários. Sua desvantagem é a dificuldade em estabelecer claros limites sobre o escopo e o tempo de projeto, o que demanda maior complexidade em seu gerenciamento.
Usar o ciclo de vida é uma das melhores formas para garantir um bom alinhamento entre o desenvolvimento de softwares e as necessidades dos usuários e das empresas que os utilizam. Também é importante para garantir a viabilidade e a continuidade de um projeto.

Continue navegando