Processo iterativo e incremental de desenvolvimento de software.
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 de classes conceituais quanto dos diagrama de interações e de estados. A etapa seguinte, chamado 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, sistema 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 alguns 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 custo são reduzidos a um incremento; aceleração do tempo de desenvolvimento e do aumento da garantia de