Діаграма об'єктів — Вікіпедія

Приклад діаграми об'єктів.

Діаграма об'єктів (англ. Object diagram) — в UML, діаграма, що відображає об'єкти та їх зв'язки в певний момент часу.[1] Діаграма об'єктів може розглядатись як окремий випадок діаграми класів, на якій можуть бути представлені як класи, так і екземпляри (об'єкти) класів. Схожою за змістом є діаграма взаємодії (англ. Collaboration diagram).

Діаграми об'єктів не мають власної нотації. Оскільки діаграми класів можуть відображати об'єкти, то діаграма класів, на якій відображено лише об'єкти, та не відображено класи, може вважатись діаграмою об'єктів.

Докладніше[ред. | ред. код]

Діаграма об'єктів відображає об'єкти та зв'язки в певний момент роботи програми. Об'єкти можуть містити інформацію про власні значення а не про описання. Для відображення загальних шаблонів об'єктів та зв'язків, що можуть багаторазово створюватись під час роботи програми, слід використовувати діаграму взаємодії, яка може відображати характеристики об'єктів та зв'язків. Екземпляр діаграми взаємодії створює діаграму об'єктів.

Діаграма об'єктів не відображає еволюцію системи під час роботи. Натомість, слід використовувати діаграми взаємодії з повідомленнями, або діаграми послідовності.

Тематика діаграм об'єктів[ред. | ред. код]

Специфікації екземплярів[ред. | ред. код]

Кожен об'єкт і зв'язок на об'єктній діаграмі представлений специфікацією екземпляра. Вона може показувати класифікатор об'єкта (наприклад, абстрактний або конкретний клас) та ім'я екземпляра, а також атрибути та інші структурні особливості за допомогою слотів. Кожен слот відповідає одному атрибуту або властивості і може містити значення для цього об'єкта.

Ім'я у специфікації екземпляра необов'язково містить ім'я екземпляра, роздільник ":" і необов'язково одне або декілька імен класифікаторів, розділених комами. Вміст слотів, якщо такі є, включається під іменами, в окремий відсік атрибутів. Посилання відображається суцільною лінією і являє собою екземпляр асоціації.

Приклад діаграми об'єктів[ред. | ред. код]

Спочатку, коли n=2, і f(n-2) = 0, і f(n-1) = 1, то f(n) = 0 + 1 = 1.

Розглянемо один з можливих способів моделювання продукування послідовності Фібоначчі.

На першій діаграмі об'єктів UML праворуч екземпляр у крайній лівій специфікації екземплярів має ім'я v1, класифікатор IndependentVariable, роль NMinus2 у FibonacciSystem і слот для атрибуту val зі значенням 0.

Другий об'єкт має ім'я v2, клас IndependentVariable, роль NMinus1 і значення val = 1. Об'єкт DependentVariable має ім'я v3 і грає роль N. Самий верхній екземпляр, анонімна специфікація екземпляра, має класифікатор FibonacciFunction і може мати ім'я екземпляра, роль і слоти, але тут вони не показані.

Після першої ітерації, коли n = 3, і f(n-2) = 1, і f(n-1) = 1, то f(n) = 1 + 1 = 2.

Діаграма також містить три іменовані зв'язки, показані у вигляді ліній. Посилання - це екземпляри асоціації.

На другій діаграмі, у дещо пізніший момент часу, об'єкти IndependentVariable і DependentVariable однакові, але слоти для атрибуту val мають різні значення. Імена ролей тут не показано.

Після ще декількох ітерацій, коли n = 7, і f(n-2) = 5, і f(n-1) = 8, то f(n) = 5 + 8 = 13.

На останній діаграмі об'єктів, ще більш пізньому знімку, задіяні ті ж три об'єкти. Їхні слоти мають різні значення. Імена екземплярів та ролей тут не показано.

Використання[ред. | ред. код]

Якщо ви використовуєте інструмент моделювання UML, ви зазвичай малюєте об'єктні діаграми, використовуючи інший тип діаграм, наприклад, діаграму класів. Екземпляр об'єкта може називатися специфікацією екземпляра або просто екземпляром.

Зв'язок між екземплярами зазвичай називають посиланням. На об'єктній діаграмі також можуть з'являтися інші сутності UML, такі як символ агрегації або композиції (ромб).

Джерела інформації[ред. | ред. код]

  1. James Rumbaugh, Ivar Jacobson, Grady Booch (1999). The unified modeling language reference manual (англ.) . Addison Wesley Longman Inc. ISBN 0-201-30998-X.

Див. також[ред. | ред. код]