Anda di halaman 1dari 11

Modelagem de Casos de Uso

Modelagem de Casos
! Um modelo funcional
de Uso ! Mostra como os valores são processados, sem
preocupações com:
Diagrama de Casos de Uso ! ordenamento (seqüência) das ações;

Especificação de Cenários ! as decisões, ou;


! as estruturas dos objetos.
! Dependência de valores entre si e quais as
funções que os relacionam.

Modelagem de Casos de Uso Modelagem de Casos de Uso


! Etapas para Modelagem Funcional ! O diagrama de casos de uso exerce um papel
! Identificar as requisições de entrada e saída importante na análise de sistemas:
! Para usuários;
! É o principal diagrama para ser usado no diálogo
! Envolvendo outros sistemas existentes.
com o usuário na descoberta e validação de
! Construir diagramas mostrando as dependências requisitos;
funcionais;
! Os casos de uso constituem elementos que
! Descrever as funções (casos de uso);
estruturam todas as etapas do processo de
! Identificar as restrições.
software.

3 4
Modelagem de Casos de Uso Modelagem de Casos de Uso
! Aspecto tratado pelos Casos de Uso: ! Exemplo
Funções Caixa eletrônico

Consultar
Eventos
saldo Abastecer
dinheiro
Solicitar [Furlan98]
extrato Recolher
Dados envelopes de
Funções
Funções Realizar depósitos
Cliente Saque Funcionário
Realizar
depósito
Sistema

5 6

Modelagem de Casos de Uso Modelagem de Casos de Uso


! Notação ! Analogia com Controle Remoto
! Elementos: Ator. Elemento externo do sistema que sempre ! Visão externa do sistema;
inicia o uso ou recebe um valor do caso de uso
Caso de Uso. Serviço que o sistema fornece aos usuários. ! Fornece um conjunto de serviços complexos que
Interação. Estímulos recebidos pelo sistema. são acessados através de botões;
Sistema. Contexto aonde o caso de uso é utilizado
(corresponde a uma classe ou um conjunto de classes)

Sistema

Caso de uso 1

7 8
Ator
Modelagem de Casos de Uso Modelagem de Casos de Uso
! Exemplo Telefone Celular ! Tipos de Interação
! Telefone Celular Fazer
! Comunicação
Rede ligação
Celular
! Representa quais atores estão ligados a quais casos
de uso
Receber
ligação Telefone Celular

Fazer uso
programado Fazer ligação
Usuário

Usuário A comunicação é representada através


9 de um arco simples 10

Modelagem de Casos de Uso Modelagem de Casos de Uso


! Tipos de Interação ! Tipos de Interação
! Inclusão ! Extensão
! Um caso inclui (precisa de, é composto de) outro ! Um caso de uso pode opcionalmente utilizar um outro
! Representada através de um arco pontilhado com o rótulo <<inclui>>
ou <<include>> (UML 1.4+) ou <<uses>> (UML 1.3-)
Telefone Celular
Telefone Celular
Receber
<<extend>>
ligação Receber
<<include>>
Identificar ligação
Fazer ligação
destinatário adicional

Usuário Opcional
Usuário 11 12
Modelagem de Casos de Uso Modelagem de Casos de Uso
! Tipos de Interação ! Tipos Possíveis de Associação
! Generalização ! Quadro geral
! Especialização (sub-tipos de caso de uso)
Comunicação Extensão Inclusão Herança
! Herança Super tipo
Efetua
pagamento
Caso de uso e X X X
caso de uso

Usuário Ator e Ator X


Pagto com Pagto com
Cartão de crédito Débito em Conta
Caso de uso e X
Sub tipos ator

13 14
[Bezerra, 2002]

Modelagem de Casos de Uso Modelagem de Casos de Uso


