UML диаграма. Типове UML диаграми

20.03.2019

UML диаграмата е специализиран графичен език за описание, предназначен за обектно моделиране при разработването на различен софтуер. Този език има широк профил и е отворен стандарт, в който се използват различни графични символи за създаване на абстрактен системен модел. UML е създаден с цел да предостави дефиниция, визуализация, документация, както и проектиране на различни софтуерни системи. Трябва да се отбележи, че самата UML диаграма не е език за програмиране, но също така предвижда възможността за генериране на отделен код, базиран на него.

Защо е необходимо?

Използването на UML не завършва със симулиране на всички видове софтуер. Също така, този език се използва активно днес за моделиране на различни бизнес процеси, проектиране на системи, както и за показване на организационни структури.

С помощта на UML, разработчиците на софтуер могат да дадат пълно съгласие в графичната нотация, използвана за представяне на общи понятия като: компонент, обобщение, клас, поведение и агрегация. Поради това се постига по-голяма концентрация върху архитектурата и дизайна.

Също така трябва да се отбележи, че има няколко вида такива диаграми.

Диаграма на класа

Умл диаграма на състоянието

Диаграма на UML клас е статична структурна диаграма, предназначена да опише структурата на системата, както и да демонстрира атрибути, методи и зависимости между няколко различни класа.

Заслужава да се отбележи фактът, че има няколко гледни точки за изграждането на такива диаграми, в зависимост от това как ще се използват:

  • Концептуален. В този случай диаграмата на UML класа описва модела на определена тематична област и предоставя само класове на обекти на приложение.
  • Специфична. Диаграмата се използва в процеса на проектиране на различни информационни системи.
  • Реализуема. Диаграмата на класа включва всички видове класове, които се използват директно в програмния код.

Компонентна схема

uml диаграма

UML компонентната диаграма е напълно статична структурна диаграма. Тя е предназначена да демонстрира разделянето на дадена софтуерна система на различни структурни компоненти, както и връзките между тях. UML компонентната схема като такава може да използва всякакви модели, библиотеки, файлове, пакети, изпълними файлове и много други елементи.

Съставна / композитна структура

UML диаграмата на композитната / композитна структура също е статична структурна диаграма, но се използва за показване на вътрешната структура на класовете. Ако е възможно, тази диаграма може също да демонстрира взаимодействието на елементи, които са във вътрешната структура на класа.

Подтип от тях е UML-диаграмата на сътрудничеството, която се използва за демонстриране на ролите, както и за взаимодействието на различни класове в рамките на сътрудничеството. Те са доста удобни, ако искате да симулирате дизайн модели.

Трябва да се отбележи, че типовете UML класове и съставните структурни схеми могат да се използват едновременно.

Графика на разполагане

диаграма на дейностите uml

Тази диаграма се използва за моделиране на работните възли, както и на всички видове артефакти, които са били разположени върху тях. В UML 2, артефактите се разгръщат на различни възли, докато в първата версия са внедрени само компоненти. По този начин UML диаграмата на разполагане се използва предимно за втората версия.

Между артефакта и компонента, който той изпълнява, се формира зависимост от проявление.

Обектна диаграма

Този изглед ви позволява да видите пълна или частична снимка на системата, която се създава в определен момент от време. Той изцяло показва всички инстанции на класовете на дадена система с текущите стойности на техните параметри, както и връзките между тях.

Диаграма на пакета

uml диаграма на случая

Тази диаграма е структурна и основното й съдържание е всякакви пакети, както и връзката между тях. В този случай няма твърдо разделение между няколко структурни диаграми, в резултат на което тяхното използване най-често се намира единствено за удобство и само по себе си не носи никакво семантично значение. Заслужава да се отбележи, че различни UML диаграми могат да осигурят различни елементи (примери: пакети и самите пакети).

Използването им се извършва с цел да се осигури организирането на няколко елемента в групи на специфична основа, за да се опрости структурата, както и да се организира работата с модела на тази система.

Диаграма на активността

uml диаграма на компонентите

Диаграмата на UML активността показва декомпозицията на дадена дейност на няколко части. В този случай, терминът "дейност" се отнася до спецификацията на специфично изпълнимо поведение под формата на паралел, както и координирано последователно изпълнение на различни подчинени елементи - вложени видове дейност и различни действия, комбинирани от потоци от изходите на конкретен възел към входовете на друг.

