You are on page 1of 7

Artigo SQL Magazine 1 - Introduo a UML

Unified Modeling Language ou Linguagem de Modelagem Unificada

Artigo da Revista SQL Magazine - Edio 1.


http://www.devmedia.com.br/articles/viewcomp.asp?comp=6928&hl=

Introduo a UML Unified Modeling Language ou Linguagem de Modelagem Unificada

No final dos anos 80 e incio dos anos 90, tnhamos muitos conflitos de definies e nomenclaturas na rea de modelagem. A escolha para utilizao de um determinado padro era definido mais pelo gosto pessoal do que por fatores tcnicos oferecidos. Ento, os trs mais respeitados nomes nesse campo, cada qual com seu conceito e implementao de modelo, Ivar Jacobson (OOSE Object Oriented Software Engineering), Grady Booch (The Booch Method) and James Rumbaugh (OMT Object Modeling Technique) decidiram por fim aos debates e trabalhar juntos na definio de um modelo nico que veio a ser a UML.

A UML permite que voc desenhe uma planta do seu sistema. A comparao ideal a de um construtor que vai realizar um projeto sem antes ter toda a planta que defina estrutura a ser construda. A experincia do construtor garante, at certo ponto, o sucesso do projeto. Mas, com certeza, uma vez feito o planejamento, o clculo estrutural, o desenho da planta, a garantia de sucesso antes, durante e depois da efetivao da construo incomparavelmente maior. O mesmo acontece com um projeto de software. A experincia do desenvolvedor ou analista, no pode substituir a necessidade de um projeto que defina uma planta da soluo como um todo. Esta planta garante, em todas as fases do projeto, seja na definio, desenvolvimento, homologao, distribuio, utilizao e manuteno do mesmo, uma maior clareza e objetividade para execuo de cada ao, e, com certeza, quanto maior a soluo, maior a necessidade de um projeto definido adequadamente. Desta forma, a UML uma linguagem padro para visualizao, especificao, construo e documentao de um aplicativo ou projeto de software, e objetiva aumentar a produtividade, otimizar as etapas que envolvem o desenvolvimento de um sistema, aumentando assim a qualidade do produto a ser implementado. Ela independe da ferramenta em que o aplicativo ser desenvolvido. A idia e prover uma viso lgica de todo o processo de forma a facilitar a implementao fsica do mesmo. A UML disponibiliza, atravs de conceitos, objetos, smbolos e diagramas, uma forma simples, mas objetiva e funcional, de documentao e entendimento de um sistema. Voc pode utilizar os diagramas e arquivos que compe um modelo UML para o desenvolvimento, apresentao, treinamento e manuteno durante todo o ciclo de vida da sua aplicao. Ela mais completa que outras metodologias empregadas para a modelagem de dados pois, tem em seu conjunto todos os recursos necessrios para suprir as necessidade de todas as etapas que compe um projeto, desde a definio, implementao, criao do modelo de banco de dados,

distribuio, enfim, proporcionando sem qualquer outra ferramenta ou metodologia adicional, um total controle do projeto. A UML implementa uma modelagem com uma viso orientada a objetos. Atravs dela podemos definir as classes que compe a nossa soluo, seu atributos, mtodos e como elas interagem entre si. Apesar da UML ter como base a orientao a objetos, no significa que a ferramenta e a linguagem utilizada para a implementao do modelo seja tambm orientada a objetos, embora seja recomendvel. Este artigo no ir explorar os conceitos de orientao a objetos, e sim a implementao de um modelo UML simples, para incio da documentao de um sistema, utilizando dois diagramas implementados pela UML que so o Diagrama de Casos e Uso e o Diagrama de Classes. Os diagramas tm como objetivo representar, atravs de um conjunto de elementos, como o sistema ir funcionar e como cada pea do sistema ira trabalhar e interagir com as outras. Outra vantagem vem da facilidade de leitura dos diagramas que compe a UML, alm da facilidade de confeccion-los, pois existem inmeras ferramentas para modelagem de dados orientados a objetos (ferramentas Case), dentre elas o Rational Rose, o Model Maker, e o Poseidom UML. Alm dos diagramas citados a UML disponibiliza outros diagramas, dentre os quais podemos citar o Diagrama de Objetos, Diagrama de Seqncia, Diagrama de Colaborao, Diagrama de Estado, Diagrama de Atividade e Diagrama de Componentes.

