Você está na página 1de 11

Modelagem de Casos de Uso

Diagrama de Casos de Uso Especificao de Cenrios

Modelagem de Casos de Uso


!

Um modelo funcional
!

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


! !

O diagrama de casos de uso exerce um papel importante na anlise de sistemas:


!

Para usurios; Envolvendo outros sistemas existentes.

Construir diagramas mostrando as dependncias funcionais; Descrever as funes (casos de uso); Identificar as restries.
3

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


Eventos

Exemplo
Caixa eletrnico
Consultar saldo Solicitar extrato Abastecer dinheiro Recolher envelopes de depsitos

[Furlan98]

Funes Funes

Dados

Cliente

Realizar Saque Realizar depsito

Funcionrio

Sistema
5

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Notao
!

Analogia com Controle Remoto


! !

Elementos:

Ator. Elemento externo do sistema que sempre inicia o uso ou recebe um valor do caso de uso Caso de Uso. Servio que o sistema fornece aos usurios. 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

Viso externa do sistema; Fornece um conjunto de servios complexos que so acessados atravs de botes;

Ator

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Exemplo
!

Telefone Celular
Fazer ligao

Tipos de Interao
!

Telefone Celular
Rede Celular

Comunicao
!

Representa quais atores esto ligados a quais casos de uso


Telefone Celular

Receber ligao

Fazer uso programado

Fazer ligao

Usurio

Usurio
9

A comunicao representada atravs de um arco simples

10

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Tipos de Interao
!

Tipos de Interao
!

Incluso
! !

Extenso
!

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-) Telefone Celular
<<include>>

Um caso de uso pode opcionalmente utilizar um outro


Telefone Celular
Receber ligao <<extend>>

Fazer ligao

Identificar destinatrio

Receber ligao adicional

Usurio

Usurio
11

Opcional
12

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Tipos de Interao
!

Tipos Possveis de Associao


!

Generalizao
! !

Quadro geral
Comunicao Caso de uso e caso de uso Ator e Ator Caso de uso e ator X Extenso X Incluso X Herana X X

Especializao (sub-tipos de caso de uso) Herana


Efetua pagamento

Super tipo

Usurio

Pagto com Carto de crdito

Pagto com Dbito em Conta

Sub tipos
13

[Bezerra, 2002]

14

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Os Diagramas de Caso de Uso e de Fluxo de Dados possuem similaridades


!

DFD
LIVROS
dados dos livros Pedidos

EDITORAS
Endereo

DFD so mais complexos em virtude da maior quantidade de itens


! ! !

CLIENTE

Verificar validade do pedido

Pedidos vlidos

Preparar pedido para editora

Ordens de compra

EDITORA

Entidades externas Depsitos de dados Fluxo de dados


fatura livros 15

Situao de crdito

Pedidos agrupados

CLIENTES

PEDIDOS PENDENTES
Pedidos agrupados

livros pedidos

Os Casos de Uso no descrevem fluxo de dados

Entregar livros
16

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

DFD
LIVROS
dados dos livros

DFD
LIVROS EDITORAS
Endereo dados dos livros Pedidos

EDITORAS
Endereo

Editora

Cliente

CLIENTE

Pedidos

Verificar validade do pedido

Pedidos vlidos

Preparar pedido para editora

Ordens de compra

EDITORA

Cliente

Verificar validade do pedido

Pedidos vlidos

Preparar pedido para editora

Ordens de compra

Editora
livros pedidos

Situao de crdito

Pedidos agrupados

CLIENTES
fatura livros

PEDIDOS PENDENTES
Pedidos agrupados

livros pedidos

Situao de crdito

Pedidos agrupados

CLIENTES
fatura livros

PEDIDOS PENDENTES
Pedidos agrupados

Entregar livros
17

Entregar livros
18

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

DFD
Verificar validade do pedido
Pedidos

DFD

Receber pedido
<<include>>

Preparar pedido para editora Preparar pedido para editora


