УМЛ диаграм. УМЛ дијаграми

20. 3. 2019.

УМЛ дијаграм је специјализовани језик за графички опис намењен за моделирање објеката у развоју различитих програма. Овај језик има широк профил и отворени је стандард у којем се за креирање апстрактног модела користе различити графички симболи. УМЛ је креиран како би пружио дефиницију, визуализацију, документацију, као и дизајн различитих софтверских система. Треба напоменути да сам дијаграм УМЛ-а није програмски језик, већ такође омогућава могућност генерисања посебног кода на основу њега.

Зашто је то потребно?

Употреба УМЛ-а се не завршава симулацијом свих врста софтвера. Такође, овај језик се данас активно користи за моделирање различитих пословних процеса, вођење дизајна система, као и за приказивање организационих структура.

Уз помоћ УМЛ-а, програмери могу дати потпуни договор у графичкој нотацији која се користи за представљање заједничких концепата као што су: компонента, генерализација, класа, понашање и агрегација. Тиме се постиже већи степен концентрације на архитектуру и дизајн.

Такође треба напоменути да постоји неколико типова таквих дијаграма.

Цласс диаграм

дијаграм умл стања

Дијаграм УМЛ класе је статички структурни дијаграм дизајниран да опише структуру система, као и да прикаже атрибуте, методе и зависности између неколико различитих класа.

Важно је напоменути да постоји неколико ставова о изградњи таквих дијаграма, у зависности од тога како ће се они користити:

  • Цонцептуал. У овом случају, УМЛ дијаграм класе описује модел одређеног предметног подручја и даје само класе апликацијских објеката.
  • Специфични. Дијаграм се користи у процесу пројектовања различитих информационих система.
  • Реализација. Дијаграм класе укључује све врсте класа које се директно користе у програмском коду.

Цомпонент диаграм

умл цхарт

УМЛ компонентни дијаграм је потпуно статички структурни дијаграм. Намера је да се демонстрира подела одређеног софтверског система на различите структурне компоненте, као и везе између њих. УМЛ компонентни дијаграм као такав може користити све врсте модела, библиотеке, датотеке, пакете, извршне датотеке и многе друге елементе.

Табела композитне / композитне структуре

УМЛ дијаграм композитне / композитне структуре је такође статички структурни дијаграм, али се користи за приказ унутрашње структуре класа. Ако је могуће, овај дијаграм може показати и интеракцију елемената који се налазе у унутрашњој структури класе.

Подтип њих је УМЛ-дијаграм сарадње, који се користи за демонстрирање улога, као и за интеракцију различитих класа унутар граница сарадње. Они су прилично згодни ако желите симулирати дизајнерске обрасце.

Треба напоменути да се типови дијаграма УМЛ класе и композитне структуре могу користити истовремено.

Деплоимент Цхарт

дијаграм активности умл

Овај дијаграм се користи за моделирање радних чворова, као и за све врсте артефаката који су постављени на њима. У УМЛ 2, артефакти су постављени на различитим чворовима, док су у првој верзији размјештене само компоненте. Дакле, УМЛ деплоимент дијаграм се примарно користи за другу верзију.

Изражена зависност се формира између артефакта и компоненте коју имплементира.

Објецт диаграм

Овај приказ вам омогућава да видите потпуни или делимични снимак система који се креира у одређеном тренутку. Он у потпуности приказује све инстанце класа одређеног система са тренутним вредностима њихових параметара, као и односима између њих.

Пацкаге диаграм

дијаграм случаја коришћења

Овај дијаграм је структуралан, а његов главни садржај су све врсте пакета, као и однос између њих. У овом случају, не постоји тешка подела између неколико структурних дијаграма, због чега се њихова употреба најчешће налази искључиво ради практичности и сама по себи не носи никакво семантичко значење. Важно је напоменути да различити УМЛ дијаграми могу дати различите елементе (примјери: пакети и сами дијаграми пакета).

Њихова употреба се спроводи како би се осигурала организација неколико елемената у групе на специфичној основи, поједноставила структура и организовала рад са моделом овог система.

Графикон активности

умл компонентни дијаграм

Дијаграм УМЛ активности приказује декомпозицију одређене активности на неколико дијелова. У овом случају, појам "активност" се односи на спецификацију специфичног извршног понашања у облику паралелног, као и координирано секвенцијално извршавање различитих подређених елемената - угњеждене типове активности и различите акције комбиноване од токова из излаза одређеног чвора до улаза другог.

