Você está na página 1de 76

Casos de Uso

Slides extrados do livro:

Princpios de Anlise e Projeto Orientados a Objetos com UML


Eduardo Bezerra Editora CAMPUS
Com adaptaes feitas pelo professor
2

Antes de fazer, decida o que voc quer fazer.

Introduo
O modelo de casos de uso uma

representao

das funcionalidades externamente observveis do sistema e dos elementos externos ao sistema que interagem com o mesmo.

O modelo de casos de uso modela os

requisitos funcionais do sistema.


4

Introduo
O diagrama da UML utilizado na modelagem

de casos de uso o diagrama de casos de uso. Tcnica de modelagem idealizada por Ivar Jacobson, na dcada de 1970. Mais tarde, incorporada ao mtodo Objectory. Posteriormente, a notao de casos de uso foi adicionada UML.
5

Introduo
O

modelo de casos de uso fora os desenvolvedores a moldar o sistema de acordo com o usurio.

Componentes do modelo
O modelo de casos de uso de um sistema

composto de:

Casos de uso Atores Relacionamentos entre os elementos anteriores

Relacionamentos podem ser de:


Generalizao Associao

Casos de uso
Um caso de uso a especificao de uma seqncia de interaes entre um sistema e os agentes externos. uma seqncia de aes que um sistema executa para produzir um resultado de valor observvel por um ator Define parte da funcionalidade de um sistema

sem revelar a estrutura e o comportamento internos deste sistema.

Um modelo de casos de uso tpico formado

de vrios casos de uso.

Casos de uso

Um caso de uso representa quem faz o que (interage) com o sistema, sem considerar o comportamento interno do sistema.

Descries narrativas
Cada caso de uso definido atravs da

descrio narrativa das interaes que ocorrem entre o(s) elemento(s) externo(s) e o sistema.

10

Exemplo de descrio contnua


O Cliente chega ao caixa eletrnico e insere

seu carto. O Sistema requisita a senha do Cliente. Aps o Cliente fornecer sua senha e esta ser validada, o Sistema exibe as opes de operaes possveis. O Cliente opta por realizar um saque. Ento o Sistema requisita o total a ser sacado. O Sistema fornece a quantia desejada e imprime o recibo para o Cliente.

11

Exemplo de descrio numerada


1. 2. 3. 4. 5. 6. 7.

1. Cliente insere seu carto no caixa eletrnico. 2. Sistema apresenta solicitao de senha. 3. Cliente digita senha. 4. Sistema exibe menu de operaes disponveis. 5. Cliente indica que deseja realizar um saque. 6. Sistema requisita quantia a ser sacada. 7. Cliente retira a quantia e recibo.
12

Exemplo de descrio numerada


Cliente
Insere seu carto no caixa eletrnico. Digita senha. Solicita realizao de saque. Retira a quantia e o recibo.

Sistema
Apresenta solicitao de senha. Exibe operaes disponveis. Requisita quantia a ser sacada.

13

Detalhamento
O grau de detalhamento a ser utilizado na

descrio de um caso de uso tambm pode variar.

Um caso de uso sucinto descreve as interaes sem muitos detalhes. Um caso de uso expandido descreve as interaes em detalhes.

14

Cenrios
Um caso de uso tem diversas maneiras de

ser realizado. Um cenrio a descrio de uma das maneiras pelas quais um caso de um pode ser realizado. Um cenrio tambm chamado de instncia de um caso de uso. Normalmente h diversos cenrios para um mesmo um caso de uso.

15

Cenrio Principal
Descreve um seqncia de aes que sero executadas considerando que nada de

errado ocorrer durante a a execuo da seqncia.

o cenrio perfeito

16

Cenrio Principal
Trecho do caso de uso

Emitir Saldo em um terminal de caixa eletrnico


Ator: Correntista 1. O sistema faz a leitura do carto magntico. 2. O sistema solicita a digitao da senha.O correntista informa sua senha. 3. O sistema valida a senha, verificando se a mesma senha que est associada ao correntista. 4. O correntista seleciona a opo de saldo 5. O sistema questiona o tipo de saldo: conta corrente, poupana, investimentos 6. O sistema processa e mostra o saldo solicitado pelo cliente etc 17

