Capitulo Do Livro 3
Capitulo Do Livro 3
Capitulo Do Livro 3
DE SOFTWARE
Aline Zanin
Conhecer os modelos
tradicionais
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
Introdução
Os modelos clássicos foram criados entre os anos 1970 e 1990 por evolu-
ções ocorridas no desenvolvimento de software para resolver problemas
que representavam barreiras na criação de sistemas de alta qualidade.
O modelo cascata foi um dos primeiros a serem propostos, referenciado
em livros e amplamente conhecido até hoje. Após sua criação, diversos
problemas foram apontados, levando ao surgimento de outros modelos,
como o espiral e o prototipação. Ainda, houve a evolução dos modelos de
ciclo de vida, possibilitando atualmente a utilização de diversos modelos.
Para aprender sobre os modelos atuais, é muito importante entender os
modelos tradicionais, identificar quais foram as evoluções que ocorreram
e o motivo da presença de determinadas características nos modelos
que utilizamos hoje.
Neste capítulo, você adquirirá conhecimentos fundamentais sobre os
modelos de ciclo de vida tradicionais. Para isso, abordaremos os modelos
cascata, espiral e prototipação, apresentando conceitos básicos sobre
eles, além de suas vantagens e desvantagens.
2 Conhecer os modelos tradicionais
1 Modelo cascata
Oficialmente, foi o primeiro modelo de ciclo de vida de desenvolvimento de
software, motivo pelo qual é o mais conhecido entre os profissionais e estu-
dantes da área de desenvolvimento de sistemas, sobretudo de engenharia de
software. O modelo recebe o nome de cascata por ser um processo executado
em sequência, sem que de uma etapa posterior seja possível retornar a uma
etapa anterior — esse fluxo se assemelha ao do funcionamento de uma cascata,
na qual o fluxo da água é contínuo para apenas uma direção.
Também chamado de ciclo de vida clássico, esse modelo sugere uma abor-
dagem sequencial e sistemática para o desenvolvimento de software, come-
çando com a especificação dos requisitos do cliente, avançando pelas fases
de planejamento, modelagem, construção e disponibilização, e culminando
no suporte contínuo do software concluído (Figura 1) (PRESSMAN 2011).
Comunicação
início do projeto Planejamento
estimativas Modelagem
levantamento de requisitos Construção
cronograma análise Entrega
projeto código
acompanhamento entrega
teste
suporte
feedback
2 Modelo prototipação
Assemelha-se ao modelo cascata, considerando que também tem etapas bem
definidas, mas apresenta uma peculiaridade como característica principal: tem
em conta uma prototipação ao início do ciclo de vida. Essa prototipação é feita
após um primeiro contato com o cliente e objetiva que todos os envolvidos
consigam interagir com esse protótipo, tendo uma ideia de como o software
funcionará para aprovar ou sugerir modificações.
4 Conhecer os modelos tradicionais
Protótipo Necessidades
rápido de alteração
Análise
Projeto
Implementação
Manuteção
pós-entrega
Desenvolvimento Descontinuação
Manutenção do produto
3 Modelo espiral
Trata-se de um modelo que busca reunir características dos demais modelos
de ciclos de vida tradicionais, considera também a criação de protótipos e a
execução por fases bem definidas.
Sua principal diferença em relação ao modelo cascata é que o modelo espiral
acrescenta ao cascata uma análise criteriosa de riscos ao início de cada etapa,
beneficiando-se, assim, da principal característica do modelo prototipação,
a criação de protótipos.
Pelo fato de unificar características dos demais modelos, o modelo espiral
também tem vantagens e desvantagens quanto aos outros, pois apresenta
requisitos e etapas bem definidos, mas com um alto custo de execução, por
considerar diversas prototipações, uma para cada fase percorrida.
Criado por Barry Boehm em 1988, o modelo espiral é uma melhoria do mo-
delo incremental e teve seu nome cunhado em virtude de sua representação,
em que cada volta no espiral percorre todas as fases do processo de software
(DIAS, 2019). De acordo com Pressman (2011) e Boehm e Hansen (2001),
o modelo espiral de desenvolvimento é um gerador de modelos de processos
dirigidos a riscos e utilizado para guiar a engenharia de sistemas com muito
software, que ocorre de forma concorrente e tem vários envolvidos. Além disso,
há duas características principais que o distinguem: a primeira consiste em
uma estratégia cíclica voltada para ampliar, de modo incremental, o grau de
definição e a implementação de um sistema, enquanto diminui o seu grau de
risco; e a segunda reside no fato de dispor de uma série de marcos de pontos-
-âncora para garantir o comprometimento dos envolvidos quanto à busca de
soluções de sistema mutuamente satisfatórias e viáveis. O modelo de ciclo
de vida espiral (BOEHM, 1998 apud SCHACH, 2009) pode ser observado
na Figura 3.
6 Conhecer os modelos tradicionais
Custo
acumulado
Avanço
nas etapas
de riscos
Análise
operacional
Protótipo Protótipo Protótipo
Divisão da 1 2 3
Revisão
responsabilidade Plano de levantamento Simulações, modelos e benchmarks
de necessidades
Conceito de
Plano de ciclo
operação Necessidades Projeto do
de vida Projeto
de software produto de
software detalhado
Plano de
desenvolvimento Validação das
necessidades Código
Teste
Plano de de uni-
Verificação e validação
integração dades
do projeto Teste de
e testes
Planejar próxima fase integração
Teste de
aceitação
Implementação
Desenvolver, verificar
produto do próximo nível
Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun-
cionamento foi comprovado no momento da publicação do material. No entanto, a
rede é extremamente dinâmica; suas páginas estão constantemente mudando de
local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade
sobre qualidade, precisão ou integralidade das informações referidas em tais links.