You are on page 1of 35

С.

Калајџиски

ì
UML – ДИЈАГРАМИ НА
СОСТОЈБИ
ОБЈЕКТНО ОРИЕНТИРАНА АНАЛИЗА И ДИЗАЈН - предавања

Проф. Д-р Слободан КАЛАЈЏИСКИ

С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Однос помеѓу UML дијаграмите

1
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Дијаграми на состојби

ì Промените во објектите кои се составен дел на некој реален


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

ì Преку дијаграмот на состојби во UML нотацијата се


прикажува граф на состојбите во кои може да се најде
одреден објект, заедно со транзициите помеѓу состојбите

С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Дијаграми на состојби

ì Преку дијаграмот на состојби се прикажуваат сите можни


животни истории на објект од одредена класа

ì Објектот кој се испитува се изолира од останатите објекти во


системот

ì Секое надворешно влијание се апстрахира како настан или


порака

2
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Состојби
ì Состојбата претставува временски
период од животниот тек на еден
објект од одредена класа

ì Состојбите во UML нотацијата се


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

С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Состојби
ì Делот за активности се состои од листа на активности
кои се превземаат кога системот/објектот ќе влезе или
излезе од состојбата или во текот на траењето на
состојбата

ì Пред името на активноста се става префикс кој го


означува типот, односно начинот на извршување на
активноста.
ì Се користат следните префикси:
ì еntry
ì do
ì exit

3
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Почеток, транзиции и крај на дијаграмот

ì Се користат истите симболи кои се користеа во дијаграмите


на активности за означување на почеток и крај на
активностите

ì Преминот од состојба во состојба се означува со стрелка

Симболи за почеток, крај и транзиција помеѓу состојбите

С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР
ì Ако сакаме да ја измоделираме работата на тостер со
помош на дијаграм на состојби, тогаш треба да ги земеме во
предвид општо познатите факти дека за да направиме тост
најпрвин треба да го вклучиме тостерот, потоа да ставиме
леб во него и по извесно време да го извадиме готовиот
тост.

à à

4
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Дијаграм на состојби за тостер

С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Детализирање на дијаграмот на состојби за тостер

5
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

ì Кај дијаграмите на
состојби е дозволено
вгнездување на
подсостојби во основни
состојби со цел да се
добие во деталност на
системот

6
С. Калајџиски


UML – СЕКВЕНЦНИ
ДИЈАГРАМИ
ОБЈЕКТНО ОРИЕНТИРАНА АНАЛИЗА И ДИЗАЈН - предавања

Проф. Д-р Слободан КАЛАЈЏИСКИ


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Секвенцни дијаграми

 Секој објектно ориентиран систем функционира преку


интеракциите помеѓу објектите кои влегуваат во неговиот
состав

 Секвенцните дијаграми се фокусираат на специфичните


пораки кои се разменуваат помеѓу објектите, односно на
начинот на повикување на овие пораки во текот на
реализацијата на одредена функционалност
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Секвенцни дијаграми

 При цртањето на секвенцниот дијаграм се земаат во


предвид следните елементи:

 Објекти кои влегуваат во комуникацијата


 Размена на пораки-повикување на методи помеѓу објектите
 Димензија ВРЕМЕ
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Секвенцни дијаграми - објекти


 Секој секвенцен дијаграм се состои од објекти кои се
поставуваат најгоре во дијаграмот, при што времето се
прикажува со испрекината линија која излегува од
објектот и ја прикажува животната линија на објектот

 Комуникацијата помеѓу објектите се одвива преку


пораки

 Активирањето и времетраењето на некоја метода од


објектот се нарекува активација и се прикажува со
правоаголник вдолж животната линија
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Секвенцни дијаграми - објекти

 Активациите се
прикажуваат на
места каде под
претпоставка би
било потребно
некое време
додека да се врати
резултат од
извршувањето на
методата
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Секвенцни дијаграми - пораки


 Пораките во секвенцниот дијаграм се всушност повици
на одредени методи дефинирани во класите/објектите

 Постојат три типови на пораки кои се користат во


секвенцните дијаграми:
 прости пораки (повици)
 синхрони пораки
 асинхрони пораки
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Секвенцни дијаграми - пораки

Слика 2. Типови на пораки кои се користат во секвенцните дијаграми


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

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

 Најпрвин се поставуваат објектите кои влегуваат во


секвенцниот дијаграм (кои објекти влегуваат во реализацијата
на одредена функционалност)

 Под секој објект се повлекува животната линија на објектот

 Од почетокот до крајот на функционалноста се повикуваат


методите од објектите преку кои се обезбедува
функционалноста (препорачливо е да се нумерираат истите)
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

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

 Доколку е потребно да се прикаже некој услов или циклус,


