UML - Diagrama de Classes

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 5

Fernando Amaral

Home/ Busca/ ndice Geral/ Mais Lidos/ Sobre/ Contato/



UML: Diagrama de Classes e Objetos
Nesta segunda parte da srie sobre UML, falarei um pouco sobre diagramas de classes e de objetos. Os diagramas
mostrados aqui foram criados no Microsoft Visio.
Uma classe representada por um retngulo. Internamente deve constar seu nome, em negrito com primeira letra em
maiscula, geralmente um substantivo.
Uma classe possui atributos, que so exibidos em sesso inferior ao nome da classe:

Atributos e operadores possuem uma visibilidade, que pode ser:

~: de pacote: significa que as classes de um pacote podem ser usadas
+: publico
#: protegido
-: Privado

Atributos tm um tipo de dado e podem ainda apresentar um valor padro, note que na classe abaixo, o atributo Nome
do tipo String o valor padro, representado pelo smbolo de igual, Fernando:

As operaes so representadas em uma terceira sesso do retngulo, abaixo dos atributos. No diagrama abaixo
temos as operaes Andar e Dormir:
Operadores podem ter direo: in, out, inout.
isQuery: indica que a operao no altera o valor de nenhum atributo.
Um operador pode ter uma pr-condio, por exemplo, ser verdadeiro antes da execuo.
As operaes podem ainda demonstrar sua assinatura, que so os parmetros que so passados para a operao,
bem como seus tipos e possveis tipos de dados de valores de retorno. Na classe abaixo, a operao andar recebe
como parmetros um tipo direo, e retorna um valor booleano:

Page 1 of 5 Fernando Amaral, PMP - UML:Diagramas de Classes


7/4/2013 http://www.fernandoamaral.com.br/Default.aspx?Artigo=40
Um artifcio no muito utilizado adicionar uma quarta sesso ao diagrama contendo a responsabilidade da classe,
ou seja, o que ela deve fazer:
Tambm se podem colocar restries para a classe, que normalmente so indicadas entre chaves, na lateral da
classe, e utilizam expresses booleanas comuns.

Nveis de abstrao para exibio
A classe pode ser exibida em diferentes nveis de abstrao, conforme a finalidade do diagrama.

Em nvel de domnio so exibidos apenas os nomes das classes e seus relacionamentos

Em nvel de analise so exibidos os nomes das classes e seus atributos


Finalmente, em nvel de design, so exibidos o nome da classe, atributos e operaes.

Page 2 of 5 Fernando Amaral, PMP - UML:Diagramas de Classes


7/4/2013 http://www.fernandoamaral.com.br/Default.aspx?Artigo=40

Generalizao
Generalizao o conceito de herana. Uma classe mais genrica herdada por uma classe mais especifica. No
exemplo abaixo, veiculo uma classe genrica. nibus, caminho e utilitrio so classes mais especificas que
herdam veculos.

Classes abstratas
No exemplo anterior, veiculo pode ser instanciado, j que no uma classe abstrata. Classes abstratas no podem
ser instanciadas, elas tm caractersticas e funcionalidades que sero herdadas por outras classes. No exemplo
abaixo televisor uma classe abstrata. Uma classe abstrata pode ter mtodos concretos ou abstratos. Mtodos
abstratos no so implementados na classe abstrata, dependem de implementao na classe que a herdar. Uma
classe abstrata identificada com seu nome em itlico.

Associaes
Associaes entre classes normalmente so binrias, envolvendo duas classes:

Pode haver associaes entre trs ou mais classes.


Normalmente a associao bidirecional, mas pode tambm ter uma nica direo, a ser indicado atravs de uma
seta na associao:
Page 3 of 5 Fernando Amaral, PMP - UML:Diagramas de Classes
7/4/2013 http://www.fernandoamaral.com.br/Default.aspx?Artigo=40
Associaes podem ter uma funo, que descrito sobre a associao:
Classe de Associao
Uma classe de associao contem informaes de relacionamento entre outras classes. Graficamente fica situada na
associao entre as duas classes relacionadas, conectada atravs de uma linha pontilhada.

Pode existir ainda uma classe de associao n-ria, relacionamento diversas classes.

Dependncias
Conceitualmente a dependncia ocorre quando no possvel existir a classe A sem que a classe B j exista. A
dependncia representada por uma seta pontilhada
Um exemplo clssico a dependncia de um item de um pedido com o prprio pedido.
Multiplicidade
Uma associao pode demonstrar ainda sua multiplicidade, o que indica quantas classes pode estar relacionado.
A multiplicidade pode ser representada das seguintes formas:
Um valor fixo, como 1
Um asterisco, que representa um ou muitos
Um intervalo, como 1..10
Um conjunto de valores, como [1,2,4,5]
Agregaes
um tipo de relacionamento onde uma classe formada por diversas outras classes, representado por uma figura
na forma de um diamante
Composio
outro tipo de agregao, em que a relao mais forte. Assim como na agregao, as diferentes classes
representam o todo, porm neste caso uma classe sozinha no pode existir. representado por uma figura na forma
de um diamante preenchido.
Page 4 of 5 Fernando Amaral, PMP - UML:Diagramas de Classes
7/4/2013 http://www.fernandoamaral.com.br/Default.aspx?Artigo=40



Interfaces
As interfaces so apenas modelos de comportamentos, no podendo ser instanciadas. Oferecem servios a outras
classes. Todos os mtodos so pblicos.


Diagrama de Objetos
Um diagrama de objeto representa uma instancia de uma classe especifica. Graficamente falando, representado
pelo nome da classe seguidos de dois pontos e o nome do objeto, ambos sublinhados. Opcionalmente o nome da
classe pode ser omitido.
ltimos artigos relacionados:
O Analista de Negcios e o BABOK
Vamos desenvolver Jogos?
Mais um Artigo Sobre como Elaborar um Currculo?
Motivao: Maslow e a pirmide das necessidades
Vem a a WEB 3.0
Fernando Amaral, PMP - Porto Alegre - RS
Copyright 2008
Page 5 of 5 Fernando Amaral, PMP - UML:Diagramas de Classes
7/4/2013 http://www.fernandoamaral.com.br/Default.aspx?Artigo=40

Você também pode gostar