Vous êtes sur la page 1sur 7

DIRETRIZES: MODELO DE CASOS DE USO

O modelo de casos de uso um modelo que descreve os requisitos de um sistema em termos de casos de uso. Modelo de Casos de Uso

EXPLICAO
Um modelo de casos de uso um modelo das funes pretendidas do sistema e suas vizinhanas, que serve como contrato entre o cliente e os desenvolvedores. Os casos de uso funcionam como um thread de unificao por todo o desenvolvimento do sistema. O mesmo modelo de casos de uso o resultado da disciplina Requisitos e usado como entrada para as disciplinas Anlise & Design e Teste. O diagrama abaixo mostra uma parte de um modelo de casos de uso para o Sistema da Mquina de Reciclagem.

Um diagrama de casos de uso mostrando um exemplo de um modelo de casos de uso com atores e casos de uso.

H muitas maneiras de modelar um sistema, cada uma pode atender a uma finalidade diferente. Entretanto, a finalidade mais importante de um modelo de casos de uso comunicar o comportamento do sistema ao cliente ou ao usurio final. Conseqentemente, o modelo deve ser fcil de entender. Os usurios e qualquer outro sistema que podem interagir com o sistema so os atores. Como eles representam os usurios do sistema, os atores ajudam a delimitar o sistema e fornecem uma imagem mais clara do que se espera que seja feito. Os casos de uso so desenvolvidos com base nas necessidades dos atores. Isso garante que o sistema ser o que os usurios esperam.

COMO O MODELO DE CASOS DE USO EVOLUI


Os atores e os casos de uso so encontrados usando os requisitos dos clientes e dos possveis usurios como informaes vitais. Conforme eles so revelados, os casos de uso e os atores devem ser descritos brevemente. Antes de descrever os casos de uso detalhadamente, o modelo de casos de uso deve ser revisto pelo cliente para verificar se todos os casos de uso e os atores foram encontrados e se juntos eles podem fornecer o que o cliente deseja. Em um ambiente de desenvolvimento iterativo, voc seleciona um subconjunto de casos de uso para ser detalhado em cada iterao. Consulte tambm Atividade: Priorizar Casos de Uso. Quando os atores e os casos de uso forem encontrados, o fluxo de eventos de cada caso de uso ser descrito detalhadamente. Essas descries mostram como o sistema interage com os atores e o que o sistema executa em cada caso individual. Finalmente, o modelo de casos de uso completo (incluindo as descries de caso de uso) revisto, e os desenvolvedores e clientes o usam para concordar sobre o que o sistema deve executar. 1 DIRETRIZES: MODELO DE CASOS DE USO

COMO EVITAR A DECOMPOSIO FUNCIONAL


No raro que o modelo de casos de uso se torne uma decomposio funcional do sistema. Para evitar isso, observe os seguintes sintomas: Casos de uso "pequenos"- significa que a descrio do fluxo de eventos apenas uma ou poucas frases. "Muitos" casos de uso - significa que o nmero de casos de uso algum mltiplo de cem em vez de um mltiplo de dez. Os nomes dos casos de uso que so construes como "executar esta operao com esses dados especficos" ou "executar esta funo com esses dados especficos". Por exemplo, "Inserir o Nmero de Identificao Pessoal em um caixa eletrnico" no deve ser modelado como um caso de uso separado para um caixa eletrnico, j que ningum usaria o sistema para executar apenas isso. Um caso de uso um fluxo completo de eventos que resulta em algo de valor para um ator. Para evitar a decomposio funcional, voc deve ter certeza de que o modelo de casos de uso ajuda a responder perguntas como: Qual o contexto do sistema? Por que o sistema foi criado? O que o usurio deseja realizar quando usa o sistema? Que valor o sistema agrega aos usurio

REQUISITOS NO FUNCIONAIS
muito fcil perceber que os casos de uso so uma forma muito boa de capturar os requisitos funcionais em um sistema. E os requisitos no funcionais? O que so eles e onde so capturados? Os requisitos no funcionais freqentemente so categorizados como requisitos de usabilidade, confiabilidade, desempenho e capacidade de substituio (Consulte tambm Conceitos: Requisito). Geralmente, eles so requisitos que especificam a necessidade de concordncia com qualquer requisito legal e regulamentador. Eles tambm podem ser restries do design devido ao sistema operacional usado, ao ambiente da plataforma, a questes de compatibilidade ou qualquer padro do aplicativo que se aplique. Em geral, voc pode dizer que qualquer requisito que no permita mais de uma opo de design deve ser considerado como uma restrio de design. Muitos requisitos no funcionais aplicam-se a um caso de uso individual e so capturados dentro das propriedades desse caso de uso. Nesse caso, eles so capturados dentro do fluxo de eventos do caso de uso ou como um requisito especial do caso de uso (consulte Diretrizes: Caso de Uso).

