Uploaded by rafaelguibsons

Aula Arquitetura e Desenho de SW Modelagem de Casos de Uso

advertisement
SISTEMAS DE INFORMAÇÃO
MODELAGEM E ESPECIFICAÇÃO DE CASOS DE
USO
ARQUITETURA E DESENHO DE SOFTWARE
Prof.ª Me. Juliana Martins de Bessa Ferreira
2024/1
MODELAGEM DE CASOS DE USO (MCU)
 A ferramenta de MCU é o Diagrama de Casos de Uso (DCU)
 DCUDiagrama mais abstrato, flexível e informal da UML – Visão
geral do comportamento do sistema;
 Apresenta o sistema por intermédio de uma perspectiva do
usuário, possibilitando uma compreensão do comportamento
externo;
 Utilizado normalmente nas fases de Levantamento e Análise de
Requisitos do sistema;
 Modelo de análise que apresenta um refinamento dos RF do
sistema em desenvolvimento;
 Possui maior abrangência quando utilizado em conjunto com
protótipos;
 Procura identificar os atores que utilizarão de alguma forma o
2
software, bem como os serviços, ou seja, as opções, que o sistema
disponibilizará aos atores;
2
CONT. MODELAGEM DE CASOS DE USO (MCU)
 O Diagrama de Casos de Uso tem por
objetivo apresentar uma visão externa geral
das funções e serviços que o sistema deverá
oferecer aos usuários, sem se preocupar em
como estas funções serão implementadas.
 O DCU tenta identificar os tipos de usuários
que irão interagir com o sistema, quais papéis
esses usuários irão assumir e quais funções
serão requisitadas por cada usuário específico3
3
COMPONENTES DO DIAGRAMA DE CASOS DE USO
 Atores  Representam os papéis desempenhados pelos
diversos usuários que poderão utilizar de alguma maneira os
serviços e funções do sistema.
- São representados por símbolos de “bonecos magros”,
contendo uma breve descrição logo abaixo do símbolo que
indica qual papel que o ator em questão assume dentro do
diagrama.
4
Gerente
Sistema de Contas
a Pagar e Receber
Medidor de radiação
Cliente
4
CASOS DE USO
Referem-se aos serviços, tarefas e funções que podem ser
utilizadas de alguma maneira pelos usuários do sistema, como
emitir um relatório ou cadastrar a venda de algum produto.
Podem ser classificados em primários (processos importantes
que enfocam um dos requisitos funcionais do software.
Ex: Validar CPF, Consultar CEP) e secundários (refere-se a
processos periféricos. Ex: Manutenção de um cadastro);
São utilizados para expressar e documentar os
comportamentos pretendidos para as funções do sistema;
Em geral, pode-se associar um Caso de Uso a um formulário
do sistema, embora isto não possa ser adotado como uma
regra, já que uma tela do sistema pode abranger vários
formulários do sistema ou constituir-se em apenas uma
5
pequena opção de uma interface, como um botão, por
exemplo;
5
CASOS DE USO - EXEMPLOS
São representados por uma elipse , contendo
dentro de si um texto descrevendo a que
serviço o caso de uso se refere.
Manter Fornecedor
Exemplos de Casos de Uso
6
ASSOCIAÇÕES
Representam as interações ou relacionamentos
entre os Atores que fazem parte do diagrama, entre
os Atores e os Casos de Uso ou os relacionamentos
entre os Casos de Uso e outros Casos de Uso.
Tipos de Relacionamentos:
-
Associação simples
Especialização / Generalização
Inclusão
Extensão
7
7
ASSOCIAÇÃO SIMPLES
No exemplo ao lado o Ator Cliente
utiliza, de alguma forma, o serviço de
Manter Cliente, representado pelo
Caso de Uso e que a informação
referente a este processo trafega nas
duas direções.
Cliente
Manter Cliente
Associação entre um Ator e um Caso de Uso
8
8
GENERALIZAÇÃO / ESPECIALIZAÇÃO COM CASOS DE USO
Forma de Associação entre Casos de Uso na qual existem dois ou
mais Casos de Uso com características semelhantes,
apresentando pequenas diferenças entre si;
Quando tal situação ocorre, costuma-se definir um caso de uso
geral que descreve as características compartilhadas por todos os
9
casos de uso em questão e então relacioná-los com os outros casos
de uso envolvidos, cuja documentação conterá somente as
9
características específicas de cada um.
GENERALIZAÇÃO / ESPECIALIZAÇÃO COM ATORES
10
10
GENERALIZAÇÃO / ESPECIALIZAÇÃO COM ATORES
Generalização/Espec
ialização com atores
e casos de uso
11
11
INCLUSÃO
 Utilizada quando existe um cenário, situação ou rotina comum a
