Диаграми на взаимодействие, сътрудничество и последователност с примери
Какво е диаграма на взаимодействие?
Диаграма на взаимодействие се използват в UML за установяване на комуникация между обекти. Той не манипулира данните, свързани с конкретния комуникационен път. Диаграмите на взаимодействие се фокусират най-вече върху предаването на съобщения и как тези съобщения съставляват една функционалност на системата. Диаграмите на взаимодействие са предназначени да показват как обектите ще реализират конкретните изисквания на дадена система. Критичният компонент в диаграмата на взаимодействие е спасителната линия и съобщенията.
Различните UML елементи обикновено притежават диаграми на взаимодействие. Подробностите за взаимодействието могат да бъдат показани с помощта на няколко нотации като диаграма на последователността, диаграма на времето, диаграма на комуникация/сътрудничество. Диаграмите на взаимодействие улавят динамичното поведение на всяка система.

Следват различните типове диаграми на взаимодействие, дефинирани в UML:
- Диаграма на последователността
- Диаграма на сътрудничество
- Диаграма на времето
Целта на диаграма на последователност в UML диаграма е да визуализира последователността на потока от съобщения в системата. Диаграмата на последователността в софтуерното инженерство показва взаимодействието между две жизнени линии като подредена във времето поредица от събития.
Диаграмата за сътрудничество в UML се нарича още комуникационна диаграма. Целта на диаграмата за сътрудничество е да подчертае структурните аспекти на системата, т.е. как се свързват различните жизнени линии в системата.
Времевите диаграми се фокусират върху момента, в който се изпраща съобщение от един обект към друг обект.
Цел на диаграмата на взаимодействие
Диаграмите на взаимодействие ви помагат да визуализирате интерактивното поведение на системата. Диаграмите на взаимодействие се използват, за да представят как един или повече обекти в системата се свързват и комуникират един с друг.
Диаграмите на взаимодействие се фокусират върху динамичното поведение на системата. Диаграма на взаимодействие ни предоставя контекста на взаимодействие между една или повече жизнени линии в системата.
In UML, диаграмите на взаимодействие се използват за следните цели:
- Диаграмите на взаимодействие се използват за наблюдение на динамичното поведение на дадена система.
- Диаграмата на взаимодействие визуализира комуникацията и последователността на предаване на съобщенията в системата.
- Диаграмата за моделиране на взаимодействие представя структурните аспекти на различни обекти в системата.
- Диаграмата на взаимодействие представлява подредената последователност от взаимодействия в системата.
- Диаграмата на взаимодействие предоставя средства за визуализиране на данните в реално време чрез UML.
- UML диаграмите на взаимодействие могат да се използват за обяснение на архитектурата на обектно-ориентирана или разпределена система.
Важна терминология
Диаграмата на взаимодействие съдържа жизнени линии, съобщения, оператори, инварианти на състоянието и ограничения.
връзка от жизнено значение
Спасителна линия представлява един участник във взаимодействие. Той описва как екземпляр на конкретен класификатор участва във взаимодействието.
Спасителна линия представлява роля, която екземпляр на класификатора може да играе във взаимодействието. Следват различни атрибути на спасителна линия,
- Име
- Използва се за препращане към спасителната линия в рамките на конкретно взаимодействие.
- Името на спасителна линия не е задължително.
- Тип
- Това е името на класификатор, на който жизнената линия представлява екземпляр.
- селектор
- Това е булево условие, което се използва за избор на конкретен екземпляр, който удовлетворява изискването.
- Атрибутът за избор също не е задължителен.
Означението на жизнената линия е обяснено в раздела за обозначения.
съобщения
Съобщението е специфичен тип комуникация между две жизнени линии в едно взаимодействие. Едно съобщение включва следните дейности,
- Съобщение за повикване, което се използва за извикване на операция.
- Съобщение за създаване на екземпляр.
- Съобщение за унищожаване на екземпляр.
- За изпращане на сигнал.
Когато спасителната линия получи съобщение за повикване, тя действа като заявка за извикване на операция, която има подобен подпис, както е посочено в съобщението. Когато спасителната линия изпълнява съобщение, тя има фокус върху контрола. С напредването на взаимодействието с течение на времето фокусът на контрола се премества между различни спасителни линии. Това движение се нарича поток на контрол.
Следват съобщенията, използвани в диаграмата на системното взаимодействие:
Име на съобщението | Значение |
---|---|
Syncхронично съобщение | Подателят на съобщение продължава да чака получателят да върне контрола от изпълнението на съобщението. |
Асинхронно съобщение | Подателят не чака връщане от получателя; вместо това продължава изпълнението на следващо съобщение. |
Обратно съобщение | Получателят на по-ранно съобщение връща фокуса на контрола на подателя. |
Създаване на обект | Подателят създава екземпляр на класификатор. |
Унищожаване на обект | Подателят унищожава създадения екземпляр. |
Намерено съобщение | Подателят на съобщението е извън обхвата на взаимодействие. |
Загубено съобщение | Съобщението никога не достига местоназначението и се губи при взаимодействието. |
Инварианти и ограничения на състоянието
Когато инстанция или спасителна линия получи съобщение, това може да доведе до промяна на състоянието. Състоянието е състояние или ситуация по време на жизнения цикъл на обект, при който той удовлетворява някакво ограничение, изпълнява някои операции и чака някакво събитие.
В диаграмата на взаимодействие не всички съобщения водят до промяна на състоянието на екземпляр. Някои съобщения нямат стойностите на някои атрибути. Няма странични ефекти върху състоянието на обекта.
OperaTor
Операторът определя операция за това как операндите ще бъдат изпълнени. Операторите в UML поддържат операции с данни под формата на разклоняване, както и итерация. Могат да се използват различни оператори, за да се гарантира използването на итерация и разклоняване в UML модела. Операторите opt и alt се използват за разклоняващи операции. Операторът за цикъл се използва за осигуряване на итерационни операции, при които дадено условие се изпълнява многократно, докато се получи задоволителен резултат. Операторът break се използва вътре в цикъла или итерационните операции. Той гарантира, че цикълът се прекратява, когато се срещне оператор за прекъсване. Ако условието за прекъсване не е посочено, тогава цикълът се изпълнява безкраен брой пъти, което води до срив на програмата.
Следват операторите, използвани в диаграма на взаимодействие:
OperaTor | Име | Значение |
---|---|---|
Избирам | Опция | Операндът се изпълнява, ако условието е вярно. напр. Ако иначе |
Друг | Алтернатива | Операндът, чието условие е вярно, се изпълнява. например превключвател |
Контур | Контур | Използва се за цикъл на инструкция за определен период. |
Почивка | Почивка | Той прекъсва цикъла, ако дадено условие е вярно или невярно, и се изпълнява следващата инструкция. |
Ref | препратка | Използва се за обозначаване на друго взаимодействие. |
от | Паралелно | Всички операнди се изпълняват паралелно. |
Повторение
В диаграма на взаимодействие можем също да покажем итерация, използвайки израз за итерация. Изразът за итерация се състои от спецификатор на итерация и незадължителна клауза за итерация. Няма предварително определен синтаксис за UML итерация.
В итерация, за да се покаже, че съобщенията се изпращат паралелно, се използва спецификатор на паралелна итерация. Спецификаторът на паралелна итерация се обозначава с *//. Итерацията в UML се постига чрез използване на оператора за цикъл.
разклонен
В диаграма на взаимодействие можем да представим разклоняване, като добавим предпазни условия към съобщенията. Условията на защита се използват, за да се провери дали дадено съобщение може да бъде изпратено напред или не. Съобщение се изпраща само когато условието му за защита е вярно. Едно съобщение може да има множество защитни условия или множество съобщения могат да имат едно и също защитно условие. Разклоняването в UML се постига с помощта на операторите alt и opt.
Това са някои от Най-важното терминология, използвана в диаграмата на взаимодействие на UML.
Видове диаграма на взаимодействие и обозначения
Следват различните типове диаграми на взаимодействие, дефинирани в UML:
- Диаграма на последователността
- Диаграма на сътрудничество
- Диаграма на времето
Основното обозначение на взаимодействието е правоъгълник с петоъгълник в горния ляв ъгъл на правоъгълна кутия.
Какво е диаграма на последователност?
A Диаграма на последователността просто изобразява взаимодействието между обекти в последователен ред. Целта на диаграмата на последователността в UML е да визуализира последователността на потока от съобщения в системата. Диаграмата на последователността показва взаимодействието между две жизнени линии като подредена във времето последователност от събития.
- Диаграма на последователност показва изпълнение на сценарий в системата. Спасителни линии в системата участват по време на изпълнението на системата.
- В диаграмата на последователността жизнената линия е представена от вертикална лента.
- Поток от съобщения между два или повече обекта се представя с помощта на вертикална пунктирана линия, която се простира в долната част на страницата.
- В диаграма на последователност се използват различни типове съобщения и оператори, които са описани по-горе.
- В диаграма на последователност също се използват итерация и разклоняване.
Горната диаграма на последователност съдържа означения за жизнената линия и нотация на различни съобщения, използвани в диаграма на последователност, като създаване, отговор, асинхронно съобщение и др.
Пример за диаграма на последователността
Следният пример за диаграма на последователността представя системата за поръчки на McDonald's:
Подредената последователност от събития в дадена диаграма на последователността е както следва:
- Направите поръчка.
- Платете пари на гишето в брой.
- Потвърждение на поръчката.
- Подготовка на поръчка.
- Сервиране на поръчка.
Ако някой промени реда на операциите, това може да доведе до срив на програмата. Това може също да доведе до генериране на неправилни резултати или резултати с грешки. Всяка последователност в посочената по-горе диаграма на последователността се обозначава с помощта на различен тип съобщение. Не може да се използва един и същи тип съобщение за обозначаване на всички взаимодействия в диаграмата, защото това създава усложнения в системата.
Трябва да внимавате, когато избирате нотацията на съобщение за всяко конкретно взаимодействие. Нотацията трябва да съответства на конкретната последователност в диаграмата.
Предимства на диаграмата на последователността
- Диаграмите на последователности се използват за изследване на всяко реално приложение или система.
- Диаграмите на последователности се използват за представяне на потока от съобщения от един обект към друг обект.
- Диаграмите на последователностите се поддържат по-лесно.
- Диаграмите на последователностите се генерират по-лесно.
- Диаграмите на последователността могат лесно да се актуализират в съответствие с промените в системата.
- Диаграмата на последователността позволява обратно, както и предно инженерство.
Недостатъци на диаграмата на последователността
- Диаграмите на последователностите могат да станат сложни, когато в системата са включени твърде много жизнени линии.
- Ако редът на последователността на съобщенията се промени, се получават неправилни резултати.
- Всяка последователност трябва да бъде представена с помощта на различна нотация на съобщението, което може да бъде малко сложно.
- Типът на съобщението определя вида на последователността в диаграмата.
Какво представлява диаграмата за сътрудничество?
Диаграма за сътрудничество изобразява връзките и взаимодействията между софтуерните обекти. Те се използват за разбиране на архитектурата на обекта в системата, а не за потока от съобщения, както в диаграма на последователност. Те са известни също като „комуникационни диаграми“.
Според обектно-ориентираното програмиране (OOPs), обектът има различни атрибути, свързани с него. Обикновено в една обектно-ориентирана система има множество обекти, където всеки обект може да бъде свързан с всеки друг обект в системата. Диаграмите за сътрудничество се използват за изследване на архитектурата на обектите в системата. Потокът от съобщения между обектите може да бъде представен с помощта на диаграма за сътрудничество.
Ползи от диаграмата за сътрудничество
- Нарича се още комуникационна диаграма.
- Той подчертава структурните аспекти на диаграмата на взаимодействие – как се свързва линията на живота.
- Синтаксисът му е подобен на този на диаграмата на последователността, с изключение на това, че линията на живот няма опашки.
- Последователността на предадените съобщения се обозначава чрез йерархично номериране на всяко съобщение.
- В сравнение с диаграмата на последователността комуникационната диаграма е семантично слаба.
- Обектните диаграми са специален случай на комуникационна диаграма.
- Тя ви позволява да се фокусирате върху елементите, вместо да се фокусирате върху потока от съобщения, както е описано в диаграмата на последователността.
- Диаграмите на последователността могат лесно да бъдат преобразувани в диаграма за сътрудничество, тъй като диаграмите за сътрудничество не са много изразителни.
- Докато моделирате диаграми за сътрудничество спрямо диаграми на последователност, част от информацията може да бъде загубена.
Горната нотация на диаграмата за сътрудничество съдържа жизнени линии заедно с конектори, самоцикли, съобщения напред и назад, използвани в диаграма за сътрудничество.
Недостатъци на диаграмата за сътрудничество
- Диаграмите за сътрудничество могат да станат сложни, когато в системата присъстват твърде много обекти.
- Трудно е да се изследва всеки обект в системата.
- Диаграмите за сътрудничество отнемат време.
- Обектът се унищожава след прекратяване на програмата.
- Състоянието на даден обект се променя моментално, което затруднява проследяването на всяка една промяна, настъпила в рамките на обект на система.
Пример за диаграма на сътрудничество
Следващата диаграма представя последователността на системата за управление на учениците:
Горната диаграма за сътрудничество представлява система за управление на информацията за студентите. Потокът на комуникация в горната диаграма е даден от,
- Студент иска влизане чрез системата за влизане.
- Механизъм за удостоверяване на софтуера проверява заявката.
- Ако записът на студент съществува в базата данни, тогава достъпът е разрешен; в противен случай се връща грешка.
Какво е времева диаграма?
Времева диаграма е вълнова форма или графика, която се използва за описване на състоянието на спасителна линия във всеки момент от време. Използва се за обозначаване на трансформацията на обект от една форма в друга форма. Времевата диаграма не съдържа обозначения, както се изисква в последователността и диаграмата за сътрудничество. Потокът между софтуерната програма в различни моменти от време се представя с помощта на вълнова форма.
- Това е правилно представяне на взаимодействията, което се фокусира върху специфичните времена на съобщенията, изпратени между различни обекти.
- Времевите диаграми се използват за обяснение на детайлната времева обработка на конкретен обект.
- Времевите диаграми се използват, за да обяснят как даден обект се променя в рамките на живота си.
- Времевите диаграми се използват най-вече с разпределени и вградени системи.
- В UML времевите диаграми се четат отляво надясно в съответствие с името на жизнената линия, указана в левия край.
- Времевите диаграми се използват за представяне на различни промени, които се случват в жизнената линия от време на време.
- Времевите диаграми се използват за показване на графично представяне на различни състояния на спасителна линия за единица време.
- UML предоставя различни означения за опростяване на преходното състояние между две жизнени линии за единица време.
Пример за времева диаграма
Времевата диаграма, дадена по-долу, представя няколко фази на a жизнен цикъл на разработка на софтуер.
В горната диаграма първо софтуерът преминава през фазата на изискванията, след това през проектирането и по-късно през фазата на разработка. Резултатът от предишната фаза в този момент от време се дава на втората фаза като вход. По този начин времедиаграмата може да се използва за описание на SDLC (жизнен цикъл на разработка на софтуер) в UML.
Предимства на времева диаграма
- Времевите диаграми се използват за представяне на състоянието на обект в конкретен момент от време.
- Времевата диаграма позволява обратно, както и предно инженерство.
- Времевата диаграма може да се използва за проследяване на всяка промяна в системата.
Недостатъци на времевата диаграма
- Времевите диаграми са трудни за разбиране.
- Времевите диаграми са трудни за поддържане.
Как да начертая диаграма на взаимодействие?
Диаграмите на взаимодействие се използват за представяне на интерактивното поведение на системата. Диаграмите на взаимодействие се фокусират върху динамичното поведение на системата. Диаграма на взаимодействие ни предоставя контекста на взаимодействие между една или повече жизнени линии в системата.
За да начертаете диаграма на взаимодействие, първо трябва да определите сценария, за който трябва да начертаете диаграма на взаимодействие. След като решите ситуацията, идентифицирайте различни спасителни линии, които ще участват във взаимодействието. Категоризирайте всички елементи на спасителната линия и ги изследвайте, за да идентифицирате възможни връзки и как жизнените линии са свързани една с друга. За да начертаете диаграма на взаимодействие, са необходими следните неща:
- Общият брой спасителни линии, които ще бъдат част от взаимодействие
- е последователност от поток от съобщения в различни обекти на системата.
- Различни оператори за улесняване на функционалността на диаграма на взаимодействие.
- Различни видове съобщения за по-ясно и точно показване на взаимодействието.
- Подредената последователност от съобщения.
- Организация и структура на обект.
- Различни времеви конструкции на обект.
Използване на диаграма на взаимодействие
Диаграмите на взаимодействие се състоят от диаграма на последователност, диаграма на сътрудничество и диаграми на времето. Следва конкретната цел на диаграмата на взаимодействие:
- Диаграмите на последователности се използват за изследване на всяко реално приложение или система.
- Диаграмите на взаимодействие се използват за изследване и сравняване на използването на последователност, сътрудничество и времеви диаграми.
- Диаграмите на взаимодействие се използват за улавяне на поведението на системата. Той показва динамичната структура на системата.
- Диаграмите на последователности се използват за представяне на потока от съобщения от един обект към друг обект.
- Диаграмите за сътрудничество се използват за разбиране на обектната архитектура на системата, а не за потока от съобщения.
- Диаграмите на взаимодействие се използват за моделиране на система като подредена във времето поредица от събития.
- Диаграмите на взаимодействие се използват както в обратното, така и в предното инженерство.
- Диаграмите на взаимодействие се използват за организиране на структурата на интерактивни елементи.
Oбобщение
- Взаимодействията са просто единици на поведението на класификатора.
- Критичните елементи в диаграмата на взаимодействие са жизнената линия и съобщенията.
- Диаграмите на взаимодействие се фокусират най-вече върху предаването на съобщения.
- Диаграмите на взаимодействие улавят динамичното поведение на всяка система.
- Диаграмата на взаимодействие съдържа диаграма на последователността, диаграма на времето, диаграма на комуникация/сътрудничество.
- UML диаграмата на последователността е за визуализиране на последователността на потока от съобщения в системата.
- Целта на диаграмата за сътрудничество е да подчертае структурните аспекти.
- Времевите диаграми се фокусират върху момента, в който се изпраща съобщение от един обект към друг обект.