Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumo
1 Introdução
1
Pós-graduando em Engenharia de Sistemas na Escola Superior Aberta do Brasil – ESAB.
claudio.amaral@stf.jus.br.
2
2 Desenvolvimento
2004). Para conseguir atingir esse objetivo, o modelo fraciona o trabalho de desenvolvimento
em incrementos, que incorporam alguma funcionalidade necessária para o cliente
(SOMMERVILLE, 2011), considerando apenas parte dos requisitos em cada ciclo. Assim,
cada ciclo produz um incremento do sistema, refinando e estendendo o anterior. Decide-se o
que incluir em cada incremento pelo grau de importância e de risco para o projeto.
Segundo Bezerra (2002), o modelo iterativo e incremental pode ser visto como uma
generalização do modelo cascata, tendo em vista que cada incremento é desenvolvido
seguindo as fases de análise, projeto, codificação e testes.
De acordo com Pfleeger (2004), no desenvolvimento iterativo entrega-se um sistema
completo desde o começo e então se aprimora a funcionalidade de cada subsistema a cada
nova versão. E no desenvolvimento incremental, segundo Bezerra (2002), o sistema é
estendido com mais funcionalidades em versões cada vez mais completas até ficar pronto. As
duas abordagens são combinadas no modelo iterativo e incremental.
Considerando "que o custo de correção na fase inicial seja um décimo do custo para
corrigir um erro semelhante depois que o sistema já foi entregue", como ensina Pfleeger
(2004, p. 7), o modelo considera os requisitos mais arriscados primeiro para evidenciar mais
cedo os problemas e reduzir os custos de correção. Também se incentiva a participação do
usuário no processo de desenvolvimento para diminuir a probabilidade de interpretações
erradas dos requisitos (BEZERRA, 2002).
O modelo iterativo e incremental pode ser analisado a partir da dimensão temporal e
da dimensão de atividade. Na dimensão temporal, pode-se ver que o modelo está estruturado
em fases, cada fase pode passar uma ou mais iterações e cada iteração tem uma duração
preestabelecida. Ao final de cada iteração é produzido um incremento que é parte do sistema
final e que pode, ou não, ser liberado para os usuários. Na dimensão de atividade podem-se
ver as atividades realizadas em uma fase (levantamento de requisitos, análise, projeto,
implementação, testes e implantação), os artefatos que são produzidos ou estendidos
(documentação, executável) e o marco que sinaliza o fim da fase (BEZERRA, 2002).
O modelo iterativo e incremental apresenta diversas vantagens e desvantagens.
Quando comparado ao modelo em cascata, o custo de acomodar mudanças é reduzido;
é mais fácil obter feedback dos clientes; é possível realizar a entrega mais rápida
(SOMMERVILLE, 2011); incentiva a participação do usuário e riscos do desenvolvimento
podem ser mais bem gerenciados (BEZERRA, 2002).
7
será descoberto cedo. Além disso, possui fases bem definidas, que permitem o
acompanhamento objetivo do desenvolvimento (WAZLAWICK, 2013).
O modelo exige, entretanto, competência na avaliação de riscos e depende dessa
competência para ter sucesso; é pouco utilizado (PRESSMAN, 2002); não fornece indicação
da quantidade de trabalho esperada a cada ciclo e aumenta a complexidade da gerência
(WAZLAWICK, 2013).
2.5 Prototipação
que o protótipo será construído para definir os requisitos e, depois, descartado e que um novo
software será submetido à engenharia a fim de buscar qualidade e manutenibilidade.
A prototipação ajuda na comunicação dos requisitos quando estes são difíceis de
explicitar e na especificação ou detalhamento dos requisitos quando isto não é possível sem
ver o software funcionando (WAZLAWICK, 2013). Usuários e desenvolvedores gostam
desse modelo, porque podem ter uma ideia prévia de como ficará o sistema e começam a
codificar imediatamente (PRESSMAN, 2002).
Como realizar mudanças em protótipos é mais fácil do que em sistemas completos, a
prototipação pode ser um meio eficiente de reduzir riscos nos projetos de software (PETERS;
PEDRYCZ, 2001).
Pressman (2002), por sua vez, lembra que existe o risco de liberar para a produção um
produto instável, já que a equipe pode ser pressionada a fazer ajustes no protótipo e liberá-lo
antes de garantir sua qualidade.
Na visão de Wazlawick (2013), esse modelo dificulta a previsão de término do projeto
e a gerência do processo, já que é difícil avaliar quando cada fase foi efetivamente concluída.
3 Conclusão
Referências
PFLEEGER, S.L. Engenharia de Software: Teoria e Prática, 2. ed. São Paulo: Prentice
Hall, 2004.