Anda di halaman 1dari 6

UML: Diagrama de Classes e Objetos

Nesta segunda parte da srie sobre UML, falarei um pouco sobre diagramas de classes e de 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 contm 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.

Extrado do Material de Fernando Amaral


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

Anda mungkin juga menyukai