Диаграмата на UML активността често се използва за моделиране на различни бизнес процеси, паралелни и последователни изчисления. Освен това те симулират различни технологични процедури.

Графична машина

Този изглед се нарича и малко по-различно - диаграмата на UML състоянието. Той има държавна машина с прости и композитни състояния, както и преходи.

Крайният държавен автомат е спецификация на последователност от различни състояния, през които преминава даден обект, или взаимодействие в отговор на определени събития в живота му, както и реакцията на обект върху такива събития. Състояние машина, която използва UML диаграма на състоянието е присвоена на изходния елемент и се използва за определяне на поведението на неговите инстанции.

Така наречените драконови схеми могат да се използват като аналози на такива диаграми.

Използвайте диаграми на случаи

uml диаграма на последователността

Диаграмата на случаите на използване на UML представя всички отношения, които възникват между участниците, както и различните случаи на употреба. Неговата основна задача е да приложи цялостно средство, чрез което клиентът, крайният потребител или някой разработчик ще могат съвместно да обсъждат поведението и функционалността на дадена система.

Ако диаграмата на случая на използване на UML се използва в процеса на моделиране на системата, анализаторът ще:

  • Ясно отделете симулираната система от нейната среда.
  • Идентифицирайте участниците, тяхното взаимодействие с тази система, както и очакваната функционалност.
  • Задайте в речника като предметна област на различни понятия, свързани с подробно описание на функционалността на тази система.

Ако в UML е разработена схема на използване, процедурата започва с текстово описание, което се получава при работа с клиента. В същото време заслужава да се отбележи фактът, че различни нефункционални изисквания в процеса на изготвяне на модел на прецеденти са напълно пропуснати и за тях ще бъде сформиран отделен документ.

общуване

Схемата за комуникация, подобно на UML диаграмата на последователността, е транзитивна, т.е. тя изразява взаимодействие, но в същото време го демонстрира по различни начини и ако е необходимо с необходимата степен на точност, можете да конвертирате едно в друго.

Диаграмата на комуникацията отразява взаимодействията между различните елементи на съставната структура, както и ролите на сътрудничеството. Неговата основна разлика от диаграмата на последователността е, че показва ясно отношенията между няколко елемента, а времето не се използва като отделно измерване.

Този тип се отличава с абсолютно свободен формат за организиране на няколко обекта и връзки по същия начин, както се прави в диаграмата на обекта. Ако е необходимо да се поддържа реда на съобщенията в този свободен формат, се извършва тяхното хронологично номериране. Четенето на тази диаграма започва с първоначалното съобщение 1.0 и след това продължава в посоката, в която съобщенията се предават от един обект на друг.

Повечето от тези диаграми показват точно същата информация, която осигурява диаграмата на последователността, но тъй като използва различен начин на представяне на информация, става много по-лесно да се идентифицират някои неща на една диаграма, отколкото на друга. Също така трябва да се отбележи, че диаграмата за комуникация по-ясно показва с кои елементи всеки отделен елемент взаимодейства, докато диаграмата на последователността по-ясно показва реда, в който се осъществяват взаимодействията.

Диаграма на последователността

Умл диаграма на класа

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

Основните елементи в този случай са обозначенията на различни обекти, както и вертикалните линии, представляващи преминаването на времето и правоъгълниците, осигуряващи активността на даден обект или изпълнението на дадена функция от него.

Диаграма за сътрудничество

Този тип диаграми ви позволяват да демонстрирате взаимодействието между няколко обекта, абстрахирайки се от последователността на излъчваните съобщения. Този тип диаграми в компактна форма отразява в себе си абсолютно всички предавани и получени съобщения на даден обект, както и форматите на тези съобщения.

Поради факта, че диаграмите на последователността и комуникацията са просто различен поглед от едни и същи процедури, Rational Rose осигурява способността да се създаде поредица от диаграми от комуникация или обратното, и също така извършва напълно автоматична синхронизация.

Графики за преглед на взаимодействията

Това са UML диаграми, които се отнасят до различни диаграми на дейностите и включват както елементи на последователността, така и конструкции на потока за управление.

