Você está na página 1de 53

Casos de Uso

Engenharia de Requisitos Requisito sistema Caso de uso - usurio

Casos de Uso no Contexto do UP


Anlise Projeto Casos de Uso Expandidos

Projeto da Camada de Aplicao

Modelo Conceitual Projeto da Camada de Domnio Contratos

Caractersticas
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.

Modelagem

Etapas para Modelagem Funcional

Identificar as requisies de entrada e sada


Para usurios; Envolvendo outros sistemas existentes.

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

Objetivos

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

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.

Atividades de Expanso

Descrever o fluxo principal Descrever fluxos alternativos

Tipos de caso de uso


Essencial Real

Casos de Uso Essenciais

Apenas a essncia das operaes apresentada, em oposio sua realizao concreta

Sistema Atual Sistema Futuro Descrio Essencial

Atual: o funcionrio procura a ficha do cliente no fichrio Futuro: o funcionrio clica no boto procurar digitando o cdigo do cliente no campo X3 Essencial: o funcionrio localiza as informaes sobre o cliente.

Casos de Uso na Anlise e Projeto

Na anlise o objetivo estudar o sistema para descobrir as necessidades do cliente Casos de Uso Essenciais. No projeto o objetivo produzir uma soluo implementada de um sistema informatizado para uso pelo cliente Casos de Uso Reais.

Nveis de Detalhamento

Alto Nvel Expandido

Exemplo de Caso de Uso de Alto Nvel

Caso de uso: Emprestar Fitas Um cliente solicita a locao de algumas fitas. Aps identificar-se e identificar as fitas ele pode lev-las para casa, ciente do prazo de devoluo e do valor a ser pago.

Caso de Uso: Locar Fitas


Fluxo Principal: 1. O cliente chega ao balco com as fitas que deseja locar. 2. O cliente informa seu nome e entrega as fitas ao funcionrio. 3. O funcionrio registra o nome do cliente e inicia a locao. 4. O funcionrio registra cada uma das fitas. 5. O funcionrio finaliza a locao, devolve as fitas ao cliente e lhe informa a data de devoluo e o valor total da locao. 6. O cliente vai embora com as fitas. Tratamento de Excees: 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. 3b. O cliente possui pendncias no cadastro (locao anterior no foi paga). 3b.1 O cliente paga seu dbito. 3b.2 O funcionrio registra a quitao do dbito, eliminando assim a pendncia. 3b.3 Retorna ao passo 3. 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.

Exemplo de Caso de Uso Expandido

4b. Uma fita est danificada. 4b.1 O funcionrio informa que a fita est danificada. 4b.2 O funcionrio registra que a fita est danificada. 4b.3 O funcionrio verifica se existe outra fita disponvel com o mesmo filme. 4b.3 Se existir, o funcionrio substitui a fita e segue no passo 4, seno segue do passo 4 sem incluir a fita danificada.

Passos em um Fluxo

Obrigatrios Complementares No Recomendados

Passos Obrigatrios

Indicam as entradas e sadas de informao do sistema necessrias para realizar o caso de uso. Na falta de qualquer um desses passos o caso de uso pode ficar sem sentido.

Exemplo de caso de uso onde falta uma entrada de informao


Caso de Uso (mal construdo): Reservar um Filme 1. O cliente entra em contato com o funcionrio da videolocadora (possivelmente por telefone). 2. O cliente informa seu nome. 3. O cliente solicita uma reserva. 4. O funcionrio confirma a reserva.

Um dilogo impossvel baseado no caso de uso anterior


Cliente: Boa tarde! Funcionrio: Boa tarde! Em que posso servi-lo? Cliente: Meu nome Joo e eu gostaria de reservar um filme. Funcionrio: Pois no, Senhor. Acabo de efetuar a reserva. Cliente: Grato!

Uma soluo mais adequada

Caso de Uso: Reservar um Filme 1. O cliente entra em contato com o funcionrio da videolocadora (possivelmente por telefone). 2. O cliente informa seu nome. 3. O cliente solicita uma reserva informando o nome do filme. 4. O funcionrio confirma a reserva, informando o prazo de validade.

Tipos de passos obrigatrios


Eventos de sistema entradas. Respostas de sistema sadas. Obs. No so respostas de sistema retornos do tipo ok. Deve ser enviada ao mundo externo algum tipo de informao que o sistema armazena.

Identificao de passos obrigatrios em um Caso de Uso


Caso de Uso: Reservar um Filme 1. O cliente entra em contato com o funcionrio da videolocadora (possivelmente por telefone). 2. [EV] O cliente informa seu nome. 3. [EV] O cliente solicita uma reserva informando o nome do filme. 4. [RS] O funcionrio confirma a reserva, informando o prazo de validade.

Passos Complementares

No possuem uma entrada ou sada do sistema, mas ajudam a compreender o contexto. Estes passos tm pouca ou nenhuma influncia na complexidade do software a ser desenvolvido.

Exemplos de passos complementares