EXEMPLO:
No Sistema da Mquina de Reciclagem, um requisito no funcional especfico para o caso de uso Devolver Itens do Depsito pode ser: A mquina deve ser capaz de reconhecer os itens de depsito com uma confiabilidade de mais de 95%. Freqentemente, os requisitos no funcionais aplicam-se ao sistema inteiro. Esses requisitos so capturados nas Especificaes Suplementares (consulte Artefato: Especificaes Suplementares).

EXEMPLO:
No Sistema da Mquina de Reciclagem, um requisito no funcional que se aplica ao sistema inteiro pode ser: A mquina s permitir um usurio por vez.

O DILEMA "O QUE" VERSUS "COMO"


Um dos pontos mais difceis aprender como determinar em que nvel de detalhe os casos de uso devem "comear e terminar". Onde as caractersticas terminam e os casos de uso comeam, e onde os casos de uso 2 DIRETRIZES: MODELO DE CASOS DE USO

terminam e o design comea? Os casos de uso ou os requisitos do software devem estabelecer "o que" o sistema executa, mas no "como" ele executa. Considere o seguinte grfico:

O destino de uma pessoa o ponto inicial de outra.

Dependendo da sua experincia, voc usar um contexto diferente para decidir se o que voc pensa "o que" ou "como". Isso deve ser considerado ao determinar se um detalhe especfico deve ou no ser excludo do modelo de casos de uso.

CASOS DE USO CONCRETOS E ABSTRATOS


H uma distino entre casos de uso concretos e abstratos. Um caso de uso concreto iniciado por um ator e constitui um fluxo completo de eventos. "Completo" significa que uma instncia do caso de uso executa a operao inteira chamada pelo ator. Um caso de uso abstrato propriamente nunca instanciado. Os casos de uso abstratos so includos em (consulte Diretrizes: Relacionamento de Incluso), se estendem para (consulte Diretrizes: Relacionamento de Extenso) ou generalizam (consulte Diretrizes: Generalizao de Casos de Uso) outros casos de uso. Quando um caso de uso concreto iniciado, uma instncia do caso de uso criada. Essa instncia tambm exibe o comportamento especificado por seus casos de uso abstratos associados. Portanto, nenhuma instncia separada criada de casos de uso abstratos. A distino entre os dois importante porque so os casos de uso concretos que os atores "vero" e iniciaro no sistema. Voc indica que um caso de uso abstrato escrevendo seu nome em itlico.

EXEMPLO:

O caso de uso Criar Tarefa includo no caso de uso Registrar Ordem. Criar Tarefa um caso de uso abstrato.

No Sistema para Administrao de Depsito, o caso de uso abstrato, Criar Tarefa, includo no caso de uso Registrar Ordem. Quando o caso de uso Registrar Ordem iniciado, uma instncia de Registrar Ordem criada e, independente de seguir o fluxo de eventos do Registro da Ordem, tambm segue o fluxo de eventos descrito no 3 DIRETRIZES: MODELO DE CASOS DE USO

caso de uso includo, Criar Tarefa. O caso de uso Criar Tarefa nunca realizado por si mesmo, sempre como parte do Registrar Ordem (ou qualquer outro caso de uso em que esteja includo). Criar Tarefa , portanto, um caso de uso abstrato.

ESTRUTURAO DO MODELO DE CASOS DE USO


