Exercicios Uso Case
Exercicios Uso Case
Exercicios Uso Case
FATEC – OURINHOS
CURSO: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS
DISCIPLINA: ENGENHARIA DE SOFTWARE
2. Considere a seguinte narrativa do caso de uso Realizar Saque. Identifique os erros existentes nesta narrativa.
Construa uma nova versão deste caso de uso que não contenha os erros encontrados.
A operação de um caixa eletrônico tem início a partir de uma sessão em que o cliente seleciona a opção de
realizar saque. O cliente então escolhe uma quantia a ser retirada, a partir de um conjunto de opções de
quantia disponíveis.
O sistema verifica se a conta correspondente tem saldo suficiente para satisfazer a requisição. Senão, uma
mensagem adequada é reportada, o que acarreta na execução da extensão. Se há dinheiro suficiente, os
números da conta e da agência do cliente são enviados ao banco, que aprova ou desaprova a transação.
Se a transação é aprovada, a máquina libera a quantia correspondente e emite um recibo. Se a transação é
desaprovada, a extensão Informar Falha é executada.
O banco é notificado, independentemente de uma transação aprovada ter sido completada ou não pela
máquina. Se a transação é completada, o banco realiza o débito na conta do cliente (Bjork, 1998).
Caso de Uso - Realizar Saque
Objetivo: Este caso de uso possibilita a um cliente realize um saque de um caixa eletrônico
Atores: Cliente, Banco
Pré-Condições: Cliente autenticado
Condição de Entrada: o ator Cliente seleciona a opção realizar
saque Fluxo Principal
1. O sistema pergunta ao Cliente a quantia a ser retirada.
2. O Cliente digita a quantia desejada.[A1]
3. O sistema verifica se a importância requisitada é maior do que a quantia disponível.
4. O saldo é suficiente no caixa [A2]
5. O sistema verifica se a importância desejada pode ser fornecida com as notas existentes no caixa
eletrônico. (R$ 50,00 não podem ser fornecidos se só houver três notas de R$ 20,00).
6. Valores disponíveis [A3]
7. O sistema contata o ator banco para determinar se existe saldo suficiente na conta do Cliente.
8. O banco informa que cliente tem saldo[A4]
9. O sistema inicia uma transação com o ator banco e solicita a retirada da quantia desejada.
10. O banco envia aprovação da transação.[A5]
11. O sistema libera a quantia desejada
12. O sistema emite um recibo para o Cliente
13. O sistema fecha a transação com o ator banco.
14. O sistema envia ao banco um log da transação.
15. O caso de uso se encerra.
Fluxos Alternativos
3. Defina o que significa um ator. O que significa um ator estar associado a um caso de uso por um relacionamento
de comunicação?
Ator:
Atores estão fora do sistema, interagindo com o sistema, dialogando com o sistema.
Um ator define um papel que pode ser desempenhado por um usuário na sua interação com o sistema.
Comunicação:
Significa que existe diálogo entre o ator e o caso de uso.
Considera-se às vezes, erradamente, que a associação de comunicação representa o fluxo de dados. Não é
isso. A associação de comunicação representa um diálogo entre o ator e o sistema, um tipo de canal de
comunicação sobre o qual podem fluir dados em ambas as direções durante o diálogo.
Para entender plenamente o papel definido para um ator, você deve saber em que casos de uso o ator está
envolvido.
Para entender plenamente o alcance de um caso de uso, você deve saber os atores com os quais ele se
comunica.
Atores se comunicam com o sistema por muitas razões, incluindo:
➢ Iniciar um caso de uso. Os casos de uso sempre são iniciados por atores.
➢ Pedir alguns dados armazenados no sistema, os quais então o caso do uso apresenta ao ator.
5. Que tipo de relacionamento é possível entre um ator e um caso de uso? Que tipo de relacionamento pode haver
entre casos de uso? Que tipo de relacionamento pode haver entre atores?
A tabela a seguir exibe as alternativas possíveis entre relacionamentos entre atores e casos de uso em um
diagrama de casos de uso. As células da tabela com um X indicam possibilidade. As células não preenchidas
indicam impossibilidade.
O relacionamento Extend:
O relacionamento extend é usado em casos onde comportamento opcional ou excepcional é inserido em um caso
de uso existente. O propósito original da extensão era fornecer um mecanismo para especificar opções que
pudessem ser adicionadas a um produto existente tais como: adicionar o envio de e-mails por voz a um serviço
telefônico convencional existente. É útil pensar no relacionamento de extensão como um relacionamento de
acréscimo, uma vez que ele sempre acrescenta funcionalidade a um caso de uso existente. A característica
marcante do caso de uso que estende um caso de uso original é que ele não demanda nenhuma alteração no caso
de uso original. Isto significa que o caso de uso estendido deve ser capaz de “se virar sozinho”. Ele deve ser
completo, sem qualquer necessidade de extensões a fim de gerar valor.
As seguintes situações podem dar margem à utilização do extend:
Descrições de características que são opcionais ao comportamento básico do sistema, por exemplo,
características que podem ser adquiridas ou não.
Descrições complexas de erros ou tratamentos de exceções que, de outra forma, iriam
obscurecer o comportamento primário do sistema. Exemplos disso são fluxos alternativos de
tamanho significativo, especialmente aqueles cujo tamanho é maior do que o do fluxo
principal.
Customização do modelo de requisitos para atender a necessidades específicas do usuário. Exemplos
disso são fluxos alternativos que especificam como usuários específicos tratam diferentes condições que
ocorrem dentro de um mesmo caso de uso.
Gerência de escopo e versão. Um exemplo disso são características que não serão introduzidas até as
últimas versões.
Generalização entre Casos de Uso
A generalização entre casos de uso nos permite criar descrições genéricas de comportamento que
podemos especializar para satisfazer necessidades particulares.
7. Considere um sistema de controle de uma biblioteca. Forneça a descrição narrativa para os seguintes casos de
uso: Reservar Livro (situação em que um usuário faz a reserva de um livro), Obter Empréstimo de Livro (situação
em que um usuário pega um exemplar de livro emprestado), Cancelar Reserva (situação em que um usuário
cancela uma reserva) e Devolver Cópia (situação em que um usuário devolve uma cópia anteriormente adquirida).
Caso de Uso - Reservar Livro
Objetivo: Este caso de uso possibilita a um usuário da biblioteca fazer a reserva de um livro. Esta reserva é
efetuada diretamente pelo Usuário usando a Internet.
Ator: Usuário
Pré-Condições: O Usuário é cadastrado na Biblioteca. O Usuário já foi autenticado pelo Sistema.
Condição de Entrada: o ator usuário decide reservar um livro e escolhe a opção
correspondente. Fluxo Principal
1. O sistema exibe formulário com o campo livro e as opções buscar e cancelar
2. Usuário fornece a identificação do livro desejado e escolhe buscar [A1]
3. O sistema localiza o livro desejado [A2]
4. O sistema verifica a disponibilidade de exemplar do livro desejado
5. O sistema exibe mensagem de livro disponível [A3]
6. O sistema verifica o número de reservas em aberto para o usuário (RN01)
7. O sistema efetua a reserva e informa ao usuário o prazo máximo para a retirada do livro (RN02) [A4]
8. O caso de uso se encerra
Fluxos Alternativos
A1 O usuário escolhe cancelar
1. volta para página inicial
2. caso de uso é encerrado
Cancelar Reserva
Objetivo: Este caso de uso possibilita a um usuário cancelar uma reserva. O próprio usuário, usando a Internet, registra
o cancelamento. Ator: Usuário
Pré-Condições: O Usuário é cadastrado na Biblioteca. O Usuário já foi autenticado pelo Sistema.
Condição de Entrada: Opção Cancelar Reserva foi selecionada
Fluxo Principal:
1. O usuário solicita sua lista de reservas
2. O sistema apresenta a lista de reservas[A1]
3. O usuário seleciona a reserva a ser cancelada
4. O sistema pede a confirmação do usuário para cancelar a reserva
5. O usuário confirma o cancelamento[A2]
6. O sistema cancela a reserva
7. O sistema mostra para o usuário a lista de reservas atualizada e oferece ao usuário a opção de
efetuar novo cancelamento ou encerrar o caso de uso.
8. O usuário escolhe a opção efetuar novo cancelamento [A3]
9. Vol
ta para o
passo 2
Fluxo
Alternativo
Volta para o
passo 2 A3: o
usuário
escolhe
encerrar
a. O caso de uso se encerra
Devolver Cópia
Objetivo: O usuário devolve um exemplar em
seu poder Ator: Bibliotecária
Pré-Condições: Bibliotecária identificada. A Bibliotecária tem em mãos o exemplar a ser
devolvido. Condição de Entrada: Opção Devolver cópia foi selecionada
Fluxo Principal:
1. A bibliotecária entra com o código do exemplar
2. O sistema localiza e apresenta o registro do empréstimo
3. A bibliotecária confirma a devolução
4. O sistema registra a devolução
5. O sistema verifica se houve atraso na devolução
6. Sistema exibe mensagem devolução em dia[A1]
7. O sistema verifica a existência de reservas agendadas para o exemplar devolvido
8. Livro sem reservas[A2]
9. O caso
de uso se encerra
Fluxo Alternativo
A1: devolução em atraso
a. O sistema calcula o número de dias em atraso e a multa a ser paga (RN04)
b. O sistema reporta uma mensagem apropriada
c. A bibliotecária registra o pagamento da multa
d. Volta ao passo 7
A2: existem reservas agendadas para o exemplar devolvido
a. Executa o Caso de Uso “Efetivar Reserva Agendada”
b. Volta para o passo 9
Glossário
Empréstimo em Aberto: empréstimo vencido e não devolvido
Dados do Empréstimo: título do livro, código do exemplar, data do empréstimo, data da devolução
Regras de Negócio
7
RN01: Um Usuário não pode ter mais de duas reservas em aberto em seu nome.
RN02: O prazo máximo para a retirada de um livro reservado é de dois dias.
RN03: Um Usuário pode ter no máximo três exemplares em seu poder num determinado instante de tempo.
RN04: A multa a ser aplicada é de R$ 1,00 por dia útil de atraso.
8. Durante a execução de um caso de uso, podem ocorrer exceções. Considere o caso de uso Realizar Pedido, no
qual pode ser que o cliente solicite um produto que está fora de estoque. Como você modelaria tal situação?
Desenhe um diagrama de casos de uso.
9. Construa o modelo de casos de uso para a seguinte situação. Tente identificar também regras de negócio que
se apliquem à situação, de acordo com o texto fornecido.
Uma rede de televisão está requisitando um sistema para gerenciar informações sobre uma de suas
produções televisivas (por exemplo, uma minissérie ou uma novela).
Uma produção televisiva tem uma verba e é composta de cenas. Cenas são escolhidas em uma
determinada seqüência. Cada cena tem uma duração em minutos e é gravada em uma ou mais fitas. Cada
fita possui um número de série e uma capacidade (medida em minutos que podem ser gravados na
mesma). Deseja-se saber em que fita(s) se encontra uma determinada cena. Cada cena pode ter sido
gravada muitas vezes (futuramente, na edição da obra, o produtor selecionará uma
dessas tomadas de cena para compor a versão final da produção televisiva). Deve-se manter o registro de
todas as cenas filmadas, de quais atores e dublês participaram de cada cena. Deseja-se saber também,
que dublê substituiu que ator em cada cena.
Para uma produção televisiva como um todo, deseja-se manter a informação de quais outros funcionários,
os chamados funcionários de apoio, participaram das filmagens. Esses funcionários podem ser de diversos
tipos (câmeras, iluminadores, contra-regras etc.). Além disso, pode haver funcionários de apoio que
exerçam mais de uma função na mesma produção televisiva.
Atores e dublês negociam seus salários individualmente, em cada produção televisiva em que participam.
Os demais funcionários têm um salário fixo por função. É necessário também armazenar essas
informações para ter uma idéia do consumo de recursos em relação à verba.
Após o término de uma obra, o sistema deve produzir um relatório com o valor a ser pago para cada funcionário. O
sistema também deve produzir um relatório de informações sobre as cenas de uma obra televisiva, e sobre que atores,
dublês e demais funcionários participaram dessa obra televisiva
8
10. O seguinte documento de requisitos foi adaptado do livro (Wirfs-Brock et aI, 1991). Leia o texto com atenção. A seguir, elabore
um modelo de casos de uso inicial para o sistema.
O GNU Editor é um editor gráfico interativo. Com ele, usuários podem criar e editar desenhos compostos de linhas,
retângulos, elipses e texto.
Há dois modos de operação do editor. Apenas um modo de operação está ativo em um dado momento.
Os dois modos de operação são: modo de seleção e modo de criação. Quando o modo de seleção está ativado, os
elementos gráficos podem ser selecionados com o cursor do mouse. Um ou mais elementos gráficos podem ser
selecionados e manipulados; se vários elementos gráficos forem selecionados, eles podem ser manipulados como se
fossem um único elemento gráfico. Elementos que tenham sido selecionados desse modo são definidos como a "seleção
atual". A seleção atual é indicada visualmente através da exibição dos pontos de controle para o elemento. Um clique
seguido de um arrasto de mouse sobre um ponto de controle modifica o elemento ao qual o ponto de controle está
associado.
Quando o modo de criação está ativado, a seleção atual está vazia. O usuário pode selecionar um objeto gráfico a partir de
um conjunto de objetos gráficos predefinidos.
A criação de um elemento de texto: a posição do primeiro caractere do texto é determinada pela posição na qual o usuário
clica o botão do mouse. O modo de criação é desativado quando o usuário clica o mouse fora do elemento de texto. Os
pontos de controle para um elemento de texto são posicionados nos quatro cantos da região em que o texto é inserido. O
arrasto desses pontos de controle muda a região.
Os outros elementos que podem ser criados pelo usuário são linhas, retângulos e elipses. O elemento apropriado começa
quando o botão do mouse é pressionado e se completa quando o botão do mouse é liberado. Esses dois eventos criam o
"ponto de partida" e o "ponto de parada"
A "criação de linha" define uma linha do ponto de partida até o ponto de parada. Esses são os pontos de controle. O
arrasto de um ponto de controle modifica o ponto extremo correspondente.
A "criação de retângulo" define um retângulo tal que dois dos cantos do retângulo diametralmente opostos do retângulo
correspondem ao ponto de partida e ao ponto de parada. Os cantos do retângulo formam os pontos de controle. O arrasto de
um ponto de controle modifica o canto correspondente.
A "criação de elipse” define uma elipse que está contida dentro de um retângulo definido pelos dois pontos definidos acima.
O raio maior da elipse é metade do comprimento do retângulo, e o seu raio menor é metade da altura do retângulo. Os
pontos de controle são os cantos do retângulo que contém a elipse. O arrasto de um ponto de controle modifica o canto
correspondente.
Será assumido que o programa deve fornecer uma tela gráfica do diagrama sendo criado, e que um mouse e um teclado
serão utilizados como dispositivos de entrada.
11. Considere a seguinte declaração obtida de um gerente de uma empresa que comercializa livros por correio durante o
levantamento de requisitos para construção de um sistema de software:
"Após a ordem de compra do cliente ter sido registrada, o vendedor envia uma requisição ao depósito com detalhes da
ordem de compra." Quais atores em potencial podem ser identificados a partir desse texto?
12. Em uma empresa, vários projetos são realizados. Os cinqüenta empregados da empresa trabalham em
pelos menos um projeto. Há um sistema implantado na empresa que permite aos participantes de um determinado projeto marcarem
suas horas de trabalho. Esse sistema também permite que outra pessoa, ao fim do mês, gere os relatórios com os totais de horas
trabalhadas de cada participante. Quantos atores você definiria para esse sistema? E quantos papéis?
Na situação descrita neste exercício, pode-se definir um ator denominado Empregado . Este seria o ator no caso de uso Registrar
Horas Trabalhadas. Podemos também criar um ator denominado Gerência que seria o ator no caso de uso Obter Horas
Trabalhadas. O diagrama de casos de uso a seguir ilustra a solução aqui descrita.
13. O TurboNote+ é um programa shareware que permite aos seus usuários criar mensagens de lembrete que permanecem na
área de trabalho de seus computadores. (Esse programa funciona como uma versão eletrônica daqueles bloquinhos de papel cujas
folhas podem ser afixadas na parede.) Ao criar uma nova folhinha no Turbo-Note+, o usuário pode preenchê-la com texto. As
folhinhas podem ser movidas pela área de trabalho, conforme a vontade do usuário. As folhinhas permanecem na área de trabalho.
Toda vez que o usuário inicia o seu computador, as folhinhas estão lá, na área de trabalho. Quando não são mais necessárias, as
folhinhas podem ser removidas. Se o usuário escrever uma expressão aritmética em uma folhinha, o resultado da expressão é
exibido. Desenhe o diagrama de casos de uso para o TurboNote+.
15. Altere os seguintes "nomes de casos de uso" de acordo com as nomenclaturas mais indicadas para isso:
a) Cliente realiza transferência de fundos em um caixa eletrônico.
b) Clientes compram livros na livraria.
c) É produzido um relatório de vendas para o gerente.
d) Hóspede se registra em um hotel.
a. Transferir Fundos Cliente
b. Comprar Livros Usuário
c. Obter Relatório de Vendas Gerência
d. Abrir Estadia Hóspede
20. CONDOMÍNIO
Mariana é síndica do prédio onde mora. A fim de melhor gerenciar o condomínio, ela encomendou uma aplicação a
um amigo. A aplicação deve atender aos seguintes requisitos:
Para um apartamento, devem-se cadastrar: nº de porta, quantidade de quartos, tipo de ocupação (vazio, inquilino
ou proprietário), nome do proprietário e o telefone do proprietário. Um proprietário pode ter mais de um apartamento no
prédio.
Mensalmente, devem ser lançadas as despesas para o condomínio do mês, além das despesas específicas de
um apartamento ou um grupo de apartamentos, como por exemplo: a taxa de salão de festas.
O condomínio é calculado por tipo de apartamento (de acordo com o número de quartos).
Para chegar ao valor pago pelas despesas, têm-se os seguintes passos:
• Verificar o somatório de quartos de todo o prédio.
• Dividir o valor da despesa pelo somatório de quartos e multiplicar pelo número de quartos do apartamento a
ser calculado o valor do condomínio.
Para cada item do condomínio, cadastra-se a referência (março/2011)
O condomínio é pago diretamente com a síndica. Se for pago com atraso, cobra-se multa de 2%. O
condômino pode optar em pagar a multa no mês seguinte. Nesse caso, o percentual passa para 5% e é
lançada como despesa do próximo condomínio. Completa-se, então, para o cadastro de cada condomínio de
apartamento, a data do pagamento e o valor pago.
Desenvolva o Diagrama de Use Case do cenário acima apresentado.
São vários cartões popr semana. Ma hora de confeir é uma loucura. Certa vez, quase que ele confere o cartão errado.
Para resolver isso, ele uer desenvolver uma aplicação que cadastre os cartões apostados e o resultado de um concurso,
apresentando o relatorio final com os n’’umeros acertados por cartão e o valor do premio, se houver.
Desenvolva o Diagrama de Use Case do cenário acima apresentado.