You are on page 1of 12

ЕВРОПСКИ УНИВЕРЗИТЕТ

НА РЕПУБЛИКА МАКЕДОНИЈА – СКОПЈЕ

ФАКУЛТЕТ ЗА ИНФОРМАТИКА

Семинарска работа

Предмет:

ВОВЕД ВО СОФТВЕРСКО ИНЖЕНЕРСТВО

Тема:

UML диаграми

Изработил: Ментор

Проф. д-р. Благој Ристевски

Бр. на Индекс: 0047/20 ФИ

Скопје, 2023 година

1
Содржина
Вовед
Историја
UML дијаграми
НОТАЦИЈА И ОСНОВНИ ПОИМИ ВО УМЛ
ЗАПОЗНАВАЊЕ СО УМЛ ДИЈАГРАМИТЕ
Пример
Class diagram- дијаграм на класи
Use case
Sequence diagram -Дијаграм на секвенции
Заклучок

Литература............................................................................................................

Вовед

Унифицираниот Моделирачки Jaзик (Unified Modelling Language UML) денес е една од


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

Кај сложените системи, УМЛ ни овозможува поделба на работата на помали модули, а со


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

УМЛ првенствено е наменет за софтверски системи, но тој ефикасно се користи и во


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

УМЛ е општо прифатен и индустриски стандардизиран јазик кој е широко применлив и


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

Историја

UML се развива од втората половина на 1990-тите и своите корени ги има во објектно-


ориентираните методи на програмирање развиени во доцните 1980-ти и раните 1990-ти.
Историјата на УМЛ јазикот се состои од пет посебни временски периоди. Со
разбирањето на овие периоди ќе разбереме зошто УМЛ јазикот се појавува и како
сеуште се развива.

Период на фрагментација: Помеѓу седумдесеттите и деведесеттите години,


организациите почнуваат да го разбираат значењето на софтверот како дел од бизнисот,
но имаат на располагање само расцепкана колекција од техники за изработка и поддршка
на софтвер. Меѓу бројните појавени техники и методи кои се фокусирани на производство
и одржувањето на софтвер, се издвојуваат три методи:
 Grady Booch '93 методата ги нагласува дизајнот и конструкцијата на софтверските
системи.
 James Rumbaugh - Object Modeling Technique (OMT) - 2 методата - ја нагласува
анализата на софтверските системи.
 Ivar Jacobson - Object-Oriented Software Engineering (OOSE) методата – ги
нагласува бизнис инженерингот и анализа на побарувањата.

3
Како што објектно ориентираните методи започнуваат да се развиваат од
структурни методи, така и индустријата се подели околу овие три методи. Корисник
на една метода не може лесно да ги разбере артефактите направени со користење на друга
метода.
Дополнително, на практикантите на овие методи им се зголемуваат проблемите бидејќи со
преминување од една во друга организација приморани се да учат и нова метода. Покрај
тоа, поддршката за алатки беше минимална бидејќи имаше премногу методи.

Период на унификација: Во Октомври 1994, Rational Software Corporation (RUP), која е


дел од ІВМ од февруари 2003 започна со создавањето на обединет моделирачки
јазик. Поради нивниот труд за унификација James Rumbaugh, Ivar Jacobson, и Grady
Booch стануваат познати како Тројцата Амигоси. Прво, беше постигната согласност за
стандардизација на нотацијата односно јазикот, будејќи овој дел се чинеше
помалку обемен од стандардизацијата на методите. Правејќи го ова, RUP ги
интегрираше Booch Методата на Grady Booch, Object Modeling Technique (OMT) на James
Rumbaugh, Object-Oriented Software Engineering (OOSE) на Ivar Jacobsen,
елементи од други методи и j публикува оваа нова нотација под името УМЛ верзија 0.9.
Целта не беше да се создаде целосно нова нотација, туку да се прилагодат, прошират и
поедностават постоечките и прифатени видови на декаграми од неколкуте објектно-
ориентирани методи, како на пример, класните дијаграми, дијаграмите за случаите на
употреба од Jacobson, и Harel-овите дијаграми на состојба. Средствата за презентација од
структурните методи биле применети во УМЛ. Така, дијаграмот на активности од УМЛ е
под влијание на дијаграмот на податочен проток и Петри мрежите. Тоа што е
непроценливо и ново во УМЛ не е неговата содржина, туку е неговата стандардизација во
унифициран моделирачки j со формален дефинирано значење.
Како што организациите почнуваа да за разбираат вредноста на УМЛ, OMG групата и
Design Task Force го издадоа Request for Proposal (RFP) - Барање за предлог, со цел да се
воспостави стандард за да го дефинира значењето на концептите од објектно-
ориентираната технологија за алатките кои ќе поддржуваат објектно-
ориентиран дизајн и анализи. Заедно со множество други организации, Rational

