Академический Документы
Профессиональный Документы
Культура Документы
Professor:
Geraldo Xexo
DCC/IM/UFRJ
PESC/COPPE/UFRJ
Contedo:
Casos de Uso
Professor:
Contedo:
Conceituao
Caso de Uso
uma descrio completa de um
processo
Algo que o usurio ou cliente quer que
o sistema faa
Podem ser simples como uma frase,
ou altamente complexos
Caso de Uso
Conta uma histria de como alcanar
um objetivo
Conta um conjunto de histrias de
como completar satisfatoriamente ou
como se pode falhar em uma tarefa
Casos de Uso
a especificao, em forma de uma
narrativa, de uma seqncia de
interaes entre um sistema e os
agentes externos que utilizam esse
sistema.
Define o uso de uma parte da
funcionalidade de um sistema.
Objetivo
Tornar um requisito funcional
Legvel pelo usurio e pelos outros
interessados
Verificvel
Texto!
Formas de Narrativa
Descrio Contnua
Descrio Numerada
Narrativa Particionada
Descrio Contnua
O Cliente chega ao caixa eletrnico e
insere seu carto. O Sistema requisita a
senha ao Cliente. Aps o Cliente fornecer
sua senha e esta ser validada, o Sistema
exibe as opes de operaes possveis.
O Cliente opta por realizar um saque.
Ento o Sistema requisita o total a ser
sacado. O Sistema fornece a quantia
desejada e imprime o recibo para o
Cliente.
Descrio Numerada
10
Narrativa Particionada
Cliente
Insere carto no caixa
Eletrnico
Sistema
Apresenta solicitao
de senha
Digita a senha
Solicita realizao de
saque
Retira quantia e recibo
Exibe menu de
operaes disponveis
Requisita quantia a ser
sacada
11
Principais Problemas
Difceis de estruturar
Algumas dvidas cruis
Muitas formas de entender
Muitas formas de fazer
No so os grficos de UML
12
O Modelo
Ator 1
Objetivo
Ator 2
Conjunto
De
Sequencias
Sequencias de
Interaes
Condies
Resultados
Interao
Mensagem
Simples
Responsabilidade
13
Ator
Entidade externa ao sistema com
comportamento prprio
Um ator ativa uma interao, chamando
outros atores a cumprir suas
responsabilidades
Atores interagem para alcanar seus
objetivos
O sistema tambm um ator
14
Tipos de Atores
Pessoas
Organizaes
Outros sistemas
Equipamentos
15
Objetivos
Atores possuem objetivos
Objetivos do nome aos casos de uso
Casos de uso possuem cenrios
Que do nome a sub-casos de uso
16
Ator
tem
Objetivo
nomeia
Caso de uso
contm
chama
Cenrio
condio
sucesso/falha
17
INSIRA SEU
CARTO
1
4
7
*
2
5
8
0
Carlos como
Operador
3
6
9
#
Carlos
Operador
Carlos
como
Cliente
Cliente
18
Cenrio
Instncia de Caso de Uso
Uma seqncia especfica de interaes
entre atores e o sistema
Cada cenrio mostra o resultado de uma
condio
O usurio d nome a condio
Tudo d certo
Falta dinheiro no caixa
19
Casos Raros
Tirar US$ 1 Milho
Excees e Erros
No h mais dinheiro no caixa
20
F
S
(cenrios de sucesso)
21
Caso de uso
Uma coleo de cenrios de sucesso e
fracasso descrevendo um determinado
processo completo do sistema
22
Estruturado em Narrativas
Mantm o contexto visvel
Facilita a compreenso
Perde a abstrao
23
Formato
Casos de uso so basicamente texto
no diagramas
embora exista um diagrama na UML para
indicar quais atores participam de cada
caso de uso
24
Ator
Caso de Uso
Comunicao
(usa)
Comunicao
indicando
iniciao
Sistema
25
Modelo Exemplo
Executar Relatrios
Manuteno ATM
Banco
Professor:
Contedo:
Nveis de Abstrao
e
Escopo
2
6
27
Escopo
Organizao, caixa preta
Organizao, caixa branca
Sistema, caixa preta
Sistema, caixa branca
Componente
28
Escopo: Organizao
um caso de uso de negcio, com a
empresa como seu escopo
Se a empresa vista como uma caixa
preta, use a casa escura
Se o caso de uso trata de
departamentos ou staff, uso a casa
branca
29
Escopo: Sistema
O escopo o sistema informatizado
Use as caixas de acordo com o tipo de
descrio
Caixa-preta
Caixa-branca
30
Escopo: Componente
Um subsistema ou componente do
sistema sendo projetado
31
Fronteiras e Escopo
Cliente
Manuteno
Do ATM
Fronteira
Sistema Bancrio
Caixa
ATM
32
Nveis de Abstrao I
Casos de Uso Essenciais
No levam em considerao a tecnologia
33
Aparncia - Essencial
Caso de Uso Essencial
34
Aparncia Real
Caso de Uso Real
35
Como testar
Teste do Tempo
Essa narrativa seria vlida 100 anos atrs?
Essa narrativa ser vlida daqui a cem anos
36
Nveis de Abstrao II
Objetivos Estratgicos
Objetivos de Usurios
Sub-funes
Ligados entre si
37
Objetivos
Estratgicos
Objetivo do
projeto
anuncia
r
pedir
branco
cobrar
Obj. de Usurios
Preparar
promo
o
Referenci
ar
promoo
Monitor
ar
promo
o
Identificar
promoo
Registrar
usurio
Subfunes
azul
Fazer
pedido
Criar
fatura
Enviar
fatura
indigo
Identifica
r produto
Identificar
Comprador
38
?
e
u
q
r
o
P
(azul=usurio)
?
o
m
Co
(indigo)
(branco)
(preto)
39
Nveis
Sumrio de alto nvel
Sumrio
Objetivo do Usurio
Sub-Funo
Muito detalhado
40
Nveis (nomes)
Adicione + no final de casos de uso
sumrio
Adicione ! ou nada nos casos de uso
de usurios
Adicione - nos casos de uso
detalhados
41
Abstrao
Nvel
Por que queremos esse objetivo?
Escopo
Que limites do sistema queremos?
Detalhe
Descrevemos inteno ou aes?
42
Nvel de Sumrio
Caso de Uso: Operar Companhia de
Seguros+
Ator Primrio: o comprador
Escopo: A companhia de seguros
Nvel: Sumrio
Passos
43
2.TeleFalaFcil...
44
1.
2.
3.
4.
Professor:
Contedo:
Detalhando o Caso
de Uso
4
5
46
Tipos de detalhamento
Breve apenas uma frase ou pargrafo
descrevendo o processo principal e tpico
Casual descreve diferentes cenrios,
mas cada descrio composta por
apenas um pargrafo
Expandido Todos os passos e
variaes so detalhadamente descritos,
incluindo pr-condies e ps-condies
de sucesso.
47
48
49
50
Fluxos Alternativos
3a. O cliente no possui cadastro.
3a.1 O cliente deve informar seus dados para
cadastro.
3a.2 O funcionrio registra o cadastro.
3a.3 Retorna ao fluxo principal no passo 3.
51
Fluxos Alternativos
4a. Uma fita est reservada para outro cliente.
4a.1 O funcionrio informa que a fita no est
disponvel para locao.
4a.2 Prossegue a locao do passo 4 sem incluir a fita
reservada.
Atores
Interessados
Pr-condies
Ps-condies de sucesso
Cenrio principal de sucesso ou fluxo principal
Extenses ou fluxos alternativos
Requisitos Especiais
Variaes tecnolgicas e de dados
Freqncia
Questes em aberto
52
53
Atores
So as classes de pessoas e sistemas
externos que interagem com o sistema
de alguma forma
54
Interessados - Stakeholders
A quem serve o caso de uso?
Quem tira proveito de seus resultados?
Muitas vezes no so apenas os
atores
55
Pr-condies
O que deveria ser sempre verdadeiro para que o
caso de uso possa acontecer
Pr-condies NO so testadas dentro do caso
de uso.
Elas so assumidas como verdadeiras antes do
incio dele.
Devem comunicar APENAS questes dignas de
nota, que constituam informao til sobre o
funcionamento do sistema
Ps-Condies ou Garantias
de Sucesso
Estabelecem o que deve ser
verdadeiro APS o caso de uso.
56
57
58
Tipos de Passos
Obrigatrios Fluxo de informao
Complementares Contextualizao
No-recomendados Controle e
execuo (passos internos ao sistema)
Extenses ou Fluxos
Alternativos
59
60
61
62
63
64
Requisitos Especiais
Requisitos no funcionais associados
ao caso de uso, como
eficincia desejada,
tecnologia de implementao,
etc.
Variaes Tecnolgicas e de
Dados
65
66
Questes em aberto
Tudo o que deve ser esclarecido
posteriormente
Professor:
Contedo:
Analisando o Caso
de Uso
6
7
68
69
70
Decomposio Funcional
Sintomas
Casos de Uso pequenos
Muitos Casos de Uso
Dificuldade de entender o modelo
Nomes com operaes de baixo nvel
Operao+objecto
Funo+dados
Exemplo: Inserir Carto
71
Decomposio Funcional
Aes Corretivas
Busque um contexto mais amplo
Por que o sistema est sendo feito?
72
73
Variantes
5.1: Dinheiro
5.1.1. O cliente entrega a quantia em dinheiro.
5.1.2. O funcionrio registra a quantia.
5.1.3. O sistema informa o troco.
5.1.4. O funcionrio entrega o troco ao cliente.
5.2: Cheque
5.2.1. O cliente entrega o cheque.
5.2.2. O funcionrio solicita a presena do gerente.
5.2.3. O gerente d o visto no cheque.
5.3: Carto de Crdito
...
74
Professor:
Contedo:
Como Levantar
Casos de Uso
7
5
76
5.
77
Resultado
Lista de casos de uso
Viso geral do sistema
Lista pequena e usvel das funes do sistema
78
Resultado
Descrio legvel das funes do sistema
3) Escreva as condies de
falha e extenses
79
80
4) Resolva as falhas.
Extenses recuperveis voltam ao caso principal
Extenses no-recuperveis falham
Cada cenrio vai do gatilho ao fim
Extenses so apenas uma forma resumida de
escrever
Pode escrever se
Pode escrever cenrio do incio ao fim
Resultado:
Casos de uso completos
5) Detalhe as variaes de
dados
81
82
Boas Perguntas
Quais so as tarefas de um ator?
O ator precisa ser informador de certas
ocorrncias dentro do sistema?
O ator precisa informar o sistema de
mudanas externas?
O sistema fornece ao negcio o
comportamento adequado?
83
Boas Perguntas
Todos os requisitos funcionais foram
atendidos pelos casos de uso?
Que casos de uso vo suportar e
manter o sistema?
Que informao precisa ser modificada
ou criada?
84
85
Comentrios
O valor dos casos de falha detectar situaes
anormais e manter a completude
Todo cenrio vai do incio ao fim (sem ses),
mas a descrio pode ser abreviada
Os requisitos cobrem as falhas recuperveis ou
no
Mas no so falhas do sistema interno, mas do
ambiente
86
Comentrios
Um cenrio pode se referir a objetivos de nvel
inferior
Caso de uso subordinados
Funes comuns
87
Casos de uso NO
Mostram requisitos de interface
Colete por caso de uso
Professor:
Contedo:
Relacionamentos
dos Casos de Uso
8
8
89
Tipos de Relacionamentos
Extende
Inclui
<<include>>
Generaliza
Base
<<extend>>
90
Inclui
uma relao entre um caso de uso
bsico e um caso de uso includo
Significa que o caso de uso
explicitamente inserido no caso de uso base
Inclusion
<<include>>
Base
91
Include : Exemplo
Identificar Cliente
<<include>>
<<include>>
<<include>>
Retirar Dinheiro
ATM Customer
Tranferir Fundos
Depositar Cheques
92
<<include>>
Base
Fatorar e encapsular
comportamento de um caso
de uso base
Simplificar fluxo complexo
de eventos
Fatorar comportamento
que no parte do objetivo
primrio
93
Executando o Include
Executado totalmente quando
chamado
Se no deve ser executado, a deciso
do caso de uso chamador
94
O que Extende?
uma relao entre o caso de uso que extende e
seu caso base
Insere uma extenso no comportamento do caso base
Inserida apenas se uma condio de extenso for verdade
Inserida em um ponto de extenso
Base
<<extends>>
Extension
95
Exemplo
Retirar Fundos
<<extend>>
Cliente ATM
<<extend>>
Retirar Moedas
Retirar Notas
96
<<extends>>
Extension
Fatorar comportamento
excepcional ou opcional
Executado em apenas
algumas condio
Simplificando o fluxo de
eventos base
Exemplo: alarme
Extender o comportamento
Comportamento adicional
criado separadamente
Nova verso
97
Generalizao
um relacionamento de um filho para
um pai
Descreve um comportamento geral
compartilhado com o parente
Descreve que o filho tem um comportamento
especializado
Pai
Filho
Filho
98
Exemplo
Identificar Cliente
Verificar ID/Senha
99
100
Executando Generalizao
Uma instncia de caso de uso executando um caso
especializado vai seguir o fluxo de eventos descritos pelo
caso parente, inserindo comportamento adicional e
modificando seu comportamento como definido no fluxo
de eventos do caso especializado
101
Abstrato
No precisam ser completos
S existem para ajudar outros casos de uso
Nunca so instanciados
102
Concretos x Abstratos
A
Concretos: B,C
Abstratos: A,D
include
extend
D
103
Generalizao de Atores
Atores podem ter caractersticas comuns
Mltiplos atores podem ter papis comuns ao
interagir com um caso de de uso
Parent
Child
Child
104
Exemplo
Mdico
Alterar Pronturio
Enfermeiro
Auxliar
Profissional de
Sade
105
106
107
Alterar Pronturio
Enfermeiro
Auxliar
Profissional de
Sade
108
Relacionamentos
de
para
generalizao
Se comunica com
Se comunica com
<<include>>
<<extend>>
generalization
111
Professor:
Geraldo Xexo
DCC/IM/UFRJ
PESC/COPPE/UFRJ
Contedo:
1
1
2