A Praticidade dos Use Case Maps

por Ademir Barba
Desenvolvedor de Sistemas da Fundação Ezute

Escrevi este texto para auxiliar as pessoas que necessitam de uma ferramenta simples e prática para etapas iniciais de um projeto de sistema: o diagrama de Mapas de Casos de Uso (UCM – Use Case Maps).

Usei esse diagrama em meu trabalho de mestrado para representar o modelo de domínio da solução arquitetural de um sistema baseado em agentes para a adaptabilidade de serviços em IoT (Internet das Coisas).

Segundo Buhr e Casselman (1995), o nome desse diagrama vem do fato de que ele é uma representação visual e uma extensão em alto-nível do diagrama de casos de uso. Apesar disso, a existência dos UCM não depende da existência dos diagramas de casos de uso.

O principal objetivo dos UCM é ajudar as pessoas a se expressarem e raciocinarem sobre o projeto de alto-nível dos padrões de comportamento de grande granularidade de um sistema. Isso significa que esses diagramas não se destinam a fornecer especificações completas do comportamento de um sistema e sim providenciar pistas sobre esse comportamento.

A Figura 1 mostra um exemplo bem simples de UCM. No exemplo, os retângulos representam elementos que compõem o sistema, que podem ser componentes, agentes ou até mesmo objetos. O símbolo X representa uma responsabilidade de um dos elementos do sistema. O círculo pintado representa o ponto de partida de um caminho. Esse ponto de partida é uma pré-condição para início da interação entre os elementos do sistema em um dado cenário. O caminho é a linha que liga as responsabilidades dos elementos do sistema e representa o fluxo de interação entre esses elementos. A linha | é o fim desse fluxo e representa as pós-condições resultantes da interação dos elementos de um sistema em um dado cenário.

Figura 1 – Exemplo de UCM

A Figura 2 exibe o mapeamento desse diagrama para a representação de peças de software de um MAS (Multi-Agent System). Esse mapeamento foi baseado no trabalho de Elammari e Issa (2013).

Figura 2 – Aplicação de um diagrama UCM em um MAS

Fonte: Baseado no trabalho de Elammari e Issa (2013)

A Figura 3 é um exemplo dos diagramas criados na pesquisa mencionada. Ele descreve a interação de um agente de serviço (que atende aos requisitos levantados no trabalho) com os demais agentes do sistema.

Figura 3 – Tarefas relacionadas com a interação de um serviço com seu ambiente

Como é possível notar, esse diagrama é flexível o suficiente para representar diversos níveis e ou elementos de um sistema. Portanto, espero que este texto seja útil para quem esteja procurando um modo simples, fácil e rápido de gerar uma visão conceitual inicial de um sistema complexo, composto de diversas peças de software, sejam elas programas completos, bibliotecas, módulos, objetos, agentes, serviços web, etc.

Referências:

BUHR, R., J., A.; CASSELMAN, R., S. Use Case Maps for Object-Oriented Systems. 1 ed. EUA: Prentice Hall College Div., 1995. cap. 3. pp. 34-55.

ELAMMARI, M.; ISSA, Z. Using Model Driven Architecture to Develop Multi-Agent Systems. Faculdade de Informação e Tecnologia, Universidade de Benghazi, Líbya – The International Arab Journal of Information Technology, V. 10, N. 4, p. 349-355, julho 2013. Disponível em: <http://ccis2k.org/iajit/PDF/vol.10,no.4/4341.pdf>. Acesso em: 12 out. 2015.