5
Exemplo de Atores
Figura: Exemplos de atores
OsatoresGerente,Funcionário
eClienterepresentamusuários
deumsistema.
Oatorsistemaintegrado
representaumsoftwareque
interagedealgumaformacom
osistema.
Oatormedidorderadiação
representaumhardware
externoqueenviainformações
paraosistema.
6
Componentes do diagrama –Casos de Uso
Oscasosdeusosãoutilizadosparacapturarosrequisitosdo
sistema,ouseja,referem-seaosserviços,tarefasou
funcionalidadesidentificadoscomonecessáriosaosoftwareeque
podemserutilizadosdealgumamaneirapelosatoresque
interagemcomosistema,sendousadosparaexpressare
documentaroscomportamentospretendidosparaasfunções
deste.
Podemserclassificadosemcasosdeusoprimáriosousecundários.
CasodeUsoPrimário:quandorefereaumprocessoimportante,
queenfocaumdosrequisitosfuncionaisdosoftware(realizarum
saque,emitirumextratoemumsistemabancário).
CasodeUsoSecundário:quandoserefereaumprocesso
periférico,comoamanutenção(edição)deumcadastro.
7
Oscasosdeusosãorepresentadosporelipses
contendodentrodesiumtextoquedescreveaque
funcionalidadeocasodeusoserefere.Emgerala
descriçãodevesersucinta.
Oscasosdeusocostumamserdocumentados,
fornecendoinstruçõesemlinhasgeraisdecomoserá
oseufuncionamento,quaisatividadesdeverãoser
executadas,qualeventoforçarasuaexecução,quais
atorespoderãoutilizá-losequaissuaspossíveis
restrições,entreoutras.
Componentes do diagrama –Casos de Uso
8
Exemplos de Caso de Uso
Figura: Exemplos de caso de uso
Entendercomoaorganizaçãotrabalhaecomoestesistemade
informaçõespodeserincorporadonosprocessospodedarumaideiado
ambientedosistema.Amelhormaneiradeencontrarcasosdeusoé
consideraroquecadaatorrequisitadosistema.Paracadaator,pergunte:
Quaissãoosobjetivosqueoatortentaráalcançarcomosistema?
Quaissãoastarefasprimáriasqueoatorquerqueosistemaexecute?
Oatorvaicriar,armazenar,alterar,excluiroulerdadosdosistema?
Oatorteráqueinformarosistemasobremudançasexternas?
Oatorexecutaráainicializaçãooudesligamentodosistema?
Oatorprecisaserinformadosobrecertasocorrências,taiscomo
indisponibilidadedeumrecursoderede,nosistema?
9
Encontrando casos de uso
10
Adocumentaçãodeumcasodeusocostumadescrever,por
meiodeumalinguagembastantesimples,informaçõescomo
afunçãoemlinhasgeraisdocasodeuso,quaisatores
interagemcomele,quaisetapasdevemserexecutadaspelo
atorepelosistemaparaqueocasodeusoexecutesua
função,quaisparâmetrosdevemserfornecidos,que
restriçõesevalidaçõesocasodeusodeveter.
OformatodedocumentaçãodeumcasodeusodaUMLé
bastanteflexível,nãosendorecomendávelautilizaçãode
pseudocódigos.Osformatospropostossão:adescrição
contínua,adescriçãonumeradaeanarrativafragmentada.
Documentação de Caso de Uso
11
Estescasodeusoiniciaquandooclientechegaaocaixa
eletrônicoeinsereseucartão.Osistemarequisitaasenhado
cliente.Apósoclientefornecersuasenhaeestaservalidada,o
sistemaexibeasopçõesdeoperaçõespossíveis.Oclienteopta
porrealizarumsaque.Entãoosistemarequisitaototalaser
sacado.Oclienteforneceovalordaquantidadequedeseja
sacar.Osistemaforneceaquantiadesejadaeimprimeorecibo
paraocliente.Oclienteretiraaquantiaeorecibo,eocasode
usotermina.
Formato –Descrição Contínua
Caso de uso: REALIZAR SAQUE em um caixa eletrônico
12
1)Clienteinsereseucartãonocaixaeletrônico
2)Sistemaapresentasolicitaçãodesenha
3)Clientedigitasenha
4)Sistemavalidaasenhaeexibemenudeoperaçõesdisponíveis
5)Clienteindicaquedesejarealizarumsaque
6)Sistemarequisitaovalordaquantiaasersacada
7)Clienteforneceovalordaquantiaquedesejasacar
8)Sistemaforneceaquantiadesejadaeimprimeorecibo
9)Clienteretiraaquantiaeorecibo,eocasodeusotermina
Formato –Descrição Numerada
Caso de uso: REALIZAR SAQUE em um caixa eletrônico
13
Formato –Narrativa Fragmentada
CLIENTE SISTEMA
Inseri seu cartão no caixa
eletrônico
Apresentaa solicitação da
senha
Digita a senha Validaa senha e exibe menu
de opções
Solicita realização de saqueRequisita a quantia a ser
sacada
Fornece o valor da quantia que
deseja
Fornecea quantia desejadae
imprime o recibo para o
cliente
Retira a quantia e o recibo
Caso de uso: REALIZAR SAQUE em um caixa eletrônico
14
Documentação Caso de uso
Exemplo utilizando
Narrativa Fragmentada
Nome do Caso de Uso Abrir Conta
Ator principal Cliente
Atores secundários Funcionário
Resumo Esse caso de uso descreve as etapas percorridas por um cliente
para abrir uma conta corrente.
Pré-condições O pedido de abertura precisa ter siso previamente aprovado
Pós-condições É necessário realizar um depósito inicial
Fluxo Principal
Ações do Ator Ações do Sistema
1. Solicitar Abertura de conta
2. Consultar cliente por seu CPF ou CNPJ
3. Informar a senha da conta
4. Abrir conta
5. Fornecer valor a ser depositado
6. Registrar depósito
7. Emitir cartão da conta
Restrições/Validações 1. Para abrir uma conta corrente é preciso ser maior de idade
2. O valor mínimo de depósito é R$ 5,00
3. O cliente precisa fornecer algum comprovante de residência
Fluxo Alternativo –Manutenção do Cadastro do Cliente
Ações do Ator Ações do Sistema
1. Se for necessário, Executar caso de uso Manter Cliente
Fluxo de Exceção –Cliente menor de idade
Ações do Ator Ações do Sistema
1. Comunicar ao cliente que este não possui idade mínima
2. Recusar o pedido
Figura: Caso de Uso –Abrir Conta
15
Exemplo 2 para Documentação Caso de uso
<<< Página 01 >>>
<<< Página 02 >>>
<<< Página 03 >>>
17
Associação do tipo –Generalização
Orelacionamentodegeneralização/especializaçãoéuma
formadeassociaçãoentrecasosdeusonaqualexistemdois
oumaiscasosdeusocomcaracterísticassemelhantes,
apresentandopequenasdiferençasentresi.Quandotal
situaçãoocorre,costuma-sedefinirumcasodeusogeralque
descreveascaracterísticascompartilhadasportodososcasos
deusoenvolvidos,cujadocumentaçãoconteráapenasas
característicasespecificasdecadaum.
Utilizamosnestecasooconceitodeherançanoscasosdeuso
especializados.
Érepresentadaporumalinhacomumasetamaisgrossaque
indicaqualéocasodeusogeral(paraoqualasetaaponta).
18
Exemplos -Generalização
Entre casos de uso
Comopodemosperceber,existe3opçõesdeaberturade
contamuitosemelhantesentresi:aberturadeconta
comum,aberturadecontaespecialeaberturadeconta
poupança,cadaumarepresentadaporumcasodeuso
diferente.Cadacasodeusotemrestriçõesevalidações
próprias.
Entre atores
Orelacionamentodegeneralização/especialização
tambémpodeseraplicadosobreatores.Oexemplo
mostraoatorgeralpessoaedoisatoresespecializados
PessoaFísicaePessoaJurídica.
19
Associação do tipo –Inclusão
Aassociaçãodeinclusãocostumaserutilizada
quandoexisteumcenário,situaçãoourotinacomum
amaisdeumcasodeuso.
Orelacionamentodeinclusãoindicamuma
obrigatoriedade,ouseja,quandoumdeterminado
casodeusotemumrelacionamentodeinclusãocom
outro,aexecuçãodoprimeiroOBRIGAtambéma
execuçãodosegundo.
PodesercomparadoachamadadeumaRotinaou
Função,muitoutilizadonaslinguagensde
programação.
Representadoporumalinhatracejada
23
Associação do tipo –Extensão
Associaçõesdeextensãosãoutilizadaspara
descrevercenáriosOPCIONAISdeumcasodeuso.
Oscasosdeusoestendidosdescrevemcenáriosque
apenasocorrerãoemumasituaçãoespecificase
determinadacondiçãoforsatisfeita.
Indicamanecessidadedeumtesteparadeterminar
seénecessárioexecutartambémocasodeuso
estendidoounão.
Representadoporumalinhatracejada
24
Exemplo –Extensão (formulário de login)
Figura: Formulário de Login
Oformulárioaolado
mostraologinondeo
cliente deverá
informarloginesenha
válidosparaacessaro
software.Contudose
eleestiveracessandoo
sitepela1ªvez,existe
ocasodeuso
autoregistrarqueé
chamadoapartirdo
RealizarLogin.
Figura: Caso de uso –Realizar login com extensão
25
Exemplo 2 –Extensão (encerrar conta)
Umcasodeusopodeter
muitosrelacionamentosde
extensão.Nesseexemplo,
umclientedirige-seao
funcionáriodobancoe
solicitaoencerramentode
umadeterminadaconta.
Sabemosqueparaencerrar
umacontaosaldodeveser
igualazero,entãopoderá
serchamadoocasorealizar
saque(contacomsaldo
positivo)ourealizardepósito
(contacomsaldonegativo).
Nestecasooscasosdeuso
serãochamadosseas
condiçõesassociadasaeles
foremverdadeiras e
tambémsomenteumdeles.
Figura: Caso de uso –Encerrando uma conta
26
Restrições em Associações de Extensão
AsRESTRIÇÕESsãocompostasporumtextoentrechavese
utilizadasparadefinirvalidações,consistências,condições,
etc.quedevemseraplicadasaumdeterminadocomponente
ousituação.Sãoasregrasdenegócio.
Podemosacrescentarumarestriçãoàassociaçãodeextensão
pormeiodeumanotaexplicativa,determinandoacondição
paraqueocasodeusosejaexecutado.
Figura: Caso de uso –Realizar login com restrição
27
Comunicação Extensão Inclusão Generalização
CASO DE USO E
CASO DE USO
X X X
ATOR E ATOR
X
CASO DE USO
E ATOR
X
Resumo –Associações
Tabela: Possibilidades de relacionamento entre os elementos do diagrama de Casos de Uso
Comunicação:significaqueoatorinterage(trocainformações)comoosistemaatravésdeumcasodeuso.
Extensão:significaquenorelacionamentodeAparaB,umoumaiscenáriosemBpodemacontecer.
Inclusão:significaquenorelacionamentodeAparaB,semprequeAforexecutadoBtambémserá.
Generalização:significaqueexisteherançaentrecasosdeusosouentreatores.Baseeherdeiro.
28
Resumo –associação de Inclusão e Exclusão
Temosasfuncionalidades(casosdeuso)AeB,imaginamosqueambosestão
relacionados.Vamosaosexemplosparacadasituação.
A-----------include----------->B
INCLUDE:Usoobrigatório,todavezqueocasodeusoAforexecutado,
obrigatoriamenteo B também deverá ser executado.
Ex.:cadastrodepessoafísicaparafinanciamento.Duranteocadastramentoocaso
deuso(CadastrarPessoa)obrigatoriamentedeveráserconsultadooCPFparaliberar
ocrédito,éaondeentraocasodeuso(ConsultarRestritivos).
A<----------extend------------B
EXTENDS:Facultativo,aoexecutarocasodeusoA,nãosetornaobrigatórioa
execuçãodocasodeusoB.
Ex.:dardescontoemparaumacompraemdinheiro.
Naexecuçãodocasodeuso(ControlarVenda)possoounãodardesconto,casoeu
queiradasdescontoexecutoocasodeuso(DefinirDesconto).