Baixe o app para aproveitar ainda mais
Prévia do material em texto
Tipos de Relacionamentos • Associação - Representa uma ligação entre dois elementos. Ainda podem expressar a cardinalidade (ou multiplicidade) e a navegação (sentido) da associação. <!--[if !supportLineBreakNewLine]--> <!--[endif]--> Na figura 1 temos uma associação simples entre duas entidades, cliente e conta corrente, onde uma possui a outra e vice e versa. Figura 1 - Associação Simples • Associação Recursiva – Acontece quando um elemento se conecta a ele mesmo, e a associação tem alguma semântica no modelo. Na figura 2 mostramos como é possível conectar uma entidade a ela mesma através de uma associação recursiva e que ainda representa semanticamente a conexão entre dois objetos, mas os objetos conectados são da mesma entidade. Figura 2 - Associação Recursiva • Associação Exclusiva – Quando algumas combinações de associações não são compatíveis no domínio do problema. É uma restrição entre duas ou mais associações. Na figura 3 podemos notar que objetos de uma entidade podem participar de no máximo uma das associações em um dado momento. Uma associação exclusiva é representada por uma linha tracejada entre as associações que são partes da associação exclusiva, com a especificação "{ou}" sobre a linha tracejada. Figura 3 - Associação Exclusiva • Associação de Classe – Uma classe pode ser associada a uma associação. Serve para adicionar informações extras à associação existente. Na figura 4 a associação da classe Fila com a associação das classes Cliente e Processo pode ser estendida com operações de adicionar processos na fila, para ler e remover da fila e de ler o seu tamanho. Se operações ou atributos são adicionados a associação, ela deve ser mostrada como uma classe. Figura 4 - Associação de Classe • Associação Ternária – Usada quando mais de duas classes podem se associar entre si. Ela é mostrada como um grande losango (diamante) e ainda suporta uma associação de classe ligada a ela, traçar-se-ia, então, uma linha tracejada a partir do losango para a classe onde seria feita a associação ternária. Na figura 5 a associação ternária especifica que um cliente poderá possuir 1 ou mais contratos e cada contrato será composto de 1 ou várias regras contratuais. Figura 5 - Associação Ternária • Agregação – Este é um caso particular de associação. Indica que um elemento é parte ou está contida em outra classe. Representa uma relação do tipo parte/todo. Na figura 6 um jogador pode ser membro de uma Equipe ou várias Equipes em determinado momento. Figura 6 – Agregação • Agregação de Composição – É um relacionamento onde um elemento está contido em outro, ou seja, a vida de um depende do outro, e os seus tempos de vida são os mesmos. Na figura 7 o objeto da entidade que contém for destruído, as entidades da agregação de composição serão destruídas juntamente já que as mesmas fazem parte da outra, se tirar o coração a pessoa morre. Figura 7 – Agregação de Composição • Generalização ou Herança - A generalização é um relacionamento entre um elemento mais geral e um mais específico. Na figura 8 a generalização normal é representada por uma linha entre as duas entidades, conta corrente e poupança, que fazem o relacionamento, sendo que coloca-se um seta no lado da linha onde encontra-se a superclasse no caso a conta corrente indicando a generalização. Figura 8 – Generalização • Dependência - A dependência é uma conexão semântica entre dois elementos, um independente e outro dependente. Na figura 9 existe uma relação de dependência é simbolizada por uma linha tracejada com uma seta no final de um dos lados do relacionamento. E sobre essa linha o tipo de dependência que existe entre as duas classes. A entidade Aplicação <> da entidade Janela. Figura 9 – Dependência • Refinamento - O relacionamento de refinamento ocorre entre dois elementos parecidos, em diferentes níveis de abstração. A figura 10 mostra como os refinamentos são simbolizados por uma linha tracejada com um triângulo no final de um dos lados do relacionamento e são usados em modelos de coordenação. Figura 10 – Refinamento Tipo de mensagem Gráfico Descrição Representação Assíncrona Uma linha com uma ponta de seta aberta Este gráfico representa um sinal assíncrono ou uma chamada assíncrona em que o objeto de origem envia a mensagem e continua imediatamente com a próxima etapa. Síncrona Uma linha com uma cabeça de seta sólida que aponta em direção à linha de vida receptora Esse gráfico representa uma operação de chamada síncrona na qual o objeto de origem envia uma mensagem e aguarda por uma mensagem de retorno do destino antes de a origem poder continuar. Retorno Síncrono Uma linha tracejada com uma cabeça de seta sólida que aponta em direção à linha de vida originadora Este gráfico representa uma mensagem de retorno de uma chamada para um procedimento. Quando você cria uma mensagem síncrona, uma mensagem de retorno é criada por padrão. Esse padrão pode ser alterado na janela Preferências. Achados e perdidos Uma linha com uma ponta de seta aberta e que contém um ponto em cada extremidade. Este gráfico representa uma mensagem perdida ou localizada. Uma mensagem perdida contém um ponto na extremidade da ponta da seta para indicar que o destino é desconhecido. Um ponto na origem da mensagem indica uma mensagem localizada com um remetente desconhecido.
Compartilhar