Cenrios
Cenrio Perfeito: impossvel tudo ocorrer sem problemas !
O mundo no perfeito, muito menos as

transaes de um sistema. Ento, como podemos representar as excees?

Desenvolver os Cenrios Alternativos !


18

Cenrios Alternativos
Permite uma seqncia diferente de eventos

em relao ao cenrio principal Para cada um destes cenrios atpicos ser definido o fluxo de eventos correspondente. So os casos onde podem ocorrer excees, erros ou qualquer outra ao possvel e diferente.

19

Cenrios Alternativos
1. O sistema faz a leitura do carto magntico

Alternativa: Problemas na leitura do carto

magntico 1a) Se o sistema no conseguir ler os dados do carto magntico, tentar novamente por, no mximo, mais duas vezes. Caso persista o problema, encerrar o caso de uso.

20

Atores
Elemento externo que interage com o sistema.

externo: atores no fazem parte do sistema. interage: um ator troca informaes com o sistema.

Casos de uso representam uma seqncia de

interaes entre o sistema e o ator.

no sentido de troca de informaes entre eles.

Normalmente um agente externo inicia a

seqncia de interaes como o sistema, ou um evento acontece para que o sistema responda.

21

Atores
Categorias de atores: pessoas (Empregado, Cliente, Gerente, Almoxarife, Vendedor, etc); organizaes (Empresa Fornecedora, Agncia de Impostos, Administradora de Cartes, etc); outros sistemas (Sistema de Cobrana, Sistema de Estoque de Produtos, etc). equipamentos (Leitora de Cdigo de Barras, Sensor, etc.)

22

Atores
Um ator corresponde a um papel

representado em relao ao sistema.

O mesmo indivduo pode ser o Cliente que compra mercadorias e o Vendedor que processa vendas. Uma pessoa pode representar o papel de Funcionrio de uma instituio bancria que realiza a manuteno de um caixa eletrnico, mas tambm pode ser o Cliente do banco que realiza o saque de uma quantia.
23

Atores
O nome dado a um ator deve lembrar o seu

papel, ao invs de lembrar quem o representa.

Um ator pode participar de muitos casos de

uso.

Um caso de uso pode envolver vrios atores

24

Identificao dos elementos do modelo de casos de uso


25

Identificao dos elementos do modelo de casos de uso


Os atores e os casos de uso so identificados

a partir de informaes coletadas na fase de levantamento de requisitos do sistema.

Durante esta fase, os analistas devem identificar as atividades do negcio relevantes ao sistema a ser construdo.

No h uma regra geral que indique quantos

casos de uso so necessrios para descrever completamente um sistema. A quantidade de casos de uso a ser utilizada depende completamente da complexidade do sistema.
26

Identificao de atores
Fontes e os destinos das informaes a serem

processadas so atores em potencial.

uma vez que um ator todo elemento externo que interage com o sistema.

O analista deve identificar: as reas da empresa que sero afetadas ou utilizaro o sistema. fontes de informaes a serem processadas e os destinos das informaes geradas pelo sistema.

27

Identificao de atores
Perguntas teis: Que rgos, empresas ou pessoas iro utilizar o sistema? Que outros sistemas iro se comunicar com o sistema a ser construdo? Algum deve ser informado de alguma ocorrncia no sistema? Quem est interessado em um certo requisito funcional do sistema? O desenvolvedor deve ainda continuar a

pensar sobre atores quando passar para a identificao dos casos de uso.

28

Identificao de casos de uso


A partir da lista (inicial) de atores, deve-se

passar identificao dos casos de uso. dois tipos de casos de uso


Nessa identificao, pode-se distinguir entre


Primrio: representa os objetivos dos atores. Secundrio: aquele que no traz benefcio direto para os atores, mas que necessrio para que sistema funcione adequadamente.

29

Casos de uso primrios


