caso_de_uso
DESCRIPTION
engenharia de requisitosTRANSCRIPT
-
1Casos de Uso
Casos de Uso O que
Descries narrativas de processos do domnio da aplicao
Documentam a seqncia de eventos de um ator (um agente externo) usando o sistema para completar, do incio ao fim, um determinado processo
Representao em UML:
Buy Items
Objetivos de um Caso de Uso
Ser compreensvel para os usrios leigos em informtica
Auxiliar a tarefa de anlise, especificando funcionalidades e comportamento do sistema
Delimitar o sistema
Servir de base para derivar casos de teste
Atores
Entidades externas ao sistema que de algum modo participam da estria do caso de uso Estimulam o sistema com eventos de entrada, ou recebem alguma coisa dele
Designados pelo papel que exercem no caso de uso
Ex.: Cliente, Operador, etc.
Representao em UML:Customer
Atores e Casos de Uso
Um caso de uso possui um ator que o inicia, que gera o estmulo inicial, e possivelmente vrios atores participantes O ator iniciador deve ser indicado explicitamente na descrio do caso de uso
Algumas categorias tpicas de atores incluem: papeis exercidos por pessoas
sistemas de computao, outros softwares
dispositivos eltricos e mecnicos
hardware
Diagramas de Caso de Uso
Ilustram um conjunto de casos de uso e atores para um sistema e os relacionamentos entre eles
Cashier
POST
Buy Items
CustomerLog In
Refund Purchaseditems
-
2Relacionamentos no Diagrama de Casos de Uso
Relacionamento entre atores
Relacionamento entre atores e casos de uso
Relacionamento entre casos de uso
Relacionamento entre atores
Relacionamento de Associao
Relacionamento de Generalizao
Funcionario
Cliente Caixa
Cliente
_________
_________
Herana entre atores
Gerente de Compras
Gerente deVendas
Gerente
Relacionamento entre atores e casos de uso
Buy Items
Buy Items
Cliente
Customer
_________
_________
A seta pode indicar duas alternativas a escolher: ator que inicia o caso de uso ou simplesmente a direo dos dados
ou
>
ValidarCliente
Cliente
RealizarPedido
CadastrarCliente
Cliente
RealizarPedido________
Relacionamento entre Casos de UsoRelacionamento entre Casos de Uso
______
Relacionamento de Uso ou Include
Utilizar quando se tem um bloco de comportamento que o mesmo para vrios casos de uso.
Representar o fluxo comum como um outro caso de uso B a ser chamado pelo caso de uso A complexo: A B
Validar Cliente pode ser um caso de uso utilizado por outro caso tal como Abrir Conta alm de Realizar Pedido
-
3Relacionamento de Extenso
Utilizar quando se tem dois casos de usos que fazem algo parecido, s que o caso de uso B faz alguma coisa a mais que A. B estende A
B representa alguma situao no muito comum que ocorre em A mediante a satisfao de uma pr-condio
Relacionamento de Generalizao
Identificar Usurio
Verificar Senha
_______
Customer
relao estrutural
entre um caso de uso
mais geral e um caso
de uso mais especfico.
o caso de uso mais
geral uma generalizao(abstrao) do ou dos casosde uso mais especficos. Ocaso de uso geral, representaas partes comuns de casos deuso especializados.
Fluxo de Eventos, Cenrios
Um caso de uso descreve um fluxo de eventos para realizar uma operao
Cenrio: uma das formas possveis de se realizar um caso de uso
Tipos de fluxos: Tpicos: Principal ou Bsico
Atpicos: Alternativos, casos de erro, cancelamento, etc.
Pr e Ps Condies
Condies que devem ser verdadeiras antes de o caso de uso ser executado, ou aps a sua execuo.
Ex: retirar dinheiro em um caixa Pr-condio: cliente precisa ter conta no banco
Ps-condio: o terminal fica pronto para outro cliente.
Interfaces entre Atores e Casos de Uso
Identificam quais operaes o ator (ou o caso de uso) realizam
Auxiliam a especificar as interaes e a reutilizar casos de uso
Cliente Realizar PedidoInterfaceCliente
--------------
________
Tipos de Caso de Uso Com Respeito Importncia
PrimrioRepresentam os processos principais ou mais comuns (ex.: Comprar Itens)
SecundrioRepresentam processos menos importantes ou mais raros (ex.: Cadastrar Operadores)
OpcionalRepresentam processos que podem ser ignorados ou includos em futuras verses do sistema (ex.: Solicitar Estoque para um Novo Produto)
-
4Tipos de Casos de Uso com Respeito Descrio Textual
Alto-nvel Breve descrio de um processo, normalmente em duas ou trs frases, e deliberadamente vago em decises de projeto
Criados na fase inicial de requisitos
Expandido Descrio passo a passo dos fluxos de eventos de um processo
Durante a fase de requisitos, apenas os casos de uso mais importantes so geralmente escritos nesse formato
Exemplo de um caso de uso de alto-nvel:
A UML no especifica um formato rgido para os cabealhos e a estrutura de um caso de uso Podem ser alterados de acordo com as necessidades de documentao
Casos de Uso Alto Nvel
Caso de uso:
Atores:
Tipo:
Descrio:
Comprar Itens (Buy Items)
Cliente (Customer), Operador (Cashier )
primrio
Um Cliente chega no caixa com itens para comprar. O Operador registra os itens e coleta o pagamento. Ao final, o Cliente sai com os itens.
Exemplo de um caso de uso expandido:
Caso de Uso Expandido
Caso de uso:
Atores:
Propsito:
Descrio:
Comprar Itens com Dinheiro (Buy Items with Cash)
Cliente (Iniciador), Operador
Capturar uma venda e seu pagamento em dinheiro.
Um Cliente chega no caixa com itens para comprar. O Operador registra os itens e coleta um pagamento com dinheiro. Ao final, o Cliente sai com os itens.
Tipo:
Referencia:
primrio e essencial
Funes: R1.1, R1.2, R1.3, R1.7, R1.9, R2.1
Tpica Seqncia de Eventos
Ao do Ator Resposta do Sistema
1. Este caso de uso comea quando um Cliente chega no caixa com itens para comprar.
Exemplo de um caso de uso expandido (cont.):
Caso de Uso Expandido
Tpica Seqncia de Eventos
Ao do Ator Resposta do Sistema
2. O Operador registra o identi-ficador de cada item.
Se h mais de um do mesmo item, o Operador tambm pode infor-mar a quantidade.
3. Determina o preo do item e adiciona informao sobre o item transao de venda em anda-mento.
Mostra a descrio e o preo do item corrente.
4. Aps processar o ltimo item, o Operador indica ao POST que a entrada de itens terminou.
5. Calcula e mostra o valor total da venda.
6. O Operador informa o total ao Cliente.
.
Exemplo de um caso de uso expandido (cont.):
Caso de Uso Expandido
Tpica Seqncia de Eventos
Ao do Ator Resposta do Sistema
7. O Cliente entrega um paga-mento em dinheiro, possivelmente maior do que o valor total.
8. O Operador registra o valor recebido em dinheiro.
9. Mostra o troco devido.
Emite um recibo.
12. O Cliente sai com os itens comprados.
.
10. O Operador deposita o dinheiro e retira o troco devido.
O Operador entrega o troco e o recibo ao Cliente.
11. Registra a venda no log de vendas completadas.
Tipos de Casos de Uso com Respeito Implementao
Essencial Descrio de um processo em termos de sua motivao e atividades essenciais
Expressos relativamente livres de detalhes de implementao, decises de projeto, e uso de tecnologias
Real Descrio de um processo em termos de seu projeto real, comprometido com tecnologias de desenvolvimento, interfaces de entrada e sada, etc.
-
5Caso de Uso EssencialTrecho do caso de uso Comprar Itens essencial
Ao do Ator Resposta do Sistema
2. O Operador registra o identi-ficador de cada item.
Se h mais de um do mesmo item, o Operador tambm pode infor-mar a quantidade.
3. Determina o preo do item e adiciona informao sobre o item transao de venda em anda-mento.
Mostra a descrio e o preo do item corrente.
4. ... 5. ...
Caso de Uso Real
Trecho do caso de uso Comprar Itens realAo do Ator Resposta do Sistema
2. Para cada item, o Operador digita o cdigo universal de pro-duto (UPC) no campo de entrada UPC da Janela 1. Ele ento pres-siona o boto Entra Item com o mouse ou pressiona a tecla .
3. Determina o preo do item e adiciona informao sobre o item transao de venda em anda-mento.
Mostra a descrio e o preo do item corrente na Caixa de Texto 2 da Janela 1.
4. ... 5. ...
Casos de Uso com Fluxos Alternativos
Caso de uso Comprar Itens Expandido
Ao do Ator Resposta do Sistema
1. ...
2. O Cliente escolhe o tipo de pagamento:
a) Se pagamento com dinheiro, veja seo Pagamento com Dinheiro.
b) ...
Seo: Principal
Ao do Ator Resposta do Sistema
1. O Cliente entrega um paga-mento em dinheiro ...
Seo: Pagamento com Dinheiro
Formato para um Caso de UsoNome do caso de uso
Descrio
Atores
Tipo
Referncias
Pr-condies
Fluxo de eventos
Fluxo principal (tpico)
Fluxos alternativos
Fluxos no tpicos (erros, cancelamentos, etc)
Ps-condies
Pontos de extenso
Casos de uso includos
Outros requisitos (Interfaces)
Decomposio de Diagramas de Casos de Uso
Pode-se dividir sistemas complexos em sub-sistemas e para cada um deles um diagrama de Casos de Uso
Para mostrar o relacionamento entre esses sub-sistemas, os Casos de Uso so agrupados em Pacotes.
Decomposio de Diagramas de Casos de Uso
Casos de usoGerais
Casos de usoAdminitrativos
Casos de usoMercadolgicos
-
6Identificando Casos de Uso
Normalmente no so eventos ou passos individuais, mas um processo completo Erro mais comum!
Mtodo baseado em atores1. Identificar os atores relacionados com o sistema ou organizao
2. Para cada ator, identificar os processo que eles iniciam ou participam
Identificando Casos de Uso
Mtodo baseado em eventos1. Identificar os eventos externos aos quais o sistema deve responder
2. Relacionar os eventos a atores e casos de uso
Exemplos do sistema Posto Comercial Operador: Login, Retirar Dinheiro Cliente: Comprar Itens, Devolver Itens Digitar Senha? Imprimir Recibo?
Casos de Uso e Funes
Todas as funes do sistema identificadas na especificao dos requisitos devem ser alocadas a casos de usos
Alocao documentada atravs da seo Referencia
Casos de Uso e o Limite do Sistema
Identificar os atores e casos de uso de um sistema requer a definio de seu limite de atuao
Alguns limites tpicos incluem: o software/hardware de um dispositivo ou sistema de computao
um departamento de uma organizao
uma organizao inteira
Limites diferentes podem resultar em diferentes conjuntos de atores e casos de uso
Casos de Uso e o Limite do Sistema
Exemplo de um diagrama de caso de uso para o sistema Posto Comercial, quando o limite de atuao a loja inteira
Store
Buy Items
CustomerRefund Purchased
items
Recomendaes Crie nomes sempre comeando com um verbo
Identifique primeiro os fluxos principais, iniciando com:1. Este caso de uso comea quando
Use a seo Seqncias no Tpicas para representar desvios para seqncias de eventos incomuns ou excepcionais.
Use subsees para representar desvios para seqncias alternativas com igual importncia ou probabilidade de ocorrncia
-
7Recomendaes
Procure estimar a dimenso (granularidade) do caso de uso. Se ele estiver muito extenso procure identificar sub-casos
Procure identificar partes comuns nos seus casos de uso, e usar .
Identifique servios comuns aos casos de uso e crie casos de uso genricos.
A medida que se definem os casos de uso um refinamento no diagrama possvel
Referncias Boock, G. and Rumbaugh, J. The Unified Modeling Language User
Guide . Addison-Wesley, 1999 Arlow, J. and Neustadt, I. UML 2 and the Unified Process: Practical
Object-Oriented Analysis and Design, 2nd Edition, The Addison-Wesley Object Technology Series, 2005.
Rumbaugh, J.; Jacobson, I. and Booch , G. The Unified Modeling Language Reference Manual, 2nd Edition, The Addison-Wesley Object Technology Series, 2004.
Boock, G.; Rumbaugh, J. and Jacobson, I; Unified Modeling Language User Guide, 2nd Edition, The Addison-Wesley Object Technology Series, 2005.
Jacobson, I; Boock, G. and Rumbaugh, J., Unified Software Development Process, Addison-Wesley, Janeiro 1999.
Larman, C. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design Prentice-Hall, New Jersey - USA, 1997
Bezerra, E. Princpios de Anlise e Projetocom a UML, ed. Campus-Elsevier. 2003.