15.07.2025 П9: 1/59
9.4.UML дијаграми
UML дијаграми се деле у три групе:
• дијаграми понашања,
• дијаграми интеракције и
• структурни дијаграми.
Често се у литератури дијаграми
интеракције сматрају подврстом
дијаграма понашања.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
2.
15.07.2025 П9: 2/59
9.4.UML дијаграми
Природа и основе UML дијаграма
Природа UML дијаграма се схвата на следећи начин:
Структурни аспект наспрам аспекта понашања — Структурни
аспект дијаграма илуструје начин на који је систем организован, док
бихевиорални аспект моделира ток система. Структура, на пример,
показује како су класе повезане једна са другом у дијаграму класа.
Понашање показује начин на који корисник интерагује са системом
— на пример, кроз случај употребе или дијаграм активности.
Статички аспект наспрам динамичког — Статички наспрам
динамичког аспекта приказује временску зависност модела.
Дијаграм без концепта времена или кретања је статичан, док се
онај који приказује промене у времену (или чак снимак времена)
сматра динамичким.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
3.
15.07.2025 П9: 3/59
9.4.UML дијаграми
Природа и основе UML дијаграма
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
4.
15.07.2025 П9: 4/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм класа (енгл. class diagram)
Он илуструје елементе статичког модела, као што су класе, њихов
садржај, и медусобне односе. Садржи: називе класа, атрибуте
класа, методе класа, специјализацију и генерализацију, и односе
(међу којима су најважнији: асоцијација, агрегација, и композиција).
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
5.
15.07.2025 П9: 5/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм класа (енгл. class diagram)
Асоцијација се користи ради приказивања начина на који су две
класе повезане. Представља се пуном линијом. На слици је
приказан је пример асоцијације.
Пример асоцијације: “професор” који има улогу “аутора” је
асоциран са “уџбеником” типа “књига”.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
6.
15.07.2025 П9: 6/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм класа (енгл. class diagram)
Агрегација је бинарна асоцијација која представља однос цео–део
нечега између композита и неког његовог дела. Представља се
пуном линијом која на једном крају је празна (представља део), а на
другом крају има празан ромб (означава композит коме припада
део). На слици је приказан пример агрегације.
Пример агрегације: “троугао” има колекцију “страница” од 3 “дужи”.
Једна “дуж” може бити део ниједног или више “троуглова”.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
7.
15.07.2025 П9: 7/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм класа (енгл. class diagram)
Композиција је сличан однос агрегацији, с разликом да је однос
идентификујући. То значи да део целине може да се нађе у највише
једном композиту. Разлика у представи измеду композиције и
агрегације је да је ромб у композицији обојен црном бојом.
Пример композиције: “директоријум” може да садржи ниједан или
више “фајлова”, при чему сваки “фајл” има тачно једног родитеља
(“директоријум”). Уколико је “директоријум” обрисан, сви “фајлови” у
њему су такође обрисани.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
8.
15.07.2025 П9: 8/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм компоненти (енгл. component diagram)
Он илуструје компоненте (основне целине) које чине апликацију,
систем или организацију. Садржи: називе компоненти, њихове
медусобне односе, и јавне интерфејсе. Пример дијаграма
компоненти:
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
9.
15.07.2025 П9: 9/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм компоненти (енгл. component diagram)
Постоје различите ознаке за компоненте, а најчешће су то
правоугаоници са ознаком слагалице у углу, или 3Д квадри.
Суштина компоненти је да нас њихова структура практично уопште
не занима.
Интерфејс је саставни део компоненте и означава се линијом и
кругом. Интерфејс је опис скупа услуга које нека компонента пружа
и које морамо да обезбедимо у систему. Јавним интерфејсом
описујемо понашање компоненти. То је онај део компоненти који је
видљив остатку система или корисницима.
Једна компонента користи друге компоненте тако што користи
њихове интерфејсе.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
10.
15.07.2025 П9: 10/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм компоненти (енгл. component diagram)
Један систем је могуће поделити на компоненте на више начина.
Некада је веома тешко унапред рећи која подела је боља од друге.
Да бисмо могли да извршимо поделе на компоненте, морамо да
извршимо детаљну анализу: упознавање структуре система,
упознавање структуре информација, послова, ентитета, субјеката...
Управо због тога је дијаграм компоненти битан. Он показује да је
потребно да се изврши баш таква декомпозиција, па уз дијаграм
компоненти обично иде нека врста образложења: разлози одабира
одредене декомпозиције, спецификације интерфејса,
функционалности компоненти, списак послова за сваку компоненту
које ће она радити и функција које ће обављати.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
11.
15.07.2025 П9: 11/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм објеката (енгл. object diagram).
Он представља објекте и њихове односе у једном тренутку
времена. Користи се као допуна дијаграма класа и комуникације за
описивање динамичких система. Садржи: називе класа, називе
објеката, имена и вредности атрибута, и односе.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
12.
15.07.2025 П9: 12/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм профила (енгл. profile diagram)
Он описује механизам лаке екстензије UML тако што дефинише тзв. стереотипове
(класе профила који дефинишу како постојећа метакласа може бити проширена
као део профила), означене вредности (када је стереотип примењен на модел,
вредности његових својства могу се реферисати као означене вредности), и
ограничења. Садржи: профиле, метакласе, стереотипове, продужења, референцу,
и апликацију профила.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
13.
15.07.2025 П9: 13/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм сложене структуре (енгл. composite structure
diagram).
Он представља интерну структуру класе, објекта, компоненте, или случаја
употребе. Садржи: сложене компоненте и њихове елементе, и тачке интеракције
са другим елементима система. Дијаграми сложене структуре се користе и у
приказивању елемената које учествују у неком случају употребе и то онда када је
случај употребе довољно сложен да је текст описа такав да није наизглед јасно о
чему се ради. Овај дијаграм није толико уобичајен, па самим тим и не треба
обраћати превелику пажњу на њега.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
14.
15.07.2025 П9: 14/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм испоручивања (енгл. deployment diagram)
Он представља елементе физичке архитектуре система. За њега се каже да
представља дијаграм компоненти највишег нивоа. Садржи: чворове (или сервере;
то су хардверске јединице које извршавају неке софтвере), софтверске или
хардверске подсистеме, медусобне везе између подсистема или између чворова,
и може да илуструје и заступљеност компоненти у подсистемима (односно, која
компонента ће радити на којој хардверској јединици система). Врло често се ови
дијаграми комбинују са дијаграмима компоненти.
Најчешћа нотација је да се чворови представљају 3Д квадрима, подсистеми
правоугаоницима, и уз то можемо представити конкретне компоненте и
интерфејсе на свакој (или некој) јединици. Медусобне везе су представљене
линијама (усмереним или неусмереним). Можемо представити специфичне
чворове нешто другачије, на пример, сервери база података се обично
представљају ваљцима или чворови који представљају клијентске машине се
представљају ПЦ ознаком (монитор и тастатура).
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
15.
15.07.2025 П9: 15/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм испоручивања (енгл. deployment diagram)
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
16.
15.07.2025 П9: 16/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм пакета (енгл. package diagram)
Он илуструје како су елементи логичког модела организовани у пакете,
као и међузависности пакета. Садржи: називе и границе пакета, класе у
пакетима, медусобне односе класа, медусобне зависности пакета. Може
се користити и у домену случајева употребе.
Дијаграм пакета и дијаграм компоненти имају сличности. Наиме, они
покушавају да у себе групишу више класа, компоненти, итд. и да то
заокруже у једну целину. Медутим, разлика је у томе која врста
декомпозиције је у питању. Код дијаграма компоненти, ради се о
функционалној декомпозицији, односно, о декомпозицији на целине које
раде неки целовит посао. Код дијаграма пакета се ради о логичкој
међузависности.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
17.
15.07.2025 П9: 17/59
9.4.UML дијаграми
Структурни UML дијаграми
Дијаграм пакета (енгл. package diagram)
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
18.
15.07.2025 П9: 18/59
9.4.UML дијаграми
Дијаграми понашања
Дијаграм активности
(енгл. activity diagram)
Он представља пословне
процесе вишег нивоа, токове
података, и евентуално
сложене логичке елементе
система. Садржи: процесе,
токове података, чворишта и
гранања, условне тачке,
почетне и завршне тачке, а
може да садржи и “линије
аутора”.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
19.
15.07.2025 П9: 19/59
9.4.UML дијаграми
Дијаграми понашања
Дијаграм стања (енгл. state
machine diagram)
Он описује како се стања објекта мењају у
зависности од интеракција у које објекат
улази. Садржи: почетна стања, активна
стања, завршна стања, и промене стања.
Активности преводе објекат из једног стања у
друго стање. Овај дијаграм веома личи на
дијаграм животног циклуса ентитета, са
веома малим разликама. За разлику од
дијаграма активности који се ограничава на
један случај употребе, дијаграми стања често
могу да опишу промена стања објекта током
живота објекта (што је обично више од једног
случаја употребе).
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
20.
15.07.2025 П9: 20/59
9.4.UML дијаграми
Дијаграми понашања
Дијаграм случајева употребе
(енгл. use case diagram)
Он представља случајеве употребе, актере, и
њихове медусобне односе. Описује све
послове који чине једну целину. Садржи:
случајеве употребе (послови), актере
(субјекти који учесвују у пословима), пакете
(служе за груписање послова), подсистеме
(спољни или унутрашњи, ако их користимо), и
међусобне односе.
Случајеви употребе могу имати више
различитих актера, тј. да више актера
“заједно” раде да би посао био целовит и
обављен. На пример, на слици “пацијент” и
“доктор” заједно учествују у случају употребе
“захтевање лека”.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
21.
15.07.2025 П9: 21/59
9.4.UML дијаграми
Дијаграми понашања
Дијаграм случајева употребе
(енгл. use case diagram)
Између случајева употребе постоје две
основне врсте релација: проширивање,
и укључивање. Проширивање (енгл.
extend) представља врсту
специјализације између случајева
употребе. Укључивање (енгл. include)
представља однос у којем један случај
употребе укључује други. На пример,
ако постоји посебан случај употребе
“пријављивање на систем” и постоји,
на пример, “пријављивање испита”,
онда можемо рећи да други случај
употребе укључује први.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
22.
15.07.2025 П9: 22/59
9.4.UML дијаграми
Дијаграми понашања
Дијаграм случајева употребе (енгл. use case diagram)
Случајеве употребе можемо груписати у пакете, с тиме да то груписање није
вршено и функционално, ни физички, ни логички, него само ради, на пример,
редоследа имплементације.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
23.
15.07.2025 П9: 23/59
9.4.UML дијаграми
Дијаграми интеракције
Дијаграм комуникације (енгл. communication diagram) - ранији
назив дијаграм сарадње (енгл. collaboration diagram)
Он представља објекте, њихове медусобне односе, и поруке које
размењују. Пажња се по правилу посвећује структурној
организацији објекта који учествују у размени порука.
Њихово коришћење има смисла када је низ активности нејасан
(или слабо јасан). Садржи: објекте (може и актере), поруке, и
коментаре и напомене.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
24.
15.07.2025 П9: 24/59
9.4.UML дијаграми
Дијаграми интеракције
Дијаграм комуникације (енгл. communication diagram)
На слици је приказано је следеће: посао почиње тако што “прозор” пошаље поруку
“направи резервацију” објекту “ланац хотела”. Ознака 1.1 означава да је у послу 1
ово прва порука која се шаље. “Ланац хотела” на то одговара тако што шаље
одговарајућу поруку “хотелу”. Ознака 1.1.1 означава да се порука шаље у оквиру
реакције на претходну поруку. Након примања поруке, “хотел” ради две ствари.
Прво (ознака 1.1.1.1), за сваки дан, проверава да ли је соба слободна за тај дан.
Друго (ознака 1.1.1.2), ако је та соба слободна, врши резервацију. Надаље се врши
потврда на сличан начин.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
25.
15.07.2025 П9: 25/59
9.4.UML дијаграми
Дијаграми интеракције
Дијаграм интеракција
(енгл. interaction diagram или interaction overview diagram)
Он представља варијанту дијаграма активности у којој је акценат на управљању
процесима или системом. Сваки чвор (односно, активност) у дијаграму може да
представља неки други дијаграм интеракција или активности. Садржи: објекте,
мање дијаграме активности или интеракција, случајеве употребе, ток одвијања
процеса (протока података), гранања и спајања, и почетак и крај.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
26.
15.07.2025 П9: 26/59
9.4.UML дијаграми
Дијаграми интеракције
Дијаграм секвенце (енгл. sequence diagram)
Он представља редослед размењивања порука током одвијања
процеса. Садржи: објекте (или учеснике), и поруке.
Објекти су правоугаоне ознаке објеката у врху дијаграма. Обично
су именовани, али привремени објекти могу бити и неименовани.
За њих се везују вертикалне линије “живота” које показују период
активности објеката у посматраном процесу. Поруке су
хоризонталне линије које повезују линије живота објеката. Пуним
стрелицама су означене синхроне, а светлим стрелицама су
означене асинхроне поруке (након слања поруке, није нам битно
када ће објекат који је примио поруку завршити посао).
Испрекиданим линијама су означене поруке које носе резултате
(након слања поруке објекат чека да добије одговор).
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
27.
15.07.2025 П9: 27/59
9.4.UML дијаграми
Дијаграми интеракције
Дијаграм секвенце (енгл. sequence diagram)
Дијаграм секвенце је данас највише коришћен дијаграм из ове групе.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
28.
15.07.2025 П9: 28/59
9.4.UML дијаграми
Дијаграми интеракције
Дијаграм времена (енгл. timing diagram)
Он представља или промене стања и услова објеката или догађаје који се
дешавају (y-оса) током времена (x-оса).
Уобичајено се употребљава за представљање промена стања у зависности од
спољних догађаја. Садржи: проток времена, спољашње догађаје, и промене
стања.
9. Објектно оријентисано моделовање
и језик за обједињено моделовање UML
29.
15.07.2025 П9: 29/59
1.Објаснити концепт класе.
2. Шта су објекти?
3. Навести шест објектно оријентисаних фундаментални
принципа.
4. Објаснити класификацију.
5. Шта је апсктракција?
6. Објаснити енкапсулацију.
7. Како се зове механизам повезивања више класа једна са
другом?
8. Шта је полиморфизам?
9. Чему служи језик за обједињено моделовање UML?
10. Како се деле дијаграми UML-а?
11. Објасните поделу UML дијаграма према структурним и
аспектима понашања.
12. Објасниоте поделу UML дијаграма шрема статичким и
динамичким аспектима.
9.5. Контролна питања