Você está na página 1de 4

Neste artigo vou falar um pouco sobre modelagem de sistemas usando UML focando e xclusivamente os diagramas de casos de uso

. A primeira coisa que devemos ter em mente que os princpios aqui discutidos no se r eferem a uma linguagem especfica ; estamos focando claro a anlise orientada a obje tos onde conceitos como encapsulamento de atributos e mtodos , alta coeso e baixo acoplamento , herana e polimorfismo devem esta bem assimilados. Vamos usar a UML que um modelo de linguagem que define uma notao que so todos os el ementos de representao grfica vistos no modelo. Estamos pois na fase de anlise e no estamos preocupados com software nem hardware. Caso de Uso - definies Segundo Ivan Jacobson , podemos dizer que um caso de uso um "documento narrativ o que descreve a sequncia de eventos de um ator que usa um sistema para completar um processo". Um caso de uso uma tcnica de modelagem usada para descrever o que um novo sistema deve fazer . Ele construdo atravs de um processo interativo no qual as discusses e ntre o cliente e os desenvolvedores do sistema conduzem a uma especificao do siste ma da qual todos esto de acordo. Um caso de uso descreve as operaes que o sistema deve cumprir para cada usurio. Ele vai ajudar a formalizar as funes que o sistema precisa fazer. Um caso de uso se a presenta como uma lista completa das interaes entre um usurio e o sistema para cump rir uma tarefa. Lista completa significa que o caso de uso descreve as interaes de sde o incio da tarefa, at o fim. Casos de uso tm que ser compreensveis por usurios por que s eles sabem o que o siste ma precisa fazer. Os casos de uso permitem verificar se o desenvolvedor e o usuri o concordam sobre o que o sistema deve fazer. Isso um problema importante no des envolvimento de software. No mesmo tempo, casos de uso podem servir de "contrato s'' entre os usurios e a equipe de desenvolvimento. Os casos de usam tem por objetivo : Decidir e descrever os requisitos funcionais do sistema. Fornecer uma descrio clara e consistente do que o sistema deve fazer. Permitir descobrir os requisitos funcionais das classes e operaes do sistema. (Cas os de uso NO so requisitos) Podemos dizer que os componentes de um modelo de casos de uso so : Ator - um papel que tipicamente estimula/solicita aes/eventos do sistema e recebe reaes. Cada ator pode participar de vrios casos de uso Casos de uso - documento narrativo que descreve a seqncia de eventos feitos por um ator no uso do sistema. Sistema - O sistema a ser modelado Na UML o modelo de casos de uso consiste de diagramas de casos de uso que mostra m os atores , os casos de uso e seus relacionamentos. Os elementos grficos que re presentam atores, casos de uso e sistema so mostrados abaixo: O nome de um caso de uso pode ser qualquer sentencia, mas a UML recomenda usar u ma frase ativa curta (verbo + substantivo), por exemplo: "comprar itens'', "efet uar venda", ... Os elementos principais do diagrama so uma elipse para representar um caso de uso e um pequeno boneco para representar um ator Nota: Abaixo temos uma estrutura de especificao que voc pode usar para casos de uso . No existe um padro. Nome do caso de uso Descrio do caso de uso (um pargrafo). Atores Lista dos nomes dos atores com descrio curta. Prioridade Seja este caso de uso muito importante no projeto ou acessrio? Pre-Condies Lista de condies que tm que ser verificadas antes que o caso de uso comea. Fluxo de eventos Fluxo principal

1. Primeiro passo no caso de uso. 2. Segundo passo no caso de uso. 3. ... Fluxos alternativos Descrever os fluxos alternativos. Ps-Condies Lista de condies que tm que ser verificadas depois do fim do caso de uso. Pontos de extenso Lista dos pontos de extenso no caso de uso. Casos de uso includos Lista dos nomes dos casos de usos includos. Nos primeiros contatos com os modelos de casos de uso surgem com frequncia trs per guntas para as quais no existe uma resposta absoluta , so elas :: 1 - Como identificar atores ? Para identificar os atores que vo participar do modelo devemos fazer as seguintes perguntas : - Quem usa o sistema ? - Quem inicia o sistema ? - Quem fornece os dados ? - Quem usa as informaes ?

2- Como descrever atores ? Geralmente descreve atores usando : Nome do caso de uso tipo de uso (frequente, ocasional , etc...) descrio de seu papel no sistema 3- Como Identificar casos de uso ? Os casos de uso so interaes entre os atores e o sistema . Temos ento aes do ator e ae o sistema. Sendo que os atores sempre iniciam a ao. Vamos dar um exemplo prtico para que tudo fique mais claro. Vamos supor , por que sto de simplicidade , que temos que modelar usando casos de uso a compra de item em um a loja com um terminal de ponto de venda. Quais so os atores ? Quem usa o sistema o cliente e ele usa um terminal de caixa . Como podemos identificar o caso de uso ? Podemos chamar este caso de uso de : Comprar Item (verto+substantivo) Agora vamos a um descrio textual do caso de uso Comprar Item onde atual os atores cliente e caixa. (Aqui estou adotando uma estrutura de especificao bem simplificad a por questes didticas) Caso de uso - Comprar Item Atores - Cliente , Caixa Descrio - Este caso de uso comea quando um cliente chega ao terminal com itens que deseja comprar. O caixa registra os itens , recebe o pagamento e emite uma nota fiscal. O Cliente recebe os itens comprados. Na UML temos o diagrama de caso de uso que pode ser representado para o caso aci ma da seguinte forma: Algumas consideraes : - Nomeie um caso de uso comeando com um verbo , para enfatizar que ele um process o. Ex: Cadastrar Cliente , Comprar Item , etc. - Para identificar claramente um ator iniciador e um evento , comece a descrio da sequncia de um caso de uso usando o seguinte esquema: - Este caso de uso comea quando o <Ator> <Evento que inicia o caso de uso> Ex: Este caso de uso comea quando um cliente chega com vrios itens para comprar Vamos a um outro exemplo: Suponha que voc tenha um almoxarifado de peas onde clientes faam pedido e onde um o perador receba tarefas do sistema para buscar peas para os pedidos dos clientes e

