Há vários modelos de processo de software, sendo que cada um define um fluxo de processo que invoca cada atividade do desenvolvimento de forma diversa. O modelo ___________, algumas vezes chamado ciclo de vida clássico, é um exemplo de processo dirigido a planos, pois deve-se planejar todas as atividades (estágios) do processo antes de começar a trabalhar nelas. Em princípio, o estágio seguinte não deve ser iniciado até que o estágio anterior seja concluído, mas, na prática, este processo não é um modelo linear simples, envolvendo o feedback de um estágio a outro. Assim, os documentos e artefatos produzidos em cada estágio podem ser modificados para refletirem as alterações em cada um deles. Seu maior problema é a divisão inflexível do projeto em estágios distintos e por isso deve ser usado apenas quando os requisitos são bem compreendidos e é pouco provável que venham a ser radicalmente alterados durante o desenvolvimento. Um segundo exemplo de modelo de processo de software é o modelo de ___________________, que se baseia na construção de protótipos, uma versão simplificada de um sistema de software. Embora possa ser utilizado como um modelo de processo isolado, é comumente utilizado como uma técnica que auxilia os interessados a compreender melhor o que está para ser construído, quando os requisitos estão obscuros. Assinale a alternativa que completa, correta e respectivamente, as lacunas do texto acima.
- A)Cascata (waterfall) – Prototipação
Correta: o primeiro espaço é Cascata (waterfall) e o segundo é Prototipação, exatamente como descreve o enunciado.
- B)Espiral – Prototipação
Errada: Espiral é um modelo iterativo com foco em análise de riscos, não o ciclo de vida clássico descrito no texto.
- C)Espiral – Cascata (waterfall)
Errada: Espiral não corresponde ao modelo linear e dirigido a planos do primeiro trecho.
- D)Espiral – Desenvolvimento Baseado em Componentes
Errada: desenvolvimento baseado em componentes trabalha com reuso e montagem de partes prontas, não com prototipação.
- E)Cascata (waterfall) – Desenvolvimento Baseado em Componentes
Errada: Cascata até combina com o primeiro trecho, mas o segundo não trata de desenvolvimento baseado em componentes.
Gabarito: A
A questão trata de modelos clássicos de processo de software. O primeiro espaço pede o modelo em que as etapas são planejadas antes de começar, com passagem sequencial de uma fase para outra e possibilidade de retorno por feedback: isso descreve o modelo em cascata, também chamado waterfall ou ciclo de vida clássico. Ele aparece muito em livros de Engenharia de Software como o exemplo típico de processo dirigido a planos. Esse modelo funciona melhor quando os requisitos já estão bem conhecidos e tendem a mudar pouco. A ideia é até elegante no papel: análise, projeto, implementação, testes e manutenção seguem uma ordem organizada. O problema é que, na vida real, o software adora mudar de ideia no meio do caminho, e aí a rigidez do cascata vira dor de cabeça. O segundo espaço pede o modelo de prototipação. Ele é baseado na construção de protótipos, ou seja, versões simplificadas do sistema para ajudar o usuário a entender melhor o que será feito. Isso é especialmente útil quando os requisitos estão confusos, incompletos ou com muita dúvida entre os interessados. Por isso o gabarito A está correto: primeiro vem Cascata (waterfall), pelo caráter sequencial e planejado do processo, e depois Prototipação, pelo uso de uma versão simplificada para esclarecer requisitos. Esse é exatamente o tipo de associação cobrada em Engenharia de Software básica, como aparece nas classificações doutrinárias clássicas de modelos de processo.