Pessoal, publiquei no blog do professor Walter Cunha, no ano passado, um exemplo de prova discursiva do concurso para o cargo de Analista de Sistemas para o TRE/TO que aconteceu em 2007.

Na época, não tinha meu blog e por isso quero registrá-la aqui. Vamos à ela:

A prova pediu o seguinte:

Uma organização deseja adotar um processo iterativo e incremental de desenvolvimento de software. Nesse processo, no qual se deseja empregar casos de uso, as atividades devem estar distribuídas em fases, com etapas específicas para: captura dos requisitos; análise dos requisitos; projeto; implementação; e teste.

Com base na situação hipotética acima descrita, redija um texto dissertativo, abordando, necessariamente, os seguintes aspectos:

  • descrição do que seja um processo de desenvolvimento iterativo e incremental;
  • potenciais benefícios desse tipo de processo;
  • objetivos e atividades da etapa de captura dos requisitos;
  • objetivos e atividades da etapa de análise dos requisitos;
  • objetivos e atividades da etapa de projeto;
  • objetivos e atividades da etapa de implementação;
  • objetivos e atividades da etapa de teste.

Com base no que foi pedido, fiz uma redação assim:

O processo de desenvolvimento iterativo e incremental é dividido em iterações, onde ao final de cada uma delas é gerado um incremento do software que é um avanço na conclusão do produto. As iterações são pequenos projetos onde existem etapas de fluxos de trabalho como captura dos requisitos, análise dos requisitos, projeto, implementação e teste.

A etapa de captura dos requisitos objetiva o levantamento das funcionalidades que o cliente almeja no sistema. Para alcançar esse objetivo, serão criados casos de usos a partir de entrevistas com os usuários e, através desses artefatos, haverá a identificação de como esse software será utilizado segundo a visão de quem o usará e o desenvolverá. O próximo fluxo de trabalho – análise de requisitos – visa a criação do modelo de análise que possui a função de refinar os requisitos levantados no fluxo anterior com a construção tanto do diagrama conceitual de classe quanto dos diagramas de interações e de estados. A etapa seguinte, chamada de projeto, utiliza o modelo de análise para desenvolver um modelo de projeto onde existe a descrição do sistema em um nível físico. Os requisitos são detalhados dando ênfase à linguagem de programação que será utilizada e também a outros fatores como sistema operacional, de gerenciamento de banco de dados, etc. Grande parte da arquitetura do sistema é definida nesse fluxo.

O modelo de projeto é usado no fluxo de implementação como base para o desenvolvimento do sistema, ou seja, para a criação de componentes, códigos fontes, etc. O que foi desenvolvido na implementação é testado no passo posterior de teste que possui o objetivo de realizar vários testes e analisar o resultado de cada um.

Existem diversos benefícios do processo de desenvolvimento iterativo e incremental. Entre eles, há aqueles que surgem pelo fato do processo ser dividido em iterações: os riscos de custos são reduzidos a um incremento; aceleração do tempo de desenvolvimento e do aumento da garantia de qualidade porque cada iteração os desenvolvedores trabalham mais eficientemente com foco nos resultados de um escopo reduzido; e, se não há uma definição clara dos requisitos, essa divisão do processo ajuda tanto os analistas e desenvolvedores quanto os usuários do sistema, pois a cada incremento os requisitos são refinados.

Queria fazer algumas observações:

  • Não fiz essa redação de cabeça. Alguns pontos tive que consultar. O mais importante para mim é “juntar as peças para montar o quebra-cabeças” da redação. Com tempo, vou aprendendo a fazer as redações de cabeça;
  • Eu consultei os seguintes materiais para fazer a redação:
  1. http://www.ufpa.br/cdesouza/teaching/cedai/APOOUMLP.pdf;
  2. http://www.wthreex.com/rup/ (coloquem em seus favoritos).

Então é isso, galera!

[]s e espero seus comentários sobre minha redação.