Entendendo UML a partir de um exemplo prtico Utilizaremos o Poseidon UML para implementar o modelo do exemplo. O Poseidon UML uma ferramenta case que suporta os principais diagramas UML e desenvolvido em Java. Tem algumas facilidades no que se refere a interao com o Java podendo, a partir de um modelo gerar o cdigo Java das classes definidas no mesmo e tambm suporta a Engenharia Reversa, que gerar o modelo a partir das classes implementadas. O Poseidon tem sua verso free e pode ser baixado em www.gentleware.com. O modelo aqui proposto comea a ser implementado a partir de um problema real que a necessidade de um cliente. O problema proposto o seguinte:

Desenvolver um sistema para um caixa eletrnico onde permitido a um cliente realizar quatro tipos de operaes: a de consulta de saldo, solicitao de extrato, depsito e saque. Esse mesmo caixa eletrnico deve ser abastecido de dinheiro e ter os depsitos recolhidos por um funcionrio do banco Para definio do modelo do nosso sistema, iremos implementar primeiro um Diagrama de Casos de Uso ou Use Cases. Os objetivos principais de um diagrama de Casos de Uso so: Descrever os requisitos funcionais do sistema de maneira uniforme para usurios e desenvolvedores;

Descrever de forma clara e consistente as responsabilidades a serem cumpridas pelo sistema, formando a base para a fase de projeto; Oferecer as possveis situaes do mundo real para a fase de testes do sistema.

Os elementos bsicos de um diagrama de caso de uso so: ator, caso de uso, interao e sistema, todos ilustrados na figura 1.

Figura 1 Um ator uma entidade externa ao sistema que de alguma forma participa de um caso de uso. Um ator pode ser um ser humano, mquinas, dispositivos, ou outros sistemas. Atores tpicos so cliente, usurio, gerente, computador, impressora, etc. Os atores representam um papel e iniciam um caso de uso que aps executado, retorna um valor para o ator. Um caso de uso especifica um servio que ser executado ao usurio e composto por um ou mais cenrios. Um cenrio uma narrativa de uma parte do comportamento global do sistema. Para o problema proposto, o Diagrama de Casos de Uso pode ser implementado como mostrado na figura 2.

Figura 2

No Diagrama de Casos de Uso implementado o sistema o Caixa Eletrnico, os atores representam o Cliente e o Funcionrio do banco. O Cliente interage com os Casos de Uso consulta de saldo, solicitao de extrato, depsito e saque e o Funcionrio interage com os Casos de Uso Abastece de dinheiro e Recolher envelopes de depsitos. Para melhor entendimento do Diagrama de Casos de Uso necessria a descrio textual do fluxo do Caso de Uso (principal e alternativo) e do Cenrio ou dos Cenrios que compe cada Caso de Uso. Iremos descrever o Use Case Solicitao de Extrato bem como o Cenrio que o compe.

1) Descrio textual do fluxo principal do Use Case Solicitao de Extrato

Este Caso de Uso inicia-se quando o Cliente escolhe a opo Extrato aps passar o carto no caixa eletrnico e ter a sua conta validada. Aps a validao da conta o sistema pede ao cliente para escolher dentre as opes de saldo:

Extrato Rpido - O subfluxo A1 (Imprimir Extrato Rpido) executado. Extrato no Perodo - O subfluxo A2 (Imprimir Extrato no Perodo) executado. Sair - O Caso de Uso encerrado, o sistema volta a tela principal e solicita que o cliente passe o carto.

2) Descrio textual dos Subfluxos alternativos associados a este use case

A1 - Imprimir Extrato Rpido O sistema solicita que o cliente entre com a senha para autorizar a impresso do extrato (o subfluxo B1 - Solicitar e Validar de senha alfabtica - executado). Caso a senha seja validada a conta do cliente consultada e o extrato impresso (o subfluxo B2 Imprimir Extrato - executado). O sistema volta a tela principal e solicita que o cliente passe o carto. A2 - Imprimir Extrato no perodo O Sistema solicita que o cliente informe a data inicial e final pra impresso do extrato. Em seguida O sistema solicita que o cliente entre com a senha para autorizar a impresso do extrato (o subfluxo B1 - Solicitar e Validar de senha alfabtica - executado). Caso a senha seja validada a conta do cliente consultada de acordo com o perodo e o extrato impresso (o subfluxo B2

Imprimir Extrato - executado). O sistema volta a tela principal e solicita que o cliente passe o carto.

