Você está na página 1de 7

Uma Introduo UML Resumo A UML , Linguagem de Modelagem Unificada foi criada por Rambaugh, Booch e Jacobson, profissionais

s da rea de sistemas e processos, que se uniram com o objetivo de se criar um padro para desenvolvimento de software que reunisse as melhores prticas de metodologia de sistemas. Esta linguagem aberta e pode ser utilizada para criar um modelo para se abstrair as fases de um projeto de criao de software. Neste modelo, diversos diagramas auxiliam na visualizao do problema e a concepo da soluo, permitindo uma viso macro dos objetos e seus relacionamentos. Grandes sistemas necessitam de uma srie de especificaes e geralmente tais documentos so longos e muito detalhados. A modelagem proporcionada pela UML permite simplificar o entendimento de um sistema, ao transformar suas complexidades em objetos grficos simples, onde a lgica interna de seu funcionamento abstrada. Atravs da modelagem tambm conseguimos estruturar um sistema. A manuteno que ocorrer nos posteriores ciclos de desenvolvimento fica mais fcil de ser efetuada j que a mesma ocorre inicialmente num nvel lgico, e no no cdigo (programa), de forma que se pode evoluir os diagramas que sero alterados e verificar suas conseqncias, antes de se preocupar com a fase de desenvolvimento. Algo que interessante de se notar que a UML uma linguagem e no uma Metodologia. Em funo de sua independncia, a mesma pode ser utilizada como ferramenta de apoio por diversas metodologias. Documentao do Sistema Este modelo pode ser utilizado para se discutir a viso do projeto de sistema com todos os envolvidos, desde os usurios-chave (e gerncia) que iro se beneficiar do sistema at os elementos da equipe de desenvolvimento (programadores, analistas, testadores, etc). Desta forma, o resultado final dever ser um conjunto de diagramas e documentos avaliados por toda a equipe e em conformidade com a necessidade dos stakeholders. Um Controle de Verses poder ser implementado, na medida em que se armazena (e identifica-se devidamente) os processos (e suas verses) e suas funcionalidades. Estes elementos iro mudar na medida em que se verifica a manuteno do sistema, de forma que necessrio identificar a verso dos mesmos. * Tais itens (diagramas e documentos), requisitos (funcionais e no funcionais), documento viso e prottipos iro inicialmente compor a Documentao do Sistema. Estrutura Bsica da UML Neste artigo irei relacionar alguns dos itens que considero o bsico na estrutura da UML. Ser algo superficial para o leitor que queira ter uma primeira noo do que a UML, de forma que no irei me aprofundar muito nos detalhes. Colocarei tambm alguns exemplos de diagramas, de maneira que o leitor possa fazer um comparativo analgico com explicao dada. Os diagramas que descreverei so:Descrio de Casos de Uso Diagrama de Casos de Uso Diagrama de Classes Diagrama de Seqncia Diagrama de Estados Descrio de Casos de Uso uma descrio textual completa de um determinado processo, identificando seu cenrio principal, isto , o fluxo normal que normalmente ocorreria. Este documento estruturado descrevendo-se seus passos / instrues sem se ater a detalhes de tecnologia, porm identificando o limite/restrio/faixa de dados. Alm disto, aqui identificamos o (s) ator (es) que interage (m) com o sistema. As excees (fluxos / cenrios alternativos) tambm so explicadas porm a nfase dada no fluxo principal.

O Ator pode ser entendido como um elemento externo que interage com o sistema. Geralmente simboliza um usurio de algum departamento, mas tambm pode simbolizar outros elementos tais como um temporizador (relgio) que aciona o sistema de tempos em tempos para realizar alguma ao ou sistemas externos que interagem com um determinado sistema. Atravs da documentao do sistema, identificamos os atores, eventos e seus processos, de forma a eleger os possveis Casos de Uso.