4
Software Corporation го формира УМЛ Partners Consortium, кои на OMG групата им j
предложиза верзијата 1.0 од УМЛ јазикот, кога беше само една од многуте одговори кон
RFP.

Период на стандардизација: Познати компании: IBM, Oracle, Microsoft, Digital, Hewlett-


Packard, и Unisys биле вклучени во развојот на УМЛ. OMG групата го присвојува УМЛ
верзија 1.1 и за превеземе одговорноста за иден развој на
стандардот во ноември 1997 година. Сите одговори од RFP беа комбинирани во
верзијата 1.1 од УМЛ јазикот. УМЛ верзија 1.2 била објавена во 1998. Верзија 1.3 следела
една година подоцна. УМЛ 1.5 е објавен во март 2003. На УМЛ 2.0 се работело од 2000
година, и била прифатена од OMG во Јуни 2003.

Период на ревизија: После усвојувањето на УМЛ 1.1, се појавуваат различни верзии на


УМЛ јазикот. OMG групата формира RTF (Revision Task Force) за да прима јавни
коментари за УМЛ јазикот и да прави мали технички поправки на стандардот. Многу
производители на производи и услуги започнуваат да го поддржуваат и промовираат УМЛ
јазикот преку алатки, консултации, книги итн. Моменталната верзија на УМЛ јазикот е
2.2.

Период на индустријализација: Паралелно со периодот на ревизија, OMG групата го


предложува УМЛ стандардот за интернационална стандардизација како Publicly Available
Specification (PAS) преку Интернационалната организација за стандардизација (ISO).
Тековната верзија на УМЛ спецификацијата е достапна на http://www.omg.org.

ЗАПОЗНАВАЊЕ СО УМЛ ДИЈАГРАМИТЕ

УМЛ 2.2 има 14 видови на дијаграми поделени во две категории. Седум видови на
дијаграми ја претставуваат структурната информација и другите седум
претставуваат видови на однесување. Овие дијаграми може да се категоризираат
хиерархиски како што е прикажано на следниот класен дијаграм:

5
Структурни дијаграми
Структурните дијаграми нагласуваат кои работи во системот треба да бидат моделирани:
 Класен дијаграм (Статичен структурен дијаграм): ја опишува структурата на
системот покажувајќи ги класите на системот, нивните атрибути и врските помеѓу
класите.
 Компонентен дијаграм: опишува како софтверскиот систем е поделен на
компоненти ни ги покажува зависностите помеѓу овие компоненти.
 Композитно структурен дијаграм: jа опишува внатрешната структура на класи и
соработки што оваа структура ја прават возможна.
 Развоен дијаграм: служи за моделирање на хардверот кој се користи за
имплементација на системот, како и извршувачките средини и артефакти
распоредени на хардверот.
 Објектен дијаграм: покажува комплетен или делумен поглед на структурата на
моделираниот систем во одредено време.
 Пакетен дијаграм: опишува како системот е поделен на логички групации со
покажуваье на зависностите помегу овие групи.

6
 Дијаграм на профили: функционира на мета модел нивото и ги покажува
стереотипите како класи со «stereotype>> стереотипот, а профилите како пакети со
«<profile»> стереотипот. Проширувачката релација (полна линија со затворена,
исполнета стрелка) означува кој мета модел елемент се проширува со даден
стереотип.