! Os Diagramas de Caso de Uso e de Fluxo de ! DFD
LIVROS EDITORAS
Dados possuem similaridades dados dos Endereço
livros
! DFD são mais complexos em virtude da maior
Verificar Pedidos Preparar Ordens
Pedidos
quantidade de itens CLIENTE validade do válidos pedido para de EDITORA
compra
pedido editora
! Entidades externas Situação
de crédito Pedidos agrupados
livros
! Depósitos de dados pedidos
CLIENTES PEDIDOS PENDENTES
! Fluxo de dados
Pedidos agrupados
fatura
! Os Casos de Uso não descrevem fluxo de dados Entregar
livros livros
15 16
Modelagem de Casos de Uso Modelagem de Casos de Uso
! DFD ! DFD
LIVROS EDITORAS LIVROS EDITORAS
dados dos Endereço dados dos Endereço
livros Editora livros

Cliente Verificar Pedidos Preparar Ordens Verificar Pedidos Preparar Ordens


Pedidos Pedidos
CLIENTE validade do válidos pedido para de EDITORA validade do válidos pedido para de
compra Cliente compra
pedido editora pedido editora Editora

Situação Situação
de crédito Pedidos agrupados de crédito Pedidos agrupados
livros livros
pedidos pedidos
CLIENTES PEDIDOS PENDENTES CLIENTES PEDIDOS PENDENTES

Pedidos agrupados Pedidos agrupados


fatura fatura
Entregar Entregar
livros livros livros livros
17 18

Modelagem de Casos de Uso Modelagem de Casos de Uso


! DFD ! DFD
Receber pedido
Verificar validade Preparar pedido <<include>>
do pedido para editora
Verificar validade
<<include>>
Verificar Preparar Ordens do pedido
Pedidos de
validade do pedido para
Cliente compra Cliente
pedido editora Editora Editora
Preparar pedido
para editora
livros
pedidos
Entregar
livros
Entregar
fatura
Entregar livros
livros livros
19 20
Modelagem de Casos de Uso Modelagem de Casos de Uso
! Cuidado ao modelar as fronteiras do sistema
Telefone Celular ! Um usuário pode desempenhar diferentes papéis
Fazer <<include>> Identificar Carlos como
Rede ligação destinatário estudante
Celular <<extend>>

Fazer
Receber ligação em
ligação conferência
<<extend>> Carlos
Fazer uso Receber
programado ligação
adicional Carlos como Estudante
Usuário
professor
21 Professor 22

Modelagem de Casos de Uso Modelagem de Casos de Uso


Obs: padrão de análise
! Cuidado ao modelar as fronteiras do sistema
Sistema de Venda
! Quais as fronteiras do sistema? com Cartão de Crédito

Transação
Varejista

Cliente
Venda
Cliente Sistema Bancário <<extends>> Cancelamento
de venda
Sistema ATM Limites do
sistema? Administradora
Caixa de
Cliente Cliente cartão de
Pessoa Pessoa crédito
23 24
Física Jurídica
Modelagem de Casos de Uso Modelagem de Casos de Uso
! Caso de Uso Transação Sistema de Bibliotecas

! Abstrato
! É usado como generalização
! É usado para representar serviços da organização que
precisam ter a sua ocorrência registrada
! O registro obrigatoriamente contém
Bibliotecário Exercício! Bibliotecário
" o momento em que ocorreu a transação (data/hora)
" quem participou (cliente e vendedor)
" o quê esteve envolvido (o produto da venda)

25 26

Modelagem de Casos de Uso Modelagem de Casos de Uso


! Exercício ! Exercício
! “Um programa Leitor de E-mail tem como principal propósito fornecer uma
! Seja um sistema de controle acadêmico para interface amigável para usuários de Correio Eletrônico da Internet. Tal
programa interage com programas que atuam como servidores de envio e
recebimento de e-mail geralmente fornecidos por provedores de acesso à
universidade que deve fornecer: Internet (ISPs) contratados pelo usuário”
! “Um Leitor de E-mail deve ser configurado com informações das contas do
! Matrícula (e trancamento) de disciplinas usuário, contendo: o nome do usuário, a senha e endereço IP do servidor de
e-mail.”
! “A principal função fornecida é a de obter as mensagens existentes no
! Alocação de professores e alunos para turmas servidor, colocando-as em uma pasta denominada Inbox. Toda mensagem
obtida do servidor de e-mail possuirá o estado unread, o que poderá
! Permitir que uma pessoa seja professor ou aluno de visualizado facilmente pelo usuário. A partir da seleção de uma mensagem, o
usuário poderá: respondê-la, encaminhá-la para outro usuário e apagá-la.”
“O usuário pode ainda escrever uma nova mensagem para um destinatário.
vários cursos simultaneamente !
As mensagens podem conter arquivos em anexo. As mensagens enviadas
ficam armazenadas em uma pasta denominada SentMail”
! “Finalmente, um usuário pode criar novas pastas para agrupar mensagens
recebidas ou enviadas”.

