Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas - ADS Prof. Dr. F Gerson Meneses Análise e Projeto de Sistemas 09 – Diagrama de Classe - Relacionamentos Conteúdo Associação, Agregação, Agregação forte Agregação fraca Herança, Sobreposição Disjunção Completo Incompleto Dependência Classe Associativa Atentai bem... Relacionamentos ocorrem entre objetos de uma mesma classe ou de classes distintas. Normalmente é representado por um segmento de reta ligando os objetos das classes envolvidas. As relações podem ou não conter nomes, quando contêm, normalmente é um verbo que expressa a ação que existe entre os objetos. Os nome das relações, por sua vez, são acompanhados de uma seta que indica a direção na qual o relacionamento deve ser lido. Relacionamentos também possuem multiplicidade, ou seja, uma forma de representar o número de objetos envolvidos no relacionamento. Tipos de relacionamentos entre classes Veremos aqui os seguintes tipos de relacionamentos: Associação, Agregação, Herança, Dependência e Classe Associativa Associações É um dos relacionamentos mais utilizados; É representado por uma linha que pode ser unidirecional ou bidirecional; Pode representar o conceito de multiplicidade; Pode ser unária, binária ou n-árias. Exemplos: Tipos de associações O mais comum! Agregação É uma forma especial de relacionamento que demonstra que uma das classes participantes é uma parte ou está contida em outra classe. É também chamado de “todo-parte” e possui duas formas de representação, com significados diferentes: agregação forte e agregação fraca. Exemplos: Agregação forte • Agregação por valor (losango cheio) indica que o tempo de vida das • partes é dependente do tempo de vida do todo. • Esta agregação é também conhecida como “agregação forte” ou composição. • Um item de pedido somente existirá se existir o pedido e vice-versa. Agregação fraca • Na agregação por referência (losango sem preenchimento), o tempo de vida das partes não é mutuamente dependente do tempo de vida do todo. • A agregação por referência também é chamada de agregação fraca. Multiplicidade Como visto, nos relacionamentos de associação e agregação, podem ser acrescentadas a multiplicidade (similar à cardinalidade do DER). Ela especifica o número de instâncias de uma classe em relação a outra em uma associação. Importante! Herança No relacionamento de herança entre classes, subtende-se que a subclasse compartilha toda estrutura e comportamento da superclasse. Esse relacionamento expressa dois conceitos básicos (Generalização e Especialização). Exemplo: Herança Existem quatro tipos de relacionamento de herança: Tipos de relacionamento de herança: Sobreposição: as subclasses podem ocorrer simultaneamente com relação à mesma superclasse. Disjunção: as subclasses podem ocorrer de forma mutuamente exclusiva com relação à mesma superclasse. {overlapping} {disjoint} Tipos de relacionamento de herança: Completo: dentro do contexto do sistema, todas as subclasses já foram especificadas, não permitindo mais colocar outras. Incompleto: dentro do contexto do sistema, nem todas as subclasses foram especificadas, permitindo a inserção de outras. {complete} {incomplete} Tipos de relacionamento de herança: Para um relacionamento de herança onde não esteja explicitamente especificada qualquer restrição, considera-se como: default {incompleto, disjunção}. Dependência Um relacionamento de dependência entre duas classes mostra que uma instância de uma classe depende da instância de outra classe, normalmente chamada de cliente /servidora respectivamente. É representado por uma linha tracejada com um seta apontando para o classe servidora. Exemplo: Dependência Uma dependência é um relacionamento de utilização, onde a mudança de especificação de um item (classe Aluno) pode afetar outro item que a utilize (classe ListaPresenca); porém o inverso não necessariamente se aplica. Nesse caso, uma instância da classe ListaPresença depende de Aluno e Disciplina. Classes associativas No geral, ocorre quando existe um relacionamento cuja multiplicidade entre as classes é muitos (*), em ambas as extremidades da relação. Nesses casos encontramos atributos que não pertencem exclusivamente a nenhuma das classes, mas sim à Classe Associativa. Exemplo: Classes associativas Classes associativa podem se relacionar com outras classes, caso seja necessário. Referências: Disponíveis na ementa da disciplina.
Compartilhar