Visão Geral

A UML (Unified Modeling Language) permite a utilização de diagramas de classes para uma visualização dos aspectos estáticos dos blocos de construção do sistema. Permite, também, a utilização de diagramas de interação para visualizar os aspectos dinâmicos do sistema, formandos por instâncias desses blocos de construção e mensagens enviadas entre eles.
Os diagramas de objetos (instâncias) cobrem um conjunto de instâncias dos itens encontrados nos diagramas de classes. O diagrama de objeto, portanto, expressa a parte estática de uma interação, composta pelos objetos que colaboram entre si, mas sem qualquer uma das mensagens passadas entre eles. Nos dois casos, o diagrama de objetos “congela” um momento no tempo, representando um conjunto de objetos (instâncias de classes do diagrama de classes) e suas estruturas para especificar toda a semântica, abstrações e relacionamentos do diagrama de classes (considerando uma modelagem segundo a visão de projeto).

Uso Comum

Os diagramas de objetos permitem fazer a modelagem de estruturas de dados estáticos do sistema e a modelagem de estruturas dos objetos envolve um retrato dos objetos de um sistema em determinado momento. Os diagramas de objetos são utilizados para visualizar, especificar, construir e documentar a existência de certas instâncias encontradas em um sistema, juntamente com o relacionamento entre essas instâncias.

Termos e Conceitos

Um diagrama de objetos é essencialmente uma instância de um diagrama de classes ou a parte estática de um diagrama de interação. Em qualquer caso, o diagrama de objetos contém principalmente objetos e vínculos e seu foco está voltado para instâncias concretas e tem como objetivo principal a modelagem de estruturas dos objetos.
Um diagrama de objetos mostra objetos individuais e seus relacionamentos. São úteis para documentar casos de teste e discutir exemplos. Um diagrama de classes corresponde a um conjunto infinito de diagramas de objetos. Um atributo é uma propriedade nomeada de uma classe, que descreve um valor retido por cada objeto da classe (“um objeto está para uma classe assim como um valor está para um atributo”).
Uma ligação é uma conexão física ou conceitual entre objetos. Uma associação descreve um conjunto de ligações em potencial da mesma maneira que uma classe descreve um conjunto de objetos em potencial. Uma ligação é, portanto, uma instância de uma associação.

Representatividade do Diagrama de Objetos

Todo diagrama de objetos é apenas uma representação gráfica da visão estática, de projeto ou de processo, do sistema. Isso significa que em um único diagrama de objetos não é preciso captar tudo sobre a visão de processo ou de projeto de um sistema. Não é possível, na maioria das situações, especificar completamente todos os objetos de um sistema ou todas as formas em que esses objetos poderão estar associados.
Para especificar um diagrama de objetos bem-estruturado e representativo deve-se atentar para algumas características:
  • Definir seu foco para comunicar um único aspecto da visão estática, de projeto ou de processo, do sistema.
  • Conter somente elementos essenciais para a compreensão.
  • Fornecer detalhes consistentes com seu nível de abstração.
  • Não deve ser tão minimalista, que acabe informando mal sobre a semântica que seja importante.
Diagrama de Instância (Objetos)

Organização Física do Diagrama de Instância

Ao especificar um diagrama de instância é conveniente atentar para os seguintes itens:
  • Dê-lhe um nome capaz de comunicar seu propósito.
  • Distribua seus elementos para minimizar o cruzamento de linhas.
  • Organize seus elementos espacialmente, de maneira que os itens semanticamente afins apareçam fisicamente próximos.
  • Use notas explicativas e cores como indicações visuais e chamar atenção para características importantes do diagrama.
  • Inclua os valores, o estado e o papel de cada objeto, conforme seja necessário para comunicar suas intenções.