Você está na página 1de 11

Modelagem de Casos de Uso

Modelagem de Casos
de Uso

Um modelo funcional
!

Diagrama de Casos de Uso


Especificao de Cenrios
!

Mostra como os valores so processados, sem


preocupaes com:
!

ordenamento (seqncia) das aes;

as decises, ou;

as estruturas dos objetos.

Dependncia de valores entre si e quais as


funes que os relacionam.
2

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Etapas para Modelagem Funcional


!

Identificar as requisies de entrada e sada


!

Para usurios;

Envolvendo outros sistemas existentes.

Construir diagramas mostrando as dependncias


funcionais;

Descrever as funes (casos de uso);

Identificar as restries.
3

O diagrama de casos de uso exerce um papel


importante na anlise de sistemas:
!

o principal diagrama para ser usado no dilogo


com o usurio na descoberta e validao de
requisitos;

Os casos de uso constituem elementos que


estruturam todas as etapas do processo de
software.
4

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Aspecto tratado pelos Casos de Uso:


Funes

Exemplo
Caixa eletrnico
Consultar
saldo

Eventos

Solicitar
extrato
Dados

Funes
Funes

Cliente

Realizar
Saque

Abastecer
dinheiro
Recolher
envelopes de
depsitos

[Furlan98]

Funcionrio

Realizar
depsito

Sistema
5

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Notao
!

Elementos:

Analogia com Controle Remoto

Ator. Elemento externo do sistema que sempre


inicia o uso ou recebe um valor do caso de uso

Viso externa do sistema;

Caso de Uso. Servio que o sistema fornece aos usurios.

Fornece um conjunto de servios complexos que


so acessados atravs de botes;

Interao. Estmulos recebidos pelo sistema.


Sistema. Contexto aonde o caso de uso utilizado
(corresponde a uma classe ou um conjunto de classes)
Sistema
Caso de uso 1

Ator

Modelagem de Casos de Uso


!

Exemplo
!

Modelagem de Casos de Uso


!

Telefone Celular

Telefone Celular

Fazer
ligao

Rede
Celular

Tipos de Interao
Comunicao
!

Representa quais atores esto ligados a quais casos


de uso

Receber
ligao

Telefone Celular

Fazer uso
programado

Fazer ligao

Usurio

Usurio
9

Modelagem de Casos de Uso


!

Incluso

Tipos de Interao
!

Um caso inclui (precisa de, composto de) outro

Representada atravs de um arco pontilhado com o rtulo <<inclui>>


ou <<include>> (UML 1.4+) ou <<uses>> (UML 1.3-)

Extenso
!

Um caso de uso pode opcionalmente utilizar um outro


Telefone Celular

Telefone Celular

Fazer ligao

Usurio

<<include>>

10

Modelagem de Casos de Uso

Tipos de Interao
!

A comunicao representada atravs


de um arco simples

Receber
ligao

Identificar
destinatrio

Usurio
11

<<extend>>

Receber
ligao
adicional

Opcional
12

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Tipos de Interao
!

Generalizao

Tipos Possveis de Associao


!

Especializao (sub-tipos de caso de uso)

Herana

Efetua
pagamento

Usurio

Pagto com
Carto de crdito

Quadro geral
Comunicao

Super tipo
Caso de uso e
caso de uso

Modelagem de Casos de Uso

Caso de uso e
ator

LIVROS

14

EDITORAS

dados dos
livros

CLIENTE

quantidade de itens
Depsitos de dados

DFD

DFD so mais complexos em virtude da maior

[Bezerra, 2002]

Dados possuem similaridades

Entidades externas

Modelagem de Casos de Uso

Os Diagramas de Caso de Uso e de Fluxo de

Herana

13

Incluso

Ator e Ator

Pagto com
Dbito em Conta

Sub tipos

Extenso

Pedidos

Verificar
validade do
pedido

Pedidos
vlidos

Situao
de crdito

CLIENTES

Fluxo de dados
fatura

Os Casos de Uso no descrevem fluxo de dados