Бидејќи структурните диаграми ја претставуваат структурата на системот, тие многу


се користат во документирање на архитектурата на софтверските системи.

Однесувачки диаграми
Однесувачките дијаграми нагласуваат што треба да се случи во системот кој се моделира:
 Дијаграм на активности: го претставува бизнис и оперативниот, чекор по чекор,
тек на работа на компонентите во системот. Дијаграмот на активности го
покажува целокупниот проток на контрола.
 Состојбен диіаграм: Стандардизирана нотација за опишување на многу системи,
од компјутерски програми до бизнис процеси.
 Случај на употреба дијаграм (use case): ја покажува функционалноста, обезбедена
од системот, во однос на актерите, нивните цели претставени со случај на
употреба состојби, и било какви зависности помеѓу тие случаи на употреба
состојби.
Откако однесувачките диаграми го илустрираат однесуваето на системот, тие
интензивно се користат за опишуване на функционалноста на софтверските системи.

Интеракциски дијаграми
Интеракциски диаграми, подмножество на однесувачките диаграми, го нагласуваат
протокот на контрола и податоци помегу работите во системот кои се моделираат:
 Колаборациски (Комуникациски) диаграм: покажува интеракции помегу
објекти или делови со помош на секвенцни пораки. Тие претставуваат комбинација
на информации превземени од Класен, Секвенцен и Случај на употреба диаграми
обаснувајќи ги и двете, статичната структура и динамичкото однесување на
системот

7
 Дијаграм на интеракциски преглед: се еден вид на диаграми на активности во
кои јазлите претставуваат интеракциски диаграми.
 Секвенцен диаграм: покажуваат како обектите комуницираат еден со друг со
помош на секвенцни пораки. Исто така укажува на животниот опсег на обіектите
поврзани со тие пораки.
 Временски диаграм: посебен вид на интеракциски диаграми, каде фокусот е на
временските ограничувања.

UML Класен дијаграм

Пример

8
Слика 1. Класен дијаграм за банка

Класен дијаграм за работењето на една банка. За секој корисник се водат


информации за името, презимето, мат. бр. Еден корисник може да има повеќе сметки, при
што за секоја сметка се води информација за кој корисник е сметката и тековното салдо.
Во рамки на класата за сметка треба да се обезбеди метод за проверка на тековното
салдо на сметката. Корисниците можат да вршат трансакции на своите сметки. При секоја
трансакција се наведува сметката на која се однесува, износот и типот на трансакција
(уплата или исплата), и се печати новата состојба.

Дијаграмот на класи го опишува секоја класа.


Се користат модификатори исто како и во програмирањето што ја означуваат приватноста
на атрибутите и функциите:
+ означува public
-Private
#protected

Use case

UML дијаграмите често се користат во банкарското управување за документирање на


банкарски систем. Конкретно, интеракцијата на клиентите на банката со автоматизирана
банкарска машина (банкомат) може да биде претставена во дијаграм на Use Case. Пред да
се напише софтверскиот код за банкомат, или кој било друг дизајн на системот, неопходно

9
е да се создаде визуелна претстава за сите објектно-ориентирани процеси. Ова се прави
најефективно со креирање на дијаграм за унифициран јазик за моделирање (UML),
користејќи објектно-ориентирано моделирање. UML работи како јазик за моделирање за
општа намена за софтверски инженери или системски аналитичари, нудејќи голем број на
различни стилови на дијаграми со кои визуелно се прикажуваат сите аспекти на
софтверскиот систем.
Софтверот за дијаграмирање ConceptDraw DIAGRAM, подобрен и проширен со
решението ATM UML Diagrams, нуди целосен опсег на икони, шаблони и дизајнерски
елементи потребни за верно претставување на архитектурата на банкоматите и
банкарскиот информациски систем користејќи UML стандарди. Решението ATM UML
Diagrams е корисно и за почетници и за напредни корисници.

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

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

