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: 3206
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
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.
Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.
Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.
Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.
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.
Expressões como gastar tempo e investir tempo andam lado a lado. Quando algo investido não tem o retorno esperado isso se torna uma perde de tempo...
O envenenamento de cache DNS redireciona o usuário para um site falso, mesmo digitando um URL legítimo. Como isso é possível??!!
Automatiza tarefas repetitivas no lugar de humanos, podendo ser integradas com os softwares e serviços que são utilizados para a realização de tarefas.
HR Tech é um software que auxilia na gestão de pessoas, tornando-se possível o gerenciamento centralizado na área de recursos humanos.
A virtualização é a criação de um ou mais ambientes virtuais em uma mesma máquina física, com o intuito de cumprir o mesmo papel de um computador físico.
Software que possibilita o gerenciamento de todos os recursos da empresa em um só sistema. Esses recursos são capital, pessoas, coisas e informações.