Você está na página 1de 47

Modelagem de Casos de Uso (Parte 1)

Introduo (1) ca
Objetivos Principais dos Casos de Uso: Delimitao do contexto de um sistema ca Documentao e o entendimento dos requisitos ca Descrio dos requisitos funcionais ca Principal sa da etapa de especicao de requisitos da ca Principal entrada da etapa de anlise a

Introduo (2) ca
Objetivos Secundrios dos Casos de Uso: a Facilitam a comunicao entre os stakeholders ca So a base para a denio do cronograma a ca Auxiliam na elaborao dos casos de teste ca

Introduo - (3) ca
Ponte entre Requisitos e Anlise: a
Especificao de Requisitos Especificao dos Requisitos ou Modelo Contextual do Sistema Ponte (artefato comum) Anlise Modelo de Classes de Anlise ou Modelo Conceitual

Modelo de Casos de Uso

Descrio: Sistema de Ponto de Vendas ca


Principais Requisitos: Registrar os tens vendidos em cada venda. Calcular o total de uma venda. Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. o Reportar ao estoque os dados dos produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. Calcular o total de uma venda. Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. o Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. o Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. o Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. - (F) o Reportar ao estoque os produtos vendidos. Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. - (F) o Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. - (F) o Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. - (F) o Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. - (NF) Receber pagamentos em dinheiro ou carto. a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. - (F) o Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. - (NF) Receber pagamentos em dinheiro ou carto. - (F) a Emitir mensalmente o balano do estoque. c

Exerc cio (PDV)


Classicao dos Requisitos - (F/NF): ca Registrar os tens vendidos em cada venda. - (F) Calcular o total de uma venda. - (F) Obter e apresentar as informaoes sobre cada produto c mediante a leitura de seu cdigo de barras. - (F) o Reportar ao estoque os produtos vendidos. - (F) Registrar cada venda completada com sucesso. - (F) Exigir senha pessoal para operar o sistema. - (NF) Receber pagamentos em dinheiro ou carto. - (F) a Emitir mensalmente o balano do estoque. - (F) c

Casos de Uso
a ca o So uma descrio de um processo de negcio relativamente longo com um comeo, meio e m c Representam as principais funcionalidades do sistema observveis por algum ator a Representam funoes no n de sistema c vel O QUE fazer, no COMO fazer a Abstrao dos detalhes desnecessrios ca a

Exemplo (Caso de Uso)


Caso De Uso: Comprar Produtos Atores: Cliente, Atendente Descrio: Um cliente chega ao ponto de vendas para ca comprar produtos. O atendente registra a compra e coleta o pagamento. O cliente vai embora com a compra.

Representao UML (Casos de Uso) ca


Uma elipse com o nome do caso de uso no centro:

Emprestar Exemplar

Nome = Verbo + Substantivo (indicao de ao) ca ca

Atores
So entidades externas ao sistema computacional que a participam de um ou mais casos de uso Normalmente ou fornecem eventos de entrada ou recebem alguma resposta do sistema Em geral, atores podem ser: Papis que pessoas representam nos casos de uso e Dispositivos de hardware mecnicos ou eltricos a e Outros sistemas computacionais Tempo (representar atividades peridicas) o Interage com os casos de uso atravs de associaoes e c (linhas cont nuas)

Representao UML (Atores) ca


Rep. 1 - Um boneco:
caso de uso
Emprestar Exemplar

associao

ator

Atendente

Usurio

Rep. 2 - Uma classe com o esteretipo << actor >>: o


<< actor >> Atendente Comprar Produtos associao caso de uso << actor >> Cliente

ator

Fluxo de Eventos (1)


Especica o comportamento de um caso de uso ue E uma seqncia de comandos declarativos que descreve as etapas de execuo de um Caso de Uso ca Permanece focado no dom do problema e no em nio a sua soluo ca Pode conter testes condicionais e iteraoes c Contm informaoes relativas: e c ` As condioes de in e trmino do caso de uso c cio e Quais os atores interessados no sistema Como o caso de uso interage com esses atores

Fluxo de Eventos (2)


e O uxo de eventos de um caso de uso composto por: Um Fluxo Basico - descreve a funcionalidade principal do caso de uso, quando nenhum desvio e tomado Zero ou Mais Fluxos Alternativos a descrevem desvios pr-denidos do uxo bsico e Esses uxos podem ser especicados atravs de: e Descrio textual informal ca Texto semi-formal (atravs de pr-, ps-condioes e e o c e invariantes) Pseudocdigo o Ou uma combinao dessas maneiras ca

Exemplo (Fluxo Bsico de Eventos) (1) a


Descrito em pseudocdigo: o 1. O cliente chega ao ponto de vendas com os produtos da compra 2. para cada( produto trazido pelo cliente): (a) O atendente registra o cdigo e a quantidade do o produto (b) O sistema determina o preo do produto e o adic ciona ` compra a 3. O atendente indica que a lista de produtos est coma pleta 4. O sistema calcula e apresenta o total ...