o cliente chega ao balco com as fitas que deseja locar o cliente vai embora com as fitas o funcionrio pergunta o nome do cliente o sistema informa que a reserva foi concluda com sucesso

Passos No Recomendados

So os processos internos ao sistema . O caso de uso deve descrever a interao entre o sistema e os atores externos, no o processamento interno.

Exemplos de passos que no deveriam constar em um caso de uso

o sistema registra o nome do cliente no banco de dados o sistema calcula a mdia das vendas

Um exemplo de caso de uso com passos no recomendados


Caso de Uso (mal construdo): Emprestar Fitas 1. O cliente chega ao balco com as fitas que deseja emprestar. 2. O cliente informa seu nome. 3. O funcionrio registra o nome do cliente. 4. O sistema verifica se o cliente tem cadastro e se o cliente no est suspenso por no pagamento de emprstimos anteriores. 5. O funcionrio registra cada uma das fitas. 6. O sistema verifica no banco de dados o registro das fitas e marca cada uma como emprestada. Posteriormente o sistema adiciona cada fita ao emprstimo corrente e soma o valor das fitas no total do emprstimo. 7. O funcionrio encerra o emprstimo. 8. O cliente vai embora com as fitas.

Tratamento de Excees no Caso de Uso

Depois de descrever o fluxo principal do caso de uso, deve-se imaginar o que poderia dar errado em cada um dos passos descritos Uma exceo um evento que se no for devidamente tratado impede o prosseguimento do caso de uso A exceo em um processo no necessariamente algo que impede que o processo seja iniciado, mas normalmente algo que impede que ele seja concludo

Partes de um tratamento de exceo

Identificador nmero da linha no FP e cdigo da exceo Descrio da exceo uma frase Aes corretivas um fluxo alternativo Finalizao se e como retorna-se ao FP

Formas de Finalizar um Fluxo Alternativo

Voltar ao incio do passo que causou a exceo Ir para algum passo posterior Voltar ao incio do caso de uso Abortar o caso de uso

Forma a ser evitada no Fluxo Principal


Se o cliente possui cadastro ento o funcionrio registra...

Abortar o Caso de Uso

Quando no for possvel ou desejvel realizar um passo, o caso de uso abortado. No necessrio indicar isso como exceo, pois idealmente pode ocorrer a qualquer momento e em qualquer passo.

Variantes

No so excees, mas sub-conjuntos de cenrios distintos dentro de um caso de uso

Caso de Uso: Devolver Fitas

Variantes 5.1: Dinheiro: 5.1.1. O cliente entrega a quantia em dinheiro.

Fluxo Principal 1. O cliente entrega as fitas que deseja devolver. 2. O funcionrio identifica cada uma das fitas. 3. O funcionrio indica que no h mais fitas para devolver. 4. O sistema informa o valor total a ser pago. 5. O cliente realiza o pagamento: - Dinheiro: Ver variante 5.1. - Cheque: Ver variante 5.2. - Carto: Ver variante 5.3. 6. O funcionrio conclui a devoluo.

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: 5.3.1. O cliente entrega o carto de crdito. 5.3.2. O funcionrio envia a informao sobre o carto ao servio de autorizao, bem como o valor da compra e a identificao da loja. 5.3.3. O Servio de autorizao envia o cdigo de autorizao. 5.3.4. O cliente confirma a autorizao (possivelmente com a assinatura).

Fluxos Alternativos de Outros Casos de Uso


Caso de Uso: Vender Fitas 1. O cliente se identifica. 2. O cliente entrega as fitas que deseja comprar. 3. O funcionrio identifica as fitas para compra. 4. O sistema informa o valor total. 5. O cliente realiza o pagamento: - Dinheiro: Ver Caso de Uso Devolver Fitas variante 5.1 - Cheque: Ver Caso de Uso Devolver Fitas variante 5.2 - Carto: Ver Caso de Uso Devolver Fitas variante 5.3 4. O cliente vai embora.

Em UML:

Quando usar variantes?

Quando uma mesma seqncia de passos repetida em diferentes casos de uso Quando um caso de uso demasiadamente complexo, e a diviso dele em variantes ajuda na sua compreenso

Cenrios

Cada cenrio uma realizao particular do caso de uso

Diferentes cenrios devem ter passos obrigatrios distintos


Contra-exemplo:
1. O cliente chega no balco com as fitas. 2. O funcionrio solicita o nome do cliente. 3. O cliente informa o seu nome. 4. [EV] O funcionrio registra o nome... (a) (b) 1. O cliente chega no balco com as fitas. 2. O cliente informa o seu nome. 3. [EV] O funcionrio registra o nome...

Consultas no caso de uso

Evite:

o sistema verifica se o usurio est cadastrado o funcionrio informa a identificao do cliente o sistema informa os dados do cadastro do cliente

Prefira:

Outras sees de um Caso de Uso


Atores Interessados Pr-Condies Ps-Condies de Sucesso Requisitos Correlacionados Variaes Tecnolgicas Questes em Aberto

Caso de Uso: Emprestar Fitas