distribuir peas do setor de compras para o almoxarifado. (O exemplo bem simples para facilitar o entendimento do conceito) Como poderamos identificar os atores e os casos de uso para este exemplo? Vamos identificar os atores . Eles so : Cliente , Operador , Sistema e Setor de Compras. Certo ? No errado !!! No exemplo acima Sistema no pode ser um ator pois ele no se ajusta ao conceito dado a um ator : Um agente externo ao sistema. Lembre-se que um ator um papel que interage com o sistema mas no faz parte do sis tema, ento no lugar de Sistema poderamos sugerir um administrador ou gerente. Ento os atores seriam : Cliente , Operador , Administrador e Compras. (Podem exist ir sub-sistemas que interagem com o sistema , neste caso eles seriam considerado s atores.) E os casos de usos , quais seriam ? - solicita peas (ator Cliente) - entrega peas (ator Compras) - buscar pedidos (ator operador) - distribuir pedidos (ator operador) - cadastrar Tarefas (administrador) Certo ? Errado !!! No caso do ator operador ele no atua sobre o sistema nos casos de uso buscar pedidos e distribuir pedidos , ele atua sobre o sistema realizando Taref a. Ento o correto seria. - solicita peas (ator Cliente) - entrega peas (ator Compras) - realiza Tarefa (ator operador) - cadastrar Tarefas (administrador) Usando a representao UML para os diagramas de casos de uso teramos : Este seria o caso de uso preliminar(simplificado) pois no temos muito detalhament o nesta etapa do modelo. A prxima etapa seria realizar um refinamento do modelo a fim de obter o relacionamento entre os casos de uso atravs da generalizao , incluso ou extenso. A partir do diagrama de casos de uso preliminar muitas vezes temos que definir c asos de usos adicionais separadamente pois as operaes se encontram duplicadas em o utros casos de uso ou so complexas e longas e a separao nos ajuda a compreend-las. Os relacionamentos possveis so : 1- Incluso : Se um caso de uso inicia ou inclui o comportamento de outro , dizemo s que ele usa o outro. Ex: No caso de uso Comprar Item se o pagamento for feito com dinheiro podemos te r a incluso PagarComDinheiro O relacionamento de incluso em UML ilustrado com uma linha de generalizao com o rtul o <<include>>. Ento para o exemplo do cliente com o use case Solicitar Pedidos de peas teramos: As propriedades bsicas da incluso so : realizar um decomposio funcional reduzir a complexidade de um caso de uso O caso de uso bsico no pode executar sem a incluso. Comportamento comum 2- Extenso - Define pontos de extenso que adicionam comportamento a um caso de uso base descrevendo uma variao do comportamento normal. O caso de uso base pode ser executado mesmo sem a extenso. Ex: O caso de uso Comprar Produto pode apresentar a extenso Compra por um Cliente Regular. Abaixo temos o diagrama UML Os pontos de extenso so indicados na linha entre os casos de uso do sistema.

3- Generalizao - Indica um caso de base que possui diferentes especializaes e inclui comportamento ou sobrescreve o caso de uso base. O caso de uso Pagar fatura apresenta as generalizaes : Pagamento com carto e Pagam ento com Cheque , conforme o diagrama Abaixo: Alm disto temos tambm os relacionamentos entre atores onde um ator especializado p ode acessar os casos de uso de um Ator base. Abaixo temos um exemplo onde o Ator gerente acessa os casos de uso do ator funci onrio Espero que esta pequena introduo aos casos de uso amplie o seu horizonte para a mo delagem UML. Creio que uma das melhores ferramentas para modelagem o Rational Rose, mas o preo bem salgado. Como opo voc pode usar uma das seguintes ferramentas : Poseidon - existe um verso opensource (Community version) Pacestar UML - Uma verso shareware de uma ferramenta mais simples. Rational Rose - Cpia demo do (Rational Rose Limited Edition).(Tem 10 MB) Aguarde mais artigos onde irei falar sobre modelo conceitual , diagramas de seqnci a , diagramas de estado , e muito mais... At breve... referncias: - OMG (Object Modeling Glossary). - Rational - Larman, Craig , "Utilizando UML e Padres - Uma introduo analise e ao projeto orie ntados a objetos" , BooKman, 2000

Você também pode gostar