UML - Diagramas de Objeto

Os diagramas de objetos são derivados de diagramas de classes, portanto, os diagramas de objetos dependem dos diagramas de classes.

Os diagramas de objetos representam uma instância de um diagrama de classes. Os conceitos básicos são semelhantes para diagramas de classes e diagramas de objetos. Os diagramas de objetos também representam a visão estática de um sistema, mas essa visão estática é um instantâneo do sistema em um determinado momento.

Os diagramas de objetos são usados ​​para renderizar um conjunto de objetos e seus relacionamentos como uma instância.

Objetivo dos Diagramas de Objeto

O propósito de um diagrama deve ser entendido claramente para implementá-lo na prática. Os objetivos dos diagramas de objetos são semelhantes aos diagramas de classes.

A diferença é que um diagrama de classes representa um modelo abstrato que consiste em classes e seus relacionamentos. No entanto, um diagrama de objeto representa uma instância em um determinado momento, que é de natureza concreta.

Isso significa que o diagrama de objeto está mais próximo do comportamento real do sistema. O objetivo é capturar a visão estática de um sistema em um determinado momento.

O objetivo do diagrama de objetos pode ser resumido como -

  • Engenharia direta e reversa.

  • Relações de objeto de um sistema

  • Visão estática de uma interação.

  • Compreenda o comportamento do objeto e sua relação de uma perspectiva prática

Como desenhar um diagrama de objeto?

Já discutimos que um diagrama de objetos é uma instância de um diagrama de classes. Isso implica que um diagrama de objeto consiste em instâncias de coisas usadas em um diagrama de classes.

Portanto, os dois diagramas são feitos dos mesmos elementos básicos, mas em formas diferentes. No diagrama de classe, os elementos estão em forma abstrata para representar o projeto e no diagrama de objetos os elementos estão em forma concreta para representar o objeto do mundo real.

Para capturar um sistema específico, o número de diagramas de classes é limitado. No entanto, se considerarmos os diagramas de objetos, podemos ter um número ilimitado de instâncias, que são únicas por natureza. Apenas aquelas instâncias são consideradas, que têm impacto no sistema.

A partir da discussão acima, está claro que um único diagrama de objeto não pode capturar todas as instâncias necessárias, ou melhor, não pode especificar todos os objetos de um sistema. Portanto, a solução é -

  • Primeiro, analise o sistema e decida quais instâncias têm dados e associações importantes.

  • Em segundo lugar, considere apenas as instâncias, que cobrirão a funcionalidade.

  • Terceiro, faça alguma otimização, pois o número de instâncias é ilimitado.

Antes de desenhar um diagrama de objeto, as seguintes coisas devem ser lembradas e entendidas claramente -

  • Os diagramas de objetos consistem em objetos.

  • O link no diagrama de objeto é usado para conectar objetos.

  • Objetos e links são os dois elementos usados ​​para construir um diagrama de objetos.

Depois disso, as seguintes coisas devem ser decididas antes de iniciar a construção do diagrama -

  • O diagrama de objetos deve ter um nome significativo para indicar sua finalidade.

  • Os elementos mais importantes devem ser identificados.

  • A associação entre objetos deve ser esclarecida.

  • Os valores de diferentes elementos precisam ser capturados para serem incluídos no diagrama de objetos.

  • Adicione notas adequadas em pontos onde mais clareza é necessária.

O diagrama a seguir é um exemplo de um diagrama de objeto. Ele representa o sistema de gerenciamento de pedidos que discutimos no capítulo Diagrama de classes. O diagrama a seguir é uma instância do sistema em um momento específico da compra. Possui os seguintes objetos.

  • Customer

  • Order

  • SpecialOrder

  • NormalOrder

Agora, o objeto de cliente (C) está associado a três objetos de pedido (O1, O2 e O3). Esses objetos de pedido estão associados a objetos de pedidos especiais e de pedidos normais (S1, S2 e N1). O cliente tem os três pedidos a seguir com números diferentes (12, 32 e 40) para o tempo específico considerado.

O cliente pode aumentar o número de pedidos no futuro e, nesse cenário, o diagrama de objetos refletirá isso. Se objetos de ordem, ordem especial e ordem normal forem observados, você descobrirá que eles têm alguns valores.

Para pedidos, os valores são 12, 32 e 40, o que implica que os objetos têm esses valores para um determinado momento (aqui o momento específico em que a compra é feita é considerado o momento) em que a instância é capturada

O mesmo é verdadeiro para pedidos especiais e objetos de pedidos normais que têm um número de pedidos como 20, 30 e 60. Se um momento diferente de compra for considerado, esses valores serão alterados de acordo.

O seguinte diagrama de objetos foi desenhado considerando todos os pontos mencionados acima

Onde usar diagramas de objetos?

Os diagramas de objetos podem ser imaginados como o instantâneo de um sistema em execução em um determinado momento. Vamos considerar um exemplo de um trem em execução

Agora, se você tirar uma foto do trem em movimento, você encontrará uma imagem estática dele com o seguinte -

  • Um estado particular que está em execução.

  • Um determinado número de passageiros. que vai mudar se a foto for tirada em um momento diferente

Aqui, podemos imaginar que o snap do trem em execução é um objeto com os valores acima. E isso é verdade para qualquer sistema simples ou complexo da vida real.

Em suma, pode-se dizer que os diagramas de objetos são usados ​​para -

  • Fazendo o protótipo de um sistema.

  • Engenharia reversa.

  • Modelagem de estruturas de dados complexas.

  • Compreender o sistema de uma perspectiva prática.