Perguntas teis: Quais so as necessidades e objetivos de cada ator em relao ao sistema? Que informaes o sistema deve produzir? O sistema deve realizar alguma ao que ocorre regularmente no tempo? Para cada requisito funcional, existe um (ou mais) caso(s) de uso para atend-lo? Outras tcnicas de identificao: Caso de uso que precede a outro caso de uso. Caso de uso relacionado a uma condio interna. Caso de uso que sucede a outro caso de uso. Caso de uso temporal.
30

Casos de uso secundrios


Estes se encaixam nas seguintes categorias: Manuteno de cadastros. Manuteno de usurios. Manuteno de informaes provenientes de outros sistemas. Importante: Um sistema de software no

existe para cadastrar informaes, nem tampouco para gerenciar os seus usurios.

O objetivo principal produzir algo de valor para o ambiente no qual ele est implantado.
31

Casos de Uso
Trabalhando com um caso real

Sistema de Contas a Pagar


32

Casos de Uso
No levantamento de dados ...
Desejo um pequeno sistema que controle minhas contas a pagar. Deve emitir relatrios gerais ou por tipo de conta, para contas vencidas e a vencer. No futuro, gostaria de total integrao desse sistema com um conjunto de outros sistemas que vou pedir, alm de exportao e importao de arquivos para Palm.

33

Casos de Uso
Pensando nos Casos de Uso ...

Quais so os atores ?

Micro-Empresrio

Secretria

34

Casos de Uso
Existe relacionamento entre os atores?
herda de

Micro-Empresrio

Secretria

Veremos isto com mais calma nas prximas aulas

35

Casos de Uso
Quais as responsabilidades de cada ator ?
* Secretria: - Relatrio de contas a vencer - Relatrio de contas vencidas - Cadastrar tipo de conta

36

Casos de Uso
Quais as responsabilidades de cada ator ?
* Micro-empresrio: todas as tarefas da Secretria + - Lanar conta a pagar - Registrar pagamento de conta - Emitir extrato de lanamentos por perodo
37

Casos de Uso
Descrio dos Casos de Uso

. Cenrio Principal fluxo perfeito, no qual nada ocorre de errado . Cenrios Alternativos alternativas do fluxo ; excees

38

Casos de Uso
Caso de Uso Lanar Conta a Pagar . Cenrio Principal
Ator: Micro-empresrio 1. O usurio informa um tipo de conta. 2. O sistema busca e exibe a descrio do tipo de conta. 3. O usurio informa: 3.1. data de vencimento 3.2. descrio da conta 3.3. valor total a pagar 3.4. valor parcial a pagar

39

Casos de Uso
. Cenrios Alternativos
... 2. O sistema busca e exibe a descrio do tipo de conta ... Tipo de Relacionamento entre Casos de Uso

Tipo de Conta Inexistente

3a. Se o tipo de conta no existir, carregar a consulta de tipos de contas. Extends (Consultar tipos de contas).
40

Exerccios

41

Exerccio
Caso de uso Escreva um caso de uso que mostre uma

solicitao de reserva em um restaurante.

42

Caso de Uso: Ator: Cenrio principal 1.... Cenrios Alternativos


43

Diagrama de casos de uso


44

Diagrama de casos de uso (DCU)


Representa graficamente os atores, casos de

uso e relacionamentos entre os elementos. Tem o objetivo de ilustrar em um nvel alto de abstrao quais elementos externos interagem com que funcionalidades do sistema. Uma espcie de diagrama de contexto.

Apresenta os elementos externos de um sistema e as maneiras segundo as quais eles as utilizam.

Todo diagrama de casos de uso tem pelo

menos um ator

45

Relacionamentos
Casos de uso e atores no existem sozinhos.

Pode haver relacionamentos entre eles.

A UML define diversos tipos de


relacionamentos no modelo de casos de uso:


Comunicao Associao

Incluso Extenso VEREMOS MAIS ADIANTE


46

Generalizao

Notao
A notao para um ator em um DCU a

figura de um boneco

com o nome do ator definido abaixo desta figura.

Cada caso de uso representado por uma

elipse.

