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

Diagramas básicos da UML

2. Diagrama de classes

São utilizados para descrever a estrutura de um software orientado a objetos na UML,


através da descrição dos seguintes elementos:

• classes e pacotes de classes


• objetos
• relacionamentos entre classes/objetos

Sintaxe de uma classe em UML

Uma classe é representada graficamente através de um retângulo com 3


compartimentos. O compartimento superior contém a identificação da classe, já os
compartimentos intermediário e inferior contêm os atributos e os métodos. Os
compartimentos inferiores podem ser opcionalmente ocultados para melhor
visualização.

• identificação: contém o nome da classe e opcionalmente um estereótipo (entre


<< >>) ou o nome do pacote (abaixo do nome da classe, no formato de
nomedopacote).

• atributos: são representados utilizando-se a seguinte sintaxe:

acesso nome: tipo = valorinicial

onde acesso pode ser:

public: representado com o sinal de +


private: representado com o sinal de –
protected: representado com o sinal de #

valorinicial é opcional e indica um valor de inicialização para a variável.

• métodos: são representados utilizando-se a seguinte sintaxe:

acesso nome(param1:tipo1, param2:tipo2,...): tiporetorno


onde acesso segue as mesmas regras dos atributos.

Para representar métodos estáticos utiliza-se uma linha sublinhada, como exemplificado
através do método getDisplayId() da classe Display.

A representação de classes ou métodos abstratos é efetuada formatando-se o texto em


itálico, conforme o exemplo abaixo (tanto a classe DispComm quanto o método enviar
são abstratos).

Sintaxe de um objeto em UML

Um objeto em UML é representado por um retângulo conforme a figura.

a identificação do objeto segue a sintaxe:

nomedoobjeto: nomedaclasse

onde nomedoobjeto é opcional, ou seja, pode-se identificar um objeto qualquer de


determinada classe.

Sintaxe para relacionamento entre classes na UML

• Associação: representada por uma linha reta conectando duas classes. Caso a
associação seja unidirecional deve-se indicar a direção da comunicação através
de uma seta.

Opcionalmente pode-se indicar o papel de cada classe na associação através de


um texto explicativo nas extremidades da linha, sendo que o papel identifica aquela
extremidade da associação.

Para uma associação pode-se definir a cardinalidade, que significa a quantidade


de objetos de uma das classes envolvidas que pode se associar a 1 objeto da outra classe
envolvida. Por exemplo:
Neste exemplo, 1 objeto da classe Pessoa é dono de 1 a 5 objetos da classe
Animal. De forma análoga, 1 objeto da classe Animal é de estimação de 0 ou 1 objeto da
classe Pessoa.

• Agregação: representada por uma linha reta com um losango aberto na


extremidade correspondente ao agregador (ao “todo”). A notação de
cardinalidade também pode ser utilizada para definir a quantidade de objetos
agregados.

• Composição: representada por uma linha reta com um losango preenchido na


extremidade correspondente ao composto (ao “todo”). A notação de
cardinalidade também pode ser utilizada para definir a quantidade de objetos que
compõem, com a ressalva de que se deve utilizar um valor de cardinalidade fixo
devido à natureza da relação de composição.

• Generalização/especialização (herança): representada por uma linha reta com


um triângulo na extremidade correspondente à classe base (mais genérica).

Levantamento de classes e definição de estereótipos

A definição das classes que colaboram para a realização de um caso de uso pode ser
facilitada se as classes forem classificadas segundo algum critério (estereótipo). A
UML define 3 estereótipos padrão:

• controle: utilizado para classes que implementam os métodos que controlam um


determinado processo
• entidade: utilizado para classes cujos objetos armazenam dados que, agrupados,
possuem uma identidade (definem as características de uma entidade).
• fronteira: utilizado para classes que controlam a comunicação com elementos
externos ao sistema (atores).

Exercícios:

1) Para o sistema de controle de estoque e vendas em um supermercado, para o


qual o modelo de casos de uso foi levantado em exercício anterior, efetuar as
seguintes tarefas:
• definição das classes envolvidas, para pelo menos 2 casos de uso, e
classificação por estereótipo
• levantamento dos relacionamentos entre as classes
• elaboração do(s) diagrama(s) de classes correspondente(s).

Вам также может понравиться