Diagrama de Casos de Uso UML: atores, include e integração
Gabarito: letra C — corretos os itens I, II e IV. O item III está incorreto porque, no diagrama de casos de uso, quem interage com o caso de uso "Envio das informações" é o ator Sistema de Faturamento (um ator externo, representado como sistema), e não o ator Aluno — a associação direta do Aluno é com o caso de uso de matrícula, não com o envio ao sistema de faturamento. A assertiva I está correta pois a generalização entre atores (Administrador especializa Usuário) é uma relação válida e representada por herança; a II está correta pois o relacionamento <<include>> indica obrigatoriedade de execução do caso de uso incluído; e a IV está correta pois o ator Sistema de Faturamento, sendo externo, interage com o caso de uso "Envio das informações", caracterizando integração entre sistemas.
O diagrama de casos de uso é um dos diagramas comportamentais da UML e tem como objetivo representar, em alto nível de abstração, quem (atores) interage com o quê (funcionalidades/casos de uso) dentro de um sistema. Ele não mostra a ordem dos passos nem detalhes internos — apenas o escopo funcional e os limites do sistema. Os elementos principais são: o ator (representado por um boneco-palito ou retângulo com <<actor>>), o caso de uso (elipse com o nome da funcionalidade), a fronteira do sistema (retângulo que delimita o que é interno) e os relacionamentos (associação, generalização, <<include>> e <<extend>>).
A generalização entre atores é uma relação de herança: o ator especializado (filho) herda todas as associações do ator generalizado (pai), podendo ainda ter associações próprias. No caso, o Administrador, sendo especialização do Usuário, herda as interações que o Usuário possui com os casos de uso. Essa é uma forma de evitar redundância no diagrama e representar sobreposição de papéis.
O relacionamento <<include>> é uma relação de dependência entre casos de uso, indicando que o comportamento do caso de uso incluído é obrigatoriamente executado sempre que o caso de uso base for realizado. A seta pontilhada parte do caso de uso base (inclusor) e aponta para o caso de uso incluído, com o estereótipo <<include>>. Por exemplo, se "Realizar Matrícula" inclui "Validar Dados", toda vez que o aluno realiza a matrícula, a validação de dados é executada obrigatoriamente. Já o <<extend>> é opcional: o caso de uso base pode, sob certas condições, ser estendido por outro caso de uso, mas não é obrigatório.
A associação entre ator e caso de uso é a forma de representar que o ator participa da funcionalidade. O ator pode ser uma pessoa ou outro sistema externo. Quando um sistema externo interage com um caso de uso, isso indica integração entre sistemas — o sistema externo é modelado como ator, pois está fora da fronteira do sistema em questão. No diagrama apresentado, o "Sistema de Faturamento" é um ator externo que se associa ao caso de uso "Envio das informações", representando que o sistema de matrícula envia dados de faturamento para esse sistema externo.
A pegadinha da questão está no item III: a banca tenta confundir o aluno fazendo-o acreditar que o Aluno é quem envia os dados ao sistema de faturamento. No entanto, no diagrama, o Aluno está associado ao caso de uso de matrícula (como "Realizar Matrícula"), e o caso de uso "Envio das informações" está associado ao ator Sistema de Faturamento. O Aluno pode até ser o originário dos dados, mas a interação direta com o sistema de faturamento é do sistema externo, não do Aluno. Guarde essa distinção: quem está desenhado com associação ao caso de uso é quem interage diretamente — e atores externos (sistemas) também são atores.
Item | Análise | Correto? |
|---|
I | O ator Administrador é uma especialização do ator Usuário, herdando suas associações com os casos de uso (generalização entre atores). | ✅ |
II | O relacionamento <<include>> indica que o caso de uso incluído é obrigatoriamente executado quando o caso de uso base é realizado. | ✅ |
III | O ator Aluno possui associação direta com o caso de uso "Envio das informações" — incorreto, pois quem interage com esse caso de uso é o ator Sistema de Faturamento. | ❌ |
IV | O ator Sistema de Faturamento (sistema externo) interage com o caso de uso "Envio das informações", caracterizando integração entre sistemas. | ✅ |
Item I — ✅ Correto
A generalização entre atores é uma relação válida e representada por uma linha sólida com um triângulo apontando para o ator mais geral. O Administrador, sendo especialização do Usuário, herda as associações do Usuário com os casos de uso. Isso é exatamente o que a assertiva afirma: "O ator Administrador é uma especialização do ator Usuário, herdando assim suas interações com os casos de uso associados a esse ator." A herança entre atores é um recurso para representar sobreposição de papéis sem repetir associações.
Item II — ✅ Correto
O relacionamento <<include>> entre casos de uso indica que o comportamento do caso de uso incluído é obrigatoriamente executado sempre que o caso de uso base é realizado. A seta pontilhada com o estereótipo <<include>> parte do caso de uso base e aponta para o caso de uso incluído. Essa é a definição clássica do include: obrigatoriedade. Diferente do <<extend>>, que é condicional e opcional.
Item III — ❌ Incorreto
A assertiva afirma que "O ator Aluno possui associação direta com o caso de uso Envio das informações, sendo responsável por enviar dados ao sistema de faturamento." Isso está errado. No diagrama, quem possui associação direta com o caso de uso "Envio das informações" é o ator Sistema de Faturamento, não o Aluno. O Aluno está associado ao caso de uso de matrícula (como "Realizar Matrícula"). A banca troca o sujeito da associação: o Aluno pode ser o originário dos dados, mas a interação direta com o envio ao sistema de faturamento é do sistema externo. O erro está em atribuir ao Aluno uma associação que pertence ao Sistema de Faturamento.
Item IV — ✅ Correto
O ator Sistema de Faturamento, sendo um sistema externo, interage com o caso de uso "Envio das informações", indicando integração entre sistemas. No diagrama de casos de uso, atores podem ser pessoas ou outros sistemas. Quando um sistema externo é modelado como ator, isso representa que ele participa das funcionalidades do sistema em questão, caracterizando integração. A assertiva está correta ao afirmar essa interação.
Conclusão: corretos os itens I, II e IV → portanto a alternativa é a letra C.
Gabarito: letra C