Exemplo:Nome do Caso de Uso Descrio Ator Envolvido Ativao Pr-Requisito Efetuar Login Este caso de uso descreve a maneira pelo qual um usurio tem acesso ao sistema. Usurio Ocorre no momento em que o Usurio acessa o site. Usurio deve estar cadastrado no sistema. Ator Sistema O usurio informa sua identificao (login) e senha. Caso o usurio deseje que num prximo acesso o sistema apresente seu nome automaticamente, ele ter a opo de armazenar a sua identificao. (EX01) O sistema consiste se o usurio foi informado, se o mesmo est cadastrado, se a senha vlida ( igual cadastrada no sistema) e se o usurio no est com seu acesso ao sistema bloqueado Interao entre Ator e Sistema (ver observaes na prxima pgina). (EX02, EX03, EX04) O sistema registra a data e hora do ltimo acesso do usurio. O Sistema exibe nmero de acessos efetuados pelo usurio, a data de seu ltimo acesso e a mensagem:= Seja bem vindo(a) rea Reservada O sistema memoriza a identificao (login) e tipo de usurio que pode ser Cliente, Operador do Sistema, Departamento Financeiro ou Departamento Comercial. Excees EX01 EX02 EX03 O sistema apresenta automaticamente a identificao do usurio, caso tenha sido configurado para isto. O sistema verifica se a identificao est em branco e neste caso mostra a mensagem:Campo Identificao em branco - Favor Informar Caso o sistema no consiga encontrar o usurio ou se a senha do mesmo estiver incorreta, ele exibe a mensagem:Identificao de Usurio ou Senha: Incorreto e em seguida o sistema registra a falha da tentativa de login. EX04 Caso o usurio esteja bloqueado, o sistema exibe a mensagem Voc est atualmente bloqueado Favor entrar em contato com a Administrao. e em seguida ele registra a tentativa de acesso ao sistema. Observaes Bloqueado: Status do Usurio que faz com que ele no possa acessar o sistema. Este status pode ser definido pelo Operador do Sistema, Depto Financeiro ou Depto Comercial, em funo das seguintes possibilidades:Dvida/Inadimplncia do Cliente Usurio demitido Usurio temporariamente afastado (frias, licena, etc) Outras eventualidades.

Diagrama de Casos de Uso Modelo grfico que agrupa determinados casos de usos e atores de um determinado sistema, de forma a visualizar-se de maneira rpida e fcil o relacionamento entre eles, servindo de documento para comunicao entre os participantes do projeto. O Ator, que representa o elemento externo ao sistema, associa-se ao caso de uso (representado pela figura oval). Neste exemplo utilizei o conceito de generalizao, que permite criar um supertipo, composto de subtipos de mesma funo, de forma a criar o Ator Usurio, e a partir dele associar os atores relacionados, de modo a facilitar o entendimento do diagrama. Verificamos neste exemplo que o Ator Cliente, alm de ter acesso aos casos de uso herdados pelo seu supertipo (Usurio), tambm tem acesso exclusivo ao Caso de Uso Solicitar Cadastro de Cliente.

Diagrama de Classes
Atravs deste diagrama podemos verificar os objetos do sistema, seus atributos, mtodos e relaes. Atributo Um atributo de um objeto uma caracterstica deste objeto. Se o objeto fosse um Pedido de Venda, alguns de seus atributos seriam nmero do pedido, data da venda, cdigo do cliente, data de previso de entrega, status, dentre outros.

Mtodo Um mtodo uma funo que a classe realiza. Considerando o mesmo objeto (pedido de venda) como exemplo, alguns de seus mtodos seriam criar(), alterar(), excluir() , imprimir() e baixar().

Nome da Classe atributo: tipo +metodo() Classe / Objeto A Classe a representao genrica de um objeto, contendo os tipos de informaes que um objeto pode ter, alm dos mtodos que o objeto executar. Um objeto uma instncia (derivao / criao) de uma classe. Ele contm informaes especficas que identificam um item especfico no sistema. Exemplo:CLASSE Pedido Numero: integer Venda: date Cliente: integer Previso: date Status: integer +Criar() +Alterar() +Excluir() +Imprimir() +Baixar() OBJETO :Pedido Numero: 1234 Venda: 30/12/2005 Cliente: 537 Previso: 15/01/2006 Status: 2 +Criar() +Alterar() +Excluir() +Imprimir() +Baixar()

Relacionamento / Associao O conceito de associao ocorre quando uma classe relaciona-se com outra classe. Isto ocorre neste exemplo. Cada objeto instanciado da classe ItensPedido refere-se a um objeto do tipo Produto.

