Modelos Clássicos de Processo
de Software
João Pablo S. da Silva
Universidade Federal do Pampa
Engenharia de Software
2025/02
Roteiro
1 Introdução
2 Modelos Clássicos
3 Conclusão
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 2 / 23
Roteiro
1 Introdução
2 Modelos Clássicos
3 Conclusão
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 3 / 23
Uma Questão Filosófica
▶ Os modelos de processo foram propostos para trazer ordem ao
caos do desenvolvimento.
▶ Eles forneceram um roteiro razoavelmente eficaz para as
equipes de desenvolvimento.
Entretanto, o trabalho de engenharia de software e seu
produto permanecem “à beira do caos”.
▶ Então, processos são inapropriados em mundo que prospera
com as mudanças?
▶ Por outro lado, como obter o mínimo de controle e organização
no trabalho?
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 4 / 23
Por que Estudar Modelos Clássicos?
▶ Primeiros esforços de sistematização do desenvolvimento de
software.
▶ Buscavam trazer ordem ao caos do desenvolvimento de
software.
▶ Serviram de base para modelos modernos (ágeis, DevOps,
híbridos).
▶ Importantes para compreender a evolução histórica da
Engenharia de Software.
▶ Fundamentais para a formação de novos profissionais na área
de melhoria contínua.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 5 / 23
Roteiro
1 Introdução
2 Modelos Clássicos
3 Conclusão
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 6 / 23
Modelo em Cascata I
▶ O modelo em cascata foi derivado de processos mais gerais da
engenharia de sistemas.
▶ Mesmo sendo um dos precursores, ainda é muito presente na
indústria de software.
▶ O modelo é um exemplo de processo dirigido a planos, onde:
▶ primeiro se deve planejar todas as atividades;
▶ para depois começar a trabalhar nelas.
▶ Propõe o sequenciamento das disciplinas de requisitos, projeto,
implementação, testes e manutenção.
▶ Nesse modelo, um estágio só pode iniciar após a conclusão do
estágio predecessor.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 7 / 23
Modelo em Cascata II
Características do Processo
▶ Engenharia de Requisitos
▶ Os serviços, restrições e metas do sistema são estabelecidos
por meio de consulta aos usuários.
▶ Os itens levantados são definidos em detalhes e funcionam
como uma especificação do sistema.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 8 / 23
Modelo em Cascata III
▶ Análise e Projeto
▶ Os requisitos são alocados por meio da definição de uma
arquitetura geral do sistema.
▶ O projeto envolve a identificação e a descrição das abstrações
fundamentais e seus relacionamentos.
▶ Implementação e Teste de Unidade
▶ O projeto do software é desenvolvido como um conjunto de
programas ou unidades de programa.
▶ O teste de unidade envolve a verificação de que cada unidade
atende a sua especificação.
▶ Integração e Teste de Sistema
▶ As unidades individuais do programa ou programas são
integradas e testadas.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 9 / 23
Modelo em Cascata IV
▶ Verifica o sistema completo, para assegurar que os requisitos
tenham sido atendidos.
▶ Operação e Manutenção
▶ O sistema é entregue e implantado no cliente, entrando em
produção.
▶ Envolve a correção de erros que não foram descobertos nos
estágios iniciais.
▶ Realiza a melhoria do sistema em resposta aos novo requisitos
descobertos.
Vantagens e Desvantagens
▶ O modelo em cascata é simples de entender e prático para
executar.
▶ Também se pode dizer que é de fácil gestão, pois o processo é
bem visível.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 10 / 23
Modelo em Cascata V
▶ Outra característica é que ele tem entradas e saídas de cada
etapa bem definidas.
▶ Por outro lado, o modelo é extremamente inflexível, com etapas
sequenciais.
▶ Oferece pouca interação com usuário, sendo somente no início
e no fim.
▶ Carrega um legado para a manutenção, pois uma vez fechada
uma etapa, essa não é reaberta.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 11 / 23
Modelo Incremental I
O desenvolvimento incremental é baseado na ideia de desenvolver
uma implementação inicial, expô-la aos usuários e continuar por
meio da criação de várias versões.
▶ O modelo incremental reflete a maneira que as pessoas
resolvem problemas.
▶ Esse modelo tem grande aderência às abordagens ágeis de
desenvolvimento de software.
▶ Cada versão é construída sobre a anterior, permitindo melhorias
contínuas.
▶ O desenvolvimento é orientado a protótipos, permitindo a
validação de ideias e requisitos.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 12 / 23
Modelo Incremental II
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 13 / 23
Modelo Incremental III
Características do Processo
▶ As atividades são intercaladas, e não separadas, com um rápido
feedback entre elas.
▶ Cada incremento ou versão incorpora alguma funcionalidade
necessária para o cliente.
▶ Os incrementos iniciais incluem a funcionalidade mais
importante ou urgente para o cliente.
▶ O custo de acomodar as mudanças nos requisitos do cliente é
reduzido.
▶ É mais fácil obter feedback dos clientes sobre o produto que foi
desenvolvido.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 14 / 23
Modelo Incremental IV
Vantagens e Desvantagens
▶ O sistema pode entrar em produção mesmo sem incluir toda as
funcionalidades desejadas.
▶ Entretanto, o processo não é visível, o que dificulta a avaliação
de progresso pelos gerentes.
▶ Também há o risco da estrutura do sistema se degradar com a
adição de novos incrementos.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 15 / 23
Modelo Evolucionário I
▶ O modelo evolucionário é definido como um framework dirigido
a riscos.
▶ Caracteriza-se por ser híbrido, ou seja, herda características dos
demais modelos apresentados.
▶ As disciplinas são revisitadas várias vezes ao longo do
desenvolvimento, por isso em espiral.
▶ Cada uma das voltas na espiral representa uma fase do
processo:
▶ a volta mais interna se preocupa com a viabilidade do projeto,
▶ a volta seguinte com a análise dos requisitos;
▶ e assim por diante.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 16 / 23
Modelo Evolucionário II
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 17 / 23
Modelo Evolucionário III
Características do Processo
▶ Determinar Objetivos, Alternativas e Restrições
▶ Os objetivos específicos para a fase são definidos.
▶ As restrições para o processo e o produto são mapeadas.
▶ Um plano de gerenciamento detalhado é elaborado.
▶ Analisar Alternativas, Identificar e Resolver Riscos
▶ Os riscos para o projeto são identificados e documentados.
▶ Cada risco é analisado e estratégias de mitigação são definidas.
▶ Protótipos podem ser usados para mitigar riscos de requisitos.
▶ Desenvolver e Verificar Produto de Próximo Nível
▶ O modelo de desenvolvimento para o produto é definido.
▶ O produto é efetivamente construído, verificado e validado.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 18 / 23
Modelo Evolucionário IV
▶ Planejar Próxima Fase
▶ O projeto é revisto e os objetivos alcançados são revisados.
▶ A continuidade do desenvolvimento é avaliada.
▶ As metas para próxima fase são traçadas.
Vantagens e Desvantagens
▶ O modelo é aberto, altamente flexível e adaptável a qualquer
situação.
▶ Garante o aproveitamento do que há de bom nos demais
modelos.
▶ Pode criar processos que não fazem sentido para engenharia de
software.
▶ Requer disciplina para não perder o controle do projeto ao
longo da execução.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 19 / 23
Roteiro
1 Introdução
2 Modelos Clássicos
3 Conclusão
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 20 / 23
Pontos Importantes
1. Os modelos de processo de software foram criados para trazer
ordem ao desenvolvimento e fornecer um roteiro para equipes.
2. Modelos clássicos, como o cascata, incremental e evolucionário,
são fundamentais para entender a evolução da Engenharia de
Software.
3. O modelo em cascata é sequencial, com etapas bem definidas,
mas inflexível e com pouca interação com o usuário.
4. O modelo incremental permite entregas parciais e feedback
contínuo, facilitando mudanças, mas pode dificultar o controle
do progresso.
5. O modelo evolucionário (espiral) é flexível, orientado a riscos e
adapta-se a diferentes contextos, mas exige disciplina para não
perder o controle.
6. Compreender as vantagens e limitações de cada modelo é
essencial para escolher o processo mais adequado a cada
projeto.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 21 / 23
Declaração de Uso de IA
Este material foi desenvolvido com apoio de ferramentas de
Inteligência Artificial, utilizadas para redação, organização e geração
de exemplos. Todo o conteúdo foi revisado e validado pelo docente
responsável, que mantém a autoria e a responsabilidade pedagógica.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 22 / 23
Leituras Complementares
R. S. Pressman.
Engenharia de Software.
McGraw-Hill, São Paulo, SP, 6 edition, 2010.
I. Sommerville.
Engenharia de Software.
Pearson Prentice Hall, São Paulo, SP, 9 edition, 2007.
João Pablo (UNIPAMPA/ES) Modelos Clássicos de Processode Software 23 / 23