1.1. Предмети в uml
Словник UML утворюють три різновиди будівельних блоків: предмети, відносини, діаграми [2], [5], [10], [11].
Предмети - це абстракції, які є основними елементами в моделі, відносини пов'язують ці предмети, діаграми групують колекції предметів.
В UML є чотири різновиди предметів: 1) структурні предмети, 2) предмети поведінки, 3) группирующие предмети, 4) пояснюють предмети.
Предмети є базовими об'єктно-орієнтованими будівельними блоками і використовуються для написання моделей.
1. Структурні предмети є іменниками в UML-моделях. Вони пред-ставляют статичні частини моделі - понятійні або фізичні елементи. Перерахуємо вісім різновидів структурних предметів.
1.1. Клас (class) - опис безлічі об'єктів, які мають однакові свій-ства, операції, відносини і семантику. Клас реалізує один або кілька інтерфейсів. Як показано на рис. 1.1, графічно клас, що відображається жается у вигляді прямокутника, зазвичай включає секції з ім'ям, свій-ствами (атрибутами) і операціями.
Інтерфейс (interface) - набір операцій, які визначають послуги класу або ком-нента. Інтерфейс описує поведінку елемента, видиме ззовні. Інтерфейс може представляти повні послуги класу або компонента або частина таких послуг. Інтерфейс визначає набір специфікацій операцій (їх сигнатури), а не набір реалізацій операцій. Графічно інтерфейс зображується у вигляді гуртка з ім'ям, як показано на рис. 1.2. Якщо ім'я інтерфейсу записується англійською, то воно повинно починає-ся з літери «I». Інтерфейс рідко показують самостійно. Зазвичай його при-з'єднують до класу або компоненту, який реалізує інтерфейс.
Мал. 1.2. інтерфейс
Кооперація (співробітництво) визначає взаємодію і є сукупністю спільно застосовуваних класів та інших елементів (інтерфейсів, компонентів, вузлів) для забезпечення їх колективної поведінки з метою виконання певної функціональності. Таким чином, кооперації мають як структурний, так і пове-денческое вимірювання. Конкретний клас може брати участь в декількох коопераціях. Кооперації представляють реалізацію патернів (образ-цов), які формують систему. Як показано на рис. 1.3, графічно кооперація (collaboration) зображується як пунктирний еліпс, в який вписується її ім'я.
Мал. 1.3. кооперація
1.4. Актор (actor) - набір узгоджених ролей, які можуть грати користувачі при взаємодії з системою (її елементами Use Case). Кожна роль вимагає від системи певної поведінки. Як показано на рис. 1.4, актор зображують-ється фігуркою «чоловічка», під якою записується конкретне ім'я актора (дійової особи).
1.5. ЕлементUseCase (Прецедент) - опис послідовності дій (або декількох послідовностей), виконуваних системою в інтересах окремих-ного актора і виробляють видимий для актора результат. У моделі елемент Use Case (Варіант використання) застосовується для структурування предметів поведінки. Елемент Use Case реалізується кооперацією. Як показано на рис. 1.5, елемент Use Case зображується як еліпс, в який вписується його ім'я.
Мал. 1.5. варіант використання
1.6. Активний клас - клас, чиї об'єкти мають один або кілька процесів (або потоків) і тому можуть ініціювати керуючу діяльність. Актив-ний клас схожий на звичайний клас за винятком того, що його об'єкти дей-обхідних одночасно з об'єктами інших класів. Як показано на рис. 1.6, активний клас зображується як потовщений прямокутник, зазвичай вклю-сподівавсь ім'я, властивості (атрибути) і операції.
Мал. 1.6. активний клас
1.7. Компонент (component) - фізична і замінна частина системи, яка відповідає набору інтерфейсів і забезпечує реалізацію цього набору інтерфейсів. У систему входять як компоненти, які є результатами процесу розробки (файли вихідного коду), так і різні різновиди викорис-вуються компонентів (СОМ + -компоненти, Java Beans). Зазвичай компонент - це фізична упаковка різних логічних елементів (класів, Інтерфом-сов і кооперацій). Як показано на рис. 1.7, компонент зображується як пря-моугольнік з вкладками, що зазвичай включає ім'я.
Мал. 1.7. компонент
1.8. Вузол (node) - фізичний елемент, який існує в період роботи системи і являє ресурс, зазвичай має пам'ять і можливості обробки. У вузлі розміщується набір компонентів, який може переміщатися від вузла до вузла. Як показано на рис. 1.8, вузол зображується як куб з ім'ям.
2. Предмети поведінки - динамічні частини UML-моделей. Вони є глаго-лами моделей, поданням поведінки в часі і просторі. Суті-ють дві основні різновиди предметів поведінки.
2.1. Взаємодія - поведінка, яка укладає в собі набір повідомлень, котори-ми обмінюється набір об'єктів в конкретному контексті для досягнення оп-ределенной мети. Взаємодія може визначати динаміку як сукупно-сті об'єктів, так і окремої операції. Елементами взаємодії є повідомлення, послідовність дій (поведінка, що викликається повідомлення третьому) і зв'язку (з'єднання між об'єктами). Як показано на рис. 1.9, сообще-ня (message) зображується у вигляді спрямованої лінії з ім'ям її операції.
2.2. Кінцевий автомат - поведінка, яка визначає послідовність станів об'єкта або взаємодії, що виконуються в ході його існування у відповідь на події (і з урахуванням обов'язків за цими подіями). За допомогою кінцевого автомата може визначатися поведінку індивідуального класу або кооперації класів. Елементами кінцевого автомата є стану, переходи (від стану до стану), події (що викликають переходи) і дії (реакції на перехід). Як показано на рис. 1.10, стан (state) зображується як закруглений прямокутник, зазвичай включає його ім'я і його підстану (якщо вони є).
Мал. 1.10. стан
Ці два елементи - взаємодія і кінцевий автомат - є базисними предметами поведінки, які можуть включатися в UML-моделі. Семантично ці елементи асоціюються з різними структурними елементами (перш за все з класами, кооперації та об'єктами).
3. групуються предмети - організаційні частини UML-моделей. Це складові компоненти, на які може бути розкладена модель. Передбачена один різновид групують предмета - пакет.
Мал. 1.12. Примітка