My Links

Blog Stats
  • Posts - 376
  • Stories - 2
  • Comments - 2458
  • Trackbacks - 36
News

Story Categories

Archives

Post Categories

Image Galleries

Artigos

Os meus Sites

Outros Blogs

Psantos.net

Login
    u:
    p:
    Remember Me:
     
 

Apesar de compreender o UML sempre dei por mim a fazer somente uns rectângulos com nomes para simbolizar as classes e umas setas para identificar as relações entre elas. Mas agora vou ter de escrever um relatório e portanto aqui fica um resumo.

Diagramas de Classes

Estes são dos mais importantes e dos mais utilizados. Um Diagrama de Classes é composto por classes e suas relações umas com as outras. Uma classe é representada por um rectângulo, e pode ter também membros, coisa que vou omitir porque não gosto muito de os lá pôr. Exemplo de uma classe livro:

Podemos indicar as relações entre classes de várias formas. Uma das mais comuns é a relação de associação, representada por uma linha sólida. Por exemplo:

Aqui temos a multiplicidade da relação, com um asterisco a indicar mais que 1. Neste caso cada Livro tem 1 ou mais Autores e cada Autor tem 1 ou mais Livros. Também temos a relação de generalização (ou especialização) que indica herança e é indicada com uma linha sólida com uma seta ôca a apontar para a classe base. Tal como podemos ver na imagem seguinte:

Temos também a relação de agregação, que indica que uma classe faz parte de outra classe, mas instâncias da classe existem como entidades fora do contexto da classe agregadora. Isto é representado com um diamante ôco:

Idêntico a este, temos a relação de composição, em que as instâncias de uma classe são compostas por instâncias de outras. É diferente da agregação porque aqui as classes subordinadas só fazem sentido dentro da classe que as agrega. Esta relação é identificada com um diamante preenchido:

As interfaces são representadas por um rectângulo que além do nome, tem também escrito «interface». Na imagem isso não se nota muito bem, não me perguntem porquê, mas confiem em mim que o IWrite é uma interface. Quem implementa a interface tem uma setinha tracejada a apontar para esta.

Aqui está um resumo dos Diagramas de Classes com todas as relações entre as classes de exemplo que vimos:

Diagramas de Componentes/Deployment

Os diagramas de componentes servem para mostrar que unidades "físicas" existem e suas dependências. Os componentes são representados por um rectângulo com dois rectângulos de lado esquerdo. As dependências entre componentes são representadas por linhas a tracejado. Exemplo:

Estes diagramas são muito úteis para exemplificar como um sistema é implementado tendo em conta todas as suas unidades fisicas. São importantes guias para o deployment e para a manuntenção.

Também podemos usar estes diagramas para aplicações distribuidas. De seguida está a nossa loja de livros no tipico modelo de 3 camadas(tiers).

E pronto, isto é um pequeno resumo, mas dá jeito ter à mão. Há vários outros tipos de diagramas, não é à toa que existem livros sobre UML enormes e cadeiras só sobre essas coisas. Mas acho que isto é mesmo o essencial.

posted on Sunday, October 31, 2004 10:15 AM
Comments
  • # re: UML in a Nutshell
    Jorge Moura
    Posted @ 10/31/2004 11:32 AM
    Viva Pedro.

    Excelente Post. Penso que esta muito breve apresentação tua veio ajudar a esclarecer alguns mitos sobre UML.

    Esperamos por mais...
  • # re: UML in a Nutshell
    Luis Abreu
    Posted @ 10/31/2004 7:29 PM
    Ola Pedro. Acho que no modelo de classes geral a agregacao esta ao contrario. Parece-me que deveria ser de Book para Page e nao ao contrario.
  • # re: UML in a Nutshell
    Pedro Santos
    Posted @ 11/1/2004 8:01 AM
    Iep, foi bug. Já corrigi, obrigado.
  • # re: UML in a Nutshell
    Luis Abreu
    Posted @ 11/1/2004 8:50 PM
    No problem :) sempre as ordens. Ja agora, se fosse possivel podias completar com mais um post sobre os diagramas restantes (assim sempre refrescava a memoria e ficava com uma referencia online em portugues ;) ).
  • # re: UML in a Nutshell
    Pedro Santos
    Posted @ 11/2/2004 9:12 AM
    Não é má ideia, até porque também me dá jeito a mim ter essa referência. Quando tiver tempo trato dos outros.
  • # re: UML in a Nutshell
    Luis Abreu
    Posted @ 11/3/2004 9:41 AM
    Ficamos todos a espera :)
  • # re: UML in a Nutshell
    EinS
    Posted @ 12/29/2004 2:40 AM
    Finalmente fiquei a perceber alguma coisa... se ao menos umas certas profs que eu tenho que dão exactamente isto, tivessem explicado como está aqui, certamente ninguem diria mal delas...
    Brigadão Pedro!
Title  
Name  
Url
Box Code
Protected by FormShield
Comments