De acordo com Booch, Rumbaugh e Jacobson (2006), um caso de uso especifica o comportamento de um sistema ou de parte de um, referindo-se a serviços, tarefas ou funções apresentadas, como cadastrar funcionário ou emitir relatório de produtos, por exemplo. Segundo Melo (2004), os casos de uso representam conjuntos bem definidos de funcionalidades do sistema, os quais precisam se relacionar com outros casos de uso e com atores que enviaram e receberam mensagens deles.
Com base neste contexto e na leitura do material didático, assinale a alternativa correta que corresponde a exemplos de relacionamentos de inclusão > e de extensão >.
Alternativas
Alternativa 1:
Caso de Uso 'Realizar Compra' há um relacionamento de extensão para o Caso de Uso 'Verificar Estoque' o qual há um relacionamento de inclusão para o Caso de Uso 'Atualizar Estoque';
Alternativa 2:
Caso de Uso 'Consultar Produto' há um relacionamento de inclusão para o Caso de Uso 'Incluir Cesta' o qual há um relacionamento de extensão para o Caso de Uso 'Verificar Disponibilidade';
Alternativa 3:
Caso de Uso 'Definir Pagamento' há um relacionamento de inclusão para o Caso de Uso 'Selecionar Forma Pagamento' o qual há um relacionamento de extensão para o Caso de Uso 'Pagar Cartão';
Alternativa 4:
Caso de Uso 'Cadastrar Cliente' há um relacionamento de extensão para o Caso de Uso 'Verificar Cliente Cadastrado' o qual há um relacionamento de inclusão para o Caso de Uso 'Realizar Cadastro';
Alternativa 5:
Caso de Uso 'Efetuar Login' há um relacionamento de inclusão para o Caso de Uso 'Verificar Usuário' o qual há um relacionamento de extensão para o Caso de Uso 'Autenticar Usuário';
Soluções para a tarefa
Resposta:
A resposta correta seria a alternativa 3 "Caso de Uso 'Definir Pagamento' há um relacionamento de inclusão para o Caso de Uso 'Selecionar Forma Pagamento' o qual há um relacionamento de extensão para o Caso de Uso 'Pagar Cartão'"
Explicação:
Precisamos lembrar que Extensão=Opcional e Inclusão=Obrigatório para resolução desse exercício.
Para 'Realizar Compra' devemos ter produtos no estoque para poder realizar uma compra, portanto 'Verificar Estoque' deve ser uma inclusão;
Não é necessário 'Incluir Cesta' para poder consultar um produto, devendo ser uma extensão e 'Verificar disponibilidade' deveria ser uma inclusão;
'Verificar Cliente Cadastrado' deveria ser uma inclusão do cadastro de 'Cadastrar Cliente';
'Autenticar Usuário' deveria ser uma inclusão de 'Verificar Usuário';
Restando apenas a alternativa 3 já que para 'Definir Pagamento' deve incluir a 'Selecionar Forma de Pagamento' que pode ser 'Pagar Cartão'