Você está na página 1de 13

Definindo o Escopo: Modelo de Caso de Uso

Agradei-me, particularmente, da possibilidade de que Joshua estivesse to preso ao seu modo clssico de pensar que me permitisse realizar o incrvel feito de chegar antes do que ele interpretao correta do seu prprio experimento. James Watson

Como a lngua portuguesa ambgua, em alguns casos, necessitamos de um padro que permita o uso de linguagem natural, mas em um formato que reduza as ambigidades. Alm disso, esse padro dever ser capaz de ser traduzido em uma estrutura de diagramas. A anlise de requisitos busca capturar as intenes e necessidades dos usurios do sistema a ser desenvolvido atravs do uso de diagramas chamados "casos de uso". A modelagem de casos de uso no interfere nas tcnicas de levantamento de requisitos. Pelo contrrio, o caso de uso torna-se o brao direito do desenvolvedor, auxiliando-o a validar os requisitos extrados junto ao usurio.

O que um caso de uso?


Um caso de uso (Use Case) descreve uma seqncia de aes que representam um cenrio principal (perfeito) e cenrios alternativos, com o objetivo de demonstrar o comportamento de um sistema (ou parte dele), atravs de interaes com atores. O diagrama caso de uso representa a viso do usurio em um cenrio de uso de um sistema que est sendo modelado. Seus propsitos so: Capturar e documentar requisitos; Validar funcionalidades em rotinas de teste; Promover as funcionalidades de um produto de software. uma forma do engenheiro de requisitos especificar os limites e as funcionalidades do sistema. Permite: Que clientes e usurios validem o sistema; Que os desenvolvedores do sistema construam o que esperado. Componentes: Casos de usos Atores Relacionamentos

Sua construo passa pelas seguintes etapas: Modelagem de atores; Representao da comunicao do modelo entre os usurios (elementos externos) e o sistema que est sendo modelado; Modelagem de use-cases.

Notao:

Caso de Uso So funcionalidades que o sistema realiza e que fornece um benefcio a um ator especfico. As caractersticas do caso de uso so: So sempre iniciadas por um ator. Deve sempre retornar um resultado (valor) ao ator. Cada caso de uso especifica uma funcionalidade completa envolvendo os atores interessados. Deve sempre terminar com o resultado que deve ser dado ao ator. Ator Os atores so as classes que definem os papis que os objetos externos ao sistema podero encenar. Eles so usados para modelar usurios externos ao sistema que interagem diretamente com ele. O ator pode representar um usurio ou simplesmente uma outra aplicao que dever interagir com uma funcionalidade proposta (Caso de Uso). Os atores so caracterizados por sua viso externa, e os objetos externos esto fora do escopo do projeto de software proposto. Atores participam de interaes envolvendo troca de mensagens e aes com o sistema.

Interaes (relacionamentos) entre Casos de Uso Existem trs tipos de relacionamento entre casos de uso. So eles:

Extenso (<<extends>>) permite adicionar um novo comportamento para um Caso de Uso existente de uma forma no obrigatria, ou seja, a insero de atividades no fluxo de um Caso de Uso sempre acontece de forma condicional. Usa-se um relacionamento de extenso para: Expressar rotinas de exceo ou para expressar o desmembramento de um caso de uso (quando um fluxo alternativo possui um fluxo grande ou que merea uma ateno especial); Separar um comportamento obrigatrio de outro opcional; Separar um trecho do caso de uso que ser executado apenas em determinadas condies; Separar trechos que dependam da interao com um determinado ator.

Exemplo: Durante a execuo do caso de uso Efetuar Venda, no momento do pagamento pode haver algum tipo de falha na autorizao do carto. Veja que esse no um procedimento normal, pois o pagamento pode ser feito em dinheiro, cheque, dbito em conta, etc. Assim, havendo falha na autorizao, o caso de uso pertinente dever dar um tratamento situao.

