2
respostas

funcionalidade escolher proposta [continuação]

[Rafael Bonifácio] Não teríamos ainda a funcionalidade " Escolher proposta" como dependente da "Revisar proposta"?

[Wanderson Macêdo] Sim, sim, faz muito sentido o que você está falando, parabéns. Porém, a representação dela no diagrama pode ser omitida por que é implícito que seja necessário escolher uma proposta para poder revisar, concorda?

Wanderson, eu concordo com o Rafael. Acho que na solução que você propôs houve um problema de interpretação da instrução que era: "Cada proposta será revisada pelo BRASOIL para atender os critérios de qualidade e a mais barata será escolhida. Após vencimento a entrega de material será agendado com o fornecedor.". Ou seja, primeiro se revisa a proposta e depois escolhe a mais barata ao contrário do que vc disse que foi: "é implícito que seja necessário escolher uma proposta para poder revisar". Se meu raciocínio estiver correto eu devo manter o caso de uso: "escolher a proposta mais barata"?

Além disso, não consegui fazer uma ligação entre cadastrar o projeto com data de vencimento. E representar que a entrega de material está condicionada ao vencimento da data. Instrução: "Após vencimento (da data) a entrega de material será agendado com o fornecedor".

Fiquei com muita dúvida, será que você poderia me ajudar? Meu diagrama está em: https://pasteboard.co/I2L5JJ5.png

Obrigado

2 respostas

Opa Daniel, excelente pergunta! Obrigado por referenciar a discussão, mas lembra de colocar o link aqui para que as demais pessoas saibam de onde você puxou o assunto por favor?

Bom, se o seu caso de uso quiser deixar explicito de quais são os critérios de revisão, não vejo problema. O problema é que isso deixa seu fluxo muito sensível as mudanças que podem acontecer na visão de negócio.

Particularmente, não vejo vantagem no caso de uso "escolher a proposta mais barata". Já que a escolha parte de uma avaliação manual, ou seja, alguém precisa avaliar. O que pode confundir é a questão "mais barata", que pode ser custo ou preço e há diferença.

Pelo que entendi, existe uma relação de dependência da data de vencimento com o agendamento da entrega. Então me parece correto ligar o sistema ao agendamento, o fornecedor ao agendamento e uma relação de dependência do agendamento com a data de vencimento.

Faz sentido?

Opa Daniel, excelente pergunta! Obrigado por referenciar a discussão, mas lembra de colocar o link aqui para que as demais pessoas saibam de onde você puxou o assunto por favor?

Re: Bem lembrado. O link é: https://cursos.alura.com.br/forum/topico-funcionalidade-escolher-proposta-31027

Bom, se o seu caso de uso quiser deixar explicito de quais são os critérios de revisão, não vejo problema. O problema é que isso deixa seu fluxo muito sensível as mudanças que podem acontecer na visão de negócio.

Re: Essa já é uma visão mais a frente que acho que ainda não possuo, pois estou iniciando o curso. Creio que isso ficará mais claro mais a frente, certo?

Particularmente, não vejo vantagem no caso de uso "escolher a proposta mais barata". Já que a escolha parte de uma avaliação manual, ou seja, alguém precisa avaliar. O que pode confundir é a questão "mais barata", que pode ser custo ou preço e há diferença.

Re: Quer dizer que eu não preciso contemplar tudo que se descreve nas regras de negócio?

Cenário:

A empresa BRASOIL precisa de um sistema para organizar as propostas de fornecedores de material de obra. Nesse sistema o BRASOIL vai cadastrar o projeto com data de vencimento e os fornecedores podem colocar propostas detalhadas. Cada proposta será revisada pelo BRASOIL para atender os critérios de qualidade e a mais barata será escolhida. Após vencimento a entrega de material será agendado com o fornecedor. (https://cursos.alura.com.br/course/introducao-a-uml/task/4405)

Pelo que entendi, existe uma relação de dependência da data de vencimento com o agendamento da entrega. Então me parece correto ligar o sistema ao agendamento, o fornecedor ao agendamento e uma relação de dependência do agendamento com a data de vencimento.

Re: Excelente explicação. Entendi perfeitamente, porém surgiu outra questão: o sistema pode "agendar a entrega de material", mas o fornecedor não. Então eu devo ligar o sistema ao agendamento com uma seta e o fornecedor eu ligaria com um traço sem seta para sinalizar que ele pode ver o agendamento, mas não pode agendar? (estou chutando porque a questão de quando usar cada tipo de traço não foi tratada ainda).

Outra modificação que achei pertinente foi mudar o nome do caso de uso de "data de entrega" para "cadastrar data de vencimento do projeto" por ser uma ação do ator, imagino que deva ficar no infinitivo. Confere?

Ficou assim: https://pasteboard.co/I32ETB3.png