Atores: Funcionrio e Cliente Interessados: Gerente financeiro, Setor de compras Pr-condies: As fitas a serem locadas esto devidamente registradas (pode-se garantir que as fitas com cdigo identificador tenham sido previamente registradas no sistema se o cdigo for produzido apenas aps o registro). Ps-condies: O cliente ficou de posse das fitas. O registro da locao das fitas para o cliente foi feito. O cliente foi informado do prazo e valor da locao. Requisitos Correlacionados: F1 e F2. Variaes tecnolgicas: a identificao do cliente poder ser feita atravs de um cdigo simples ou um carto com cdigo de barras. A identificao das fitas tambm poder ser feita por um cdigo ou por leitor de cdigo de barras. Outra opo seria um leitor magntico, mas esta opo no est sendo seriamente considerada no momento devido ao custo. Questes em aberto: 1. Os prazos de locao variam de fita para fita? 2. Existem promoes do tipo leve 4 e pague 3? Fluxo Principal: 1. O cliente chega ao balco com as fitas que deseja locar. 2. O cliente informa seu nome e entrega ao funcionrio as fitas. 3. [EV] O funcionrio registra o nome do cliente e inicia a locao. 4. [EV] O funcionrio registra cada uma das fitas. 5. [RS] O funcionrio finaliza a locao, devolve as fitas ao cliente e lhe informa a data de devoluo e o valor total da locao. 6. O cliente vai embora com as fitas.

Tratamento de excees: 3a. O cliente no possui cadastro. 3a.1 O cliente deve informar seus dados para cadastro. 3a.2 [EV] O funcionrio registra o cadastro. 3a.3 Retorna ao fluxo principal no passo 3. 3b. O cliente possui pendncias no cadastro (locao anterior no foi paga). 3b.1 O cliente paga seu dbito. 3b.2 [EV] O funcionrio registra a quitao do dbito, eliminando assim a pendncia. 3b.3 Retorna ao passo 3. 4a. Uma fita est reservada para outro cliente. 4a.1 [RS] O funcionrio informa que a fita no est disponvel para locao. 4a.2 Prossegue a locao do passo 4 sem incluir a fita reservada. 4b. Uma fita est danificada. 4b.1 O funcionrio informa que a fita est danificada. 4b.2 [EV] O funcionrio registra que a fita est danificada. 4b.2 O funcionrio verifica se existe outra fita disponvel com o mesmo filme. 4b.3 [EV] Se existir, o funcionrio substitui a fita e segue no passo 4, seno segue do passo 4 sem incluir a fita danificada.

Fronteira do Sistema

Na fase de anlise, o texto dos casos de uso expandidos ter basicamente duas utilizaes:

Como fonte de informao para encontrar conceitos para o modelo conceitual. Como fonte de informao para encontrar as operaes e consultas de sistema, que daro origem aos mtodos que fazem a interface do sistema com o mundo externo.

Operaes e Consultas de Sistema

Operaes de sistema so mtodos que so ativados a partir de um evento de sistema, ou seja, como resposta a uma ao de um usurio [EV] Consultas de sistema so mtodos que correspondem simples verificao de informao j armazenada [RS]

Pode-se dizer que as operaes e consultas de sistema, em conjunto, correspondem totalidade das funes possveis do sistema, ou seja, funcionalidade efetiva total do sistema.

Diagrama de Seqncia

Comentrios sobre Diagramas de Seqencia

A informao normalmente no criada durante estes processos, mas apenas transferida ou transformada. Um ator ou o sistema detm alguma informao, e para realizar o processo ele ter de passar esta informao adiante.

O diagrama de seqncia pode ser construdo para o fluxo principal do caso de uso e eventualmente tambm para alguns cenrios com fluxos alternativos. O importante nesta fase no ter o diagrama em si, mas identificar corretamente que operaes e consultas de sistema so necessrias. A existncia dos diagramas completos com o fluxo de informaes entre os atores e do sistema para os atores ser interessante na fase de projeto da interface, mas por enquanto, na anlise, suficiente saber quais so as informaes repassadas dos atores para o sistema e vice versa.

O analista deve preocupar-se ento em construir um catlogo com todas as operaes e consultas de sistema identificadas nesta fase, seja nos fluxos principais como os fluxos alternativos. Mais adiante, ainda no processo de anlise estas informaes sero usadas para definir os contratos de operao de sistema que indicam como o sistema transforma a informao.

Consulta implcita

Consulta explcita ******* parametro saldo := consultaSaldo()

Caracterizao de termos

Evento de sistema: dos atores para a aplicao Resposta de sistema: do controlador para a aplicao e da aplicao para os atores Operao de sistema: da aplicao para o controlador (altera a informao no segue resposta de sistema) Consulta de sistema: da aplicao para o controlador (no altera a informao segue resposta de sistema)

Tipos de Operao de Sistema

Operaes com parmetros, que usualmente correspondem a eventos informativos. Operaes sem parmetros, que usualmente correspondem a eventos de controle.

Você também pode gostar