Anda di halaman 1dari 6

Modelando Sistemas em UML Casos de Uso

Neste artigo vou falar um pouc o sobre modelagem de sistemas usando UML foc ando exclusivamente os diagramas de casos de uso . A primeira c oisa que devemos ter em mente que os princpios aqui discutidos no se referem a uma linguagem especfic a ; estamos focando c laro a anlise orientada a objetos onde c onceitos como encapsulamento de atributos e mtodos , alta c oeso e baixo acoplamento , heran a e polimorfismo devem esta bem assimilados. Vamos usar a UML que um modelo de linguagem que define uma nota o que so todos os elementos de representa o grfica vistos no modelo. Estamos pois na fase de anlise e no estamos preocupados c om software nem hardware.

Caso de Uso - definies


Segundo Ivan Jacobson , podemos dizer que um c aso de uso um "doc umento narrativo que desc reve a sequnc ia de eventos de um ator que usa um sistema para c ompletar um processo". Um c aso de uso uma tcnic a de modelagem usada para descrever o que um novo sistema deve fazer . Ele c onstrudo atravs de um proc esso interativo no qual as disc usses entre o cliente e os desenvolvedores do sistema c onduzem a uma espec ifica o do sistema da qual todos esto de ac ordo. Um c aso de uso descreve as opera es que o sistema deve c umprir para cada usurio. Ele vai ajudar a formalizar as fun es que o sistema prec isa fazer. Um caso de uso se apresenta c omo uma lista c ompleta das intera es entre um usurio e o sistema para c umprir uma tarefa. Lista completa signific a que o c aso de uso descreve as intera es desde o incio da tarefa, at o fim. Casos de uso tm que ser c ompreensveis por usurios por que s eles sabem o que o sistema prec isa fazer. Os c asos de uso permitem verific ar se o desenvolvedor e o usurio conc ordam sobre o que o sistema deve fazer. Isso um problema importante no desenvolvimento de software. No mesmo tempo, casos de uso podem servir de "contratos'' entre os usurios e a equipe de desenvolvimento. Os c asos de usam tem por objetivo : Dec idir e desc rever os requisitos func ionais do sistema. Fornecer uma desc ri o c lara e c onsistente do que o sistema deve fazer. Permitir desc obrir os requisitos func ionais das c lasses e opera es do sistema. (Casos de uso NO so requisitos) Podemos dizer que os componentes de um modelo de c asos de uso so : Ator - um papel que tipic amente estimula/solic ita a es/eventos do sistema e rec ebe rea es. Cada ator pode partic ipar de vrios casos de uso Casos de uso - documento narrativo que descreve a seqnc ia 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 c asos de uso que mostram os atores , os c asos de uso e seus relac ionamentos. Os elementos grfic os que representam atores, c asos de uso e sistema so mostrados abaixo:

O nome de um caso de uso pode ser qualquer sentencia, mas a UML rec omenda usar uma frase ativa c urta (verbo + substantivo), por exemplo: "comprar itens'', "efetuar venda", ... Os elementos principais do diagrama so uma elipse para representar um caso de uso e um pequeno bonec o 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 De scrio do ca so de uso (um pargrafo). A tores Lista do s no m e s do s a tores com descrio curta. Prioridade Seja e ste ca so de uso m uito im portante no pro jeto o u acess rio? Pre-Condies Lista de condi es que t m que ser ve rificadas a nte s que o ca so de uso co m e a . Fluxo de eventos Fluxo principal 1. Prim e iro passo no caso de uso . 2. Se gundo passo no caso de uso . 3. ... Fluxos alternativos De screve r o s fluxos alternativo s. Ps-Condies Lista de condi es que t m que ser ve rificadas depo is do fim do ca so de uso. Pontos de extenso Lista do s po nto s de e xte nso no caso de uso . Casos de uso includos Lista do s no m e s do s caso s de uso s includos.

Nos primeiros contatos c om os modelos de c asos de uso surgem c om frequncia trs perguntas para as quais no existe uma resposta absoluta , so elas :: 1 - Como identificar atores ? Para identific ar os atores que vo partic ipar do modelo devemos fazer as seguintes perguntas : Quem usa o sistema ? Quem inicia o sistema ? Quem fornec e os dados ? Quem usa as informa es ?

2- Como desc rever atores ? Geralmente desc reve atores usando : Nome do c aso de uso tipo de uso (frequente, oc asional , etc ...) desc ri o de seu papel no sistema 3- Como Identificar casos de uso ? Os c asos de uso so intera es entre os atores e o sistema . Temos ento aes do ator e aes do sistema. Sendo que os atores sempre inic iam a a o.