B1) Solicitar e Validar de senha alfabtica O sistema solicita que a senha do carto seja digitada. Consulta a conta do cliente validando a senha digitada. Caso a senha no seja vlida o sistema informa na tela e pede mais uma tentativa. O sistema verifica a quantidade de erros de validao de senha ocorridos no dia e informa que aps 3 tentativas erradas o carto do cliente ser bloqueado e informa o nmero de tentativas que o cliente ainda dispe. O Cliente pode sair da operao e voltar para a tela inicial, ou tentar novamente. Caso a senha seja vlida, a operao prossegue. Caso contrrio, aps trs tentativas o carto do cliente bloqueado.

B2) Imprimir Extrato O sistema verifica se a impressora do caixa eletrnico est ativa e se a mesma possui papel. Caso apresente um dos problemas citados, o sistema mostra uma mensagem solicitando que o cliente realiza a operao em outro caixa eletrnico e volta para a tela inicial e avisa do erro sempre que uma operao que envolva impresso for solicitada. Caso contrrio, o contedo solicitado para impresso impresso.

3) Cenrio Primrio Jos dirige-se ao caixa eletrnico e passa o carto na mquina. O Sistema, aps validar a conta exibe as opes disponveis. Jos seleciona a opo de Solicitao de Extrato. Em seguida Jos seleciona a opo de Extrato no Perodo. Informa a data inicial e final. O Sistema solicita a senha a Jos. Aps Jos digitar a senha e confirmar a operao, o Sistema valida a senha, consulta a conta de Jos e imprime o extrato de movimentao da conta no perodo selecionado.

4) Cenrio Secundrio O Sistema, ao verificar os requisitos para impresso, retornou que a impressora estava sem papel. Jos, aps ser informado do problema pelo sistema, dirigi-se a outro caixa eletrnico e inicia novamente a operao.

Aps a descrio textual de todos os Casos de Uso e respectivos Cenrio, nossa documentao envolvendo o Diagrama de Casos de Uso est completa.

O segundo diagrama a ser utilizado para soluo do problema proposto o Diagrama de Classes. Este diagrama, contm as classes que caracterizam os objetos do nosso sistema. As classes so extradas a partir da anlise do Diagrama de Casos de Uso e representam os componentes de interao do nosso sistema e como eles se relacionam. Vamos implementar um Diagrama de Classe, a partir do Diagrama de Casos e Uso implementado, com a definio das classes Cliente, ContaBancaria e Lanamentos da Conta. ( Vide Figura 4 ) Uma classe representada por um retngulo slido com trs partes: a primeira para o nome da classe; outra para os atributos da classe ( que podem ser vistos como caractersticas da classe); e a terceira para a declarao das operaes definidas para a classe. A Figura 3 mostra a notao UML para classes.

Figura 3

Figura 4

Atravs da classe Cliente implementada no diagrama da figura 4, ns definimos as caractersticas do nosso cliente (neste caso um Identificador e um Nome que representam os atributos da classe), seu relacionamento com a classe ContaBancaria que de 1 para muitos ( isto representa a cardinalidade do relacionamento ) e definimos uma operao realizada pela classe que ObterContaBancaria(). A mesma anlise deve ser feita para a classe ContaBancaria e LancamentoConta. Com esse diagrama, j podemos identificar elementos que existiro em nosso sistema, suas carctersticas e operaes. Essas definies esto contidas nas classes. Essas classes tornam-se reais em nosso sistema a quando so manipuladas por ele e, a partir da, so conhecidas como objetos, pois suas caractersticas passam a ter um valor e elas comeam a interagir com outros objetos das classes relacionadas.

Concluso A UML se mostra como parte essencial no ciclo de vida de uma aplicao. Foi mostrado, utilizando apenas dois diagramas, toda a funcionalidade operacional de um sistema bem como a definio de elementos internos referentes ao desenvolvimento do mesmo. Esses dois diagramas fazem parte da documentao do sistema, e podem ser utilizados para uma apresentao da soluo para o requisitante antes da implementao da mesma, visualizao dos processos que o sistema ir disponibilizar, definio de elementos inerentes ao desenvolvimento como estrutura de telas, procedimentos operacionais, referncia para criao de objetos de persistncia em um banco de dados, etc. Existem outros elementos a explorar, outros diagramas, outros tipos de relacionamentos e documentao, mas este foi um passo inicial para conhecer todos os recursos que a UML disponibiliza e aumentar a qualidade do desenvolvimento de nossas aplicaes.

You might also like