Incluso (<<include>>) em que um cenrio j identificado de funcionalidade inserido sempre na execuo de um outro cenrio como forma de complementao obrigatria de atividades. O Caso de Uso includo fornece um comportamento para o Caso de Uso que o utiliza;

Usa-se um relacionamento de incluso quando existem cenrios cujas aes servem a mais de um caso de uso. Exemplo: Durante a execuo dos casos de uso Matricular Aluno e Emitir Histrico Escolar necessita-se do cenrio que est no caso de uso Validar Matrcula. Dessa forma, nestes pontos o caso de uso Validar Matrcula ser internamente copiado.

Generalizao em que o novo Caso de Uso uma especializao de um Caso de Uso existente. Para o Caso de Uso herdado, ainda cabe adicionar novas caractersticas sua estrutura ou sobrecarregar (mudar) caractersticas existentes. Um relacionamento de generalizao representado graficamente pela seta de generalizao, que corresponde a uma linha slida com uma nica seta fechada, mas no preenchida em uma das pontas. A seta parte do caso de uso mais especfico em direo ao mais genrico.

Modelo para descrio de Casos de Uso


Nmero do Caso de Uso Nome do Caso de Uso Ator(es) Descrio Pr-condies Ps-condies Cenrio principal [Numerao de controle do caso de uso.] [Nome do caso de uso.] [Atores que participam do caso de uso.] [Neste item apresentado o propsito do caso de uso de forma detalhada.] [Condies que devem estar satisfeitas para que o caso de uso possa ser iniciado.] [Condies que devem ser satisfeitas aps o trmino do caso de uso. Podem ou no ocorrer] [Descrio, passo a passo, de o qu o sistema deve fazer. Tambm devero ser escritas as regras de negcio especficas para este caso de uso, quando houver. 1 - passo1 2 - passo2 (CA 002 este passo pode, em determinada condio, remeter ao cenrio alternativo nmero 002) [CA NNN Fluxos Alternativos] [Descrio de cada cenrio alternativo possvel para este caso de uso, detalhando os passos a serem seguidos]. [EXC NNN Exceo] [Descrio dos passos a serem seguidos para exceo identificada para o caso de uso.] Apresentar os casos de uso includos neste - <<include>>.] Apresentar os casos de uso que o estendem - <<extends>>.] [Lista das Regras de negcio associadas a este Caso de Uso, se houver.]

Cenrio alternativo

Excees

Incluso (includes) Extenses (extend) Regras de Negcio

Construindo Casos de Uso (Um exemplo prtico)


Cenrio: Encomendas de Placas Joo confecciona placas por encomenda. Como o volume dos pedidos tem aumentado, ele pediu ao filho que lhe fizesse uma pequena aplicao que controle: O cadastro de seus clientes As encomendas Quando ele recebe uma encomenda, Joo anota num caderninho o nome do cliente e seu telefone. Para a encomenda, ele registra: o tamanho da placa (altura e largura), a frase a ser escrita, a cor da placa (branca ou cinza), cor da frase (azul, vermelho, amarelo, preto ou verde), data da entrega, valor do servio e valor do sinal. A aplicao deve obrigar que o valor do sinal seja de no mnimo 50%. Para calcular o valor da placa as seguintes frmulas so usadas: rea = altura X largura Custo_material = rea X R$ 147,30 Custo_desenho=nmero_letras x R$ 0,32 Valor_placa = custo_material + custo_desenho Para calcular o prazo de entrega, considera-se que ele s consegue produzir seis placas por dia. Joo deseja que o sistema controle os pedidos, calcule o preo final das peas e o prazo de entrega. Para cada encomenda cadastrada deve ser emitido um recibo em duas vias (cliente e empresa), contendo todos os dados da encomenda e do pagamento.

Resoluo (Diagrama de Casos de Uso)

Nmero do Caso de Uso Nome do Caso de Uso Ator(es) Descrio Pr-condies Ps-condies Cenrio principal

Cenrio alternativo Excees Incluso (includes) Extenses (extend) Regras de Negcio

