Ajuda - UML - Diagram de Caso e Uso e Classes

Off Topic

08/04/2015

[img]http://arquivo.devmedia.com.br/forum/imagem/423559-20150408-144250.png[/img][img]http://arquivo.devmedia.com.br/forum/imagem/423559-20150408-144305.png[/img]Pessoal, primeiramente agradeço a todos que se dispuserem a me ajudar.

Estou com uma certa dificuldade de fazer o diagrama de caso e uso. Seguinte, fui incubido de fazer um pequeno projeto. Cenário:

Desenvolver um aplicativo que calcule o tempo de serviço registrado em carteira de trabalho. O usuário, ao abrir o aplicativo, informa o nome e a data de nascimento. Confirma esses dados inseridos. Logo após, será solicitado a inserir os tempos de serviços trabalhados. Feito isso, o usuário solicita o cálculo do tempo, sendo direcionado para uma tela de resultado do tempo de serviço calculado.

Então eu criei o seguinte caso: Usuário (ator) ---> Inserir Dados, Processa Dados, Consulta Dados (cada um em balão separado, alinhados verticalmente).

No diagrama de classes coloquei igual no caso de uso, mas com retangulos.

Meu professor disse que meu diagrama de caso de uso só retrata "DADOS". E o meu "diagrama de classes, so trabalha de forma errada a classe "DADOS". E que isto não é um SW...

Onde estou errado? Alguma luz?
Marcelo Silva

Marcelo Silva

Curtidas 0

Respostas

Randrade

Randrade

08/04/2015

Bom, não entendi muito bem a resposta de seu professor, mas vamos lá.


CASO DE USO

Pelo seu cenário, é algo muito simples, pois o usuário só terá duas ações nesse cenário: Cadastrar Dados e Solicitar Cálculo (não entendi muito bem à quem, pois creio que ele irá clicar em OK, e o sistema irá mostrar os dados, rsrs) ambos no infinitivo, ao se tratar de caso de uso. A parte de confirmar dados, processar, caberia mais à um diagrama de sequencia, ou talvez estado, mas não vem ao caso agora.


CASSES

Ao verificar um rapidamente, você teria duas classes: Pessoa e DadosCarteira (os nomes são há meu ver, e pode alterar de acordo que quiser).

Sua classe pessoa teria os dados da pessoa (Nome e a data de nascimento) e a classe DadosCarteira ficaria com os outros dados.
No seu "diagrama", você colocou cada classe como um método, e não é bem assim. Em cada classe, você coloca a "representação do mundo real" (frase clichê), mas a que melhor explica.
No diagrama de classes, você adiciona os métodos, geralmente separado por uma linha, abaixo dos atributos. Porém, na mesma classe, e não criar uma nova.
Mas isso não é uma regra. Tem pessoas que não adicionam os métodos, outras não colocam a cardinalidade ( 1: N, por exemplo).


Caso isso não te ajude a melhorar o que você fez, avise que tento explicar um pouco mais.

Dê uma olhada nestes dois tutoriais, que pode te ajudar a entender melhor.

UML - Diagrama de Classes e objetosUML - Casos de Uso
GOSTEI 0
Marcelo Silva

Marcelo Silva

08/04/2015

Randrade,

É um sistema simples, sim. Tipo calcular o tempo de serviço nos moldes do INSS. Então, o usuário carrega o sistema, insere nome e data de nascimento. Feito isso, o sistema guardará os dados de nome e data de nascimento e exibirá outra tela para o usuário inserir os tempos de serviço prestados em diferentes empresas. Após isso, o usuário clica "OK ou CONFIRMA" para o sistema calcular os dados.

Quanto ao caso e uso...
Então, Randrade, no diagrama de caso e uso seria somente Usuário (ator) e Cadastrar Dados e Solicitar Cálculo? E o consulta dados é desnecessário, uma vez que após o usuário confirmar, o sistema exibe o resultado certo?

Quando ao diagrama de classes...
Esse aqui entendi certinho. Só estou com um pouco mais de dúvidas quando ao caso e uso.

No aguardo.
GOSTEI 0
Randrade

Randrade

08/04/2015

Neste cenário que você descreveu, não.

Em um diagrama de caso de uso, não precisa necessariamente colocar todos os dados de um CRUD( Create, Read, Update, Delete). Neste caso, eu coloquei solicitar cálculo como
um caso. Porém, você pode alterar ele para Calcular Dados, que se encaixa melhor no contexto.

No final, você terá o ator Usuário e os casos Realizar Cadastro, Inserir Dados, Calcular Dados.

OBS.: Eu repeti a palavra dados, pois falta uma palavra melhor para colocar, porém se encontrar alguma, fique à vontade.
GOSTEI 0
Marcelo Silva

Marcelo Silva

08/04/2015

Eu repeti o termo dados também. Mas vou ver outro termo.
Ainda sobre caso e uso...
O ator Usuário fica ligado aos 3 casos: Realizar Cadastro, Inserir Dados e Calcular Tempo, como na primeira figura de caso e uso? O sistema é responsável por calcular o tempo. O usuário apenas "confirma" ou clica "ok". Há problemas de o usuário ficar ligado com esse caso e uso?
GOSTEI 0
Randrade

Randrade

08/04/2015

Neste caso, você pode criar um outro caso de uso, incluindo (includ) no Realizar Cadastro. Pois se ele é obrigado a confirmar os dados, o include se encaixaria nesta situação.
GOSTEI 0
Marcelo Silva

Marcelo Silva

08/04/2015

Não seria include no Inserir Dados? A questão é que o usuário apenas confirma. Quem processa é o sistema. Aí pensei em criar outro ator, o sistema... ou não é necessário?
GOSTEI 0
Randrade

Randrade

08/04/2015

Ele confirma os dados dele (nome, data de nascimento) ou os dados digitados após? O include vai no caso de uso anterior a confirmação.
O sistema não é considerado um Ator. Ator é considerado "...é uma entidade externa (fora do sistema) que interage com o sistema participando (e frequentemente iniciando) um Caso de Uso".
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

08/04/2015

Basicamente:
No diagrama de caso de usos você irá registrar as ações que o usuário terá no sistema.
No diagrama de classes vocês irá definir como serão estruturados os dados que serão armazenados...
GOSTEI 0
Marcelo Silva

Marcelo Silva

08/04/2015

Randrade,

O usuário inicialmente é solicitado a inserir o nome e data de nascimento. Tecla ok. Depois é levado para outra tela em que é solicitado a inserir os dados de tempo de serviço trabalhados, que pode ser uma ou mais empresas. Feito isso ele vai clicar no botão "executar simulação" que será disponibilizado, isto é, o "confirma" na verdade executa a contagem e mostra o resultado; pois, a cada vinculo inserido o sistema grava e o usuário já visualiza, sendo possível adicionar ou incluir vinculos. Compliquei?
GOSTEI 0
Marcelo Silva

Marcelo Silva

08/04/2015

Marisiana,

Agradeço sua contribuição.
GOSTEI 0
Randrade

Randrade

08/04/2015

Se não existe uma tela onde ele confirma os opções digitadas e/ou que pode alterar, não existe uma outra ação, não necessitando assim um novo caso de uso.

É que você complicou um pouquinho mais... kkkkk
GOSTEI 0
POSTAR