A maior rede de estudos do Brasil

Grátis
81 pág.
Apostila-UML

Pré-visualização | Página 11 de 18

como propriedades. Os 
atributos representam as características de uma classe, ou seja, as peculiaridades que 
costumam variar de objeto para objeto, como a altura de um OBJETO da classe pessoa ou 
a cor de um OBJETO da classe carro e que permitem diferenciar um objeto de outro da 
mesma classe devido a essas variações. 
 Os atributos normalmente possuem duas informações: O Nome que o identifica e o 
tipo de dado que ele armazena (Ex.: Integer, Float, Caracter, etc.). Essa última informação 
não é obrigatória, mas é bastante útil e recomendável. 
 
Exemplo de Atributos 
Operações (Métodos) 
 Os métodos implementam operações a serem executadas pelas classes. Assim 
temos em sua estrutura: 
 Nome do Método: é definido por uma cadeia de caracteres que identificam 
exclusivamente o método dentro da classe. Sugere-se o emprego unicamente de 
 
 
 
41 
letras começando-se por uma letra maiúscula e concatenando-se palavras mantendo 
a primeira letra em maiúsculo. 
Exemplo: CalcularValor, ArmazenarDados 
 Parâmetros: são variáveis definidas junto aos métodos e que são utilizadas pelos 
métodos para recebimento de valores no momento da ativação. Os parâmetros 
podem também ser utilizados para retorno de valores após a execução do método. 
Cada parâmetro é especificado usando a notação: 
Nome do Parâmetro:Tipo=Valor Padrão 
O Nome do Parâmetro é uma cadeia de caracteres que identifica o parâmetro 
dentro do método. Tipo é um especificador de tipo de dado padrão da linguagem de 
programação. Valor Padrão é a especificação de uma constante cujo valor será 
atribuído ao parâmetro se em uma chamada ao método não for especificado um 
valor para o parâmetro. 
Exemplo: CalcularValor( val1:int, val2:float=10.0) 
ArmazenarDados( nome:char[30], salario:float=0.0) 
 Valor de Retorno: indica se o método retorna algum valor ao término de sua 
execução e qual o tipo de dado do valor retornado. Pode-se utilizar aqui os tipos 
padrões da linguagem de programação que se pretende utilizar ou novos tipos 
definidos no projeto (inclusive classes). 
Exemplo: CalcularValor():int // retorna um valor inteiro 
ArmazenarDados(nome:char[30]): bool // retorna verdadeiro ou falso 
 
Exemplo de Métodos 
 
 
 
42 
Visibilidade 
 A visibilidade é utilizada para indicar o nível de acessibilidade de um determinado 
atributo ou método. Existem basicamente três modos de visibilidade: 
 Visibilidade pública: é representada por um símbolo de ( + ) apresentado antes da 