livros
15

Endereo

Preparar
pedido para
editora

Ordens
de
compra

EDITORA

Pedidos agrupados

PEDIDOS PENDENTES

livros
pedidos

Pedidos agrupados

Entregar
livros
16

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

DFD

!
LIVROS
dados dos
livros

Cliente

CLIENTE

Pedidos

Verificar
validade do
pedido

DFD

EDITORAS
Endereo

Pedidos
vlidos

Situao
de crdito

CLIENTES

LIVROS

Preparar
pedido para
editora

Ordens
de
compra

Editora
Pedidos

EDITORA

Pedidos agrupados

PEDIDOS PENDENTES

Cliente

Preparar
pedido para
editora

Pedidos
vlidos

Ordens
de
compra

Entregar
livros

livros
17

!
Preparar pedido
para editora

Verificar
validade do
pedido

Preparar
pedido para
editora

Pedidos

Cliente

Ordens
de
compra

Entregar
livros
fatura
livros

18

Modelagem de Casos de Uso

DFD
Verificar validade
do pedido

livros
pedidos

Pedidos agrupados

fatura

Modelagem de Casos de Uso

Editora

Pedidos agrupados

PEDIDOS PENDENTES

CLIENTES

Entregar
livros

livros

Verificar
validade do
pedido

Endereo

Situao
de crdito

livros
pedidos

Pedidos agrupados

fatura

EDITORAS

dados dos
livros

DFD

Receber pedido
<<include>>

<<include>>

Editora
livros
pedidos

Verificar validade
do pedido

Cliente

Editora
Preparar pedido
para editora

Entregar
livros

Entregar
livros
19

20

Modelagem de Casos de Uso

Modelagem de Casos de Uso


!

Telefone Celular
Fazer
ligao

Rede
Celular

<<include>>

Cuidado ao modelar as fronteiras do sistema


!

Um usurio pode desempenhar diferentes papis


Carlos como
estudante

Identificar
destinatrio

<<extend>>

Fazer
ligao em
conferncia

Receber
ligao

Carlos

<<extend>>

Fazer uso
programado

Usurio

Receber
ligao
adicional

Carlos como
professor

Estudante
Professor

21

Modelagem de Casos de Uso

22

Modelagem de Casos de Uso


Obs: padro de anlise

Cuidado ao modelar as fronteiras do sistema


!

Sistema de Venda
com Carto de Crdito

Quais as fronteiras do sistema?

Transao

Cliente
Cliente

Venda

Sistema Bancrio
Sistema ATM

Caixa

<<extends>>

Limites do
sistema?
23

Cliente
Pessoa
Fsica

Varejista

Cliente
Pessoa
Jurdica

Cancelamento
de venda

Administradora
de
carto de
crdito

24

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Caso de Uso Transao


!

Abstrato
!

Sistema de Bibliotecas

usado como generalizao

usado para representar servios da organizao que


precisam ter a sua ocorrncia registrada
!

O registro obrigatoriamente contm


"

o momento em que ocorreu a transao (data/hora)

"

quem participou (cliente e vendedor)

"

o qu esteve envolvido (o produto da venda)

Bibliotecrio

Exerccio!

Bibliotecrio

25

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Exerccio
!

Matrcula (e trancamento) de disciplinas

Alocao de professores e alunos para turmas

Permitir que uma pessoa seja professor ou aluno de


vrios cursos simultaneamente

Exerccio
!

Seja um sistema de controle acadmico para


universidade que deve fornecer:
!

26

27

Um programa Leitor de E-mail tem como principal propsito fornecer uma