mais de um Caso de Uso.
Quando isto ocorre, a documentação dessa rotina é colocada em um caso de
uso específico para que outros casos de uso utilizem este serviço, evitando
descrever uma mesma sequencia de passos em vários casos de uso.
 Pode ser comparado à chamada de uma sub-rotina ou função,
artifício bastante utilizado na maioria das linguagens de
Programação.
 Representada por uma linha tracejada contendo uma seta
para uma das extremidades que aponta para o Caso de Uso
incluído no Caso de Uso posicionado na outra extremidade da
reta;
 As associações de Inclusão costumam apresentar também um
Esteriótipo contendo o texto “include”, entre dois sinais de
menor(<) e dois sinais de maior(>).
12
Esteriótipo  Serve para destacar um componente ou associação atribuindolhes características especiais em relação a seus iguais.
12
EXEMPLO 01
Imaginemos o seguinte cenário:
Ao cadastrar o funcionário de uma concessionária
de veículos, é necessário realizar a validação do
CPF.
13
EXTENSÃO
 Associações utilizadas para descrever cenários
opcionais de um Caso de Uso;
 Os casos de uso estendidos descrevem cenários que
apenas ocorrerão em uma situação específica se
determinada condição for satisfeita – necessitam de
um teste para determinar se é necessário executar
também o caso de uso estendido ou não;
 Relacionamentos de Extensão representam eventos
que não ocorrem sempre, o que não significa que eles
sejam incomuns;
 Sempre que a associação for do tipo extensão deve
ser utilizado o Esteriótipo “extend”
14
14
EXEMPLO 02
João decidiu comprar alguns produtos online e, ao entrar no site,
resolveu realizar o seu cadastro. No cadastro, deveria informar os
seguintes dados: nome completo, endereço, CPF, RG e Data de
Nascimento.
João percebeu que, para facilitar, o sistema permite que se
consulte o CEP nos sistemas do Correio, onde através do mesmo,
são retornados os dados básicos do endereço, como rua/avenida,
bairro e cidade.
15
Considerando o mesmo cenário do exemplo anterior, em termos de
implementação, qual a diferença considerando as 2 modelagens
abaixo?
A associação entre Cliente o Consultar CEP
representa que a qualquer momento o
cliente pode realizar a consulta do CEP.
16
EXEMPLO 03
Ao editar um documento, o editor pode realizar duas
ações: substituir texto ou corrigir ortografia.
17
EXEMPLO 03
Ao editar um documento, o editor pode realizar duas
ações: substituir texto ou corrigir ortografia.
Para que o documento seja editado, o mesmo deve
possuir até 1000 palavras.
18
EXEMPLO 04
Imaginemos um sistema virtual,
onde o cliente realiza login, adiciona
livros ao carrinho de compras,
visualiza o conteúdo do carrinho de
compras, e conclui o pedido.
O cliente pode visualizar o carrinho
de compras a qualquer momento,
mas ao concluir o pedido, esta ação é
obrigatória.
19
EXEMPLO 04
Documente
o
sistema
anterior,
considerando que, para realizar qualquer
ação, é necessário ter realizado login.
20
EXEMPLO 04 - Mudado
Imaginemos um sistema virtual, onde o cliente
adiciona livros ao carrinho de compras, visualiza
o conteúdo do carrinho de compras, e conclui o
pedido.
O cliente pode visualizar o carrinho de compras
a qualquer momento, mas ao concluir o pedido,
esta ação é obrigatória.
O cliente pode se cadastrar no sistema a
qualquer momento, mas caso não esteja
cadastrado ao concluir o pedido, é necessário
fazê-lo.
Caso o cliente não esteja logado ao concluir o
pedido, o mesmo deverá fazê-lo.
21
Exemplo 04
EXEMPLO 05
Formulário de Login
22
EXEMPLO 06
Imaginemos a parte do sistema onde um
cliente se dirige a um funcionário do
banco e solicita o encerramento de sua
conta bancária.
23
RESTRIÇÕES EM ASSOCIAÇÕES DE EXTENSÃO
 Restrições são compostas por um texto entre chaves e