Exemplo (Fluxo Bsico de Eventos) (2) a


Descrito em pseudocdigo: o ... 5. O atendente informa o cliente sobre o total da compra e pergunta qual a forma de pagamento e 6. se(dinheiro) forma de pagamento = dinheiro 7. O atendente registra a quantia recebida 8. O sistema mostra o troco e gera o recibo 9. O atendente deposita o dinheiro, devolve o troco e entrega o recibo da compra 10. O sistema registra o nal da transao ca

Exemplo (Fluxos Alternativos de Eventos)


Descrioes textuais: c 1. No passo 2 do uxo bsico, pode ter um produto com um cdigo a o invlido. Nesse caso, o sistema avisa que o cdigo fornecido a o e invlido e pede que o atendente registre o prximo produto. V a o a para o passo 2 do uxo bsico. a 2. No passo 6, o cliente pode escolher pagar com carto de crdito. a e Neste caso, o atendente passa o carto e o cliente digita a senha. a Se houver crdito dispon e vel, v para o passo 7 do uxo bsico. a a Se no houver, v para o passo 6 do uxo bsico. a a a 3. A qualquer momento, o atendente pode cancelar a transao. ca Nesse caso, as informaoes referentes ` compra so descartadas. c a a

Cenrios a
a ue c So seqncias de comandos/aoes simples Representam um comportamento sem desvios de caminhos ou iteraoes c O uxo de eventos de um caso de uso produz: Um cenrio primrio, que representa uma situao a a ca t pica de sucesso Zero ou mais cenrios secundrios, que descrevem a a situaoes previstas, porm incomuns c e Cenrios tm respostas para as seguintes perguntas: a e Como o cenrio comea? a c O que causa o trmino do cenrio? e a Quais respostas so produzidas pelo cenrio? a a

Exemplo (Cenrio Primrio) (1) a a


Caso de Uso Comprar Produtos: 1. O cliente Jos chega ao ponto de vendas para comprar um saco e de aucar em dinheiro com uma nota de R$ 5,00; c 2. O atendente registra o cdigo do produto. o 3. O sistema verica o preo do produto, adicionando-o ` compra. c a 4. O atendente indica que a lista de produtos est completa. a 5. O sistema calcula e apresenta o total de R$ 2,00.

Exemplo (Cenrio Primrio) (2) a a


Caso de Uso ComprarProduto: 6. O atendente conta para Jos o total da compra. e 7. Jos entrega a sua nota de R$ 5,00 ao atendente. e 8. O atendente registra a quantia de dinheiro recebida. 9. O sistema mostra o troco (R$ 3,00) e gera o recibo. 10. O atendente deposita o dinheiro e devolve o troco e o recibo. 11. O sistema registra o nal da transao de compra. ca 12. Jos vai embora. e

Exemplo (Cenrio Alternativo) a


Caso de Uso ComprarProduto - Alternativo 1: 1. O cliente chega ao ponto de vendas com o produto da compra 2. O atendente tenta registrar o cdigo do produto, que o est invlido a a 3. O sistema avisa ao atendente que o cdigo do proo duto fornecido invlido e no adiciona o produto na e a a compra

Formato de Documentao de Casos de Uso ca (Formato Adotado) (1)


1. Nome do Caso de Uso . (a) Breve Descrio: ca . ... texto ... . (b) Atores: . ... texto ... . (c) Pr-condies: e co . ... predicados satisfeitos antes da execuo ... ca . (d) Ps-condies: o co . ... predicados satisfeitos aps a execuo ... o ca . (e) Requisitos Especiais (No-Funcionais): a . ... atributos de qualidade do sistema ...

Formato de Documentao de Casos de Uso ca (Formato Adotado) (2)


2. Fluxos de Eventos . (a) Fluxo Bsico: a . ... passos do uxo bsico ... a . (b) Fluxo Alternativo 1: . ... passos/descrio do uxo alternativo ... ca . (c) Fluxo Alternativo 2: . ... passos/descrio do uxo alternativo ... ca . (d) ...

Diagramas de Casos de Uso


Mostram um conjunto de casos de uso, atores e seus relacionamentos Modelam aspectos dinmicos do sistema a Proporcionam uma representao contextual do sisca tema (fronteira expl cita) Indicam a forma como o sistema interage com as entidades externas (atores)

