Dúvidas sobre Diagramas - UML

Olá, pessoal! Estou desenvolvendo um projeto de sistema para gerenciamento de pedidos e tenho 5 dúvidas em relação à documentação em UML:

1 - Emissão e impressão de relatórios são documentados no Diagrama de Sequência? Li alguns artigos que diziam que não é correto fazer isso.

2 - No Diagrama de Sequência, as mensagens de objeto para objeto e de ator para objeto obrigatoriamente precisam disparar métodos? É que no meu projeto algumas instruções serão feitas diretamente por SQL, sem disparar métodos, como consultar o cliente por exemplo (Select * from cliente where codcliente = ?").

3 - Tenho um caso de uso pai (“Cadastrar Pessoa Jurídica”) e duas classes que herdam dele (“Cadastrar Cliente” e “Cadastrar Fornecedor”). Como ficará a lista de Casos de Uso nessa situação? É correto colocar na lista somente o caso de uso “Cadastrar Pessoa Jurídica” ou tenho que colocar os casos de uso herdados também?

4 - Ter um caso de uso pai “Cadastrar Pessoa Jurídica” também implica existir casos de uso pai para outras operações relacionadas, por exemplo, “Localizar Pessoa Jurídica” e “Emitir Relatório de Pessoas Jurídicas”? Ou para essas operações eu posso separar por “Localizar Cliente” e “Localizar Fornecedor”?

5 - No meu projeto, acontece o seguinte: por exemplo, se o usuário tentar cadastrar um cliente e esse cliente já existir, o sistema busca os dados do cliente para possível alterações ou exclusão dele. O mesmo acontece quando o usuário localiza o cliente: o sistema exibe os dados para possíveis alterações ou para excluir o cliente. Como o processo de alterar e excluir ocorre tanto no “Cadastrar Cliente” quanto no “Localizar Cliente”, é necessário documentá-lo 2 vezes? Isso não fica meio redundante? Eu pensei em documentar somente no “Localizar Cliente”, já que ao cadastrar o cliente o sistema faz uma localização primeiro pra ver se ele existe…

Pessoal, eu não sou nada bom pra explicar cenários, mas tentei detalhar o máximo que pude!
Qualquer coisa eu monto os diagramas pra tentar representar melhor.
Qualquer tipo de ajuda em uma das dúvidas acima será muito bem-vinda.
Obrigado desde já!

Bem, vamos ver as questões…

1 - Se o processo de emissão/impressão realiza alguma interação específica ou incomum, é interessante documentá-la, até mesmo na forma de um diagrama de sequência. Você poderia, i.e., passar os dados consultados para o relatório por um filtro antes de enviá-los aos seus objetos de valor para serem impressos. Caso contrário, um próximo desenvolvedor poderia fazer o ‘óbvio’ e deixar dados sujos e não formatados diretamente para o relatório.

2 - Em OO, mensagem leva ao conceito de comunicação/interação entre instâncias, atores e afins. Isso não leva sempre a execução de um método. Por exemplo, para uma mensagem simples entre atores ou classes, que não levam à execução de um método como um sinal, alerta ou exceção, basta usa uma seta continua com a ponta fina, é uma mensagem simples. Lembrando que a seta tracejada e fina é uma resposta, e a continua e fechada é a invocação do método.

No teu caso, uma autochamada com a seta de mensagem simples seria o suficiente, ao meu ver.

3 - Sim, tem que colocar. Senão, qual seria a função dos casos especializados? É nessa hora que você define o por que da existência de tais casos especializados.

4 - Se os casos de localização ou relatórios das especializações forem muito específicos, como listar um perfil estatístico para um e não para o outro, é bom listá-los. Para os que permanecerem muito semelhante ao Pessoa Jurídica, vale apenas uma observação na descrição textual do caso de uso.

5 - Neste caso você pode ter o caso de localizar e cadastrar normalmente, mostrando que pode haver uma extensão para o UC localizar no caso de cadastrar um cliente existente.

Acho que entendi bem o que gostaria de saber. Mas restando dúvidas só postar novamente que assim que der voltarei.

[]'s

SolloS, muuuuuito obrigado pelas respostas!
Baseada nelas, já dei uma boa adiantada no meu projeto. E está dando tudo certo!
Valeu, mesmo!

Apesar de que tenho certeza que terei mais algumas dúvidas, rsrs.
Qualquer coisa eu volto aqui de novo!

Abraço!

SolloS, muuuuuito obrigado pelas respostas!
Baseada nelas, já dei uma boa adiantada no meu projeto. E está dando tudo certo!
Valeu, mesmo!

Apesar de que tenho certeza que terei mais algumas dúvidas, rsrs.
Qualquer coisa eu volto aqui de novo!

Abraço!