Ordens de compra <<include>>

Cliente

Verificar validade do pedido

Verificar validade do pedido Editora Preparar pedido para editora

Editora
livros pedidos

Cliente

Entregar livros
fatura livros

Entregar livros
19

Entregar livros
20

Modelagem de Casos de Uso


Telefone Celular
Fazer ligao
<<include>> <<extend>>

Modelagem de Casos de Uso


!

Cuidado ao modelar as fronteiras do sistema


!

Um usurio pode desempenhar diferentes papis


Carlos como estudante

Rede Celular

Identificar destinatrio Fazer ligao em conferncia

Receber ligao
<<extend>>

Carlos
Receber ligao adicional

Fazer uso programado

Usurio

Carlos como professor


21

Estudante Professor
22

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


Obs: padro de anlise
Sistema de Venda com Carto de Crdito Transao

Cuidado ao modelar as fronteiras do sistema


!

Quais as fronteiras do sistema?

Varejista

Cliente
Cliente
Sistema ATM

Venda
<<extends>>

Sistema Bancrio

Caixa

Limites do sistema?
23

Cancelamento de venda

Cliente Pessoa Fsica

Cliente Pessoa Jurdica

Administradora de carto de crdito

24

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


Sistema de Bibliotecas

Caso de Uso Transao


!

Abstrato
!

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

26

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Exerccio
!

Exerccio
!

Seja um sistema de controle acadmico para universidade que deve fornecer:


! ! !

Matrcula (e trancamento) de disciplinas Alocao de professores e alunos para turmas Permitir que uma pessoa seja professor ou aluno de vrios cursos simultaneamente

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.

27

28

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Representao de UCs no Rose

Heursticas (1)
!

Paleta de cones pode ser customizada

Evitar um nmero muito elevado de casos de uso


!

Fragmentar o sistema em sub-sistemas (ou em subpacotes) Usar casos de uso com denominao genricas como Manter ou Gerenciar para descrever as funes de Cadastro de uma entidade Evitar detalhamento algortmico

No h representao para sistema nos moldes da UML

29

30

Modelagem de Casos de Uso


!

Modelagem de Casos de Uso


!

Heursticas (2)
!

Heursticas (3)
!

Evitar o uso de <<include>> e <<extend>> nas primeiras iteraes;


!

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

Lembrem-se que modelagem um processo iterativo;

Isto , no preciso Para um mesmo problema, mltiplas solues vlidas so admitidas


32

31

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
!

Especificao de Cenrios
!

Um fluxo normal e diversos fluxos alternativos


! !

Exemplo (Sacar dinheiro):


! ! !

Variantes regulares; e Casos incomuns.

Saque com sucesso; Tentativa de saque MAS senha incorreta; Tentativa de saque MAS saldo insuficiente; Concentre-se inicialmente na funcionalidade bsica/central do caso de uso; Pense nos fluxos secundrios depois!
38

Fluxos excepcionais para manipular situaes de erro


!

Recomendaes
!

S devem ser analisados e descritos aps a descrio dos fluxos bsicos;


"

Lembrem-se que modelagem um processo iterativo;


37

Resumo
!

Dicas: Como encontrar atores?


! ! ! ! ! !

Escrever casos de uso


! ! !

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

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;


39

Dicas: Como encontrar casos de uso?


!

Casos de Uso devem ser


! !

Atores so fundamentais para a descoberta dos casos de uso


!

Unidades testveis e auto-contidas! Isso facilita:


! ! ! !

Qual o objetivo de cada ator com o sistema?

distribuio de tarefas entre os desenvolvedores; gerenciamento do cronograma; planejamento e realizao de testes unitrios; e integrao do 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?
!

Sem isso, no vivel um desenvolvimento iterativo e incremental! O escopo de um caso de uso deve ser limitado.
42

!
41

Modelagem de Casos de Uso


!

Leitura fortemente recomendada


!

Comentrio Final
!

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