utilizadas para definir validações, consistências, condições, etc.
 Em se tratando de extensões, às vezes não fica claro qual é
a condição para que um caso de uso estendido seja executado,
assim, pode-se acrescentar uma nota explicativa,
determinando a condição para que o caso de uso seja
executado.
Nota
explicativa
Âncora
24
Essas restrições nada mais são do que regras de negócio
referentes ao processo de encerramento de conta.
25
VAMOS LEMBRAR QUE...
Os Casos de Uso identificam, como já foi dito, as
funções externas do sistema que os usuários
podem utilizar diretamente sem precisar ter
conhecimento do que é realizado internamente
pelas funções requisitadas.
Por esse motivo, normalmente as funções não
são muito detalhadas.
26
26
Vamos exercitar:
Modele os diagramas de casos de uso para os subsistemas descritos
abaixo:
01. Agendamento de consulta médica por telefone. Para
realização do agendamento, é necessário que seja feito um
cadastro prévio do paciente (caso o mesmo ainda não seja
paciente da clínica).
27
Vamos exercitar:
02. Ao realizar uma consulta, o paciente pode necessitar de
agendamento de exames.
28
Vamos exercitar:
03. No clube ALFA, ao ser cadastrado um sócio pode incluir até 3
dependentes.
29
Vamos exercitar:
04. Ao realizar uma reserva no Hotel Fênix, um cliente informa
seu CPF e, caso o mesmo não seja cadastrado ou seja
necessário atualização de seus dados, a atendente realiza tais
procedimentos no ato da reserva.
30
05. (NC-UFPR) A respeito do Diagrama de Casos abaixo, identifique como verdadeiras (V)
ou falsas (F) as seguintes afirmativas:
( ) “Calcular Valores Devidos” será executado sempre que o Auxiliar Administrativo
visualizar o relatório de fornecedores.
( ) Ao visualizar o relatório de fornecedores, a geração do gráfico é opcional.
( ) O detalhamento do funcionamento de um caso de uso pode ser feito por meio de
uma especificação.
( ) Da forma como está especificado, “Auxiliar Administrativo” não irá executar o caso de
uso “Gerar Gráfico”.
( ) Os casos de uso são executados na seguinte sequência: primeiro “Visualizar
Relatório de Fornecedores”, depois “Gerar Gráfico” e depois “Calcular Valores Devidos”.
Assinale a alternativa que apresenta a sequência correta, de cima para baixo.
a)
b)
c)
d)
e)
V–V–V–F–F
F–V–F–V–F
V–V–F–F–V
F–F–V–V–F
V–F–F–F–V
31
Vamos exercitar:
06. SISTEMA DE LOCAÇÃO DE TEMAS PARA FESTAS
INFANTIS
Paulo possui uma empresa de locação de temas para festas infantis.
Ele precisa controlar os aluguéis e para isso quer uma aplicação que
permita cadastrar: o nome e o telefone do cliente, o endereço
completo da festa, o tema escolhido, a data da festa, a hora de início
e o término da festa.
Além disso, para alguns clientes antigos, Paulo oferece descontos.
Sendo assim, é preciso saber o valor realmente cobrado num
determinado aluguel.
Para cada tema, é preciso controlar: a lista de itens que compõem o
tema, caso os mesmos ainda não tenham sido cadastrados, ou seja
necessário atualização (ex: castelo, boneca da Cinderela, bruxa,
etc.), o valor do aluguel e a cor da toalha que deve ser usada com o
tema.
Paulo deseja saber qual funcionário realizou a locação de cada tema.
Fonte: Adaptado de Ana Cristina Melo
Vamos exercitar:
07. Uma locadora de veículos necessita de um sistema
para facilitar o atendimento a seus clientes. Os carros
são classificados por tipo: popular, luxo e utilitário. As
informações que interessam à locadora sobre cada um
dos veículos são: placa do carro, tipo e valor diário do
aluguel.
Os funcionários da locadora são responsáveis pelo
cadastro dos clientes e dos veículos. Eles também
fazem as locações e encerram as mesmas. Há clientes
especiais e comuns. Os especiais (conceito atribuído em
função dos pontos adquiridos nas locações) têm direito a uma
taxa de desconto e um valor de quilometragem extra
nas suas locações. Um cliente é identificado pelo nome,
número do cartão de crédito e data de expiração.
33
7.1. E se no sistema anterior fossem inseridas as Regras de
Negócio especificadas abaixo? O que mudaria na modelagem
do sistema em questão?
RN01: O sistema não deve permitir o cadastro de veículos com
a mesma placa;
RN02: Só poderão realizar locações os motoristas que
estiverem com a CNH ativa;
RN03: Ao finalizar a locação, será necessário consultar no
Sistema do Detran a existência de multa;
RN04: Ao realizar uma locação, será necessário validar se
foram registradas multas em locações anteriores e, caso tenha
havido, não serão atribuídos benefícios;
RN05: O valor da locação deverá ser paga antes da retirada do
veículo, havendo as seguintes formas de pagamento: débito
em conta, cartão de crédito, transferência bancária e boleto
bancário;
RN06: Na entrega e na devolução do veículo deverá ser
preenchido um checklist dos itens do veículo.
34
Vamos exercitar:
08. Estamos criando um serviço de entregas. Nossos
clientes podem nos requisitar a entrega de volumes. Ao
solicitar a entrega, os volumes precisam ser
cadastrados, bem como os clientes, caso não estejam
armazenados na base de dados do sistema. Alguns
volumes são considerados de maior valor por nossos
clientes, e, portanto, eles querem ter tais volumes
segurados durante o transporte. Contratamos uma
companhia de seguro para segurar volumes de valor.
35
Vamos exercitar: Controle de Alimentação dos Animais de um Zoológico
09.O zoológico da cidade de São Carlos aloja uma grande quantidade de
animais. Basicamente tem-se no zoológico: mamíferos, aves e répteis. De
todos esses animais somente para os mamíferos é controlada a alimentação.
Para a alimentação dos mamíferos controla-se a data e hora. É importante
ressaltar que os mamíferos são divididos em aquáticos e terrestres. A
alimentação pode englobar vários alimentos e esses podem estar presentes
em várias alimentações. Para cada alimento constituinte da alimentação
deseja-se armazenar a quantidade em quilos ou litros.
Os alimentos se subdividem em sólidos e líquidos, sendo que para os
líquidos deseja-se controlar uma lista de componentes (nome e sua
formulação). Sabe-se que:
• Uma alimentação só pode ser dada a um e somente um mamífero, mas
um mamífero pode receber várias alimentações.
• Para os animais deseja-se armazenar um número e data de nascimento.
• Para as aves deseja-se armazenar a envergadura.
• Para os répteis deseja-se armazenar características.
• Para o alimento: código e nome.
• Para o alimento sólido: textura.
• Para os mamíferos aquáticos: nome científico.
36
• Para os mamíferos terrestres: local de origem.
EXEMPLOS DE FERRAMENTAS DE MODELAGEM UML
Astah – licença gratuita para estudantes e professores
https://astah.net/products/free-student-license/
ArgoUML
https://argouml.br.uptodown.com/windows
StarUML
http://staruml.sourceforge.net/en/
E VÁRIAS OUTRAS...
37
REFERÊNCIAS
GUEDES, Gilleanes T. A. UML2: Uma Abordagem Prática. 2
ed. São Paulo: Novatec, 2011.
JACOBSON, Ivar. BOOCH, Grady. RUMBAUGH, James. UML GUIA DO USUARIO. 2 ed. Campus, 2006.
BEZERRA, Eduardo. Princípios de análise e projeto de
sistemas UML: Um guia prático para modelagem de
sistemas. 2 ed. Rio de Janeiro, Elsevier: 2006.
38
Download