Você está na página 1de 14

Objetivos da UML

Os objetivos da UML so: especificao, documentao, estruturao para subvisualizao e maior visualizao lgica do desenvolvimento completo de um sistema de informao. A UML um modo de padronizar as formas de modelagem.

[editar] O Futuro da UML


Embora a UML defina uma linguagem precisa, ela no uma barreira para futuros aperfeioamentos nos conceitos de modelagem. O desenvolvimento da UML foi baseado em tcnicas antigas e marcantes da orientao a objetos, mas muitas outras influenciaro a linguagem em suas prximas verses. Muitas tcnicas avanadas de modelagem podem ser definidas usando UML como base, podendo ser estendida sem se fazer necessrio redefinir a sua estrutura interna. A UML ser a base para muitas ferramentas de desenvolvimento, incluindo modelagem visual, simulaes e ambientes de desenvolvimento. Em breve, ferramentas de integrao e padres de implementao baseados em UML estaro disponveis para qualquer um. A UML integrou muitas idias adversas, e esta integrao acelera o uso do desenvolvimento de softwares orientados a objetos.

[editar] Histria
A UML tem origem na compilao das "melhores prticas de engenharia" que provaram ter sucesso na modelagem de sistemas grandes e complexos. Sucedeu aos conceitos de Booch, OMT (Rumbaugh) e OOSE (Jacobson) fundindo-os numa nica linguagem de modelagem comum e largamente utilizada. A UML pretende ser a linguagem de modelagem padro para modelar sistemas concorrentes e distribudos. A UML ainda no um padro da indstria, mas esse objetivo est a tomar forma sob os auspcios do Object Management Group (OMG). O OMG pediu informao acerca de metodologias orientadas a objetos que pudessem criar uma linguagem rigorosa de modelagem de software. Muitos lderes da indstria responderam na esperana de ajudar a criar o padro. Os esforos para a criao da UML tiveram incio em outubro de 1994, quando Rumbaugh se juntou a Booch na Rational. Com o objetivo de unificar os mtodos Booch e OMT, decorrido um ano de trabalho, foi lanado, em outubro de 1995, o esboo da verso 0.8 do Unified Process - Processo Unificado (como era conhecido). Nesta mesma poca, Jacobson se associou Rational e o escopo do projeto da UML foi expandido para incorporar o mtodo OOSE. Nasceu ento, em junho de 1996, a verso 0.9 da UML. Mais informaes: A construo da Uml teve muitos contribuintes, mas os principais atores no processo foram GRANDY BOOCH, JAMES RUMBAUGH e IVAR JACOBSON.Esses trs pesquisadores so chamados de "os trs amigos". No processo de definio da UML, procurou-se aproveitar o melhor das caractersticas das notaes

