Você está na página 1de 62

1

Diagrama de Casos de Uso


Aula 01

Prof. Kleinner Farias

Programa Interdisciplinar de Ps-Graduao


em Computao Aplicada PIPCA
Universidade do Vale do Rio dos Sinos


27/02/14

@KleinnerFarias

Desafio e Contextualizao

27/02/14

@KleinnerFarias

Desafio e Contextualizao
Problema ao:
1) Elicitar os requisitos
2) Especificar os requisitos
3) Validar os requisitos

27/02/14

@KleinnerFarias

Desafio e Contextualizao
Como especificar requisitos de software
de uma maneira adequada?

27/02/14

@KleinnerFarias

ObjeMvos
Compreender conceitos centrais em engenharia
de requisitos
Entender a importncia de casos de uso e quem
usa os casos de uso
Compreender como criar diagrama e
especicao de casos de uso
EsMmular a anlise de situaes coMdianas
vividas por um engenheiro de requisitos
27/02/14

@KleinnerFarias

Agenda

Introduo
Elementos do diagrama de casos de uso
Especicao de casos de uso
Ferramentas de modelagem
Referncias

27/02/14

@KleinnerFarias

Introduo
O que so requisitos de so<ware?
So funcionalidades/servios fornecidos pelo
soYware e as suas restries operacionais.

Quais so os @pos de requisitos?


Requisitos de usurio
Requisitos de sistema
Funcionais, no-funcionais e de domnio

27/02/14

@KleinnerFarias

Introduo
Requisitos de usurio:
So declaraes, em um linguagem natural com
diagramas, de quais servios so esperados do
sistema e as restries sob as quais eles devem
operar
So menos detalhados com os requisitos de
sistema


27/02/14

@KleinnerFarias

Introduo
Requisitos de sistema:
Denem, detalhadamente, as funcionalidades, os
servios e as restries operacionais do sistema
Devem denir exatamente o que deve ser
implementado
Pode ser uMlizado como uma forma de contrato
entre o cliente e o responsvel pelo
desenvolvimento
Conhecido como: especicao funcional

27/02/14

@KleinnerFarias

Introduo
Requisitos funcionais (cont.):
Especicam as funcionalidades que o sistema
deve fornecer, como o sistema deve reagir s
entradas especcas e como o sistema deve se
comportar em determinadas situaes
Denem o que o sistema deve fazer e no deve
fazer

27/02/14

@KleinnerFarias

10

Introduo
Requisitos no-funcionais:
So restries sobre as funcionalidades oferecidas
pelo sistema
Incluem restries de tempo, processo de
desenvolvimento e padres
Geralmente so requisitos transversais, aqueles
que se aplicam, frequentemente, ao sistema
como um todo
Em geral, no se aplicam s caractersMcas ou
servios individuais do sistema
27/02/14

@KleinnerFarias

11

Introduo
Requisitos no-funcionais:
Requisitos de produto
Transio: Portabilidade, Interoperabilidade, reuso
Reviso: manutenabilidade, testabilidade, exibilidade,
modularidade, estabilidade
Operao: ecincia (espao e desempenho),
integridade, correo, e usabilidade

27/02/14

@KleinnerFarias

12

Introduo
Requisitos de produto:
Fatores de Qualidade de SoYware de McCall
Manutenibilidade
Flexibilidade
Testabilidade

Portabilidade
Reuso
Interoperabilidade

Reviso do Transio
Produto
do Produto

Operao do Produto
Correo Conabilidade
Usabilidade Integridade
Ecincia

Introduo
Requisitos no-funcionais:
Requisitos organizacionais
Padres de implementao
Padres organizacionais

Requisitos externos
Mcos
Interoperabilidade
Legais: privacidade e segurana

27/02/14

@KleinnerFarias

14

Introduo
Requisitos de domnio:
So aqueles provenientes do domnio da aplicao
do sistema e que reetem as caractersMcas e as
restries desse domnio
Podem ser considerados funcionais ou no
funcionais

27/02/14

@KleinnerFarias

15

Introduo
Por que usar Casos de Uso? Qual a sua
importncia?
Descrevem como os usurios interagem com o
sistema (as funcionalidades do sistema)
Facilitam a organizao dos requisitos de um
sistema
Do uma viso externa do sistema
Exercem um papel crucial na anlise e projeto de
sistemas
27/02/14

@KleinnerFarias

16

Introduo
Por que usar Casos de Uso? Qual a sua
importncia?
Os casos de uso devem ser capazes de comunicar
a funcionalidade e o comportamento do sistema
para o cliente
So essenciais durante a fase validao dos
requisitos e implementao
Descrevem o que o sistema faz, mas NO
especicam como isso deve ser feito
27/02/14