тогаш се користат средни загради [ ] во кои се става
соодветниот дел од наредбата

 Ако треба да се креира објект, тогаш во временската точка


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

 Ако треба да се уништи некој објект, тогаш во моментот кога


треба да се уништи на неговата животна линија се поставува
Х
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР
 Да се моделира интеракцијата помеѓу сопственикот на
автомобил и самиот автомобил преку безжичните сигнали
што се испраќаат од страна на клучот на автомобилот кога
корисникот ги притиска различните копчиња на клучот.
Имено клучот има три копчиња: „отвори“, „затвори“ и
„аларм“, така да притискањето на било кое од овие
копчиња ќе активира соодветна команда која ќе се изврши
од страна на автомобилот
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Слика 3. Класен дијаграм


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Слика 4. Иницијален секвенцен дијаграм


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Слика 5. Секвенцен дијаграм за интеракцијата помеѓу сопственик и автомобил


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

 Да се опише начинот на печатење на некој документ


креиран преку текст едитор со користење на секвенцен
дијаграм. Најпрвин во текст едиторот треба да се
отвори документот (или да се креира) и потоа да се
испрати во редот за чекање на печатарот. Печатарот
кога го печати документот зема блок по блок од
документот и секој блок го печати. Ова се повторува се
додека не се измине целиот документ.
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Комплетен секвенцен
дијаграм за начинот
на печатење на
текстуалниот
документ
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР
 Во секвентниот
дијаграм може да се
додаваат и елементи
од другите дијаграми
со цел подобро да се
објасни процесот

 Во случајов е покажана
комбинација на
состојби на одреден
објект со секвенцниот
дијаграм
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР
 Кога сакаме да
покажеме кој дел
од дијаграмот ќе
се изврши неколку
пати, освен * пред
ограничувањето за
циклус, може и
експлицитно да се
одбележи и
коментира
С. Калајџиски


UML – КОЛАБОРАЦИСКИ
ДИЈАГРАМИ
ОБЈЕКТНО ОРИЕНТИРАНА АНАЛИЗА И ДИЗАЈН - предавања

Проф. Д-р Слободан КАЛАЈЏИСКИ


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Колаборациски дијаграми
 Колаборацискиот дијаграм е сконцентриран и е тесно
поврзан со објектните дијаграми

 Со помош на колаборациските дијаграми се покажува како


објектите од објектниот дијаграм комуницираат
(колаборираат-соработуваат) меѓусебе

 Разликата помеѓу секвенцните и колаборациските дијаграми


е во тоа што секвенцните дијаграми се организирани околу
времето, а додека пак колаборациските околу просторот
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Колаборациски дијаграми

Повик на порака кон група на објекти

Придружување на променлива кон повик на порака


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Колаборациски дијаграми
 Добивање на колаборациски дијаграм од секвенцен
дијаграм:

 Пред секоја од пораките во дијаграмот, во зависност од


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

 Кога ќе се заврши со нумерацијата, се отстранува времето, со


што распределбата сега наместо по вертикала оди просторно,
а притоа врските и размената на пораки помеѓу објектите
треба да остане иста каква што била
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Колаборациски дијаграми
Пример: Да се опише процесот за генерирање на платен
список во некоја фирма. Имено во фирмата имаме сектори,
во кои работат повеќе вработени. Еден од вработените е
шеф на секторот. За секој сектор да се земе листата на
вработени во секторот и да се излиста сумата што треба да
се исплати како плата. На прва позиција да се испечатат
информациите за шефот на секторот. На крајот од листата
да се испечати вкупната сума за плата што треба да се
исплати во секторот.
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

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


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Секвенцен дијаграм за генерирање платен список


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Прва верзија на колаборациски дијаграм за генерирање платен список


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Втора верзија на колаборациски дијаграм за генерирање платен список


С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

Колаборациски дијаграми
Пример: Повторно ќе го разгледаме примерот со печатење
на текстуален документ. Имено треба да се опише начинот
на печатење на некој документ креиран преку текст едитор
со користење на секвенцен и колаборациски дијаграм.
Најпрвин во текст едиторот треба да се отвори документот
(или да се креира) и потоа да се испрати во редот за чекање
на печатарот. Печатарот кога го печати документот зема
блок по блок од документот и секој блок го печати. Ова се
повторува се додека не се измине целиот документ.
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Секвенцен дијаграм за
проблемот на печатење
документ
С. Калајџиски
С. Калајџиски Објектно Ориентирана Анализа и Дизајн - предавања

ПРИМЕР

Колаборациски дијаграм за проблемот на печатење на документ

You might also like