Діаграма композитної структури

Діаграма композитної структури у Unified Modeling Language (UML) є типом статичної структурної діаграми, що показує внутрішню структуру класу.

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

Концепти композитної структури

Ключовими поняттям композитної структури у UML 2.0 є: структуровані класифікатори, частини, порти, з'єднувачі та взаємодія.

  • Частина : Частина представляє роль під час виконання одної сутності класифікатора або колекції сутностей. Частина може назвати тільки роль, абстрактний суперклас, або конкретний конкретний клас.
  • Порт : Порт є точкою взаємодії, яка може бути використаною для з'єднання структурованих класифікаторів з їх частинами та з навколишнім середовищем. Порти можуть додатково вказати ті сервіси, які вони надають і сервіси, які вони вимагають від інших частин системи. На діаграмі, кожен з маленьких квадратиків є портом. Кожен порт має тип і позначений з ім'ям, наприклад, "var", "indVar1", або "view" на діаграмі.
  • З'єднувач:  З'єднувач пов'язує два або більше об'єктів разом, дозволяючи їм взаємодіяти під час виконання. З'єднувач показаний у вигляді лінії між деякою комбінацією частин, портів і структурованих класифікаторів. 
  • Взаємодія: Взаємодія, як правило, більш абстрактна, ніж структурований класифікатор. На діаграмі відображається, як пунктирний овал, що містить ролі, які можуть мати сутності у взаємодії
  • Структурований класифікатор: Структурований класифікатор - це клас, часто абстрактний клас, чия поведінка може бути повністю або частково описаною через взаємодію між частинами.
  • Інкапсульований класифікатор: Інкапсульований класифікатор є типом структурованого класифікатора, який містить порти.

Приклад діаграми композитної структури

UML 2.0 діаграма композитної структури.

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

Ця діаграма композитної структури показує, що екземпляри класу в 'FibonacciSystem' складаються з декількох частин. Самий верхній з цих частин визначені як класифікатор 'FibonacciFunction'. Три з частин визначаються тією роллю, яку вони відіграють у випадках FibonacciSystem - роль NMinus2, роль NMinus1, і роль N. П'ята частина, визначена своїм класифікатором Viewer, може включати в себе специфікації кратності. Під час виконання може бути 0 або більше екземплярів Viewer, або деякий конкретний підклас Viewer.

Під час виконання екземпляри класів, які реалізують ці три ролі повинні надавати сервіси, зазначені в інтерфейсі IVar через свої порти var. Одним з таких класів є Variable, як показано на схемі з портом var типу Var, що реалізує інтерфейс IVar.

Порт під назвою "view" є непублічним портом, який може бути використаний екземпляром FibonacciSystem для доступу до додаткового екземпляру Viewer.

Посилання

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.