descrição do atributo ou método e significa que o atributo ou método pode ser 
utilizado por qualquer classe; 
 Visibilidade protegida: é representada pelo símbolo de sustenido ( # ) e determina 
que somente a classe possuidora do atributo ou método ou suas sub-classes podem 
ter acesso ao mesmo. 
 Atributo ou método privado é representado por um sinal de menos ( - ) e significa 
que somente a classe possuidora do atributo ou método pode utilizá-lo. 
 
Exemplo de Visibilidade 
Relacionamentos 
 As classes costumam possuir relacionamentos entre si, com o intuito de 
compartilhar informações e colaborarem umas com as outras para permitir a execução dos 
diversos processos executados pelo sistema. 
Associações 
 Uma associação descreve um vínculo que ocorre normalmente entre duas classes, 
chamado nesse caso de associação binária, mas é perfeitamente válido que uma classe 
esteja vinculada a si mesmo, caso conhecido como associação unária, ou que uma mesma 
associação seja compartilhada por várias classes, o que é conhecida como associação 
ternária ou n-ária, embora esta última seja o tipo de associação mais raro e complexo. 
 Em uma associação, determina-se que as instâncias de uma classe estão de alguma 
forma, ligadas às instâncias das outras classes envolvidas na associação, podendo haver 
 
 
 
43 
troca de informações entre elas e compartilhamento de métodos, ou mesmo que uma 
determinada instância de uma das classes origine uma ou mais instâncias nas outras classes 
envolvidas nas associações. Uma associação pode ainda identificar algum nível de 
dependência entre as classes que a compõem. 
 As associações representam o equivalente mais próximo dos relacionamentos 
utilizados no modelo entidade-relacionamento, ou seja, seu objetivo é definir a maneira 
como as classes estão unidas e interagem entre si, compartilhando informações. 
 As associações são representadas por retas ligando as classes envolvidas, possuindo 
ou não setas em suas extremidades para indicar a navegabilidade da associação. Pode-se 
também definir uma descrição para a associação (Papel) para determinar o vínculo 
estabelecido entre as classes. 
 Unária (Reflexiva) (Recursiva): ocorre quando existe um relacionamento de uma 
classe para consigo mesma. 
 
Exemplo de associação unária 
 Binária: é um tipo de associação muito comum, ocorre quando são identificados 
relacionamentos entre duas classes. 
 
Exemplo de associação Binária 
 
 
 
44 
 Ternária (N-ária): são associações que conectam três ou mais classes. São 
representadas por um losângo para onde convergem todas as ligações da 
associação. 
 
Exemplo de associação N-ária 
 Multiplicidade: procura determinar qual das classes envolvidas em uma 
associação fornece informações para as outras, além de permitir especificar o nível 
de dependência de uma classe para com as outras classes envolvidas na associação. 
A multiplicidade é extremamente semelhante ao conceito de cardinalidade utilizado 
no modelo entidade-relacionamento. 
 Agregação: é um tipo especial de associação onde tenta-se demonstrar que as 
informações de um objeto (chamado objeto-todo) precisam ser complementadas 
Multiplicidade Significado 
0..1 
No mínimo Zero e no máximo Um. Indica que os objetos das classes 
associadas não precisão obrigatoriamente estar relacionados, mas se 
houver relacionamento indica que apenas uma instância da classe se 
relaciona com as instâncias da outra classe. 
1..1 
Um e somente Um. Indica que apenas um objeto da classe se 
relaciona com os objetos da outra classe. 
0..* 
No mínimo Zero e no máximo Muitos. Indica que pode ou não haver 
instâncias da classe participando do relacionamento. 
* 
Muitos. Indica que muitos objetos da classe estão envolvidos no 
relacionamento. 
1..* 
No mínimo Um no máximo Muitos. Indica que há pelo menos um 
objeto envolvido no relacionamento podendo haver muitos 
envolvidos. 
3..5 
No mínimo Três e no máximo Cinco. Indica que existem pelo menos 
três instâncias envolvidas no relacionamento e que podem ser quatro 
ou cinco as instâncias envolvidas, não mais que isso. 
 
 
 
 
45 
pelas informações contidas em um ou mais objetos de outra classe (chamado 
objeto-parte). Este tipo de associação tenta demonstrar uma relação todo/parte entre 
os objetos associados. Objeto-parte não pode ser destruído por um objeto diferente 
do objeto-todo. O símbolo de agregação difere do de associação por conter um 
losângulo na extremidade da classe que contém o objeto-todo. 
 A agregação fornece também um canal de comunicação entre o objeto-todo 
e o objeto-parte. Note que esta comunicação é unidirecional do objeto-todo para o 
objeto-parte. O objeto-parte não conhece, a princípio, o objeto-todo. Desta forma, 
ele não pode comunicar-se com o objeto-todo. 
 
Exemplo de agregação 
 
Exemplo da notação de agregação 
 Composição (Agregação Forte): representa um vínculo mais forte entre os objetos 
todo e os objetos parte, demonstra que os objetos parte tem de pertencer 
exclusivamente a um objeto todo com que se relaciona. Os objetos parte não podem 
viver quando o objeto todo é destruído. 
 
Exemplo de composição 
 Especialização/Generalização (Herança): este é um tipo especial de 
relacionamento muito similar à associação de mesmo nome utilizado no Diagrama 
 
 
 
46 
de Casos de Uso. Seu objetivo é identificar classes-mãe, chamadas gerais e classes-
filhas, chamadas especializadas. Este tipo