Стереотипи є одним із трьох типів механізмів розширюваності в уніфікованій мові моделювання (UML). Вони дозволяють проектувальникам розширювати словник UML для створення нових елементів моделювання, що отримуються з наявних, але мають певні властивості, які підходять для конкретної проблеми предметної області чи для іншого спеціалізованого використання. Термін походить від первісного значення слова «стереотип», яке використовується у друкарстві. Наприклад, під час моделювання мережі можуть знадобитися символи для подання маршрутизаторів і комутаторів. За допомогою стереотипних вузлів можна подавати їх у вигляді примітивних будівельних блоків.
Графічно стереотип відображається як ім'я, взяте в лапки («», або, якщо такі лапки неприпустимі, <<>>) та розташоване над іменем іншого елементу. На додачу чи як альтернатива він може бути позначений відповідною піктограмою. Піктограма може навіть замінити весь символ UML. Наприклад, стереотипи діаграми класів можуть бути використані для опису таких методів поведінки, як «конструктор» і «ґеттер». Попри своє зовнішнє подання, «інтерфейс» — не стереотип, а класифікатор.
Однією з альтернатив стереотипам, запропонованою [en] у своїй книзі «Застосування Java в моделюванні кольором із UML: Організація та виробництво», є використання кольорових архетипів. Архетипи, позначені UML-блоками різних кольорів, можуть бути використані в поєднанні зі стереотипами. Це додаткове визначення призначення показує роль, яку відіграє об'єкт UML у рамках ширшої програмної системи.
Атрибути стереотипів
Починаючи з версії 2.0, незалежне іменоване значення вважається атрибутом стереотипу. Термін «іменоване значення» досі зберігається. Кожний стереотип має від нуля чи більше визначень міток, і всі стереотипні елементи UML мають відповідну кількість іменованих значень.
Стереотипи, що визначаються UML
Стереотип / ключове слово | До чого застосовний | Призначення |
---|---|---|
actor | Клас (class) | Визначає пов'язану множину ролей, які відіграє користувач прецеденту під час взаємодії з ним |
access | Залежність (dependency) | Повідомляє, що відкритий вміст цільового Пакуноку доступний у просторі імен вихідного Пакуноку |
association | Кінцева точка зв'язку (link end) | Вказує, що відповідний об'єкт видимий асоціацією |
become | Повідомлення (message) | Цільовий об'єкт збігається з вихідним, але в пізніший момент часу. При цьому, можливо, у нього будуть інші значення, стани чи ролі |
bind | Залежність (dependency) | Вихідний клас інстанціює цільовий шаблон із даними фактичними параметрами |
call | Залежність (dependency) | Вихідна операція викликає цільову |
copy | Повідомлення (message) | Цільовий об'єкт — це точна, але незалежна копія вихідного |
create | Подія (event), повідомлення (message) | Цільовий об'єкт створено внаслідок події чи повідомлення |
derive | Залежність (dependency) | Вихідний об'єкт може бути обчислено за цільовим |
destroy | Подія (event), повідомлення (message) | Цільовий об'єкт зруйновано внаслідок події чи повідомлення |
document | Компонент (component) | Компонент представляє документ |
enumeration | Клас (class) | Визначає перелічуваний тип, включно з його можливими значеннями як набором ідентифікаторів |
exception | Клас (class) | Визначає подію, яку може бути збуджено чи перехоплено операцією |
executable | Компонент (component) | Описує компонент, який може бути виконано у вузлі |
extend | Залежність (dependency) | Цільовий варіант використання розширює поведінку вихідного в даній точці розширення |
facade | Пакунок (package) | Пакунок, який є лише поданням іншого Пакуноку |
file | Компонент (component) | Компонент, який подає документ, що містить початковий код або дані |
framework | Пакунок (package) | Пакунок, що складається переважно зі зразків (патернів) |
friend | Залежність (dependency) | Вихідний клас має спеціальні права видимості в цільовому |
global | Кінцева точка зв'язку (link end) | Відповідний об'єкт видимий, оскільки належить охопній області дії |
import | Залежність (dependency) | Відкритий вміст цільового Пакуноку стає частиною плаского простору імен вихідного Пакуноку так, якби його було оголошено безпосередньо в ньому |
implementation | Узагальнення (generalization) | Нащадок успадковує реалізацію предка, але не відкриває та не підтримує його інтерфейси, внаслідок чого не може бути підставлений замість предка |
implementationClass | Клас (class) | Реалізація класу деякою мовою програмування |
include | Залежність (dependency) | Вихідний прецедент явно містить поведінку іншого прецеденту в точці, що визначається вихідним |
instanceOf | Залежність (dependency) | Вихідний об'єкт є примірником цільового класифікатора |
instantiate | Залежність (dependency) | Операції над вихідним класом створюють примірники цільового класу |
interface | Клас (class) | Описує багато операцій, які визначають те, що може робити клас або компонент |
invariant | Обмеження (constraint) | Обмеження, яке завжди повинно виконуватися для асоційованого елементу |
library | Компонент (component) | Статична чи динамічна об'єктна бібліотека |
local | Кінцева точка зв'язку (link end) | Відповідний об'єкт видимий, так як перебуває в локальній області дії |
metaclass | Класифікатор (classifier) | Класифікатор, всі об'єкти якого є класами |
model | Пакунок (package) | Описує семантично замкнену абстракцію системи |
parameter | Кінцева точка зв'язку (link end) | Відповідний об'єкт видимий, так як є параметром |
postcondition | Обмеження (constraint) | Обмеження, яке повинно виконуватися після виконання операції |
powertype | Клас (class) | Класифікатор, всі об'єкти якого є нащадками даного предка |
precondition | Обмеження (constraint) | Обмеження, яке повинно виконуватися перед виконанням операції |
process | Клас (class) | Класифікатор, примірник якого подає ресурсомісткий потік керування |
refine | Залежність (dependency) | Говорить, що вихідний об'єкт є детальнішою абстракцією, ніж цільовий |
requirement | Коментар (comment) | Описує бажану властивість або поведінку системи |
responsibility | Коментар (comment) | Описує контракт або зобов'язання класу |
send | Залежність (dependency) | Вихідна операція надсилає цільову подію |
signal | Клас (class) | Асинхронний стимул, який передається одним примірником іншому |
stereotype | Клас (class) | Класифікатор — це стереотип, який може бути застосований до інших елементів |
stub | Пакунок (package) | Пакунок виступає в ролі заступника для відкритого вмісту іншого Пакуноку |
subsystem | Пакунок (package) | Описує групування елементів, ряд яких складає специфікацію поведінки інших елементів |
system | Пакунок (package) | Описує Пакунок, що подає всю модельовану систему |
table | Компонент (component) | Компонент, що подає таблицю бази даних |
thread | Клас (class) | Класифікатор, примірник якого подає полегшений потік керування |
trace | Залежність (dependency) | Цільовий елемент — це історичний предок вихідного |
type | Клас (class) | Абстрактний клас, який використовується тільки для специфікації структури та поведінки (але не реалізації) множини об'єктів |
use | Залежність (dependency) | Семантика вихідного елементу залежить від семантики відкритого вмісту цільового елементу |
utility | Клас (class) | Визначає клас, для якого область дії всіх атрибутів і операцій — клас |
Примітки
- UML Superstructure Specification // v2.0. — Object Management Group, 2005. — Серпень. — С. 33.
Література
- Крэг Ларман. Застосування UML і паттернів: Вступ до об'єктно-орієнтованого аналізу, дизайну й ітеративної розробки = Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development. — 3-є вид. — М. : Вільямс, 2006. — 736 с. — .
- Джозеф Шмуллер. Засвой самостійно UML за 24 години, повний початковий набір = Sams Teach Yourself UML in 24 Hours, Complete Starter Kit. — М. : Вільямс, 2005. — 416 с. — .
- Грейди Буч, Джеймс Рамбо, Айвар Джекобсон. UML. Керівництво користувача = The Unified Modeling Language user guide. — 2-є вид. — М., СПб. : , , 2004. — 432 с. — .
- Буч Г., Якобсон А., Рамбо Дж. UML. Классика CS. 2-є вид. / Пер. з англ.; Під загальною редакцією проф. С. Орлова — СПб.: Пітер, 2006. — 736 с.
Посилання
- UML Stereotype
- , Г.Буч, Д.Рамбо, А.Джекобсон
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina Stereotip znachennya Stereotipi ye odnim iz troh tipiv mehanizmiv rozshiryuvanosti v unifikovanij movi modelyuvannya UML Voni dozvolyayut proektuvalnikam rozshiryuvati slovnik UML dlya stvorennya novih elementiv modelyuvannya sho otrimuyutsya z nayavnih ale mayut pevni vlastivosti yaki pidhodyat dlya konkretnoyi problemi predmetnoyi oblasti chi dlya inshogo specializovanogo vikoristannya Termin pohodit vid pervisnogo znachennya slova stereotip yake vikoristovuyetsya u drukarstvi Napriklad pid chas modelyuvannya merezhi mozhut znadobitisya simvoli dlya podannya marshrutizatoriv i komutatoriv Za dopomogoyu stereotipnih vuzliv mozhna podavati yih u viglyadi primitivnih budivelnih blokiv Grafichno stereotip vidobrazhayetsya yak im ya vzyate v lapki abo yaksho taki lapki nepripustimi lt lt gt gt ta roztashovane nad imenem inshogo elementu Na dodachu chi yak alternativa vin mozhe buti poznachenij vidpovidnoyu piktogramoyu Piktograma mozhe navit zaminiti ves simvol UML Napriklad stereotipi diagrami klasiv mozhut buti vikoristani dlya opisu takih metodiv povedinki yak konstruktor i getter Popri svoye zovnishnye podannya interfejs ne stereotip a klasifikator Odniyeyu z alternativ stereotipam zaproponovanoyu en u svoyij knizi Zastosuvannya Java v modelyuvanni kolorom iz UML Organizaciya ta virobnictvo ye vikoristannya kolorovih arhetipiv Arhetipi poznacheni UML blokami riznih koloriv mozhut buti vikoristani v poyednanni zi stereotipami Ce dodatkove viznachennya priznachennya pokazuye rol yaku vidigraye ob yekt UML u ramkah shirshoyi programnoyi sistemi Atributi stereotipivPochinayuchi z versiyi 2 0 nezalezhne imenovane znachennya vvazhayetsya atributom stereotipu Termin imenovane znachennya dosi zberigayetsya Kozhnij stereotip maye vid nulya chi bilshe viznachen mitok i vsi stereotipni elementi UML mayut vidpovidnu kilkist imenovanih znachen Stereotipi sho viznachayutsya UMLStereotip klyuchove slovo Do chogo zastosovnij Priznachennya actor Klas class Viznachaye pov yazanu mnozhinu rolej yaki vidigraye koristuvach precedentu pid chas vzayemodiyi z nim access Zalezhnist dependency Povidomlyaye sho vidkritij vmist cilovogo Pakunoku dostupnij u prostori imen vihidnogo Pakunoku association Kinceva tochka zv yazku link end Vkazuye sho vidpovidnij ob yekt vidimij asociaciyeyu become Povidomlennya message Cilovij ob yekt zbigayetsya z vihidnim ale v piznishij moment chasu Pri comu mozhlivo u nogo budut inshi znachennya stani chi roli bind Zalezhnist dependency Vihidnij klas instanciyuye cilovij shablon iz danimi faktichnimi parametrami call Zalezhnist dependency Vihidna operaciya viklikaye cilovu copy Povidomlennya message Cilovij ob yekt ce tochna ale nezalezhna kopiya vihidnogo create Podiya event povidomlennya message Cilovij ob yekt stvoreno vnaslidok podiyi chi povidomlennya derive Zalezhnist dependency Vihidnij ob yekt mozhe buti obchisleno za cilovim destroy Podiya event povidomlennya message Cilovij ob yekt zrujnovano vnaslidok podiyi chi povidomlennya document Komponent component Komponent predstavlyaye dokument enumeration Klas class Viznachaye perelichuvanij tip vklyuchno z jogo mozhlivimi znachennyami yak naborom identifikatoriv exception Klas class Viznachaye podiyu yaku mozhe buti zbudzheno chi perehopleno operaciyeyu executable Komponent component Opisuye komponent yakij mozhe buti vikonano u vuzli extend Zalezhnist dependency Cilovij variant vikoristannya rozshiryuye povedinku vihidnogo v danij tochci rozshirennya facade Pakunok package Pakunok yakij ye lishe podannyam inshogo Pakunoku file Komponent component Komponent yakij podaye dokument sho mistit pochatkovij kod abo dani framework Pakunok package Pakunok sho skladayetsya perevazhno zi zrazkiv paterniv friend Zalezhnist dependency Vihidnij klas maye specialni prava vidimosti v cilovomu global Kinceva tochka zv yazku link end Vidpovidnij ob yekt vidimij oskilki nalezhit ohopnij oblasti diyi import Zalezhnist dependency Vidkritij vmist cilovogo Pakunoku staye chastinoyu plaskogo prostoru imen vihidnogo Pakunoku tak yakbi jogo bulo ogolosheno bezposeredno v nomu implementation Uzagalnennya generalization Nashadok uspadkovuye realizaciyu predka ale ne vidkrivaye ta ne pidtrimuye jogo interfejsi vnaslidok chogo ne mozhe buti pidstavlenij zamist predka implementationClass Klas class Realizaciya klasu deyakoyu movoyu programuvannya include Zalezhnist dependency Vihidnij precedent yavno mistit povedinku inshogo precedentu v tochci sho viznachayetsya vihidnim instanceOf Zalezhnist dependency Vihidnij ob yekt ye primirnikom cilovogo klasifikatora instantiate Zalezhnist dependency Operaciyi nad vihidnim klasom stvoryuyut primirniki cilovogo klasu interface Klas class Opisuye bagato operacij yaki viznachayut te sho mozhe robiti klas abo komponent invariant Obmezhennya constraint Obmezhennya yake zavzhdi povinno vikonuvatisya dlya asocijovanogo elementu library Komponent component Statichna chi dinamichna ob yektna biblioteka local Kinceva tochka zv yazku link end Vidpovidnij ob yekt vidimij tak yak perebuvaye v lokalnij oblasti diyi metaclass Klasifikator classifier Klasifikator vsi ob yekti yakogo ye klasami model Pakunok package Opisuye semantichno zamknenu abstrakciyu sistemi parameter Kinceva tochka zv yazku link end Vidpovidnij ob yekt vidimij tak yak ye parametrom postcondition Obmezhennya constraint Obmezhennya yake povinno vikonuvatisya pislya vikonannya operaciyi powertype Klas class Klasifikator vsi ob yekti yakogo ye nashadkami danogo predka precondition Obmezhennya constraint Obmezhennya yake povinno vikonuvatisya pered vikonannyam operaciyi process Klas class Klasifikator primirnik yakogo podaye resursomistkij potik keruvannya refine Zalezhnist dependency Govorit sho vihidnij ob yekt ye detalnishoyu abstrakciyeyu nizh cilovij requirement Komentar comment Opisuye bazhanu vlastivist abo povedinku sistemi responsibility Komentar comment Opisuye kontrakt abo zobov yazannya klasu send Zalezhnist dependency Vihidna operaciya nadsilaye cilovu podiyu signal Klas class Asinhronnij stimul yakij peredayetsya odnim primirnikom inshomu stereotype Klas class Klasifikator ce stereotip yakij mozhe buti zastosovanij do inshih elementiv stub Pakunok package Pakunok vistupaye v roli zastupnika dlya vidkritogo vmistu inshogo Pakunoku subsystem Pakunok package Opisuye grupuvannya elementiv ryad yakih skladaye specifikaciyu povedinki inshih elementiv system Pakunok package Opisuye Pakunok sho podaye vsyu modelovanu sistemu table Komponent component Komponent sho podaye tablicyu bazi danih thread Klas class Klasifikator primirnik yakogo podaye polegshenij potik keruvannya trace Zalezhnist dependency Cilovij element ce istorichnij predok vihidnogo type Klas class Abstraktnij klas yakij vikoristovuyetsya tilki dlya specifikaciyi strukturi ta povedinki ale ne realizaciyi mnozhini ob yektiv use Zalezhnist dependency Semantika vihidnogo elementu zalezhit vid semantiki vidkritogo vmistu cilovogo elementu utility Klas class Viznachaye klas dlya yakogo oblast diyi vsih atributiv i operacij klasPrimitkiUML Superstructure Specification v2 0 Object Management Group 2005 Serpen S 33 LiteraturaKreg Larman Zastosuvannya UML i patterniv Vstup do ob yektno oriyentovanogo analizu dizajnu j iterativnoyi rozrobki Applying UML and Patterns An Introduction to Object Oriented Analysis and Design and Iterative Development 3 ye vid M Vilyams 2006 736 s ISBN 0 13 148906 2 Dzhozef Shmuller Zasvoj samostijno UML za 24 godini povnij pochatkovij nabir Sams Teach Yourself UML in 24 Hours Complete Starter Kit M Vilyams 2005 416 s ISBN 0 672 32640 X Grejdi Buch Dzhejms Rambo Ajvar Dzhekobson UML Kerivnictvo koristuvacha The Unified Modeling Language user guide 2 ye vid M SPb 2004 432 s ISBN 5 94074 260 2 Buch G Yakobson A Rambo Dzh UML Klassika CS 2 ye vid Per z angl Pid zagalnoyu redakciyeyu prof S Orlova SPb Piter 2006 736 s ISBN 5 469 00599 2PosilannyaUML Stereotype G Buch D Rambo A Dzhekobson