Дијаграм УМЛ активности се често користи за моделирање различитих пословних процеса, паралелних и секвенцијалних прорачуна. Поред тога, они симулирају различите технолошке поступке.

Цхарт мацхине

Овај поглед се зове и нешто другачије - УМЛ дијаграм стања. Она има државну машину са једноставним и сложеним стањима, као и прелазе.

Коначни државни строј је спецификација низа различитих стања кроз које пролази одређени објект, или интеракције као одговор на одређене догађаје у свом животу, као и одговор објекта на такве догађаје. Машина стања која користи УМЛ дијаграм стања је додељена изворном елементу и користи се за одређивање понашања њених инстанци.

Такозване змајеве шеме могу се користити као аналози таквих дијаграма.

Користите дијаграме случаја

дијаграм умл секвенце

УМЛ дијаграм случаја употребе представља све односе који се појављују између актера, као и различите случајеве употребе. Њен главни задатак је да имплементира комплетан начин којим ће купац, крајњи корисник или неки програмер моћи заједнички дискутовати о понашању и функционалности одређеног система.

Ако се УМЛ модел случаја користи у процесу моделирања система, аналитичар ће:

  • Јасно раздвојите симулирани систем од његовог окружења.
  • Идентификујте актере, њихову интеракцију са овим системом, као и његову очекивану функционалност.
  • У глосару се поставља као предметна област разних концепата који се односе на детаљан опис функционалности овог система.

Ако је у УМЛ-у развијен дијаграм коришћења, процедура почиње текстуалним описом који се добија радом са клијентом. Истовремено, вреди напоменути да су различити нефункционални захтеви у процесу израде модела преседана потпуно изостављени, и за њих ће се формирати посебан документ.

Комуникације

Дијаграм комуникације, као и УМЛ дијаграм секвенци, је транзитиван, то јест, он изражава интеракцију, али у исто време то демонстрира на различите начине, и ако је потребно са потребним степеном тачности, можете претворити једно у друго.

Дијаграм комуникације одражава интеракције које се дешавају између различитих елемената композитне структуре, као и улоге сарадње. Његова главна разлика од дијаграма секвенци је то што јасно показује односе између неколико елемената, а време се не користи као одвојено мерење.

Овај тип се разликује по апсолутно слободном формату за организовање неколико објеката и веза на исти начин као што се ради у дијаграму објекта. Ако постоји потреба да се одржава редослед порука у овом слободном формату, врши се њихово хронолошко нумерисање. Читање овог дијаграма почиње са почетном поруком 1.0, а затим наставља у правцу у којем се поруке преносе са једног објекта на други.

Већина ових дијаграма показује тачно исте информације које обезбеђује дијаграм секвенци, али зато што користи другачији начин представљања информација, постаје много лакше идентификовати одређене ствари на једном дијаграму него на другом. Такође треба напоменути да комуникациони дијаграм јасно показује који елементи сваки појединачни елемент ступа у интеракцију, док дијаграм секвенци јасно показује редослед којим се интеракције одвијају.

Дијаграм секвенци

умл цласс диаграм

Дијаграм УМЛ секвенце показује интеракције између неколико објеката, који су уређени према времену у којем се појављују. На таквој карти се приказује временски одређена интеракција између неколико објеката. Посебно, он приказује све објекте који су укључени у интеракцију, као и комплетан низ порука које размјењују.

Главни елементи у овом случају су ознаке различитих објеката, као и вертикалне линије које представљају пролаз времена и правоугаоника, обезбеђујући активност одређеног објекта или извођење функције од њега.

Табела сарадње

Овај тип дијаграма вам омогућава да демонстрирате интеракцију између неколико објеката, апстрахујући од низа емитованих порука. Овај тип дијаграма у компактном облику одражава у себи апсолутно све пренесене и примљене поруке одређеног објекта, као и формате ових порука.

Због чињенице да су дијаграми секвенце и комуникације једноставно другачији поглед на исте процедуре, Ратионал Росе пружа могућност креирања низа дијаграма из комуникације или обрнуто, и такође врши њихову потпуно аутоматску синхронизацију.

Графикони прегледа интеракција

