Вы находитесь на странице: 1из 6

UML: Diagrama de Classes e Objetos

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:

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.

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:

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.
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.