Modelo cascata

Modelo tradicional de desenvolvimento de software, cada etapa do projeto deve seguir a ordem dos processos sem retroceder para as etapas anteriores.

Categoria de Programação

Postado em 28 outubro 2022

Atualizado em 28 outubro 2022

Palavras-chave: waterfall,model,modelo,cascata,desenvolvimento,software,planejamento,design

Visualizações: 2054



Antes de um produto ser desenvolvido de fato, ele deve passar por algumas etapas de planejamento. Hoje, temos vários modelos de desenvolvimento software que podem atender diferentes tipos de clientes.

Alguns clientes buscam por soluções para seus problemas, porém ainda não sabem o que realmente procuram. Nesse caso, os desenvolvedores devem selecionar o modelo correto para atender aos desejos do cliente, de modo que ele fique satisfeito com o produto final.

O modelo tradicional de desenvolvimento software é o modelo cascata.

O que é o modelo cascata?

Modelo cascata vem do inglês “waterfall model”. É uma expressão bastante utilizada na área de tecnologia e programação para descrever um modelo de desenvolvimento progressivo. Isso é seguir todas as etapas do modelo desde o início até o final apenas uma vez, sem retornar para as etapas anteriores.

modelo cascata dicionariotec

O modelo não precisa ser fiel com as cinco etapas apresentadas acima, podendo possuir diversas diversificações e segmentos que se adequam melhor a cada tipo de situação.

Apesar de ser um modelo considerado tradicional, a utilização do modelo cascata tem diminuído devido a sua inflexibilidade. Muitos desenvolvedores criticam o modelo, alegando que não funciona na prática. Isso pode acontecer quando o produto final não satisfaz os requerimentos do cliente. O cliente exigi mudanças ou novas funcionalidades após a fase de desenvolvimento. Nesse caso, novos custos tornam-se necessários, descontentando o cliente.

Para evitar conflitos, variações do modelo existem, um bom exemplo é o modelo protótipo. Um protótipo é um esboço do software, não contendo nenhuma funcionalidade no momento, apenas transições de telas e design da interface do software. Uma vez que o protótipo é aceito pelo cliente, o processo de desenvolvimento é iniciado.

Quando usar o modelo cascata?

Um projeto desenvolvido com o modelo cascata deve seguir a ordem das etapas sem retroceder para etapas anteriores durante o processo. Um retrocesso para as etapas anteriores influencia no valor total do projeto, ultrapassando as estimativas preestabelecidas no começo do projeto. Caso isso aconteça, diversos riscos como anulação do projeto, multas resultantes de processos judiciais e lucro final diminuído podem afetar a empresa contratada para o desenvolvimento do projeto.

Portanto, o modelo cascata deve ser utilizado quando o cliente tem requerimentos claros e definidos. Assim, os requerimentos podem ser preenchidos pelos desenvolvedores do software na primeira etapa do projeto.

O modelo cascata não possui flexibilidade, pois não possibilita retornarmos para as etapas anteriores. Por isso, não é um modelo recomendado para projetos com requerimentos vagos ou clientes indecisos.

Quais são as etapas do modelo cascata? E o que acontece em cada etapa?

O modelo cascata possui variações, porém um modo bastante tradicional são as 5 etapas a seguir.

  1. Requerimentos
  2. Planejamento
  3. Desenvolvimento
  4. Teste
  5. Manutenção

O que é a etapa de requerimentos?

Etapa onde os requerimentos do cliente são ouvidos. Isso é, que tipo de solução o cliente busca, quais são os seus problemas que ele enfrenta e como o cliente espera que um software melhore a sua produtividade.

Essa etapa pode necessitar de múltiplas reuniões caso dúvidas ou idéias surjam após a primeira reunião de algum dos dois lados.

O que é a etapa de planejamento?

Após os desenvolvedores compreenderem o que o cliente busca, o planejamento de uma solução que atenda aos requerimentos do cliente deve ser produzido. Nessa etapa, ainda é possível ter contato com o cliente para o esclarecimento de dúvidas e outros fatores.

O que é a etapa de desenvolvimento?

Nessa etapa os programadores começam a desenvolver o produto. Dúvidas como qual linguagem de programação usar, qual banco de dados integrar e com qual framework desenvolver o produto já devem estar decido na etapa 2.

O que é a etapa de teste?

Aqui será testado o produto resultante. Os testes são de responsabilidade da empresa desenvolvedora que em seguida deve entregar o produto para o cliente testar e avaliar. Quando o relatório de avaliação do cliente é recebido, requerimentos de alteração de funcionalidade e correção de bugs podem ser solicitados. Se dividirmos em pequenas etapas, teremos o seguinte ciclo:

  • Avaliação pela empresa desenvolvedora
  • Avaliação pelo cliente
  • Alteração e correção do software

O ciclo acima pode ser repetido algumas vezes até poder seguir para a próxima etapa.

O que é a etapa de manutenção?

Etapa final do projeto. O produto é entregue para o cliente que irá utilizar-lo na prática. Ao decorrer da sua utilização, imprevistos podem acontecer. Nessa caso, a empresa desenvolvedora deve fazer a manutenção do produto.

Conclusão

O modelo cascata é o modelo tradicional de desenvolvimento de software, no qual cada etapa do projeto deve seguir a ordem dos processos sem retroceder para as etapas anteriores.

Caso novos requerimentos, como por exemplo, novas funcionalidades sejam solicitadas pelo cliente nas etapas posteriores as duas primeiras etapas, conflitos podem acontecer entre os negociadores. Essa inflexibilidade fez com que muitos planejadores de software migrassem para outros modelos de desenvolvimento software.

Projetos práticos

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Criando um jogo de guerra nas estrelas em javascript usando a biblioteca p5.js

Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Veja também

Já pensou ser redirecionado para um site de banco falso?

O envenenamento de cache DNS redireciona o usuário para um site falso, mesmo digitando um URL legítimo. Como isso é possível??!!

Pessoas sem um endereço não podem utilizar os correios. Dispositivos sem um endereço não podem acessar a internet.

Quando nos conectamos à internet, nós recebemos um endereço IP. O endereço IP é o nosso endereço virtual que vai servir como localização para a transferência de dados na internet

Modelo OSI

Modelo teórico dividido em sete camadas que fornece uma arquitetura padrão de rede para realizar a transferência de dados entre computadores.

Design thinking

Design thinking é um método bastante flexível que procura atender os desejos humanos com o intuito de inovar ou solucionar problemas.

RAT Remote Access Trojan

O RAT é um malware que tipicamente infecta o computador da vítima por um cavalo de tróia. Uma vez detectado, não é muito difícil sua remoção.

Ransomware

Malware programado especialmente para praticar golpes através da internet. O golpe é iniciado quando usuário executa esse programa malicioso