H trs motivos principais para estruturar o modelo de casos de uso: Facilitar o entendimento dos casos de uso. Particionar o comportamento comum descrito em muitos casos de uso Facilitar a manuteno do modelo de casos de uso. No entanto, a estruturao no deve ser feita primeiro. S faz sentido estruturar os casos de uso quando voc souber um pouco mais sobre o comportamento deles, alm de uma breve descrio em uma frase. Voc deve pelo menos ter estabelecido um esquema passo a passo para o fluxo de eventos do caso de uso, a fim verificar se as suas decises se basearam em um entendimento bem preciso do comportamento. Para estruturar os casos de uso, h trs tipos de relacionamentos. Voc usar esses relacionamentos para fatorar partes de casos de uso que possam ser reutilizadas em outros casos de uso ou que sejam especializaes ou opes para o caso de uso. O caso de uso que representa a modificao denominado caso de uso adicional. O caso de uso que modificado denominado caso de uso base. Se houver uma parte de um caso de uso base que represente uma funo da qual o caso de uso s depende do resultado, e no do mtodo usado para produzir o resultado, voc poder fatorar essa parte em um caso de uso adicional. A adio explicitamente inserida no caso de uso base, usando o relacionamento de incluso. Consulte tambm Diretrizes: Relacionamento de Incluso. Se houver uma parte de um caso de uso base que seja opcional ou desnecessria para entender a principal finalidade do caso de uso, voc poder fatorar essa parte em um caso de uso adicional para simplificar a estrutura do caso de uso base. A adio implicitamente inserida no caso de uso base, usando o relacionamento de extenso. Consulte tambm Diretrizes: Relacionamento de Extenso. Se houver casos de uso com semelhanas no comportamento, na estrutura e na finalidade, as partes comuns podem ser fatoradas em um caso de uso base (pai) que herdado por casos de uso adicionais (filho). Os casos de uso filho podem inserir um novo comportamento e modificar o existente na estrutura herdada do caso de uso pai. Consulte tambm Diretrizes: Generalizao de Casos de Uso. Voc pode usar a generalizao do ator para mostrar como os atores so especializaes uns dos outros. Consulte tambm Diretrizes: Generalizao de Ator.

EXEMPLO:
Considere parte do modelo de casos de uso de um Sistema de Gerenciamento de Ordens. til separar o Cliente comum do Cliente de Internet, j que eles tm propriedades ligeiramente diferentes. Entretanto, como o Cliente de Internet exibe todas as propriedades de um Cliente, voc pode dizer que esse Cliente de Internet uma especializao do Cliente, indicado com uma generalizao de ator. Os casos de uso concretos neste diagrama so a Ordem por Telefone (iniciada pelo ator Cliente) e Ordem pela Internet (iniciada pelo Cliente de Internet). Esses casos de uso so variaes do caso de uso mais geral Inserir Ordem, que neste exemplo abstrato. O caso de uso Solicitar Catlogo representa um segmento opcional de comportamento que no parte da principal finalidade de Inserir Ordem. Ele foi fatorado em um caso de uso abstrato para simplificar o caso de uso Inserir Ordem. O caso de uso Fornecer Dados do Cliente representa um segmento do comportamento que foi fatorado, desde que seja uma funo separada da qual apenas o resultado esteja afetando o caso de uso Inserir Ordem. O caso de uso Fornecer Dados do Cliente tambm pode ser reutilizado em outros casos de uso. Tanto o caso de uso Solicitar Catlogo quanto o Fornecer Dados do Cliente so abstratos neste exemplo.

4 DIRETRIZES: MODELO DE CASOS DE USO

Este diagrama de casos de uso mostra parte do modelo de casos de uso de um Sistema de Gerenciamento de Ordens.

A tabela a seguir mostra uma comparao mais detalhada entre os trs relacionamentos de casos de uso diferentes:

PERGUNTA
Qual a direo do relacionamento? O relacionamento tem multiplicidade?

EXTENSO
O caso de uso adicional faz referncia ao caso de uso base. Sim, no lado adicional.

INCLUSO
O caso de uso base faz referncia ao caso de uso adicional. No. Se voc deseja incluir o mesmo segmento de comportamento mais de uma vez, isso deve ser estabelecido no caso de uso base. No. Se voc deseja expressar uma condio na incluso, necessrio definir isso explicitamente no caso de uso base. Sim. A incluso explicitamente modifica o efeito do caso de uso base. Junto com as adies, sim.

GENERALIZAO
O caso de uso adicional (filho) faz referncia ao caso de uso base (pai). No.

O relacionamento tem uma condio?

Sim.

No.

O caso de uso adicional abstrato? O caso de uso base modificado pela adio?

O caso de uso base deve estar completo e significativo? O caso de uso adicional deve estar completo e significativo? O caso de uso adicional pode acessar os atributos do caso de uso base? O caso de uso base pode acessar os atributos do