O nome do caso de uso posicionado abaixo ou dentro da elipse.

Um relacionamento de comunicao

representado por um segmento de reta ligando ator e caso de uso. Pode-se tambm representar a fronteira do sistema em um diagrama de casos de uso.
47

Relacionamentos de Comunicao
a relao de um ator com o caso de uso

com o qual ele est interagindo.


representada por uma linha slida que

conecta o smbolo de ator ao smbolo de caso de uso.

48

Exemplo (Notao)
Ator Caso deuso

Reservar Livro Usurio

Re lacionam nto e decom unicao

49

Exemplo (Notao)
Ator: algum ou alguma coisa que interage com

o sistema

Um ator representado graficamente por um cone de um homenzinho (stickman)

50

Exemplo (Notao)
Sistema de Vendas de Livros por Correio Vendedor Realizar Pedido

Cliente

Empresa Transportadora

51

Relacionamentos
Casos de uso e atores no existem sozinhos.

Pode haver relacionamentos entre eles.

A UML define diversos tipos de


relacionamentos no modelo de casos de uso:


Comunicao Associao

Incluso Extenso

Generalizao

52

Relacionamentos de Comunicao
a relao de um ator com o caso de uso

com o qual ele est interagindo.


representada por uma linha slida que

conecta o smbolo de ator ao smbolo de caso de uso.

53

Relacionamento de Incluso
uma simples relao de incluso, ou seja, os

cenrios ou situaes possveis detalhados em um caso de uso esto includos em outro caso de uso.
Quando dois ou mais casos de uso tm

comportamento comum - uma seqncia comum de interaes - esse comportamento pode ser modelado ou descrito em um caso de uso separado, que utilizado por outros casos.

54

Relacionamento de Incluso
Na elaborao de um sistema comum que

a mesma funcionalidade do sistema seja acessada por vrios casos de uso.


Por exemplo, a funcionalidade de Validar

Cliente pode ser acessada quando:


um novo cliente estiver sendo cadastrado; um novo pedido estiver sendo feito; ou uma consulta dos pedidos de um cliente for solicitada, etc.
55

Relacionamento de Incluso
Esta relao serve para evitar a repetio

deste caso de uso nos outros casos de uso, onde necessrio tambm Validar Cliente.
Podemos ler da seguinte maneira: o caso de

uso Consultar pedidos de um cliente usa o caso de uso Validar Cliente.


Alm disso, o roteiro de um caso de uso pode

ser alterado por outro caso de uso.


56

Relacionamento de Incluso
Este conceito no novo, podendo ser

comparado ao conceito de sub-rotina ou subprograma e estas so algumas caractersticas das relaes de uso:

Aparecem como funcionalidade comum ao invs de especificar vrios casos de uso; Os casos <<include>> usados so casos de uso por si s, isto , existem primariamente como um caso de uso; O caso de uso <<include>> usado sempre que o caso de uso principal executado. Isto faz a diferena com as extenses, que so opcionais.
57

Criar Pedido <<inclui>> Validar Pedido Cliente <<inclui>>

Alterar Pedido

58

Relacionamento de extenso
Utilizado para modelar situaes onde

diferentes seqncias de interaes podem ser inseridas em um caso de uso.

Sejam A e B dois casos de uso. Um relacionamento de extenso de A para B indica que um ou mais dos cenrios de B podem incluir o comportamento especificado por A. Neste caso, diz-se que B estende A. O caso de uso A chamado de estendido e o caso de uso B de extensor.
59

Relacionamento de extenso
Cada uma das diferentes seqncias representa

um comportamento opcional, que s ocorre sob certas condies ou cuja realizao depende da escolha do ator.

Quando um ator opta por executar a seqncia de

interaes definida no extensor, este executado.

Aps a sua execuo, o fluxo de interaes volta ao caso de uso estendido, recomeando logo aps o ponto em que o extensor foi inserido.

Importante: no necessariamente o

comportamento definido pelo caso de uso extensor realizado.


60

Relacionamento de extenso
Exemplo: considere um processador de

