Diagrama de caso de uso de um supermercado

Pessoal,

hoje o professor passou um exercício simples:
Desenhar o caso de uso de um domínio: Supermercado

O que deu tempo de desenhar no quadro:
O cliente;
O caso de uso selecionar itens;
a interação entre cliente e o caso de uso selecionar itens;

De repente ele diz: já errou! tá errado!

mas não disse o porquê.

gostaria que o pessoal me dissesse onde errei.

ver anexo com o desenho completo do que queria representar.

O que eu acho que está errado é o seguinte: como o caso de uso “Selecionar Itens” é apenas um include - e não um caso de uso completo - não deveria haver uma seta apontando do cliente para ele. É uma espécie de sub-rotina do caso de uso comprar, e não é executado diretamente pelo cliente.

Talvez nem mesmo seja necessário separar o Selecionar Itens como um include, já que ele não é reaproveitado por outros casos de uso. Para objetivos acadêmicos tudo bem, serve para exercitar mais conceitos.

E outra coisa que eu consideraria adicionar: será que não falta o operador de caixa também interagindo com o caso de uso Comprar?

Se o seu professor está considerando um sistema para supermercados, tá errado mesmo. Porque no processo de compra por exemplo, o cliente não interage diretamente com o sistema, quem interage é o operador de caixa, e neste caso, ele é quem é o ator do caso de uso.

Outro detalhe que parece que você não entendeu. No diagrama de caso de uso, as elipses representam um caso de uso completo, e não os passos de um caso de uso, lembrando que um caso de uso é uma história completa de uso do sistema por um usuário,e importante: tem valor de negócio. O detalhamento de um caso de uso tem que ser feito por escrito mesmo, não tem outro jeito. O diagrama de caso de uso é interessante quando você deseja mostrar vários casos de uso e como eles se relacionam. Assim, fica fácil de perceber que desenhar um diagrama para um único caso de uso, do ponto de vista prático, é inútil.

Um ponto importante!
Eu mesmo não tinha pensado dessa forma. Imaginei que ele não estava falando de sistema, e sim fazendo um exercício de “caso de uso da vida real”, onde o aluno deveria considerar os casos de uso que são realizados pelas pessoas no supermercado.

[quote=rmendes08]Se o seu professor está considerando um sistema para supermercados, tá errado mesmo. Porque no processo de compra por exemplo, o cliente não interage diretamente com o sistema, quem interage é o operador de caixa, e neste caso, ele é quem é o ator do caso de uso.
[/quote]
Entendi.
Nesse caso, eu tinha entendido que era uma aplicação web.

[quote=rmendes08]
Outro detalhe que parece que você não entendeu. No diagrama de caso de uso, as elipses representam um caso de uso completo, e não os passos de um caso de uso, lembrando que um caso de uso é uma história completa de uso do sistema por um usuário,e importante: tem valor de negócio. O detalhamento de um caso de uso tem que ser feito por escrito mesmo, não tem outro jeito. [/quote]
Acho que também é valido, mas vejo a ideia de estabelecer um formalismo mais ágil como o UML muito útil.

[quote=rmendes08]
O diagrama de caso de uso é interessante quando você deseja mostrar vários casos de uso e como eles se relacionam. Assim, fica fácil de perceber que desenhar um diagrama para um único caso de uso, do ponto de vista prático, é inútil.[/quote]
Eu também não vejo sentido em desenhar um caso de uso com apenas um ator, uma interação e um balão (caso de uso). Por isso tentei adicionar outro balão (selecionar_itens).

Muitíssimo obrigado pelas explicações. Foram muito esclarecedoras.