Saltar para o conteúdo

Diagrama de classes: diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
Linha 47: Linha 47:


=== Dependência ===
=== Dependência ===
São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe.
São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe. É indicado por: ----->


== Exemplo ==
== Exemplo ==

Revisão das 02h17min de 29 de agosto de 2013

Diagramas da UML 2.0 editar
Diagramas estruturais
Diagramas comportamentais ou dinâmicos

Em programação, um diagrama de classes é uma representação da estrutura e relações das classes que servem de modelo para objetos.

É uma modelagem muito útil para o desenvolvimento de sistemas, pois define todas as classes que o sistema necessita possuir e é a base para a construção dos diagramas de comunicação, sequência e estados.

Conceitos

  • Classe: Elemento abstrato que representa um conjunto de objetos. A classe contém a especificação do objeto; suas características: atributos e métodos (ações / comportamentos).
    • Atributo: Define características da classe como:
      • Visibilidade: Pública onde outras classes podem ter acesso ao atributo. Privada o atributo somente é acessado diretamente pela própria classe e Protegida ou Pacote que é acessado pelo relacionamento da classe com a classe externa,.
      • Nome: Identificação do atributo.
      • Tipo de dados: Tipo de dado do atributo.
      • Multiplicidade: Relacionamentos.
      • Valor inicial: Depende da linguagem de programação, valor opcional.
      • Propriedade: Características do elemento, opcional.
    • Operação: Função requerida a um objeto abstrato.
      • Nome, Visibilidade e Parâmetros.
    • Associação: Relacionamentos entre classes.
      • Nome: Nome da associação.
      • Multiplicidade
      • Navegação: De onde vem as informações da classe e para onde vai.

Relacionamento entre classes

Os objetos tem relações entre eles: um professor ministra uma disciplina para alunos numa sala, um cliente faz uma reserva de alguns lugares para uma data, etc. Essas relações são representadas também no diagrama de classe. [Nicolas Anquetil]

Geralmente as classes não estão sós e se relacionam entre si. O relacionamento e a comunicação entre as classes definem responsabilidades , temos 3 tipos :

Associações : Agregação e composição Generalização (herança) Dependências

Associação

São relacionamentos estruturais entre instâncias e especificam que objetos de uma classe estão ligados a objetos de outras classes. Podemos ter associação uniária , binária , etc. A associação pode existir entre classes ou entre objetos. Uma associação entre a classe Professor e a classe disciplina (um professor ministra uma disciplina) significa que uma instância de Professor (um professor específico) vai ter uma associação com uma instância de Disciplina. Esta relação significa que as instâncias das classes são conectadas, seja fisicamente ou conceitualmente.[Nicolas Anquetil]

Composição

A composição, diferentemente da agregação, é um relacionamento de contenção. Um objeto (container) CONTÉM outros objetos (elementos). Esses elementos que estão contidos dentro de outro objeto dependem dele para existir. Eles são criados e destruídos de acordo com o seu container. Um exemplo de container poderia ser uma nota fiscal, e seus elementos seriam seus itens. Não faz sentido existirem itens de nota fiscal sem existir uma nota fiscal onde tais itens estariam contidos. Eles só existem se existir uma nota fiscal da qual eles fazem parte. Se a nota fiscal é destruída, todos os seus itens também são, o que não acontece com a agregação, onde, se uma reunião é destruída, seus participantes continuam existindo, pois podem participar de outras reuniões. A composição, na UML, é representada por uma linha com um losango preenchido do lado da classe dona do relacionamento.

Agregação Regular

Tipo de associação ( é parte de, todo/parte) onde o objeto parte é um atributo do todo; a existência do objeto-parte faz sentido, mesmo não existindo o objeto-todo. Por exemplo Carro e rodas: as rodas existem mesmo sem o carro. A agregação, na UML, é representada por uma linha com um losango sem preenchimento do lado da classe dona do relacionamento.

Especialização ou Generalização

Também conhecida como herança, representa as dependências e hierarquias.

Dependência

São relacionamentos de utilização no qual uma mudança na especificação de um elemento pode alterar a especificação do elemento dependente. A dependência entre classes indica que os objetos de uma classe usam serviços dos objetos de outra classe. É indicado por: ----->

Exemplo

Hierarquia dos diagramas da UML, mostrados como um diagrama de classes.