27 28
Modelagem de Casos de Uso Modelagem de Casos de Uso
! Representação de UCs no Rose ! Heurísticas (1)
! Evitar um número muito elevado de casos de uso
Paleta de
ícones pode ! Fragmentar o sistema em sub-sistemas (ou em sub-
ser customizada
pacotes)
! Usar casos de uso com denominação genéricas como
Manter ou Gerenciar para descrever as funções de
Cadastro de uma entidade
! Evitar detalhamento algorítmico

Não há representação
para “sistema” nos moldes 29 30
da UML

Modelagem de Casos de Uso Modelagem de Casos de Uso


! Heurísticas (2) ! Heurísticas (3)
! Evitar o uso de <<include>> e <<extend>> nas ! Diagramas de Caso de Uso têm sido usados para
primeiras iterações; auxiliar no diálogo com o usuário
! Lembrem-se que modelagem é um processo iterativo; ! Deve-se ter atenção para o fato que o diagrama
tem semântica informal
! Isto é, não é preciso
! Para um mesmo problema, múltiplas soluções válidas
são admitidas

31 32
Modelagem de Casos de Uso
! Especificação de Cenários
! 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
! Especificação de Cenários ! Especificação de Cenários
! Um fluxo normal e diversos fluxos alternativos ! Exemplo (Sacar dinheiro):
! Variantes regulares; e ! Saque com sucesso;
! Casos incomuns. ! Tentativa de saque MAS senha incorreta;
! Fluxos excepcionais para manipular situações de ! Tentativa de saque MAS saldo insuficiente;
erro ! Recomendações
! Só devem ser analisados e descritos após a descrição ! Concentre-se inicialmente na funcionalidade
dos fluxos básicos; básica/central do caso de uso;
" Lembrem-se que modelagem é um processo iterativo; ! Pense nos fluxos secundários depois!
37 38

“Resumão” Dicas: Como encontrar atores?


! Escrever casos de uso ! Quem usa o sistema?
! Identificar atores; ! Quem instala/mantém o sistema?
! Identificar objetivos (de alto nível); ! Quem inicia/desliga o sistema?
! Objetivos se tornam casos de uso;
! Que outros sistemas usam o sistema?
! Escrever cenários
! Quem recebe informação do sistema?
! Identificar fluxo normal;
! Quem provê informação ao sistema?
! Identificar fluxos alternativos;
! Identificar fluxos de erro;
39 40
Dicas: Como encontrar casos
de uso? Casos de Uso devem ser
! Atores são fundamentais para a descoberta ! Unidades testáveis e auto-contidas!
dos casos de uso ! Isso facilita:
! Qual o objetivo de cada ator com o sistema? ! distribuição de tarefas entre os desenvolvedores;
! gerenciamento do cronograma;
! Pergunte:
! planejamento e realização de testes unitários; e
! O sistema armazena informações? Que informações atores
! integração do sistema.
irão criar, ler, atualizar ou apagar?
! O sistema precisa notificar o ator sobre mudanças no seu ! Sem isso, não é viável um desenvolvimento iterativo
estado interno? e incremental!
! Existe algum evento externo que o sistema precisa saber? ! O escopo de um caso de uso deve ser limitado.
Que ator informa o sistema destes eventos? 41 42

Leitura “fortemente
Modelagem de Casos de Uso recomendada”
! Comentário Final ! Capítulos a serem definidos.
! Os casos de uso são elementos muito importantes
na modelagem de um sistema baseado em
Processo Unificado;
! Todas as atividades de desenvolvimento são
organizadas em função dos casos de uso;

43 44

Anda mungkin juga menyukai