@KleinnerFarias

17

Introduo
Casos de uso no Processo Unicado

27/02/14

@KleinnerFarias

18

Introduo
Quem so os usurios? Por que ele u@lizam?
Usurio do
Sistema
Gerentes

Especicam e leem os requisitos para vericar se eles


atendem s suas necessidades
Usam para planejar um pedido de proposta para o
sistema e planejar o processo de desenvolvimento

Engenheiros
de SoYware

Usam para compreender qual sistema ser


desenvolvido

Engenheiros
de Teste

Usam os requisitos para desenvolver testes para o


sistema

Engenheiros
de Manuteno
27/02/14

Usam os requisitos para compreender o sistema e os


relacionamentos entre suas partes
@KleinnerFarias

19

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

27/02/14

@KleinnerFarias

20

Elementos Diagrama de Casos de Uso


Atores
Representam os papis desempenhados por
elementos externos ao sistema
Ex: humano (usurio), disposiMvo de hardware ou
outro sistema (cliente)

Elementos que interagem com o sistema


Notao:

Secretria
(from Use Case View)
27/02/14

Diretor

Sistema de
Relatrios

(from Use Case View) (from Use Case View)


@KleinnerFarias

21

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando os atores

Uma loja de CDs possui discos para venda. Um cliente pode comprar uma
quanMdade ilimitada de discos para isto ele deve se dirigir loja. A loja possui
um atendente cuja funo atender os clientes durante a venda dos discos. A
loja tambm possui um gerente cuja funo administrar o estoque para que
no faltem discos. Alm disso ele quem d folga ao atendente, ou seja, ele
tambm atende os clientes durante a venda dos discos.
Loja de CDS

27/02/14

@KleinnerFarias

22

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando os atores

Uma loja de CDs possui discos para venda. Um cliente pode comprar uma
quanMdade ilimitada de discos para isto ele deve se dirigir loja. A loja possui
um atendente cuja funo atender os clientes durante a venda dos discos.
A loja tambm possui um gerente cuja funo administrar o estoque para
que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja,
ele tambm atende os clientes durante a venda dos discos.
Loja de CDS

27/02/14

@KleinnerFarias

23

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando os atores







Gerente

Atendente

(from Use Case View)

(from Use Case


Loja dView)
e CDS

E o cliente?
No ator pois ele no interage
com o sistema!

27/02/14

@KleinnerFarias

24

Elementos Diagrama de Casos de Uso


Situao CoMdiana: Iden8cando os atores







Quais sero os atores do sistema do caixa eletrnico


do Banco do Brasil?

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

27/02/14

@KleinnerFarias

26

Elementos Diagrama de Casos de Uso


Caso de Uso
Representa uma funcionalidade do sistema
(um requisito funcional)
iniciado por um ator ou por outro caso de uso
Dicas:
Nomeie os casos de uso iniciando por um verbo

Notao:
Nome do Caso de Uso

27/02/14

@KleinnerFarias

27

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando os UC

Uma loja de CDs possui discos para venda. Um cliente pode comprar uma
quanMdade ilimitada de discos para isto ele deve se dirigir loja. A loja possui
um atendente cuja funo atender os clientes durante a venda dos discos.
A loja tambm possui um gerente cuja funo administrar o estoque para
que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja,
ele tambm atende os clientes durante a venda dos discos.
Loja de CDS

27/02/14

@KleinnerFarias

28

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando os UC


Vender CDs

Loja de CDS

Administrar estoque

27/02/14

@KleinnerFarias

29

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

27/02/14

@KleinnerFarias

30

Elementos Diagrama de Casos de Uso


Relacionamento de associao
Indica que h uma interao (comunicao) entre
um caso de uso e um ator
Um ator pode se comunicar com vrios casos de uso

Dicas:
NO use setas nas associaes
Associaes NO representam uxo de informao

Notao:
interao
Ator

(from Use Case View)

(from Use Case View)


27/02/14

Caso de Uso

@KleinnerFarias

31

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs IdenMcando associaes

Uma loja de CDs possui discos para venda. Um cliente pode comprar uma
quanMdade ilimitada de discos para isto ele deve se dirigir loja. A loja possui
um atendente cuja funo atender os clientes durante a venda dos discos.
A loja tambm possui um gerente cuja funo administrar o estoque para
que no faltem discos. Alm disso ele quem d folga ao atendente, ou seja,
ele tambm atende os clientes durante a venda dos discos.
Loja de CDS

