Um processo de desenvolvimento orientado a objetos

ICONIX é um exemplo de um processo simples de desenvolvimento dirigido por casos de uso. As principais etapas deste processo são:

  1. Obtenção dos casos de uso. Os casos de uso capturam os requisitos da aplicação através da representação dos atores que usam o (ou são usados pelo) sistema e possíveis ações. Eles são descritos sob o ponto de vista do usuário: o que ele pode fazer, como ele interage com o sistema. Os casos de uso são apresentados na forma de diagramas UML de casos de uso para o sistema e descrição textual de cada caso de uso. A descrição textual contempla pelo menos o fluxo de eventos para a execução da ação associada ao caso de uso e os fluxos alternativos, caso alguma situação interrompa o fluxo principal de eventos.
  2. Modelagem do domínio. A partir dos textos associados aos casos de uso, extrair (por uma análise dos substantivos presentes nos textos) os conceitos que serão potencialmente associados a objetos da aplicação. Representar esses conceitos através de um diagrama de classes UML (neste momento, sem atributos ou métodos).
  3. Análise de robustez. Para cada caso de uso, identificar os objetos e os eventos que os relacionam através de um diagrama de robustez. Objetos podem ser de três tipos: de fronteira, de controle ou de entidade. Atores só interagem com objetos de fronteira, que não podem interagir diretamente com objetos de entidade.
  4. Modelagem de interação. Para cada caso de uso, um diagrama de seqüência UML é desenvolvido. Nesta etapa do processo, comportamento (um conjunto de métodos) é atribuído a cada objeto da aplicação.
  5. Especificação do sistema. Com os métodos para cada tipo de objeto já definidos, o diagrama de classe é revisto para incorporar a definição dessa interface operacional a cada classe.

Veja uma descrição mais detalhado deste processo na revista Software Development (Dezembro de 2000 a abril de 2001).