Ciência da Computação Software Engenharia de Software

A construção de sistemas é difícil devido à sua complexidade. Um fator crucial para gerenciar essa complexidade é o processo adotado para o desenvolvimento. O conjunto básico de atividades e a ordem em que são realizadas nesse processo definem o que é também denominado de ciclo de vida do software. Analise as seguintes informações sobre processos de software:

I- Um modelo de processo de software é uma representação abstrata de um processo; Exemplos de modelos de processo genéricos são o modelo cascata (seqüencial linear, wartefall); espiral e processo unificado (PU ou UP – Unified Process).

 II- O modelo de processo cascata ainda hoje é um dos mais difundidos e tem por característica principal a codificação de uma versão executável do sistema, desde as fases iniciais do desenvolvimento, de modo que o sistema final é incrementalmente construído; daí a alusão à idéia de "cascata".

III- Em um processo de software incremental, o desenvolvimento do sistema é iterativo e partes de sua funcionalidade (denominadas "incrementos") são entregues à medida em que são desenvolvidas; assim, essas entregas parciais tentam priorizar as necessidades mais urgentes do usuário e podem auxiliar a revisão e a melhor definição das partes ainda não entregues.

IV- XP – eXtreme Programming- possibilitou a revolução na forma de desenvolver sistemas em que somente a programação é considerada por pares de desenvolvedores, não sendo necessária documentação e planejamento do software.

Levando-se em conta as quatro afirmações acima, identifique a única alternativa válida:

  • A.

    apenas I, II e III estão corretas.

  • B.

    apenas II, III e IV estão corretas.

  • C.

    apenas I e IV estão corretas.

  • D.

    todas as afirmações estão corretas.

  • E.

    apenas III está correta.