UC001 Consultar Cliente Diretor da Empresa Este caso de uso tem por objetivo apresentar os clientes cadastrados e habilitar a incluso, alterao ou excluso de clientes. No h. No h. 1. O sistema prepara uma lista de todos os clientes cadastrados 2. O sistema oferece ao usurio: 2.1. Selecionar um cliente, para alterar seu cadastro. 2.2. Localizar um cliente ou conjunto de clientes por meio de pesquisa 2.3. Selecionar a opo de inserir cliente 3. Pesquisa Cliente 3.1. Para localizar um cliente, o usurio deve inserir um trecho de nome e/ou um trecho de telefone. O sistema far a busca parcial. 3.2. O sistema exibe a lista de clientes que satisfaa o critrio, exibindo para cada um; 3.2.1. cdigo de identificao 3.2.2. nome do cliente 3.2.3. telefone 4. Insero de Cliente 4.1. [Include Caso de Uso Manter Cliente] 5. Seleo de Cliente 5.1. Aps selecionar um cliente, o sistema habilita as opes de alterar cliente e excluir cliente. 5.2. Se o usurio selecionar uma dessas opes, o sistema aciona o cadastro de cliente. [Include Caso de Uso Manter Cliente] No h. No h. UC002 MANTER CLIENTE No h.

Nmero do Caso de Uso Nome do Caso de Uso Ator(es) Descrio Pr-condies Ps-condies Cenrio principal

Cenrio alternativo Excees Incluso (includes) Extenses (extend) Regras de Negcio

UC002 Manter Cliente Diretor da Empresa Este caso de uso tem por objetivo permitir a incluso, alterao ou excluso de dados ligados ao cadastro de clientes. Receber a identificao do tipo de operao e os dados cadastrais do cliente, no caso de alterao ou excluso. No h. 1. Manuteno do Cadastro 1.1. Em caso de Incluso, o sistema habilita a edio dos dados. 1.2. Em caso de Alterao, o sistema exibe os dados cadastrados e os habilita para edio. 1.3. Em caso de Consulta ou Excluso, o sistema exibe os dados cadastrados desabilitados para edio. 1.3.1. No caso de excluso o sistema solicita a confirmao. Se confirmado (EXC001) 2. O usurio informa, no caso de Alterao ou Incluso. 2.1. nome do cliente. 2.2. telefone de contato 3. O usurio confirma a operao realizada. 4. O sistema atualiza os dados cadastrais do cliente 4.1. No caso de incluso, o sistema gera automaticamente um cdigo de identificao. No h. EXC001 - Excluso no permitida. No possvel excluir um cliente que esteja associado a uma encomenda No h. No h.

10

Nmero do Caso de Uso Nome do Caso de Uso Ator(es) Descrio Pr-condies Ps-condies Cenrio principal

Cenrio alternativo Excees

Incluso (includes) Extenses (extend) Regras de Negcio

UC003 Cadastrar Encomenda Diretor da Empresa Este caso de uso tem por objetivo cadastrar encomendas de placas. No h. No h. 1. O sistema busca e exibe a lista dos clientes cadastrados, em ordem alfabtica de nome. (CA001) 2. O usurio seleciona um nome de cliente da lista preexistente. 3. O sistema exibe o telefone do cliente. 4. O usurio informa os dados da encomenda 5. O sistema calcula e exibe a data prevista de entrega do pedido. 5.1. [Extends Caso de Uso Calcular Prazo de Entrega] 6. O sistema calcula e exibe o valor a pagar pela encomenda. 6.1. [Extends Caso de Uso Calcular Preo de Venda da Encomenda] 7. O usurio informa o valor do sinal. (EXC001) 8. O usurio confirma a encomenda 9. O sistema gera automaticamente um nmero de encomenda 10. O sistema emite um recibo, em duas vias, com os seguintes dados: 10.1. nome do cliente, telefone de contato, data da encomenda, frase a ser impressa na placa, tamanho da placa (altura e largura), cor da placa, cor da frase, valor da encomenda, data prevista de entrega e valor do sinal. 11. O sistema atualiza os valores no cadastro, lanando o status da encomenda como aberto. CA001 - Cliente no cadastrado Se for um ciente novo, o usurio seleciona a opo de cadastrar novo cliente. [Include Manter Cliente] EXC001 - Valor do sinal insuficiente O sistema no deve aceitar um valor de sinal inferior a 50% do valor de venda da pea. No caso do sinal ser inferior, o sistema deve exibir uma mensagem de erro, incluindo na mensagem o valor mnimo permitido. UC002 Manter Cliente UC004 Calcular Prazo de Entrega UC005 Calcular Preo de Venda da Encomenda

