Você está na página 1de 50

Anlise Orientada a Objetos

Casos de Uso Use Cases

Requisito
uma caracterstica do sistema ou a descrio de algo que o sistema capaz de realizar para atingir seus objetivos. O requisito pode ser de

dois tipos:

Funcional: quando descreve uma interao entre o sistema e seu

ambiente. Exemplo: Cadastro do Cliente, Consulta pedidos, etc; ou

No Funcional (tambm chamado de requisito de qualidade):

quando descreve uma restrio do sistema. Exemplo: amigvel, tempo


de resposta de 0,5 segundos, etc.

Requisitos funcionais x Requisitos no-funcionais


Requisitos funcionais

Requisitos no-funcionais
Dizem respeito qualidades que o sistema deve possuir: Legais e regulamentrios, assim como padres de aplicao; Usabilidade, confiabilidade, desempenho e suportabilidade; Interface para poder comunicar com sistemas externos; Restries de design, tais como sistemas operacionais e Ambientes e compatibilidade com outro software.

O que o sistema deve fazer. So mapeados em uma ou mais funcionalidades do sistema.

Objetivos dos Modelos de Casos de Uso

Descrever os requisitos funcionais do sistema de


maneira consensual entre usurios e desenvolvedores

de sistemas;

Fornecer uma descrio consistente e clara sobre as responsabilidades que devem ser cumpridas pelo

sistema, alm de formar a base para a fase de


desenho;

Oferecer as possveis situaes do mundo real para o

teste do sistema.
OBS: Casos de uso NO so requisitos
4

Objetivos dos Modelos de Casos de Uso


Descrever um modelo funcional do sistema. Procura identificar os
usurios e representar o sistema segundo a sua viso. (Deboni,
2003).

Um caso de uso uma descrio narrativa de uma seqncia de


eventos que ocorre quando um ator (agente externo) usa um
sistema para realizar uma tarefa. (Jacobson, 92)

Um conjunto de seqncias de aes que um sistema desempenha


para produzir um resultado observvel de valor a um ator especfico.

Deve ser usado quando se deseja visualizar o comportamento de


vrios objetos dentro de um nico caso de uso.
5

Objetivos dos Modelos de Casos de Uso


Uma unidade coerente de funcionalidade provida por um
sistema, manifestada por uma seqncia de mensagens
trocadas entre o sistema e um ou mais usurios externos (representados como atores), junto com as aes executadas

pelo sistema.

Deve estabelecer um modelo de requisitos do sistema


atravs da identificao de como o mesmo ser utilizado pelos

elementos externos e quais servios deve prover.

Componentes do Modelo de Casos de Uso

Atores, Casos de uso,e Relacionamentos entre os elementos anteriores.

COMPONENTES DO MODELO DE CASOS DE USO

Atores
nome do ator

Um ator sempre um elemento externo (algum ou alguma

coisa) que interage com o sistema.

quem ou o que usa o sistema.

O ator representa um papel, no um usurio individual do

sistema.

Atores podem ser humanos ou sistemas automatizados.

O ator comunica-se com o sistema enviando e recebendo

mensagens.

Atores recebem nomes que refletem o papel que desempenham

no sistema.

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

10

Atores

O sistema ser descrito atravs de vrios casos de uso que so executados por um nmero de atores

O nome dado a um ator deve lembrar o seu papel, ao invs de lembrar

quem o representa.

Um Ator uma classe com um cone padro. Exemplos de atores:


Cliente;
Sistema

de RH;

Gerente;
Atendente; Sistema

de Contas a Pagar;

Scanner; Leitor

tico.
11

Atores

O ator Cliente o mesmo que ator Inadimplente? Se o inadimplente usar o sistema de forma diferente (somente poder consultar novas formas de pagamento) eles so atores diferentes.

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.

No devemos criar ator para cada coadjuvante, temos que identificar um grupo de personagens que desempenham o mesmo papel, por exemplo: Gerente de Projeto e o Coordenador da Equipe acessam as mesmas telas e desempenham o mesmo trabalho no sistema, portanto pertencem ao mesmo grupo de personagens de Gerncia.

12

Como Identificar Atores


Quem usa o sistema? Quem instala/mantm o sistema? Quem inicia/desliga o sistema? Que outros sistemas usam o sistema? Quem recebe informao do sistema? Quem prov informao ao sistema?

OBS: o ator interage com o sistema


13

Atores primrios e secundrios


