SDLC - Modelo de Cachoeira
O modelo em cascata foi o primeiro modelo de processo a ser introduzido. Também é conhecido comolinear-sequential life cycle model. É muito simples de entender e usar. Em um modelo em cascata, cada fase deve ser concluída antes que a próxima fase possa começar e não há sobreposição nas fases.
O modelo em cascata é a abordagem SDLC mais antiga que foi usada para desenvolvimento de software.
O modelo em cascata ilustra o processo de desenvolvimento de software em um fluxo sequencial linear. Isso significa que qualquer fase do processo de desenvolvimento começa apenas se a fase anterior for concluída. Neste modelo em cascata, as fases não se sobrepõem.
Modelo em cascata - Design
A abordagem em cascata foi o primeiro modelo SDLC a ser amplamente utilizado na Engenharia de Software para garantir o sucesso do projeto. Na abordagem "The Waterfall", todo o processo de desenvolvimento de software é dividido em fases distintas. Neste modelo em cascata, normalmente, o resultado de uma fase atua como entrada para a próxima fase sequencialmente.
A ilustração a seguir é uma representação das diferentes fases do modelo em cascata.
As fases sequenciais no modelo em cascata são -
Requirement Gathering and analysis - Todos os requisitos possíveis do sistema a ser desenvolvido são capturados nesta fase e documentados em um documento de especificação de requisitos.
System Design- As especificações de requisitos da primeira fase são estudadas nesta fase e o projeto do sistema é preparado. Este projeto de sistema ajuda a especificar requisitos de hardware e sistema e ajuda a definir a arquitetura geral do sistema.
Implementation- Com entradas do projeto do sistema, o sistema é primeiro desenvolvido em pequenos programas chamados unidades, que são integrados na próxima fase. Cada unidade é desenvolvida e testada quanto à sua funcionalidade, que é conhecida como Teste de Unidade.
Integration and Testing- Todas as unidades desenvolvidas na fase de implantação são integradas em um sistema após o teste de cada unidade. Após a integração, todo o sistema é testado para quaisquer falhas e falhas.
Deployment of system- Uma vez que o teste funcional e não funcional é feito; o produto é implantado no ambiente do cliente ou lançado no mercado.
Maintenance- Existem alguns problemas que surgem no ambiente do cliente. Para corrigir esses problemas, são lançados patches. Também para aprimorar o produto, algumas versões melhores são lançadas. A manutenção é feita para entregar essas mudanças no ambiente do cliente.
Todas essas fases são colocadas em cascata entre si, nas quais o progresso é visto como um fluxo constante para baixo (como uma cachoeira) através das fases. A próxima fase é iniciada somente após o conjunto de metas definido ser alcançado para a fase anterior e é homologado, daí o nome "Modelo em Cachoeira". Neste modelo, as fases não se sobrepõem.
Modelo em cascata - Aplicação
Cada software desenvolvido é diferente e requer uma abordagem SDLC adequada a ser seguida com base nos fatores internos e externos. Algumas situações em que o uso do modelo em cascata é mais adequado são -
Os requisitos são muito bem documentados, claros e fixos.
A definição do produto é estável.
A tecnologia é compreendida e não é dinâmica.
Não há requisitos ambíguos.
Amplos recursos com a experiência necessária estão disponíveis para dar suporte ao produto.
O projeto é curto.
Modelo em cascata - vantagens
As vantagens do desenvolvimento em cascata são que ele permite departamentalização e controle. Um cronograma pode ser definido com prazos para cada estágio de desenvolvimento e um produto pode prosseguir pelas fases do modelo de processo de desenvolvimento uma a uma.
O desenvolvimento vai desde o conceito, passando pelo design, implementação, teste, instalação, solução de problemas e termina na operação e manutenção. Cada fase de desenvolvimento ocorre em ordem estrita.
Algumas das principais vantagens do modelo em cascata são as seguintes -
Simples e fácil de entender e usar
Fácil de gerenciar devido à rigidez do modelo. Cada fase tem resultados específicos e um processo de revisão.
As fases são processadas e concluídas uma de cada vez.
Funciona bem para projetos menores onde os requisitos são muito bem compreendidos.
Estágios claramente definidos.
Marcos bem compreendidos.
Fácil de organizar as tarefas.
O processo e os resultados são bem documentados.
Modelo em cascata - Desvantagens
A desvantagem do desenvolvimento em cascata é que ele não permite muita reflexão ou revisão. Depois que um aplicativo está em estágio de teste, é muito difícil voltar e alterar algo que não foi bem documentado ou pensado no estágio de conceito.
As principais desvantagens do modelo em cascata são as seguintes -
Nenhum software funcional é produzido até o final do ciclo de vida.
Grandes quantidades de risco e incerteza.
Não é um bom modelo para projetos complexos e orientados a objetos.
Mau modelo para projetos longos e em andamento.
Não é adequado para projetos onde os requisitos têm um risco moderado a alto de alteração. Portanto, o risco e a incerteza são altos com este modelo de processo.
É difícil medir o progresso em estágios.
Não pode acomodar mudanças de requisitos.
Ajustar o escopo durante o ciclo de vida pode encerrar um projeto.
A integração é feita como um "big bang. No final, o que não permite identificar precocemente nenhum gargalo ou desafio tecnológico ou empresarial.