ItensPedido -produto : long -quantidade : int -precoUnitario : float +metodo()

-mantidos em 0..* 1

Produto -codigo : long -cadastro : Date -estoque : long +metodo()

Composio

Classe

Classe

Classe

Classe

Um tipo de associao de agregao a Composio, e podemos perceber isto atravs do exemplo abaixo. A classe Pedido tem suas informaes gerais (nmero do pedido, data do pedido, cdigo do cliente, etc), bem como seus mtodos. A classe ItensPedido contm os itens de um determinado Pedido, com seus atributos (cdigo do produto, quantidade pedida, precoUnitario), alm de seus mtodos especficos. Entretanto a existncia de um objeto do tipo ItensPedido est totalmente relacionada existncia de um objeto do tipo Pedido, ou a 1a. classe composta dos itens da 2a. classe, de forma que no tem sentido a existncia de ItensPedido sem a existncia de Pedido. Note que o Diagrama de Classe no est prevendo o acesso aos dados, sendo comum na Fase de Projeto. Posteriormente, muitas informaes sero inseridas na fase de Desenvolvimento, dentre elas sero acrescidas as classes de acesso dados.

Pedido -numero : long -data : Date -cliente : long +metodo() 1 0..* ItensPedido -produto : long -quantidade : int -precoUnitario : float +metodo()

Herana Quando uma determinada classe (sub-classe) herda os atributos e mtodos da classe pai (super-classe). No exemplo abaixo, notamos a existncia das classes Poupana e Folha, que derivam da classe pai (Conta_Bancria), herdando seus atributos e mtodos, mas que possuem atributos que lhe so prprios.

Conta Bancria -numero : long -banco : string -agencia : string -conta : string -saldo : float +depositar() +sacar() +consultar()

Poupana -vencimento : Date

Folha -funcionario : long

Diagrama de Seqncia Utilizado para se verificar a seqncia dos passos de um determinado caso de uso, num determinado momento do sistema. Neste diagrama verificamos a interatividade do ator e as mensagens ocorridas entre os objetos. Ator: Usurio, interage com o sistema Objeto TelaLogon: boundary, representa a fronteira entre o sistema e o usurio. Tambm chamado de interface. Objeto CtrlLogin: control, representa a classe que gerencia a seqncia e controla as mensagens do sistema. Objeto Usurio: entity: Entidade, representa a classe que retrata o objeto real, onde se recupera e armazena as informaes necessrias ao sistema. Linha Vertical: Representa a temporalidade da existncia do objeto no diagrama, que ocorre enquanto houver interaes entre os demais objetos. Seta Horizontal com Flecha: Representa a mensagem trocada entre os objetos, podendo conter parmetros.

Diagrama de Estados O objetivo de um diagrama de estados mostrar os possveis estados de um objeto e os eventos que altera seu status. O estado de um objeto o resultado das operaes deste objeto num determinado momento. Em geral, o objeto tem um estado inicial quando de sua criao, e em geral alterado pela ocorrncia de um determinado evento. Aps ser acionado, o objeto realiza uma ou mais operaes de forma que seu estado muda para

uma outra condio. Num determinado momento o objeto tem o seu estado alterado para um estado final, que pode ocorrer em diversas circunstncias, indicando o fim das alternncias de estado. Desta forma, atravs deste diagrama possvel visualizar os possveis estados que um objeto pode ter, de forma a se prever seu comportamento. No exemplo a seguir, mostro os estados possveis para um pedido, os eventos que modificam seu estado e seu estado final.

Para finalizar, aconselho aos usurios a criao de prottipos de telas e formulrios, que sero baseados nas descries de casos de uso e sua funcionalidade se dar conforme os diagramas de seqncias criados.

Figura 1 Prottipo de Tela de Login

Figura 2 Prottipo de Tela de Entrada de Pedidos

Carlos Majer Desenvolvedor (desde 1986) Analista de Sistemas (desde 1988) Pioneiro no uso da Internet participando do projeto experimental da Internet Brasileira de Abril a Dezembro de 1994. Pioneiro na criao de software Shareware no Brasil (1994) Tecnlogo e Professor da Universidade Cidade de So Paulo. cmajer@uol.com.br

Você também pode gostar