Um ator pode participar de muitos casos de uso.


Um caso de uso pode envolver vrios atores, o que resulta na classificao dos atores em

primrios ou secundrios.

Ator primrio: aquele que inicia uma seqncia de interaes de um caso de uso.

Ator secundrio: supervisiona, opera, mantm ou auxiliam na utilizao do sistema.


14

Atores - Exemplos
Em

um Consultrio Mdico
Em

uma loja

Mdico

Atendente

Em

uma Biblioteca

Bibliotecrio

Usurio

15

Casos de Uso

Um caso de uso representa uma funcionalidade completa do

sistema, conforme percebida por um ator.

um conjunto de seqncias de aes que um sistema executa,

gerando um resultado observvel que interessa a determinado

ator.

A idia que os casos de uso representem, por meio de

pequenas histrias descritivas, as funcionalidades de um sistema.


Modela o dilogo entre o ator e o sistema. So as funes que o sistema vai desempenhar.

16

Casos de Uso
Os Casos de Uso representam as funes do sistema, ou seja, os

requisitos do sistema sob o ponto de vista do usurio.


Eles mostram as funcionalidades que sero utilizadas pelos usurios

O foco do Caso de Uso est em O QUE o sistema faz e NO COMO o sistema faz

17

Casos de Uso
Representao grfica do Caso de Uso

Nome do Caso de Uso

Uma elipse com o nome do caso de uso no centro

Nome = Verbo + Substantivo (indicao de ao)

18

Exemplos
Restaurante

Matricular aluno

Solicitar histrico

Servir almoo

Cliente

Servir Almoo

Verificar pr-requisitos

Servir jantar

Fornecedor

Comprar bens

19

Exemplos
Exemplo: Sistema Telefnico

Realizar Chamada
Usurio

Manter Agenda

20

Exemplos
Exemplo: Panificadora

Vender Produtos

Balconista Caixa

Receber Pagamento

21

Ponte entre Requisitos e Anlise

22

Como encontrar casos de uso?


Para identificar os Casos de Uso respondemos algumas perguntas como:

Que funes o ator vai querer do sistema? O sistema armazena informaes? Que informaes os
atores iro criar, ler, atualizar ou apagar? O sistema precisa notificar o ator sobre mudanas no seu estado interno?

Existe algum evento externo que o sistema precisa saber? Que ator informa o sistema desses eventos?
23

Casos de Uso: exemplo


Efetuar Depsito

Solicitar Extrato Efetuar Transferncia


Efetuar Saque Validar Saldo
(Esta uma lgica oculta com a qual o usurio final no se preocupa, portanto no qualificada com um Caso de Uso)

24

O que identifica um bom caso de uso?

Normalmente, um comando de utilizao representa uma importante pea de funcionalidade que completa, do inicio ao fim.

Um caso de uso realiza algo de valor ao ator. Casos de uso que tm o mesmo ator e usam as

mesma entidades geralmente podem ser um


nico caso de uso.
25

Casos de Uso

Casos de Uso do tipo CRUD (Create, Read, Update, Delete) por terem comportamentos muito semelhantes geralmente so combinados em um caso de uso que oferea todos os recursos de manuteno.
Incluir Usurio

Manter Usurio

Excluir Usurio

Pesquisar Usurio

Alterar Usurio

26

Relacionamentos
A UML define diversos relacionamentos no modelo de casos de uso que ajudam a descrever os casos de uso. Relacionamentos:

1. Entre atores e casos de uso: associaes;


2. Entre os atores: generalizaes; 3. Entre os casos de uso: Generalizao ou Especializao (_um); extends e includes

OBS: casos de uso podem opcionalmente estar envolvidos por um retngulo que representa os limites do sistema.
27

1. Relacionamentos: Entre um ator e um caso de uso

Associao: Define uma funcionalidade do sistema do ponto de vista do usurio.

28

2. Relacionamentos: Entre atores


Generalizao: Os casos de uso de B so tambm casos de uso de A A tem seus prprios casos de uso

29

3. Relacionamentos: Entre casos de uso

Include Um relacionamento include de um caso de uso A para um caso de uso B indica que B essencial para o comportamento de A. Pode ser dito tambm que B is_part_of A.

30

Relacionamento de incluso

Existe somente entre casos de uso. Em uma linguagem de programao, instrues podem ser agrupadas em uma unidade lgica chamada rotina. Sempre que essas instrues