То су УМЛ дијаграми који се односе на различите дијаграме активности и укључују и елементе секвенце и конструкте контролног тока.

Важно је напоменути да овај формат комбинира колаборацију и дијаграм секвенци, који пружају могућност из различитих тачака гледишта да размотре интеракцију између неколико објеката у систему који се формира.

Синц Цхарт

То је алтернативна верзија дијаграма секвенци, која експлицитно показује промјену стања на линији живота с одређеном временском скалом. Може бити врло корисно у разним апликацијама у реалном времену.

Које су предности?

Вреди напоменути неколико предности које разликују УМЛ дијаграм употребе и друге:

  • Језик је објектно оријентисан, као резултат тога, технологије које описују резултате анализе и дизајна изведене су семантички близу методама програмирања у свим врстама објектно-оријентисаних језика савременог типа.
  • Уз помоћ овог језика, систем се може описати са готово свих могућих тачака гледишта, а различити аспекти његовог понашања описани су на исти начин.
  • Сви дијаграми се релативно лако читају чак и након релативно брзог упознавања са његовом синтаксом.
  • УМЛ вам омогућава да проширите и уведете сопствене графичке и текстуалне стереотипе, што доприноси његовој употреби не само у софтверском инжењерингу.
  • Језик је постао прилично раширен и развија се прилично активно.

Недостаци

Упркос чињеници да се конструкција УМЛ дијаграма разликује по маси својих предности, често се критикују због следећих недостатака:

  • Редунданција. У великој већини случајева, критичари кажу да је УМЛ превелик и сложен, а често и неоправдано. Укључује доста сувишних или готово бескорисних конструкција и дијаграма, а најчешће се критика односи на другу верзију, а не на прву верзију, јер у новијим ревизијама постоји већи број компромиса “које је развио одбор”.
  • Различите нетачности у семантици. Из разлога што је УМЛ дефинисан комбинацијом самог себе, енглеског и ОЦЛ-а, недостаје му крутост која је инхерентна језицима који су прецизно дефинисани техником формалног описа. У одређеним ситуацијама, апстрактна синтакса ОЦЛ-а, УМЛ-а и енглеског почиње да се протурјечи, док су у другим случајевима непотпуни. Нетачност описа самог језика једнако се одражава и на кориснике и на добављаче алата, што у коначници доводи до некомпатибилности алата због јединственог начина интерпретације различитих спецификација.
  • Проблеми у процесу имплементације и проучавања. Сви горе наведени проблеми стварају одређене потешкоће у процесу имплементације и проучавања УМЛ-а, а то је посебно тачно када менаџмент инжењере присиљава да га присилно користе, док им недостају прелиминарне вјештине.
  • Код одражава код. Друго мишљење је да важност нема у лепим и атрактивним моделима, већ у самим радним системима, односно код је пројекат. Према овом мишљењу, постоји потреба да се развије ефикаснији начин писања софтвера. УМЛ се обично вреднује у приступима који компилирају моделе за регенерацију извршног кода или изворног кода. У ствари, ово можда није довољно, јер нема Турингових својстава комплетности на овом језику, а сваки генерисани код ће у коначници бити ограничен на оно што УМЛ алат за тумачење може да преузме или дефинише.
  • Лоад мисматцх Овај термин је изведен из теорије системске анализе да би се одредила неспособност инпута одређеног система да опази различит излаз. Као и код било које стандардне ознаке, УМЛ може представљати неке системе ефикасније и концизније од других. Дакле, програмер је склонији решењима која су удобнија за преплитање свих предности УМЛ-а, као и других програмских језика. Овај проблем је очигледнији ако језик развоја није у складу са основним принципима објектно орјентисане ортодоксне доктрине, односно не покушава да ради у складу са принципима ООП-а.
  • Покушава да буде универзална. УМЛ је језик за моделирање опште намене који покушава да обезбеди компатибилност са било којим постојећим језиком обраде. У контексту одређеног пројекта, како би дизајнерски тим постигао крајњи циљ, потребно је да одаберете примјењиве могућности овог језика. Поред тога, могући начини да се ограничи обим употребе УМЛ-а у одређеној области пролази кроз формализам, који није у потпуности артикулисан, али који је и сам предмет критике.

Дакле, употреба овог језика није релевантна у свим ситуацијама.