Струва си да се отбележи, че този формат съчетава диаграмата за сътрудничество и последователност, които предоставят възможност от различни гледни точки да се разгледа взаимодействието между няколко обекта в системата, която се формира.

Графика за синхронизиране

Това е алтернативна версия на диаграмата на последователността, която изрично демонстрира промяна на състоянието на жизнената линия с определен времеви мащаб. Тя може да бъде много полезна в различни приложения в реално време.

Какви са предимствата?

Заслужава да се отбележат няколко предимства, които разграничават UML диаграмата за използване и други:

  • Езикът е обектно-ориентиран, в резултат на което технологиите за описване на резултатите от извършения анализ и дизайн са семантично близки до методите за програмиране във всички видове обектно-ориентирани езици на съвременния тип.
  • С помощта на този език системата може да бъде описана от почти всяка възможна гледна точка и различни аспекти на нейното поведение са описани по същия начин.
  • Всички диаграми са сравнително лесни за четене дори след сравнително бързо запознаване със синтаксиса му.
  • UML ви позволява да разширите, както и да въведете свои собствени графични и текстови стереотипи, което допринася за използването му не само в софтуерното инженерство.
  • Езикът е станал доста широко разпространен и се развива доста активно.

недостатъци

Независимо от факта, че изграждането на UML диаграми се различава по масата на своите предимства, често те се критикуват за следните недостатъци:

  • Излишъкът. В преобладаващата част от случаите критиците казват, че UML е твърде голям и сложен и често това е неоправдано. Тя включва доста излишни или почти безполезни конструкции и диаграми, като най-често тази критика се отнася до втората версия, а не до първата версия, защото при по-новите ревизии има по-голям брой компромиси “разработени от комисията”.
  • Различни неточности в семантиката. Поради причината, че UML се дефинира чрез комбинация от себе си, английски и OCL, липсва твърдостта, която е присъща на езиците, които са точно определени от техниката на официалното описание. В определени ситуации абстрактният синтаксис на OCL, UML и английски започва да противоречи един на друг, докато в други случаи те са непълни. Неточността на описанието на самия език е еднакво отразена както в потребителите, така и в доставчиците на инструменти, което в крайна сметка води до несъвместимост на инструментите поради уникалния начин за интерпретиране на различни спецификации.
  • Проблеми в процеса на изпълнение и проучване. Всички горепосочени проблеми създават известни трудности в процеса на въвеждане и изучаване на UML, и това е особено вярно, когато ръководството кара инженерите да го използват принудително, докато им липсват предварителни умения.
  • Кодът отразява кода. Друго мнение е, че значението не е на красиви и привлекателни модели, а на самите работни системи, т.е. кодът е проектът. Според това становище е необходимо да се разработи по-ефективен начин за писане на софтуер. UML обикновено се оценява в подходи, които съставят модели за регенериране на изпълним или изходен код. Но всъщност това може да не е достатъчно, защото на този език няма свойства за пълнота на Тюринг и всеки генериран код в крайна сметка ще бъде ограничен до това, което UML инструментът за тълкуване може да приеме или дефинира.
  • Несъответствие на товара Този термин се извлича от теорията на системния анализ, за ​​да се определи неспособността на даден вход на дадена система да възприеме различен изход. Както при всяка стандартна нотация, UML може да представя някои системи по-ефективно и по-кратко, отколкото други. По този начин, разработчикът е по-склонен към тези решения, които са по-удобни за преплитане на всички силни страни на UML, както и на други езици за програмиране. Този проблем е по-очевиден, ако езикът на развитието не отговаря на основните принципи на обектно-ориентираната ортодоксална доктрина, т.е. не се опитва да работи в съответствие с принципите на ООП.
  • Опитва да бъде универсален. UML е език за моделиране с общо предназначение, който се опитва да осигури съвместимост с всеки съществуващ език за обработка. В контекста на конкретен проект, за да може проектният екип да постигне крайната цел, трябва да изберете приложимите възможности на този език. В допълнение, възможните начини за ограничаване на обхвата на използване на UML в определена област преминават през формализма, който не е напълно артикулиран, но който сам по себе си е обект на критика.

Следователно използването на този език не е от значение във всички ситуации.