devem ser executadas, a rotina correspondente chamada.

Quando dois ou mais casos de uso incluem uma seqncia de interaes comum, esta seqncia comum pode ser descrita em um

outro caso de uso.

Evita a descrio de uma mesma seqncia de interaes mais de uma vez e torna a descrio dos casos de uso mais simples.

31

Relacionamento de incluso

Pode ser usada para representar sub-fluxos complexos e


comuns a vrios casos de uso.

O caso de uso includo referenciado no fluxo do caso de

uso que inclui.

O caso de uso A inclui o caso de uso B quando B representa


uma atividade complexa, comum a vrios casos de uso.

O relacionamento de incluso em UML ilustrado com uma linha de generalizao com o rtulo <<include>>.

32

Relacionamento de incluso

Ocorre quando um caso de


uso precisa dos recursos de outro (reduzindo a complexidade de um caso de uso ou evitando repeties)

representado por uma seta


tracejada rotulada com a palavra << include >>.

A seta aponta para o caso de


uso solicitado.
33

Relacionamento de incluso
As propriedades bsicas da incluso so : realizar uma decomposio funcional; reduzir a complexidade de um caso de uso; o caso de uso bsico no pode executar sem a incluso; comportamento comum

34

Exemplo: Sistema de controle de transaes bancrias

Alguns casos de uso deste sistema so Obter Extrato, Realizar Saque e Realizar Transferncia.

H uma seqncia de interaes em comum: a seqncia de interaes para validar a senha do cliente.

35

3. Relacionamentos: Entre casos de uso

Extend Um relacionamento extend de um caso de uso B para um caso de uso A indica que o caso de uso B pode ser acrescentado para descrever o comportamento de A (no essencial). A extenso inserida em um ponto de extenso do caso de uso A.

Ponto de extenso em um caso de uso uma indicao de que outros casos de uso podero ser adicionados a ele. Quando o caso de uso for invocado, ele verificar se suas extenses devem ou no serem invocadas.
36

Relacionamento de extenso

Ocorre quando um caso de


uso precisa de recursos de outro, no sendo vitais para a realizao do mesmo.

representado por uma seta

tracejada rotulada com a


palavra << extends >>.

A seta aponta para o caso de

uso solicitante.

37

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.

38

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: o comportamento definido pelo caso de uso extensor no necessariamente realizado.

39

Relacionamento de extenso
Quando se especifica B extends A, a semntica :

Dois casos de uso so definidos:


A, e A extended by B;

B uma variao de A. Contm eventos adicionais, para certas condies;

Tem que ser especificado onde B inserido em A.

40

Exemplo: um processador de textos

Um dos possveis casos de uso deste sistema pode ser: Editar Documento.

No cenrio tpico deste caso de uso: o ator abre o

documento, modifica-o, salva as modificaes e fecha o


documento.

Em outro cenrio: o ator pode desejar que o sistema faa

uma verificao ortogrfica no documento.

Em outro: ele pode querer realizar a substituio de um fragmento de texto por outro.

41

Exemplo: um processador de textos


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.

42

3. Relacionamentos: Entre casos de uso


Generalizao ou Especializao (_um) Caso de uso B _um caso de uso A B uma especializao de A. A uma generalizao de B, ou

Um relacionamento entre um caso de uso genrico para um mais


especfico, que herda todas as caractersticas de seu pai.

43

Relacionamento de generalizao

Relacionamento no qual o reuso mais evidente.


Este relacionamento permite que um caso de uso herde caractersticas de um caso de uso mais genrico.

O caso de herdeiro pode especializar o comportamento do caso de uso base.

OBS: Pode existir tambm entre dois atores.

44

Generalizao
Gerente um ator
especializado de Funcionrio que gera

relatrios. O caso de uso


Gerar relatrios um

caso de uso mais genrico,


Gerar relatrio financeiro e Gerar
representado por uma seta com ponta sem preenchimento que aponta para o ator ou caso de uso base.

relatrio gerencial so
mais especficos.
45

Relacionamento de generalizao

Na generalizao entre casos de uso, sejam A e B dois casos de uso. Quando B herda de A, as seqncias de comportamento de A valem

tambm para B.

Quando for necessrio, B pode redefinir as seqncias de comportamento de A.

Alm disso, B participa em qualquer relacionamento no qual A participa.


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.

46

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.

47

Exemplo

48

Exemplo

49

Exemplo

50

Você também pode gostar