REA- Diagramas de Casos de Uso da UML

rogeriocassantarosado 2,008 views 30 slides Aug 20, 2019
Slide 1
Slide 1 of 30
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30

About This Presentation

REA- Diagramas de Casos de Uso da UML


Slide Content

1
Diagramas da UML
Diagrama de casos de uso
Esta é uma Licença de Cultura Livre!
https://creativecommons.org/licenses/by-sa/4.0/

2
Introdução –Diagrama de Caso de Uso
Odiagramadecasodeusoprocurapormeiodeumalinguagem
simples,possibilitaracompreensãodocomportamentoexternodosistema
(emtermosdefuncionalidadesoferecidasporele)porqualquerpessoa,
tentandoapresentarosistemaporintermédiodeumaperspectivado
usuário.
Éodiagramamaisabstrato,eportantoomaisflexíveleinformal.
Costumaserusadosobretudonoiniciodamodelagem,principalmentenas
etapasdelevantamentoeanalisederequisitos.
Servedebaseparaosdemaisdiagramasquesãocriadosposteriormente.
Apresentaumavisãoexternageraldasfuncionalidadesdosistema.
Nãosepreocupacomoasfuncionalidadesserãoimplementadas.
Útilparaidentificarecompreenderosrequisitosdosistema,ajudandoa
especificar,visualizaredocumentarascaracterísticas,funçõeseserviçosdo
sistemadesejadospelosusuários.
Tentaidentificarqueusuáriosvãointeragircomosistema.
Ébastanteútilerecomendávelqueumdiagramadecasodeusoseja
apresentadoaosclientesjuntocomumprotótipo.

3
Componentes do diagrama –Atores
•Odiagramadecasodeusoconcentra-seemdois
itensprincipais:atoresecasosdeuso.
•Osatoresrepresentampapéisdesempenhadospelos
diversosusuáriosquepoderãoutilizar,dealguma
maneira,osserviçosefunçõesdosistema.
•Eventualmenteumatorpoderepresentarum
hardwareespecialoumesmooutrosoftwareque
interajacomosistema.
•Osatoressãorepresentadosporsímbolosde
“bonecosmagros”,contendoumabrevedescrição
logoabaixodoseusímboloqueidentificaopapel
queoatoremquestãoassumedentrododiagrama.

Paraidentificarosatoresquevãoparticipardomodelodevemos
fazerasseguintesperguntas:
Quemoucomoosistemaéiniciado?
Quemfornecerá,usará,ouexcluiráinformaçõesdosistema?
Quemestáinteressadonasfuncionalidadesouserviçosfornecidopelo
sistema?
Quemdarásuporteemanutençãoaosistema?
Quaissãoosrecursosexternosdosistema?
Quaisoutrossistemasprecisarãointeragircomosistemaem
desenvolvimento?
4
Identificando atores

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 >>>

16
Associações
Asassociaçõesrepresentamasinteraçõeseosrelacionamentosentreos
atoresquefazempartedodiagrama,entreosatoreseoscasosdeuso,ou
orelacionamentoentreoscasosdeusoeoutroscasosdeuso.Os
relacionamentosentreoscasosdeusorecebemnomesespeciaiscomo
(inclusão=include,extensão=extendegeneralização).
Umaassociaçãoentreumatoreumcasodeusodemonstraqueoator
utiliza,dealgumamaneira,afuncionalidaderepresentada.
Aassociaçãoérepresentadaporumalinhaligandooatoraocasodeuso,
podendoocorrerdeapareceremsetasnasextremidades,indicandoo
sentidodasinformações.Sealinhanãotiversetasindicaofluxode
informaçõesnasduasdireções.
AfigurailustraoatorClienteutilizando
afuncionalidadedeAbrirContarepresentada
pelocasodeuso,equeainformaçãotrafeganas
duasdireções. AssociaçãoentreumAtoreumCasodeUso

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

20
Exemplo 1 –Inclusão (registrar movimento)
Percebemosquesemprequeumsaqueouumdepositoocorrerdeveserregistradopara
finsdehistóricobancário.Comoessasrotinassãosemelhantes,diferenciandosomente
pelotipodemovimento,colocou-seumarotinaregistroemumcasodeusoaparte,
chamadoRegistrarMovimento.Essecasoseráexecutadoobrigatoriamentesempreque
oscasosdeusoRealizarDepositoouRealizarSaqueforemutilizados.

21
Exemplo 2 –Inclusão (livraria virtual)
Afiguramostrapartedeumamodelagemparaumalivrariavirtual,ondeoclientepode
logar-se,adicionarlivrosaocarrinhodecompras,visualizaroconteúdodocarrinhoe
concluiropedido.Nesseexemplooclientepodesolicitaravisualizaçãodeseucarrinho
decomprassemprequequiser,noentanto,nomomentoemquedecidirconcluiro
pedido,obrigatoriamentedeveráverificaraindaumavezoslivrosporeleescolhidose
forneceraultimaconfirmação.

22
Exemplo 3 –Inclusão (fornecer identificação)
AfiguramostraqueoscasosdeusoObterExtrato,RealizarSaqueeRealizar
Transferênciastemumasequenciadeinteraçõesemcomum:autilizadaparaautenticar
oclientedobancoqueestárepresentadapelocasodeusoFornecerIdentificação.

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).

29
Atividades
Questõesaponderar
Qualaprincipalfunçãodosdiagramasdecasosdeuso?
NaUML,arepresentaçãográficadeumcasodeusocontémqueinformações?
Qualaimportânciadadescriçãodoscasosdeuso?
Atividadeprática
UtilizandoosoftwareAstahCommunity*,desenvolvaumdiagramadecasosdeusoparaum
sistemadeleilãoviainternet,deacordocomosseguintesrequisitos.
Existemdiversosparticipantesemcadaleilão,interessadosemadquirirositens
ofertados.Osparticipantesdevemseregistrarviainternet,antesdeoleilãoiniciar.
Duranteoleilãosãoofertadoscadaumdositensqueestãoarrolados.
Umparticipantepoderealizarquantoslancesquiserdurantearealizaçãodoleilão,
masnãoéobrigadoarealizarlancenenhum.Antesdepoderfazerquaisquerofertas,
eleprecisarealizarologinnosistema.
Semprequeumlancesuplantarolanceanterior,osistemadeveanunciá-lo,
declarandoqualovencedorquandooslancesencerrarem.
*AstahCommunitydisponívelem:http://astah.net/editions/community.Acessodia20/5/2019.

30
Referências Bibliográficas
Bezerra,Eduardo–PrincípiosdeanáliseeprojetodesistemascomUML.3ºEdição.Riode
Janeiro.EditoraElseiver,2015.
Guedes,GillianesT.A.–UML2:umaabordagemprática.SãoPaulo.EditoraNovatec,2009.
Góes,WilsonMoraes–AprendaUMLpormeiodeEstudosdeCasos.SãoPaulo.Editora
Novatec,2004.
Tags