Esse site utiliza cookies
Nós armazenamos dados temporariamente para melhorar a sua experiência de navegação e recomendar conteúdo do seu interesse.
Ao utilizar os nossos serviços, você concorda com as nossas políticas de privacidade.
Esse site utiliza cookies
Nós armazenamos dados temporariamente para melhorar a sua experiência de navegação e recomendar conteúdo do seu interesse.
Ao utilizar os nossos serviços, você concorda com as nossas políticas de privacidade.
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: 3494
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.
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.
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.
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.
O modelo cascata possui variações, porém um modo bastante tradicional são as 5 etapas a seguir.
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.
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.
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.
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:
O ciclo acima pode ser repetido algumas vezes até poder seguir para a próxima etapa.
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.
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
Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).
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.
Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.
Fazendo a integração contínua de Jenkins, Sonatype Nexus, Sonatype, JUnit e Gradle para automatizar processos repetitivos. Prática bastante usada em tecnologias de DevOps.
Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript
A nuvem pode ser uma boa alternativa de substituição da memória atual. Além de fazer a cópia de segurança dos dados, pode ser acessível de qualquer lugar.
Estudar o comportamento das pessoas pode auxiliar um administrador a criar um sistema de fiscalização mais eficiente, evitando fraudes que prejudicam a imagem da empresa
Responsável por tratar de assuntos envolvendo tecnologia da informação com o alto escalão para gerar valores na área de TI
Matriz de Ansoff em português é uma estratégia de crescimento da empresa no mercado. Ansoff é o sobrenome de um russo-americano, Igor Ansoff.
Método de desenvolvimento em que os testes são a base da implementação. Eficiente para mitigar bugs de forma automática.
Serviço disponível na internet que oferece softwares que permitem realizar atividades como verificar e-mails, armazenar fotos e compartilhar arquivos.