27/02/14

@KleinnerFarias

32

Elementos Diagrama de Casos de Uso


Relacionamento de associao
Vender CDs

Atendente

Administrar estoque

Gerente

27/02/14

@KleinnerFarias

33

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

27/02/14

@KleinnerFarias

34

Elementos Diagrama de Casos de Uso


Relacionamento de generalizao
Generalizao de atores
Quando dois ou mais atores podem se interagir/comunicar
com o mesmo conjunto de casos de uso
Um lho (herdeiro) pode se comunicar com todos
os casos de uso que seu pai se comunica

Dica: coloque os herdeiros embaixo


Notao:


27/02/14

@KleinnerFarias

35

Elementos Diagrama de Casos de Uso


Iden@cando generalizao de atores

Vender CDs

Atendente

Administrar estoque

Gerente

27/02/14

@KleinnerFarias

36

Elementos Diagrama de Casos de Uso


Relacionamento de generalizao
Generalizao de casos de uso
O caso de uso lho herda o comportamento e o signicado do caso de
uso pai
O caso de uso lho pode incluir ou sobrescrever o comportamento do
caso de uso pai
O caso de uso lho pode subsMtuir o caso de uso pai em qualquer lugar
que ele aparea

Dica: deve ser aplicada quando uma condio resulta na


denio de diversos uxos alternaMvos.
Notao:

27/02/14

Pai

Filho 1

@KleinnerFarias Filho 2

37

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs IdenMcando
generalizao de casos de uso
Novos requisitos:
As vendas podem ser vista ou prazo. Em ambos os casos o estoque
atualizado e uma nota scal, entregue ao consumidor.
No caso de uma venda vista, clientes cadastrados na loja e que compram
mais de 5 CDs de uma s vez ganham um desconto de 1% para cada ano
de cadastro.
No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos
com um acrscimo de 20%. As vendas a prazo podem ser pagas no carto
ou no boleto. Para pagamento com boleto, so gerados boletos bancrios
que so entregues ao cliente e armazenados no sistema para lanamento
posterior no caixa. Para pagamento com carto, os clientes com mais de
10 anos de cadastro na loja ganham o mesmo desconto das compras a
vista.
27/02/14

@KleinnerFarias

38

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando
generalizao de casos de uso
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista

Administrar estoque

27/02/14

Gerente

@KleinnerFarias

39

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando mais
generalizao de casos de uso
Novos requisitos:
As vendas podem ser vista ou a prazo. Em ambos os casos o estoque
atualizado e uma nota scal, entregue ao consumidor.
No caso de uma venda vista, clientes cadastrados na loja e que compram
mais de 5 CDs de uma s vez ganham um desconto de 1% para cada ano
de cadastro.
No caso de uma venda a prazo, ela pode ser parcelada em 2 pagamentos
com um acrscimo de 20%. As vendas a prazo podem ser pagas no carto
ou no boleto. Para pagamento com boleto, so gerados boletos bancrios
que so entregues ao cliente e armazenados no sistema para lanamento
posterior no caixa. Para pagamento com carto, os clientes com mais de
10 anos de cadastro na loja ganham o mesmo desconto das compras a
vista.
27/02/14

@KleinnerFarias

40

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando
generalizao de casos de uso
Vender CDs

Atendente
Vender CDs a prazo

Vender c/ boleto

Vender CDs vista

Vender c/ carto

Administrar estoque

27/02/14

Gerente

@KleinnerFarias

41

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

27/02/14

@KleinnerFarias

42

Elementos Diagrama de Casos de Uso


Relacionamento de dependncia:
Extenso:
Representa uma extenso do comportamento do caso de uso base
O caso de uso estendido s executado sob certas circunstncias
Separa partes obrigatrias de partes opcionais
Partes obrigatrias: caso de uso base
Partes opcionais: caso de uso estendido
Fatorar comportamentos variantes do sistema (podendo reusar este
comportamento em outros casos de uso)

Notao: <<extends>>
<<extends>>

27/02/14

@KleinnerFarias

43

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando
dependncia: extenso
Novos requisitos:
No caso de uma venda vista, clientes cadastrados na loja e que
compram mais de 5 CDs de uma s vez ganham um desconto de 1%
para cada ano de cadastro.
No caso de uma venda a prazo...
...Para pagamento com carto, os clientes com mais de 10 anos de
cadastro na loja ganham o mesmo desconto das compras vista.

27/02/14

@KleinnerFarias

44

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando
dependncia: extenso
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista


<<extend>>

Vender c/ boleto

Vender c/ carto

<<extend>>

Calcular desconto