11

Nmero do Caso de Uso Nome do Caso de Uso Ator(es) Descrio Pr-condies Ps-condies Cenrio principal

Cenrio alternativo

Excees Incluso (includes) Extenses (extend) Regras de Negcio Nmero do Caso de Uso Nome do Caso de Uso Ator(es) Descrio Pr-condies Ps-condies Cenrio principal

UC004 Calcular Prazo de Entrega Diretor da Empresa Este caso de uso tem por objetivo calcular o prazo de entrega de uma determinada placa, de acordo com as encomendas que esto com o status =aberto. No h. No h. 1. O sistema busca o total de encomendas com status = aberto, agrupados por data, excluindo-se o dia atual. 2. O sistema verifica a primeira data disponvel da lista, onde o nmero de encomendas seja inferior a seis. 3. O sistema retorna a data disponvel no item 2, como a data prevista da enrega. - Nenhuma data disponvel Se no houver nenhuma data disponvel dentro da lista recebida, o sistema deve calcular a data prevista de entrega como sendo a maior data da lista acrescida de um dia. Se a data prevista cair num sbado ou domingo, deve ser incrementada at a segunda-feira. - Nenhuma encomenda cadastrada Se no houver nenhuma encomenda cadastrada o sistema deve calcular a data prevista de entrega como sendo a data da encomenda acrescida de um dia. Se a data prevista cair num sbado ou domingo, deve ser incrementada at a segunda-feira. No h. No h. No h.

Cenrio alternativo Excees

Incluso (includes) Extenses (extend) Regras de Negcio

UC005 Calcular Preo de Venda da Encomenda Diretor da Empresa Este caso de uso tem por objetivo calcular o preo de venda de um placa, baseado nas informaes recebidas para clculo. Receber as seguintes informaes: altura da placa, largura da placa, frase para impresso. No h. 1. O sistema busca os valores cadastrados para valor fixo do material e valor fixo da letra. (EXC001) 2. O sistema calcula o preo de venda considerando as seguinte frmulas: rea = altura da placa X largura da placa Custo_material = rea X valor fixo do material Numero_letras = quantidade de letras da frase para impresso Custo_desenho=nmero_letras x valor fixo da letra Valor_placa = custo_material + custo_desenho 3. O sistema retorna o valor placa. No h. EXC001 - Valores Nulos Se qualquer um dos valores de pr-condio estiver nulo, o sistema no efetuar o clculo. Ser exibida uma mensagem de erro e o valor de retorno ser zero. No h. No h.

12

Bibliografia
ARLOW, Jim; NEUSTADT, Ila. UML and the Unified Process: Pratical ObjectOriented Analysis & Design. Great Britain: Addison-Wesley, 2002. COCKBURN. Alistair. Writing Effective Use Cases, Now Yourk, Addison-Wesley, 2001. JACOBSEN, Ivar; BOOCH, G.; RUMBAUGH, J. The Unified Software Development Process. New York: Addison-Wesley, 1999. SHNIEDER, Geri; WINTERS, Jason P. Applying Use-Case, A practical Guide. Second Edition. New Jersey: Addison-Wesley, 2001.

13

Você também pode gostar