Normalmente sim, mas no necessariamente. A extenso implicitamente modifica o comportamento do caso de uso base. Sim.

Normalmente no, mas pode ser. Se o caso de uso base (pai) estiver instanciado, ele no ser afetado pelo filho. Para obter os efeitos da adio, o caso de uso adicional (filho) deve estar instanciado. Se for abstrato, no.

No.

No.

Junto com o caso de uso base (pai), sim.

Sim.

No. A incluso encapsulada e s "v" a si mesma. No. O caso de uso base s sabe sobre o efeito da adio. A adio

Sim, pelos mecanismos normais de herana.

No. O caso de uso base deve ser bem formado na

No. O caso de uso base (pai) nesse sentido deve ser bem formado na ausncia da adio

5 DIRETRIZES: MODELO DE CASOS DE USO

caso de uso adicional?

ausncia da adio.

encapsulada.

(filho).

Outro aspecto da organizao do modelo de casos de uso para facilitar o entendimento agrupar os casos de uso em pacotes. O modelo de casos de uso pode ser organizado como uma hierarquia de pacotes de casos de uso, com "folhas" que so atores ou casos de uso. Consulte tambm Diretrizes: Pacote de Casos de Uso.

Este grfico mostra a hierarquia do modelo de casos de uso. As setas indicam a possvel propriedade.

OS CASOS DE USO SEMPRE SE RELACIONAM COM ATORES?


A execuo de cada caso de uso inclui a comunicao com um ou mais atores. Uma instncia de caso de uso sempre iniciada por um ator solicitando algo do sistema. Isso implica que cada caso de uso deve ter associaes de comunicaes com os atores. O motivo dessa regra forar o sistema a fornecer apenas a funcionalidade de que os usurios precisam e nada mais. Ter casos de uso que ningum solicita uma indicao de que algo est errado no modelo de casos de uso ou nos requisitos. Entretanto, h algumas excees a essa regra: Se um caso de uso abstrato (no instanciado separadamente), seu comportamento talvez no inclua a interao com qualquer ator. Nesse caso, no haver associaes de comunicao com os atores desse caso de uso abstrato. Um caso de uso filho em um relacionamento de generalizao no precisa ter um ator associado a ele se o caso de uso pai descreve toda a comunicao do ator. Um caso de uso base em um relacionamento de incluso no precisa ter um ator associado a ele se o caso de uso de incluso descreve toda a comunicao do ator. Um caso de uso pode ser iniciado de acordo com uma programao (por exemplo, uma vez por semana ou uma vez por dia), o que significa que o relgio do sistema o iniciador. O relgio do sistema interno ao sistema. E o caso de uso no iniciado por um ator, mas por um evento do sistema interno. Se no ocorrer outra interao do ator no caso de uso, ele no ter nenhuma associao com os atores. Entretanto, para esclarecer, voc pode usar um ator fictcio "Tempo" para mostrar como o caso de uso iniciado nos diagramas de casos de uso.

DESCRIO DO RELATRIO SINTTICO


A descrio do relatrio sinttico do modelo de casos de uso deve: Estabelecer quais so os principais casos de uso do sistema (o motivo pelo qual o sistema foi construdo). Resumir os fatos tcnicos importantes sobre o sistema. Indicar as delimitaes do sistema; o que o sistema no deve executar. Resumir o ambiente do sistema como, por exemplo, plataformas-alvo e software existente. 6 DIRETRIZES: MODELO DE CASOS DE USO

Descrever qualquer seqncia em que os casos de uso so executados normalmente no sistema. Especificar a funcionalidade no tratada pelo modelo de casos de uso.

EXEMPLO:
Segue, abaixo, uma amostra da descrio do relatrio sinttico do modelo de casos de uso da Mquina de Reciclagem: Este modelo contm trs atores e trs casos de uso. O principal caso de uso Reciclar Itens, que representa a principal finalidade da Mquina de Reciclagem. Os casos de uso de suporte so: Imprimir Relatrio Dirio, que permite que um operador obtenha um relatrio da quantidade de itens reciclados. Administrar o Item do Depsito, que permite que um operador altere o valor de reembolso de um tipo de item de depsito ou adicione novos tipos de item de depsito.

7 DIRETRIZES: MODELO DE CASOS DE USO

Vous aimerez peut-être aussi