interface amigvel para usurios de Correio Eletrnico da Internet. Tal
programa interage com programas que atuam como servidores de envio e
recebimento de e-mail geralmente fornecidos por provedores de acesso
Internet (ISPs) contratados pelo usurio
Um Leitor de E-mail deve ser configurado com informaes das contas do
usurio, contendo: o nome do usurio, a senha e endereo IP do servidor de
e-mail.
A principal funo fornecida a de obter as mensagens existentes no
servidor, colocando-as em uma pasta denominada Inbox. Toda mensagem
obtida do servidor de e-mail possuir o estado unread, o que poder
visualizado facilmente pelo usurio. A partir da seleo de uma mensagem, o
usurio poder: respond-la, encaminh-la para outro usurio e apag-la.
O usurio pode ainda escrever uma nova mensagem para um destinatrio.
As mensagens podem conter arquivos em anexo. As mensagens enviadas
ficam armazenadas em uma pasta denominada SentMail
Finalmente, um usurio pode criar novas pastas para agrupar mensagens
recebidas ou enviadas.

28

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Representao de UCs no Rose

Heursticas (1)
!

Paleta de
cones pode
ser customizada

No h representao
para sistema nos moldes
da UML

Usar casos de uso com denominao genricas como


Manter ou Gerenciar para descrever as funes de
Cadastro de uma entidade

Evitar detalhamento algortmico

30

Evitar o uso de <<include>> e <<extend>> nas


primeiras iteraes;
!

Fragmentar o sistema em sub-sistemas (ou em subpacotes)

Modelagem de Casos de Uso

Heursticas (2)
!

29

Modelagem de Casos de Uso


!

Evitar um nmero muito elevado de casos de uso

Lembrem-se que modelagem um processo iterativo;

31

Heursticas (3)
!

Diagramas de Caso de Uso tm sido usados para


auxiliar no dilogo com o usurio

Deve-se ter ateno para o fato que o diagrama


tem semntica informal
!

Isto , no preciso

Para um mesmo problema, mltiplas solues vlidas


so admitidas
32

Modelagem de Casos de Uso


!

Especificao de Cenrios
!

Um caso de uso deve ser descrito textualmente


!

H grande variedade de formatos para descrever


casos de uso
"

Exemplo: Praxis (http://www.wppf.uaivip.com.br/praxis/gabaritos/documentos/ERSw.dot)

"

Exemplo: Processo Unificado

33

34

35

36

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso

Especificao de Cenrios
!

Um fluxo normal e diversos fluxos alternativos

Especificao de Cenrios
!

Exemplo (Sacar dinheiro):

Variantes regulares; e

Saque com sucesso;

Casos incomuns.

Tentativa de saque MAS senha incorreta;

Tentativa de saque MAS saldo insuficiente;

Fluxos excepcionais para manipular situaes de


erro
!

S devem ser analisados e descritos aps a descrio


dos fluxos bsicos;
"

Lembrem-se que modelagem um processo iterativo;

Recomendaes
!

Concentre-se inicialmente na funcionalidade


bsica/central do caso de uso;

Pense nos fluxos secundrios depois!

37

Resumo
!

Dicas: Como encontrar atores?

Escrever casos de uso


!

Identificar atores;

Identificar objetivos (de alto nvel);

Objetivos se tornam casos de uso;

Escrever cenrios
!

Identificar fluxo normal;

Identificar fluxos alternativos;

Identificar fluxos de erro;

38

39

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?


40

Dicas: Como encontrar casos


de uso?
!

Atores so fundamentais para a descoberta


dos casos de uso
!

Casos de Uso devem ser


Unidades testveis e auto-contidas!

Isso facilita:

Qual o objetivo de cada ator com o sistema?

Pergunte:
!

O sistema armazena informaes? Que informaes 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 destes eventos?

distribuio de tarefas entre os desenvolvedores;

gerenciamento do cronograma;

planejamento e realizao de testes unitrios; e

integrao do sistema.

Sem isso, no vivel um desenvolvimento iterativo


e incremental!

O escopo de um caso de uso deve ser limitado.


42

Leitura fortemente
recomendada

Comentrio Final
!

41

Modelagem de Casos de Uso


!

Captulos a serem definidos.

Os casos de uso so elementos muito importantes


na modelagem de um sistema baseado em
Processo Unificado;

Todas as atividades de desenvolvimento so


organizadas em funo dos casos de uso;

43

44

Você também pode gostar