Professional Documents
Culture Documents
2 I 3 Cas Uml
2 I 3 Cas Uml
UNIFIED MODELING
LANGUAGE - UML
Далибор Дрљача
Садржај
Моделовање
O омогућава креирање модела одређеног система
Језик
O користи се као визуели језик – графички симболи
и дијаграми
O има своју семантику- значење симбола и синтаксу
- правила уређивања којима се дефинише употреба
ових симбола
O Првенствена намјена - развој SW апликација
O Универзалност језика и вишеструка примјена :
O Пословни информациони системи
O Банкарске и финансијске услуге
O Телекомуникације
O Транспорт
O Одбрана/авионаутика
O Продаја
O Медицинска електроника
O Наука
O Дистрибуисане мрежне услуге
O “Тhe OMG's Unified Modeling Language™ (UML®)
helps you specify, visualize, and document models
of software systems, including their structure and
design, in a way that meets all of these
requirements. (You can use UML for business
modeling and modeling of other non-software
systems too.) Using any one of the large number of
UML-based tools on the market, you can analyze
your future application's requirements and design a
solution that meets them, representing the results
using UML 2.0's thirteen standard diagram
types.” Object Management Group (OMG)
UML
Визуелизација
Спецификовање
Конструисање
Документовање
UML као језик за визелизовање
АСПЕКТ АСПЕКТ
ПРОЈЕКТОВАЊА ИМПЛЕМЕНТАЦИЈЕ
АСПЕКТ АСПЕКТ
ПРОЦЕСА РАЗМЈЕШТАЊА
1. АСПЕКТ ПРОЈЕКТОВАЊА
(Structural view)
Ланац
одговориности
1.4. Случај коришћења
O Представља опис акција које систем изводи да би постигао
видљиве резултате који имају одређену вриједност за конкретног
учесника (engl. Actor)
O Даје јасан и конзистентан опис оног шта систем треба да
уради
O Представља низ крајње поједностављених описа (сценарио)
коришћења апликације или функционисања система
O Сценарио обухвата низове догађаја који могу бити иницирани од
стране корисника, неког другог система, аутоматски током
времена
O Детаљи сценарија зависе од величине ризика везаног за дотични
примјер коришћења: ризичнији случајеви изискују детаљније
сценарије
Обрада
података
1.5. Активна класа
O Активна класа има инстанце
(примјерке) од којих свака извршава
и контролише сопствену нит Активна
O класа чији објекти имају један или класа
више процеса или нити
O иста као и „обична“ класа
O њени објекти представљају елементе
чије је понашање конкурентно с
другим елементима
1.6. Компонента
O модуларни дио дизајна система
O енкапсулирано физичко паковање логичких
елемената као што су класе, интерфејси и сарадње
O скрива имплементацију иза скупа вањских
интерфејса
O компоненте које дијеле исти интерфејс могу
замијенити једна другу - задржано исто логичко
понашање
Форма
Наручивање
<<компонента>>
Студенти
<<компонента>>
Студенти
ФИТ
ФЗН
Aртифакт
Prijava_ispita.jar
1.8. Чвор
O елемент који постоји у вријеме извршавања (engl.
run-time)
O представља рачунарски ресурс, има меморију и
могућност обраде
O у чвору може постојати група компоненти
O компоненте се могу селити с чвора на чвор
O коцкa која обично садржи само име чвора
Сервер
O СТВАРИ КОЈЕ СЕ ОДНОСЕ НА ПОНАШАЊЕ су
динамички дијелови UML модела.
O То су обично глаголи који представљају
понашање у времену и простору.
O Постоје три основне врсте ствари које се
односе на понашање:
O Интеракција (engl. interaction)
O Промјена стања (engl. state machine)
O Активност (engl. activity)
1.9. Интеракција
O размјена порука
O обухвата скуп порука које се измјењују између групе
објеката или улога, а у склопу одређеног контекста и
у циљу извршавања специфичне сврхе
O садржи читав низ других елемената, као што су
поруке, акције, конектори (везе између објеката)
Студент
Професор
испитује
1.10. Промјена стања
O представља стање објекта у изолацији, корак у
извршењу
O описује динамичка стања објекта или интеракције
кроз које објекат пролази током свог животног вијека
O одговор на одређене догађаје или утицаје
O када објекат детектује догађај, он одговара на начин
који зависи од његовог стања
O одговор може бити извршење акције или прелазак у
ново стање Чекање
O стање се може карактерисати на три начина.
O Као сет вриједности објекта
O Као период времена током којег објекат чека на догађај
O Као период времена током којег објекат обавља тренутну
активност
1.11. Активност
O понашање које одређује слијед корака које
рачунарски процес треба извршити
O код активности фокус на току између корака без
обзира на то који објекат извршава који корак
O акција - корак активности
Полагање
испита
O СТВАРИ КОЈЕ СЕ ОДНОСЕ НА ГРУПИСАЊЕ су
организацијски дијелови UML модела.
O То су елементи на које се модел може разложити.
O Једна од основних таквих ствари су пакети (engl.
packages).
O општи механизам за организовање дизајна (класе
се користе за организовање елемената
имплементације)
O могуће смјестити ствари које се односе на
понашање, па чак и на груписање
O пакети су чисто концептуални, што значи да постоје
само за током развоја
Обавезни предмети
O СТВАРИ КОЈЕ СЕ ОДНОСЕ НА ПОЈАШЊАВАЊЕ су,
како им и назив каже, дијелови UML модела који
садрже појашњења.
O Основни облик је напомена (engl. note) која се веже
за неки елемент или групу елемената и поближе их
појашњава
Позвати
студентску
службу
2. Релације
O Зависност (engl. dependency)
O Асоцијација (engl. association)
O Генерализација (engl. generalization)
O Реализација (engl. realization)
2.1. Зависност
O веза између два елемента код које промјена на једном
елементу (независни) може утицати на други елемента
(зависни).
O однос у којем један елемент захтјева други како би
функционисао
O Зависност апстракције представља промјену нивоа апстракције
концепта, гдје је један елемент више апстрактан а други више
конкретан
O Зависност одобрења се односи на случај када је једном
елементу потребно одобрење да би користио приватни садржај
другог елемента
O Зависност коришћења се односи на случај када један елемент
користи сервисе другог
1 елемента како
1...* би имплементирао своје
стање
Студент
одабира
Обавезни
предмети
2.2. Асоцијација
O структурална веза између класа, гдје је линк повезаност
између објеката које су инстанце класе.
O агрегација је специјални случај асоцијације која
представља структуралну везу између цјелине и њених
дијелова
O композиција је посебан случај агрегиране асоцијације са
додатним ограничењем да објекат може бити дио само
једне цјелине
Професор Студенти
Назив асоцијације са
1 смјером читања ► 1...*
Оцјена из предмета
Агрегација
Завршетак
трогодишњег
школовања
Композиција
Општа класа
Специјализована
класа
Универзитет
Студент
Провјери распоред
предавања
Уписати
Референт студента
<<укључити>
студентске
>
службе <<проширити>>
Пријави се за
наставу
<<укључити>
Студент >
Платити
школарину Провјерити
подобност за
преддмет
Рачуновођа
Сачини фактуру
за школарину
3.2. Дијаграми класа
(Class Diagrams)
O Представља статичку структуру класа у
систему
O Односи међу класама:
O могу бити асоциране (повезане једна за
другу),
O могу зависити (једна класа зависи од
употребе друге класе),
O бити специјализоване (једна класа је
специјализација друге), или
O бити упаковане (груписане заједно као
јединица)
Означавање у дијаграму класа
+ Public (јавна)
# Protected (заштићена)
- Private (приватна)
~ Package (пакет)
O Агрегација
Професор Разред
O Асоцијација
Студент Књиге
Кућни:Компјутер
процесор: „Интел“
меморија: 4
Далибор:Студент
Процесор: „АМД“
меморија: 2
3.4. Дијаграм секвценце
(Sequence diagrams)
O описује како група објеката проводи процес путем
секвенцијалног сета интеракција
O паралелне вертикалне линије – линије живота –
представљају различите процесе или објекте који се
дешавају истовремено тј., симултано
O хоризонталне стрелице показују поруке које се
размјењују према реду како се и дешавају
O дијаграм секвенце приказује и интеракцију између
објеката односно оно што се дешава у одређеној
тачки рада система
O вријеме тече према доле, тј., прве интеракције се
налазе на врху дијаграма.
3.5. Дијаграми сарадње
(Communication diagrams)
O показује више структуре него дијаграм секвенце
O дијаграм секвенце се користи у случају када је важно
нагласити секвенцу или вријеме односно када је
потребно приказати више фрагмената интеракције
O дијаграм комуникације користи када се жели нагласити
контекст, односно релације (односи, интеракција) између
објеката
O више наглашава комуникацију између објеката и начин
обављања интеракција између објеката
Студент
1:Овјерава
пријаву
Испит
3.6. Дијаграми активности
(Activity diagrams)
O Један од најважнијих дијаграма у UML
O Приказује активности и акције које се одвијају у
систему и описује ток рада система
O Веома важан с аспекта одржавања система – лако
уочавање грешака у функционисању
O Погодан код анализе функционисања и рада
система
O Омогућава правовремено ангажовање
корективних мјера
O Састоји се од активности које могу да настану и као
реакција на неки од „окидача“ из околине система
3.7. Дијаграм компоненти
(Component diagram)
O Приказује физичку структуру компоненти
програмског кôда
O Компоненте кôда могу бити:
O компоненте изворног кôда,
O бинарне компоненте или
O извршне компоненте
O механизми проширивости:
O Стереотип (engl. stereotype)
O Означена вриједност (engl. tagged value)
O Ограничење (engl. constraint)
4.1. Спецификација
PRINTER Accountant
printer
4.3. Коментари
O могу поставити било гдје у дијаграму
O могу да садрже било какву информацију
O не интерпретира се - нема посебног значења
O улога – даје објашњење или питање моделера
4.4. Стереотип
O Стереоптип спречава да UML постане сувише комплексан
и да тиме изгуби универзалност
O Користи се када је потребно дефинисати недостајући
елемент модела
O Користи се за специјализацију употребе UML
омогућавајући употребу додатних графичких симбола
O Класа са стереотипом <<Window>> чита се као “класа
‘Window’ стереотипа,” што значи да је то класа ‘window’
типа.
O стереотип <<извршна>> представља извршни програм.
O стереотип <<фајл>> представља било који системски фајл и има
више поткласа.
O стереотип <<библиотека>> је поткласа од <<фајл>> која
представља статичку или динамичку библиотеку.
O стереотип <<документ>> је поткласа од << фајл >> која
показује да тај фајл садржи документацију чији садржај
интерпретира човјек а не машина.
O стереотип <<извор>> показује тип фајла који може бити
компајлиран у извршни након исправке свих грешака насталих
у компајлирању кода .
O стереотип <<script>> назначава фајл који је намјењен
машинској интерпретацији коју систем може интерпретирати
без компајлера
4.5. Означена вриједност
O проширује особине елемената језика UML
O дозвољава додавање нових информација у
спецификацију елемената
O yносе се између знакова аколаде {} (витичасте
заграде)
O форма уноса је „name=value“
O сваки наредни унос је потребно раздвојити запетом.
4.6. Ограничење
{isporuka ako ≤
100kom}
Умјесто закључка
O Моделовање је првенствено питање
комуникације и захтијева унифициран
приступ нотацији – означавању
O Објектно-оријентисана парадигма-
садашњост
O UML омогућава визеулизацију,
спецификацију, конструкцију и
документовање
81