preexistentes, principalmentes das tcnicas propostas anteriormente pelo trs amigos (essas tcnicas eram conhecidas pelos nomes de Booch Method, OMT e OOSE). A notao definida para a UML uma unio das diversas notaes preexistentes, com alguns elementos removidos e outros adicionados com o objetivo de torn-la mais expressiva. Finalmente em 1997, a UML foi aprovada como padro pelo OMG(Object Management Group - um consrcio internacional de empresas que define e ratifica padres na rea de Diagramas da UML 2.0 editar Diagramas Estruturais Diagrama de classes Diagrama de objetos Diagrama de componentes Diagrama de instalao Diagrama de pacotes Diagrama de estrutura Diagramas Comportamentais Diagrama de Caso de Uso Diagrama de transio de estados

Diagrama de atividade Diagramas de Interao Diagrama de sequncia Diagrama de Interatividade Diagrama de colaborao ou comunicao

Diagrama de tempo

Orientao a Objetos (www.omg.org). A UML uma linguagem visual para modelar sistemas orientados a objetos. Isso quer dizer que a UML a linguagem constituda de elementos grficos (visuais) utilizados na modelagem que permitem representar os conceitos do paradigma da orientao a objetos. (Livro princpios da Anlise e projeto de sistemas com UML - Inserido por: Andr Trcio

[editar] Viso Geral da UML


[editar] Elementos

De estrutura: o Classe o Objetos o Interface o Componente o Colaborao o N

De comportamento: o Casos de uso o Iterao o Mquina de estados De agrupamento: o Pacote o Modelo o Subsistema o Framework De anotao: o Notas

Hierarquia dos diagramas UML

[editar] Relacionamentos

Associao (bidirecional ou unidirecional) Generalizao Composio Agregao

[editar] Conceitos de UML


UML usa os seguintes conceitos:

Ator Atividade Interface

Package ou Pacote Classe Evento

[editar] Ver tambm


RUP, processo extensamente desenvolvido sob a notao UML. Ambiente de Desenvolvimento Integrado Tcnicas de modelagem de dados Orientao a objeto ArgoUml, software livre para modelagem em UML XMI, um formato standard baseado em XML para troca de modelos de UML. Jude, software para modelagem UML, gratuito e multiplataforma.

[editar] Referncias

Ferramenta CASE para Delphi OMG/UML StarUML Open Source UML/MDA UML Jokes

PESQUISA 2

UML - Diagrama de Classes e objetos


Resolvi falar um pouco sobre diagrama de classes e de objetos.. No uma tarefa trivial para ser desenvolvida em um pequeno artigo onde deve-se ter a preocupao de ser claro , objetivo sem ser superficial. Eu poderia comear dando de cara a definio do que um diagrama de classes , mas creio que preciso falar sobre o conceito de classes , mas para isto preciso falar sobre o que so objetos... Estou falando para programadores e analistas , certo !!! Ento nosso foco e rea de atuao ser a Programao Orientada a Objetos. (POO) Em POO , os problemas de programao so pensados em termos de objetos , nada de funes , rotinas , nada disto , o assunto so os objetos , propriedades e mtodos. Nota: A preocupao da programao estruturada estava em procurar os processos que envolviam o problema e no os objetos que o compunham. Desta forma quando colocado o problema de desenvolver um sistema para locadoras , por exemplo , devemos pensar como dividir o problema em objetos. Para este caso podemos ter os seguintes objetos : Clientes , CDs e Fitas , etc..

A melhor maneira de conceituar estes termos considerar um objeto do mundo real e mostrar como podemos represent-lo em termos conceitos para POO. Comeando com as definies : "Um objeto um termo que usamos para representar uma entidade do mundo real" (Fazemos isto atravs de um exerccio de abstrao.) Vou usar como exemplo o meu cachorro Bilu. Posso descrever o Bilu em termos de seus atributos fsicos: pequeno , sua cor principal castanha , olhos pretos , orelhas pequenas e cadas, rabo pequeno , patas brancas. Posso tambm descrever algumas aes que ele faz (temos aqui os mtodos) : balana o rabo quando chego em casa , foge e se deita se o mando sair debaixo da mesa, late quando ouve um barulho ou v um co ou gato, atende e corre quando o chamo pelo seu nome. Temos abaixo a representao do Bilu. Temos aqui a representao de um objeto , no caso o meu cachorro Bilu , que possui as seguintes propriedades e mtodos: Propriedades : Cor do corpo : castanha cor dos olhos : preto altura: 18 cm comprimento: 38 cm largura : 24 cm Mtodos : balanar o rabo , latir , deitar , sentar Meu cachorro Bilu Em termos de POO para poder tratar os objetos comeamos criando classes , neste caso irei criar a classe chamada Cachorro. "Uma classe representa um conjunto de objetos que possuem comportamentos e caractersticas comuns". "Na UML o nome de uma classe um texto contendo letras e dgitos e algumas marcas de pontuao. Na realidade, melhor guardar os nomes curtos com apenas letras e dgitos. UML sugere capitalizar todas as primeiras letras de cada palavra no nome (ex.: ``Lugar'', ``DataReserva''). melhor tambm manter nomes de classe no singular, classes por default ``contem'' mais de um objeto, o plural implcito.". [Nicolas Anquetil] Uma classe descreve como certos tipos de objetos se parecem do ponto de vista da programao , pois quando definimos uma classe precisamos definir duas coisas: 1. Propriedades - Informaes especficas relacionadas a uma classe de objeto. So as caractersticas dos objetos que as classes representam. Ex Cor , altura , tamanho , largura , etc... 2. Mtodos: So aes que os objetos de uma classe podem realizar. Ex: Latir , correr , sentar , comer, etc. Voc pode pensar em uma classe com um modelo para criar quantos objetos voc desejar de um tipo particular. Pense em um carimbo com a imagem de um cachorro , quando voc carimba e obtm um desenho de cachorro voc acabou de criar uma instncia da classe e obteve um objeto daquela classe. O novo objeto possuir todas as caractersticas e comportamentos definidos pela classe.

(As classes especificam a estrutura e o comportamento (operaes) dos objetos, que so instncias das classes) Aqui temos que Bilu um objeto da classe Cachorro. Em termos de POO acabamos de criar uma instncia da classe Cachorro e a chamamos Bilu. Quando criamos uma nova instncia de uma classe dizemos que estamos instanciando a classe. Geralmente em um sistema de mdio porte sero identificados diversas classes que compem o sistema. Neste contexto a UML surgiu como uma proposta de ser uma linguagem para modelagem de dados que usava diversos artefatos para representar o modelo de negcio ; um destes artefatos o diagrama de classes. A representao de uma classe usa um retngulo dividido em trs partes:

nome atributo s mtodos

Podemos dizer que os diagramas de classes so os principais diagramas estruturais da UML pois ilustram as classes , interfaces e relacionamentos entre elas. Os diagrama se classes ilustram atributos e operaes de uma classe e as restries como que os objetos podem ser conectados ; descrevem tambm os tipos de objetos no sistema e os relacionamentos entre estes objetos que podem ser : associaes e abstraes. Para poder representar a visibilidade dos atributos e operaes em uma classe utiliza-se as seguintes marcas e significados: + pblico - visvel em qualquer classe # protegido - qualquer descendente pode usar - privado - visvel somente dentro da classe

Relacionamento entre classes


Os objetos tem relaes entre eles: um professor ministra uma disciplina para alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data, etc. Essas relaes so representadas tambm no diagrama de classe. [Nicolas

Anquetil]

A UML reconhece trs tipos mais importantes de relaes: dependncia, associao e generalizao (ou herana). Geralmente as classes no esto ss e se relacionam entre si. O relacionamento e a comunicao entre as classes definem responsabilidades , temos 3 tipos : 1. Associaes : Agregao e composio 2. Generalizao (herana) 3. Dependncias As representaes usam a seguinte notao : Associao : So relacionamentos estruturais entre instncias e especificam que objetos de uma classe esto ligados a objetos de outras classes. Podemos ter associao uniria , binria , etc. A associao pode existir entre classes ou entre objetos. Uma associao entre a classe Professor e a classe disciplina (um professor ministra uma disciplina) significa que uma instncia de Professor (um professor especfico) vai ter uma associao com uma instncia de Disciplina. Esta relao significa que as instncias das classes so conectadas, seja fisicamente ou conceitualmente.[Nicolas

Anquetil]
Dependncia - So relacionamentos de utilizao no qual uma mudana na especificao de um elemento pode alterar a especificao do elemento dependente. A dependncia entre classes indica que os objetos de uma classe usam servios dos objetos de outra classe.

l l Generalizao (herana : simples ou composta) - Relacionamento entre um elemento mais geral e um mais especfico. Onde o elemento mais especfico herda as propriedades e mtodos do elemento mais geral. A relao de generalizao tambm conhecida como herana no modelo a objetos. Como a relao de dependncia, ela existe s entre as classes. Um objeto particular no um caso geral de um outro objeto, s conceitos (classes no modelo a objetos) so generalizao de outros conceitos. Agregao Regular - tipo de associao ( parte de , todo/parte) onde o objeto parte um atributo do todo ; onde os objetos partes somente so criados se o todo ao qual esto agregados seja criado. Pedidos composto por itens de pedidos.


Composio - Relacionamento entre um elemento ( o todo) e outros elementos (as partes) onde as parte s podem pertencer ao todo e so criadas e destrudas com ele.

O diagrama de de classes lista todos os conceitos do domnio que sero implementados no sistema e as relaes entre os conceitos. Ele muito importante pois define a estrutura do sistema a desenvolver. O diagrama de classes no surge do nada ele consequncia do prvio levantamento de requisitos , definio de casos de usos e classes. Como exemplo vamos supor que voc tivesse que desenvolver um sistema para automatizar um consultrio dentrio. As etapas bsicas envolvidas seriam: Levantamento e anlise de requisitos do sistema a ser desenvolvido. Entrevista com o dentista(s) e com as pessoas que trabalham no consultrio Definio dos objetos do sistema : Paciente , agenda , dentista , servio , contrato , consulta , pagamento , etc.. Definio dos atores do sistema : paciente, dentista , secretria Definio e detalhamento dos casos de uso: marcar consulta , confirmar consulta , cadastrar paciente , cadastrar servios , etc. Definio das classes : paciente , dentista , exame , agenda , servio Definir os atributos e mtodos das classes : Aps toda esta anlise voc chega no diagrama de classes do sistema (representado abaixo a ttulo de exemplo ilustrativo)

Atributo Um atributo representa uma propriedade que todos os objetos da classe tm (por exemplo, todos os cachorros tem pelo , orelhas , altura, ,etc. Mas cada objeto ter valores particulares para seus atributos (alguns cachorros so mais baixos , outros so maiores, etc.). Uma classe pode ter qualquer nmero de atributos. Na UML, o nome de um atributo um texto contendo letras e dgitos e algumas marcas de pontuao. UML sugere de capitalizar todas as primeiras letras de cada palavra no nome menos a primeira palavra (ex.: "nome'', "nomeCachorro''). Num modelo, os atributos devem ser de um tipo simples (inteiro, texto, talvez data), no podem conter outros objetos. Mtodos Mtodos so aes que implementam uma operao. Uma classe pode ter qualquer nmero de mtodos e dois mtodos em duas classes podem ter o mesmo nome. Todos os mtodos que vo implementar a operao tem que respeitar exatamente a assinatura dela (mesmo nome, mesmo nmero de atributo, com os mesmo tipos e o mesmo ordem). Um mtodo no pode acrescentar ou cortar um parmetro. Isso seria um violao do polimorfismo. Para mandar a mensagem corretamente, teramos que saber qual a classe do objeto (cada classe tendo mtodo com assinatura diferente). O que possvel, no caso de cortar um parmetro, simplesmente ignor-lo na implementao. [Nicolas Anquetil] Voltarei falar sobre UML nos prximos artigos onde iremos abordar os seguintes diagramas UML: Seqncia : Mostra interaes entre vrios componentes do sistema enfocando a sequncia.

Colaborao : Mostra interaes entre vrios componentes do sistema enfocando a colaborao entre as classes. Atividade : Mostra como um sub-sistema ou um objeto realizam uma operao. Estados : Mostra como um sub-sistema ou um objeto realizam uma operao. Componentes : Mostra a organizao dos componentes. Trata da implementao do sistema. Implantao : Mostra a configurao fsica sobre qual o sistema ser instalado.

PESQUISA 3

O que UML?
Publicado em Segunda-feira, Abril 7, 2008 por Rafael Junqueira Pblico alvo (requisitos):

Anlise de sistemas (Entidades,relacionamentos,regras de restrio); Gesto de projetos (Planejamento,anlise,teste,construo e manuteo); Administradores,gestores,contadores,estatistcos,empresrios,estudantes,pe dagogos,agentes da sade; Internacionalizao do UML (no um conceito s da informtica)

O que UML? UML antes de tudo no s uma linguagem de programao voltada para planejamento. uma tcnica de organizao de grupos. UML significa Linguagem de modelagem unificada, isso significa que uma linguagem formal acessvel todos os pblicos (uma s forma de escrever,comptivel com qualquer departamento e de fcil distribuio). Esse o objetivo do UML. E todos ns usamos a tecnica no dia-a-dia sem percebemos. Por exemplo, quando vamos determinar um objetivo no dia criamos uma classe de eventos e desenhamos como iremos fazer isso. Digamos que o que vamos fazer no dia ir para faculdade. Voc (Classe:humano\nome,estudante\estagiario\trabalhador\Ir at faculdade) pegar o metro,onibus, a p ou taxi\carona afetiva(amigos)\Vans. Quantos processos ter que fazer? Primeiro acordar. Segundo vestir-se e pegar a conduo. Se for a p(pegar a melhor rota), se for de veiculo pegar o mais barato\melhor rota e melhor horrio (No caixa preciso pagar o valor). Chegar no local de destino, entrar na faculdade. Assistir as aulas e refazer o caminho de volta. O nmero de processo duplica, e sabemos que com o tempo tornamos o processo automtico, e na maioria das vezes erramos neste processo quando o alteramos um

milsimo do lugar. E o que fazemos quando erramos?Corrigimos e geralmente nestes casos,tarde demais. Por isso o UML uma forma de organizar as entidades que iremos encontrar. So elas:

Onibus (trocador,motorista,passageiros); Taxi (motorista,taximetro) Metro (condutor,passageiros,bilheteria) A p (sinais de transito,rotas) E voc.

Viu quantas entidades pelo caminho encontra-se. E o UML trata dos eventos,estados,casos de uso?No. Ele trata da definio de classes, atributos e operaes. Tudo que podemos considerar como dados. Vamos ver o que este UML significa, veja a figura a seguir (logo abaixo a fonte) Figura UML-Exemplo 1.0:

(Fonte: Niginis Page ) Interpretao do exemplo 1.0: O que vemos aqui uma classe e subclasses. A definio de classe a que encontramos no dicionrio classificao. Quando queremos definir um grupo de dados, o classificamos pela sua natureza. Grupo de alunos,grupo de msicos,grupos de cineastas e etc.

A classe a entidade. Os atributos que podemos encontrar so os dados da classe,em outras palavras as caractersticas. (Quais os atributos do grupo de alunos[Nome,matricula,notas,turma,colgio,idade,srie],quais os atributos do musicos[Instrumentos,solo\grupo,genero de musica) e operaes e funes. Estas operaes so em resumo o "fazer" da classe. Por exemplo, um grupo de alunos tem de fazer algo. Seno a lgica de existir o grupo deixa de ter sentido. O grupo um conjunto de pessoas que so reunidas para realizar alguma funo. (Estudar,bagunar,ajudar). Ento digamos que funo tem caracterstica de realizar algo, o objetivo do grupo. Mas se o UML s serve para definir as entidades, do que adianta ele num planejamento? Adianta no quesito de definio, mas para visualizar eventos (processos em andamento) preciso entrar em Diagramas de caso de uso (DCU). uma forma transparente de ver os processos acontecendo. Lembra da pessoa que ia at a universidade no comeo deste artigo? Sabe o que faremos agora? Iremos definir as aes unido com o seu UML entidade. Vamos ver o diagrama de caso de uso seguir: Figura DCU - Exemplo 1.1:

(Fonte: Macorati ) Os exemplos possuem dados da informtica, mas este artigo tem o objetivo de demostrar que o UML e o DCU podem ser usados em qualquer rea que possa existir. A ilustrao do exemplo 1.1 conhecida na anlise de sistemas como DFD (Diagrama de fluxo de dados) ou como podemos definir Diagrama de casos de uso (DCU) e devemos saber que estes diagramas nos dizer como as funes iro atingir a meta do sistema. Quando vamos algum lugar, vamos mediante a funo. Em funo de,

fazemos algo. claro e objetivo. O DCU\DFD no pode ser de maneira alguma confuso, seno no adianta nada diagramar. Figura DFD - Exemplo 1.2:

(Fonte: Linha de codigo DFD ) Interpretao do DFD do exemplo 1.2:


Quadrado entidade atuante (PC,Humano)[Entidade externa]; Seta entrada de dados,consulta,alterao ou excluso de dados[Fluxo de dados]; Circulo o evento(ao); Duas retas paralelas o banco de dados (depsito)

Isso que chamamos de DCU ou DFD. bom lembrar que DFD pode ser definido em dois tipos de DFD. O DFD(1-9) e o DFD-Z(Z de zero). Respectivamente, o DFD-X (X variando de 1 9) define diagramas de casos de uso detalhado) e no caso do DFD-Z ele define todos os casos em um s diagrama sem detalhamento. O valor de 1-9 vem da percepo humana, que diz que s conseguimos perceber 9 objetos ao mesmo tempo. (Tire suas prprias dvidas sobre isso, teste se capaz de entender e perceber mais do que 9 objetos, ou se consegue 15 ou 3) A questo que a percepo deve ser conclusiva, saber que a entidade A1 est relacionada com A9. Tem dvidas? Entre em contato pelo comentrio. Ou visite os sites, pois as fontes possuem artigos que explicam cada um dos exemplos ilustrativos com outras palavras. Comentrios adicionais:

Na minha opnio existe muita tecnologia, que fica restritivo ao ramo da computao, que ignorado pelo fato de haver termos de orientao objetos (00), linguagem UML (Star UML), na verdade estes conceitos so de administrao. E foram automatizados, no sei se a rea de administrao desenvolve DFDs desta forma ou se existe uma variante do mesmo. Concluindo, a UML(+DFD) torna o planejamento mais objetivo e conciso. A maior parte, seno tudo, UML voltado para desenvolvimento de software. Mas o conceito do UML administrao tratado dia-a-dia por todos ns. mesmo sendo ou no da rea de informtica. Pretendo futuramente disponibilizar materiais adaptando o UML para as demais reas. Outras fontes:

UML 1;

Captulo 2. Fundamentos do UML


ndice Sobre o UML Elementos UML Diagrama de Caso de Uso Diagrama de Classe Diagramas de Sequncia Diagramas de Colaborao Diagrama de Estado Diagrama de Atividade Elementos Auxiliares Diagramas de Componente Diagramas de Distribuio Diagramas de Entidade-Associao Conceitos Extendidos dos Diagramas de Entidade-Associao (ER)

Sobre o UML
Este captulo lhe fornecer uma viso rpida dos fundamentos da UML. Tenha em mente que isto no um tutorial detalhado sobre UML, mas apenas uma rpida introduo a UML que pode ser lida como um tutorial UML. Se voc gostaria de aprender mais sobre a Linguagem de Modelagem Unificada, ou generalidades sobre anlise e desenho de software, consulte um dos muitos livros disponveis sobre o tpico. Existem tambm muitos tutoriais na Internet os quais voc pode usar como ponto de partida.

A Unified Modelling Language (UML) uma linguagem ou notao de diagramas para especificar, visualizar e documentar modelos de 'software' orientados por objetos. O UML no um mtodo de desenvolvimento, o que significa que no lhe diz o que fazer primeiro ou o que fazer depois ou como desenhar o seu sistema, mas ajuda-o a visualizar o seu desenho e a comunicar com os outros. O UML controlado pelo Object Management Group (OMG) e a norma da indstria para descrever graficamente o 'software'. O UML est desenhado para o desenho de 'software' orientado por objetos e tem uma utilizao limitada para outros paradigmas de programao. A UML composta por muitos elementos de modelo que representam as diferentes partes de um sistema de software. Os elementos UML so usados para criar diagramas, que representam um determinada parte, ou um ponto de vista do sistema. Os seguintes tipos de diagramas so suportados pelo Umbrello UML Modeller:

Diagrama de Caso de Uso mostra atores (pessoas ou outros usurios do sistema), casos de uso (os cenrios onde eles usam o sistema), e seus relacionamentos Diagrama de Classe mostra classes e os relacionamentos entre elas Diagrama de Sequncia mostra objetos e uma sequncia das chamadas do mtodo feitas para outros objetos. Diagrama de Colaborao mostra objetos e seus relacionamentos, colocando nfase nos objetos que participam na troca de mensagens Diagrama de Estado mostra estados, mudanas de estado e eventos num objeto ou uma parte do sistema Diagrama de Atividade mostra atividades e as mudanas de uma atividade para outra com os eventos ocorridos em alguma parte do sistema Diagrama de Componente mostra os componentes de programao de alto nvel (como KParts ou Java Beans). Diagrama de Distribuio mostra as instncias dos componentes e seus relacionamentos. Os Diagramas de Entidade-Associao mostram os dados e as relaes e as restries entre os dados.