textos. Considere que um dos casos de uso deste sistema seja Editar Documento.
No cenrio principal deste caso de uso, o ator abre o documento, modifica-o, salva as modificaes e fecha o documento. Mas, em outro cenrio, o ator pode desejar que o sistema faa uma verificao ortogrfica no documento. Em outro, o ele pode querer realizar a substituio de um fragmento de texto por outro.
61

Relacionamento de extenso
Interaes de Substituir Texto: 1. Em qualquer momento durante Editar Documento, o ator pode optar por substituir um fragmento de texto por outro. 2. O ator fornece o texto a ser substitudo e o texto substituto. 3. O ator define os parmetros de substituio (substituir somente palavras completas ou ocorrncias dentro de palavras; substituir no documento todo ou somente na parte selecionada; ignorar ou considerar letras maisculas e minsculas). 4. O sistema substitui todas as ocorrncias encontradas no texto.
62

C liente

Solicitar carto de crdito <<exte nd>>

So licita r s egu ro d e vida

63

Relacionamentos entre casos de uso

C a C a d a s D Ve F u n c i o
include
64

extends

Relacionamento de generalizao
Relacionamento no qual o reuso mais

evidente. Este relacionamento permite que um caso de uso (ou um ator) herde caractersticas de um caso de uso (ator) mais genrico. O caso de uso (ator) herdeiro pode especializar o comportamento do caso de uso (ator) base.
Resumo: Pode existir entre dois casos de uso

ou entre dois atores.

65

Relacionamento de generalizao
Vantagem: comportamento do caso de uso

original reutilizado pelos casos de uso herdeiros.

Somente o comportamento que no faz sentido ou diferente para um herdeiro precisa ser redefinido.

66

Relacionamento de generalizao
A generalizao entre atores significa que o

herdeiro possui o mesmo comportamento que o ator do qual ele herda. Alm disso, o ator herdeiro pode participar em casos de uso em que o ator do qual ele herda no participa. Um exemplo: considere uma biblioteca na qual pode haver alunos e professores como usurios.

Ambos podem realizar emprstimos de ttulos de livros e reservas de exemplares. No entanto, somente o professor pode requisitar a compra de ttulos de livros biblioteca.
67

Relacionamento de generalizao Resumo


Relacionamentos:

Generalizao entre casos de uso: significa que um caso de uso filho herda o comportamento e o significado do caso de uso pai O caso de uso filho dever acrescentar ou sobrescrever o comportamento do caso de uso pai

A generalizao representada graficamente por uma linha slida com um tringulo numa das extremidades O tringulo aponta para o caso de uso pai
68

Notao
Os relacionamentos de incluso, extenso e herana so

representados por uma seta direcionada de um caso de uso para outro. esteretipo <<inclui>>.

A seta (tracejada) de um relacionamento de incluso recebe o

A seta (tracejada) de um relacionamento de incluso recebe o

esteretipo <<estende>>. esteretipo.

A seta (slida) de um relacionamento de herana no recebe

69

Notao
Obter Extrato inclui

inclui Realizar Saque Cliente Realizar Transferncia inclui

Fornecer Identificao

70

Notao
estende Substituir Texto

Editar Documento estende Escritor Corrigir Ortografia

71

Generalizao - Atores Notao


Reservar Livro

Devolver Livro Usurio

Solicitar Compra de Ttulo Professor

72

Generalizao - Atores Notao


Atores podem ter relacionamentos de

generalizao entre eles (uma vez representam classes)

que

Cliente

Cliente especial

Cliente regular

73

Notao
Realizar Pagamento Cliente

Realizar Pagamento com Carto de Crdito

Realizar Pagamento com Dinheiro

74

Desenvolva um diagrama de casos de uso

para o problema a seguir:

Quando um cliente compra um eletrodomstico ele se dirige ao caixa da loja para efetuar o pagamento do que foi comprado. O cliente pode pagar vista, no credirio da loja ou com carto de crdito. Para qualquer forma de pagamento a loja realiza uma consulta no SPC para depois emitir a NF de venda.

75

76

Você também pode gostar