10
Прикажан e дијаграм со секвенца за да се прикаже употребата на банкомат од еден
корисник. Прво, Корисникот ја вметнува картичката. Регистрира објект за управување со
картички. После тоа, овој објект испраќа порака до објектот Управување со корисници
дека картичката е прифатена. Овој објект сега враќа порака до корисникот и бара ПИН-
код. Корисникот е должен да го внесе. Кога го прави тоа, наидуваме на фрагмент на
интеракција, во кој имаме две алтернативи, т.е. два услови. Едната е дека ПИН-от е точен,
а другата е дека не е. Ако PIN-от е точен, објектот за управување со корисникот враќа
порака дека PIN-от е прифатен. И потоа испраќа порака до објектот Language Manager
дека корисникот е најавен. Објектот за управување со корисници делува како интерфејс од
корисникот до системот, а корисникот преку него комуницира со системот. Language
Management враќа порака дека корисникот треба да го избере јазикот што сака да го
користи. Кога е избран јазикот, објектот Управување со улоги враќа порака до
интерфејсот за да ја изберете услугата. Тука повторно имаме фрагмент од интеракција во
која повторно има два можни исходи. Едниот е Повлекување готовина, а другиот е
Проверете го салдото.

Доколку корисникот сака да подигне готовина, тој ја испраќа саканата сума до објектот за
управување со пари. Доколку дојде до пречекорување и корисникот внесе сума што ја
нема, му се враќа порака дека нема доволно пари, поради што е одјавен. Доколку сумата е
соодветна, парите се испраќаат до корисникот. И објектот за управување со пари испраќа
информации до објектот за управување со извештаи. Овој објект испраќа извештај за
завршената трансакција. Во вториот случај, т.е. ако корисникот сака да го провери
салдото, објектот за известување добива информации за износот на пари на сметката.
После тоа, го враќа извештајот на корисникот, по што следи одјавување од системот. Ако
во првата интеракција резултатот беше дека PIN-кодот е погрешен, на корисникот му се
испраќа порака да го внесе точниот PIN. Во случај да направи грешка по трет пат,
картичката се задржува и на корисникот му се враќа порака за повлекување на картичката.

Заклучок

Унифицираниот јазик за моделирање (UML) е јазик за моделирање за општа намена кој е


наменет да обезбеди стандарден начин за визуелизација на дизајнот на системот. Постојат
неколку цели за развој на UML, но најважна е да се дефинираат некој јазик за моделирање
со општа намена што можат да го користат сите моделари и исто така треба да бидат
лесни за разбирање и употреба. UML дијаграмите не се само за програмери, но и за
деловни корисници, обични луѓе и сите заинтересирани разбирање на системот. Системот
може да биде софтверски или несофтверски систем. Затоа мора бидете јасни дека UML не
е развоен метод, туку ги следи процесите за да го направи успешен систем.
Класниот дијаграм е главниот градежен блок на објектно-ориентираното моделирање. Се
користи за општо концептуално моделирање на структурата на апликацијата и за детално
моделирање моделирање, преведување на моделот во програмски код. Можни се и
дијаграми за класи се користи за моделирање на податоци. Класите во класниот дијаграм
ги претставуваат и главните елементи, интеракции со апликации и класи за програмирање.
Целта на дијаграмот класата го моделира статичкиот приказ на апликацијата. Дијаграмите
за класи се единствените дијаграми што може директно да се мапира на објектно-
11
ориентирани програмски јазици и затоа широко користен во времето на создавањето. Тоа
е најпопуларниот UML дијаграм во заедницата на софтверски инженери.

6. ЛИТЕРАТУРА

1. Wikipedia
https://en.wikipedia.org/wiki/Unified_Modeling_Language
2.creatly
https://creately.com/blog/diagrams/uml-diagram-types-examples/
3. Learning UML 2.0: A Pragmatic Introduction to UML 1st Edition, Kim Hamilton
4. http://www.uml.org/what-is-uml.htm . [Pristupljeno18.12.2018.godine]
5. https://en.wikipedia.org/wiki/Unified_Modeling_Language.[Pristupljeno
20.11.2018.godine]
6.https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/
[Pristupljeno21.11.2018.godine]

12

You might also like