Vamos dar um exemplo prtic o para que tudo fique mais c laro. Vamos supor , por questo de simplicidade , que temos que modelar usando c asos 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 c hamar este c aso de uso de : Comprar Item (verto+substantivo) Agora vamos a um desc rio textual do caso de uso Comprar Item onde atual os atores cliente e caixa. (Aqui estou adotando uma estrutura de especific ao bem simplific ada por questes didtic as) 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 c aso de uso que pode ser representado para o c aso ac ima da seguinte forma:

Algumas considera es : - Nomeie um c aso de uso c ome ando c om um verbo , para enfatizar que ele um processo. Ex: Cadastrar Cliente , Comprar Item , etc. - Para identific ar c laramente um ator iniciador e um evento , c omece a desc ri o da sequnc ia de um c aso de uso usando o seguinte esquema: - Este caso de uso c ome a quando o <Ator> <Evento que inicia o caso de uso> Ex: Este c aso de uso c ome a quando um c liente c hega com vrios itens para c omprar Vamos a um outro exemplo: Suponha que voc tenha um almoxarifado de pe as onde c lientes fa am pedido e onde um operador rec eba tarefas do sistema para busc ar pe as para os pedidos dos c lientes e distribuir pe as do setor de c ompras para o almoxarifado. (O exemplo bem simples para fac ilitar o entendimento do c onc eito) Como poderamos identific ar os atores e os c asos de uso para este exemplo? Vamos identificar os atores . Eles so : Cliente , Operador , Sistema e Setor de Compras. Certo ?

No errado !!! No exemplo ac ima Sistema no pode ser um ator pois ele no se ajusta ao conc eito dado a um ator : Um agente externo ao sistema. Lembre-se que um ator um papel que interage c om o sistema mas no faz parte do sistema, ento no lugar de Sistema poderamos sugerir um administrador ou gerente. Ento os atores seriam : Cliente , Operador , Administrador e Compras. (Podem existir sub-sistemas que interagem c om o sistema , neste caso eles seriam c onsiderados atores.) E os c asos de usos , quais seriam ? solic ita pe as (ator Cliente) entrega pe as (ator Compras) buscar pedidos (ator operador) distribuir pedidos (ator operador) cadastrar Tarefas (administrador)

Certo ? Errado !!! No c aso do ator operador ele no atua sobre o sistema nos c asos de uso busc ar pedidos e distribuir pedidos , ele atua sobre o sistema realizando Tarefa. Ento o c orreto seria. solic ita pe as (ator Cliente) entrega pe as (ator Compras) realiza Tarefa (ator operador) cadastrar Tarefas (administrador)

Usando a representa o UML para os diagramas de casos de uso teramos :

Este seria o caso de uso preliminar(simplificado) pois no temos muito detalhamento nesta etapa do modelo. A prxima etapa seria realizar um refinamento do modelo a fim de obter o relac ionamento entre os c asos 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 adic ionais separadamente pois as opera es se encontram duplicadas em outros c asos de uso ou so c omplexas e longas e a separao nos ajuda a c ompreend-las.

Os relac ionamentos possveis so : 1- Incluso : Se um c aso de uso inicia ou inc lui o c omportamento de outro , dizemos que ele usa o outro. Ex: No c aso de uso Comprar Item se o pagamento for feito com dinheiro podemos ter a inc luso PagarComDinheiro O relac ionamento de inc luso em UML ilustrado com uma linha de generaliza o c om o rtulo <<include>>. Ento para o exemplo do cliente c om o use c ase Solic itar Pedidos de pe as teramos:

As propriedades bsicas da incluso so : realizar um dec omposi o func ional reduzir a c omplexidade de um caso de uso O c aso de uso bsico no pode executar sem a incluso. Comportamento c omum 2- Extenso - Define pontos de extenso que adic ionam c omportamento a um c aso de uso base desc revendo uma varia o do c omportamento normal. O c aso de uso base pode ser exec utado 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 indic ados na linha entre os casos de uso do sistema. 3- Generalizao - Indic a um c aso de base que possui diferentes espec ializa es e inc lui comportamento ou sobrescreve o c aso de uso base. O caso de uso Pagar fatura apresenta as generalizaes : Pagamento com carto e Pagamento com Cheque , c onforme o diagrama Abaixo:

Alm disto temos tambm os relacionamentos entre atores onde um ator espec ializado pode ac essar os c asos de uso de um Ator base. Abaixo temos um exemplo onde o Ator gerente ac essa os c asos de uso do ator func ionrio

Espero que esta pequena introduo aos casos de uso amplie o seu horizonte para a modelagem UML. Creio que uma das melhores ferramentas para modelagem o Rational Rose, mas o pre o bem salgado. Como op o voc pode usar uma das seguintes ferramentas : Poseidon - existe um verso opensourc e (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 c onc eitual , diagramas de seqncia , diagramas de estado , e muito mais... At breve... referncias: - OMG (Object Modeling Glossary). - Rational - Larman, Craig , "Utilizando UML e Padres - Uma introdu o analise e ao projeto orientados a objetos" , BooKman, 2000

Anda mungkin juga menyukai