Exemplo (Diagramas de Casos de Uso)


Limite do sistema Sistema de Biblioteca
caso de uso
Emprestar Exempalar

associao
Devolver Exemplar

ator
Reservar Publicao Atendente Usurio

Cancelar Reserva

Relacionamentos Entre Casos de Uso


Objetivo: Aumentar a reutilizao em diferentes conca textos Evita a descrio de um mesmo conjunto de uxos de ca eventos, atravs da extrao/fatorao do comportae ca ca mento comum dos casos de uso A linguagem UML dene trs tipos de relacionamene tos: Generalizao (herana) ca c Incluso (<< include >>) a Extenso (<< extend >>) a

Generalizao (1) ca
Similar ` generalizao entre classes a ca O caso de uso lho herda tanto o signicado do seu pai, quanto o seu comportamento O comportamento do caso de uso lho normalmente redenido e

Generalizao (2) ca
Um caso de uso lho pode ser utilizado no lugar do seu pai Tambm pode ser utilizado entre atores e Representado por uma seta cont nua que aponta do lho para o pai

Exemplo de Generalizao ca (Entre Casos de Uso e Atores)

Emprestar sem Renovao


Funcionrio

Emprestar Exemplar

Renovar Emprstimo
Bibliotecrio Atendente

(a)

(b)

Incluso a
Signica que o caso de uso base incorpora explicitamente o comportamento de outro caso de uso em um ponto espec co Representado como uma dependncia (seta tracejada) e que aponta para o caso de uso inclu do Se o caso de uso inclu muda, o caso de uso base do precisa ser revisto A dependncia possui o esteretipo << include >> e o

Exemplo de Incluso (1) a


Fluxo Bsico de Eventos a (Comprar Produtos): 1. adicionar tens ao pedido; 2. include (Efetuar Pagamento); 3. se o pagamento for realizado com sucesso (a) Finalizar venda 4. seno a (a) Cancelar compra

Exemplo de Incluso (2) a


caso de uso base Emprestar Exemplar << include >> relacionamento de incluso caso de uso includo Validar Usurio

Extenso (1) a
Signica que o caso de uso base incorpora implicitamente o comportamento de outro caso de uso Apenas em circunstncias espec a cas, o caso de uso estendido tem seu comportamento incorporado pelo caso de uso base: pontos de extensao Utilizado para modelar o comportamento excepcional do sistema (exceoes) c

Extenso (2) a
Representado como uma dependncia (seta tracejada) e que aponta para o caso de uso base Se o caso de uso base muda, o caso de uso estendido precisa ser revisto A dependncia possui o esteretipo << extend >> e o

Exemplo de Extenso (1) a


Fluxo Bsico de Eventos a (Devolver Produtos): 1. Coleta os tens do produto devolvido; 2. se (opo de troca); ca (a) extend Efetuar Troca 3. se(opo em dinheiro); ca (a) extend Ressarcir em Dinheiro 4. Reportar ao estoque; 5. Finalizar operao. ca

Exemplo de Extenso (2) a


caso de uso base Emprestar Exemplar Extension Points (publicao reservada) : ponto de extenso << extend >> (publicao reservada) relacionamento de extenso caso de uso extensor Cancelar Reserva

Exerc cios

Exerc cios
1. Construa um diagrama de casos de uso a partir da identicao dos relacionamentos entre os casos de ca uso do sistema de PDV, mostrado em aula. Utilize << include >> e << extend >>. Dicas: (i) alguns casos de uso foram mostrados em aula; (ii) sugesto para a construo do diagrama: a ca (a) Identicao dos atores do casos de uso ca (b) A partir desses atores, identicar os casos de uso (consulte os requisitos desejados) (c) Renar os casos de uso, identicando suas partes em comum e a relao entre eles ca 2. Especique um desses casos utilizando o formato dado em aula.

Resoluo do Exerc ca cio 1

Proposta de Resoluo do Exerc ca cio 1


Diagrama Detalhado de Casos de Uso do Sistema de PDV Sistema de PDV

Calcular Total Registrar Venda Cliente << include >> << include >> Comprar Produtos << include >> Adicionar Item << include >> Obter Informao do Produto Registrar Item de Venda Reportar Venda ao Estoque

<< include >> Funcionario Efetuar Login

<< include >>

Efetuar Pagamento Efetuar Troca

<< include >>

(opo de troca) << extend >> Pagar em Dinheiro (opo em dinheiro) << extend >> Ressarcir em Dinheiro Pagar com Carto

Devolver Produtos Atendente Gerente

Emitir Balano Mensal

Tempo

Você também pode gostar