Administrar estoque

27/02/14

Gerente

@KleinnerFarias

45

Elementos Diagrama de Casos de Uso


Relacionamento de dependncia:
Incluso:
Evita repeMo ao fatorar uma funcionalidade
comum a dois ou mais casos de uso
Um caso de uso pode incluir vrios casos de uso

Notao: <<includes>>
<<includes>>

27/02/14

@KleinnerFarias

46

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando
dependncia: incluso

Novos requisitos:
Para efetuar vendas ou administrar estoque,
atendentes e gerentes tero que validar suas
respecMvas senhas de acesso ao sistema.

27/02/14

@KleinnerFarias

47

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando
dependncia: incluso

Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista


<<extend>>

Vender c/ boleto
<<include>>

Vender c/ carto

<<extend>>

Calcular desconto

Fazer login
<<include>>

Administrar estoque

27/02/14

Gerente

@KleinnerFarias

48

Elementos Diagrama de Casos de Uso


Elementos do diagrama
Atores
Casos de uso
Relacionamentos
Associao
Generalizao
Dependncia: Extenso e Incluso

Fronteira do sistema

27/02/14

@KleinnerFarias

49

Elementos Diagrama de Casos de Uso


Fronteira do Sistema
Elemento opcional (mas essencial para um bom
entendimento)
Serve para denir a rea de atuao do sistema

Notao:


27/02/14

@KleinnerFarias

50

Elementos Diagrama de Casos de Uso


Exemplo: Loja de CDs - IdenMcando a fronteira
do sistema
Vender CDs

Atendente
Vender CDs a prazo

Vender CDs vista


<<extend>>

Vender c/ boleto
<<include>>

Vender c/ carto

<<extend>>

Calcular desconto

Fazer login
<<include>>

Administrar estoque

27/02/14

Gerente

@KleinnerFarias

51

Especicao de Casos de Uso


A especicao mais detalhada e mais
importante
Diagrama e especicao se complementam
No existe um padro de especicao
Tipos de especicaes:
Informal
Tpica
Detalhada

27/02/14

@KleinnerFarias

52

Especicao de Casos de Uso


Especicao Informal
Contm o nome do caso de uso e
uma descrio textual de sua funcionalidade

Exemplo:



27/02/14

@KleinnerFarias

53

Especicao de Casos de Uso


Descrio Tpica
Contm:
IdenMcao do ator que iniciou o caso de uso
Pr-requisitos (se houver) do caso de uso
Descrio textual do Fluxo normal e Fluxos alternaMvos

Exemplo:

27/02/14

@KleinnerFarias

54

Especicao de Casos de Uso


Descrio Detalhada (Ex.1)
Contm:
IdenMcao do ator que iniciou o caso de uso
ObjeMvo
Nvel
Pr-requisitos (se houver) do caso de uso
Condies de disparo (triggers)
Descrio textual do:
Fluxo normal
Fluxos alternaMvos (se houver)

27/02/14

@KleinnerFarias

55

Exemplo 1:

Descrio de Casos de Uso


Descrio Detalhada (Ex.2)
Contm:

Nome
Descrio sucinta
Atores
Pr-condies
Ps-condies
Fluxo bsico
Fluxos alternaMvos
Fluxos de exceo
Estruturas de dados
Regras de negcio
Observaes

ipo
te t
s
e
r
de
Usa
o
i
r
c
es
de d
u so
e
d
os
da
cas
lhos
a
b
tra
!
nos
lina
p
i
c
dis

LES/PUC-Rio

Exemplo 2: (usar nos trabalhos!)

Exemplo 2 (cont.): (usar nos trabalhos!)

Exemplo 2 (cont.): (usar nos trabalhos!)

Ferramentas
Borland Together:
hzp://www.borland.com/products/together/
Poseidon:
hzp://www.gentleware.com
Astha:
hzp://astah.net/
IBM RaMonal SoYware Architect
hzp://www.ibm.com/soYware/raMonal

Enterprise Architect
hzp://www.sparxsystems.com
27/02/14

@KleinnerFarias

61

Referncias
COCKBURN, A.: Escrevendo Casos de Uso Ecazes
Um Guia PrMco para Desenvolvedores de
SoYware, Bookman, 2004.
LARMAN, C.: UMlizando UML e Padres: uma
Introduo Anlise e ao Projeto Orientados a
Objetos. Porto Alegre: Bookamn, 2007. 492p.
Apresentaes LES/PUC-Rio
hzp://www.les.inf.puc-rio.br/wiki/index.php/PSS

27/02/14

@KleinnerFarias

62

Você também pode gostar