UML диаграми: характеристики, диаграма и видове

⚡ Умно обобщение

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

  • 📐 Основна дефиниция: Унифицираният език за моделиране е стандарт, признат от ISO, който използва графични диаграми за представяне на обектно-ориентирани дизайни, структури и поведение на софтуерни системи.
  • 🏛️ Две категории: UML диаграмите се разделят на структурни диаграми (статичен изглед на компонентите) и поведенчески диаграми (динамичен изглед на взаимодействията и работните процеси).
  • 🗂️ Структурни диаграми: Диаграмите на класове, обекти, пакети, компоненти и внедрявания представят статичната архитектура и връзките между системните елементи.
  • Поведенчески диаграми: Диаграмите на дейности, случаи на употреба и машини на състояния улавят системните потоци, взаимодействията с потребителите и преходите между състоянията във времето.
  • 🛠️ Инструменти и изкуствен интелект: Инструменти като StarUML, Visio и Lucidchart генерирайте UML диаграми визуално; инструментите, задвижвани от изкуствен интелект, вече могат автоматично да генерират точни диаграми от описания в обикновен текст или изходен код.
  • 📅 История на версиите: UML еволюира от версия 1.1 (1997) до 2.5.1 (2017), като всяка версия добавя типове диаграми, подобрява семантиката и опростява спецификацията.

UML диаграми

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

Защо да използваме UML? Пълна история

1990-те години на миналия век бяха ерата на развитие на обектно-ориентирани езици като напр C++. Тези обектно-ориентирани езици бяха използвани за създаване на сложни, но завладяващи системи.

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

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

UML е обектно-ориентиран унифициран език за моделиране. Той е изобретен от брилянтните софтуерни инженери Грейди Бууч, Ивар Джейкъбсън и Джеймс Ръмбо от софтуера Rational през 1994 и 1995 г. Разработва се до 1996 г.

Всеки от изобретателите на UML, а именно Грейди Буч, Ивар Джейкъбсън и Джеймс Румбо, имаше фантастична идея за проектиране на език, който ще намали сложността.

  • Методът на Booch беше много гъвкав за работа по време на проектирането и изграждането на обекти.
  • Методът на Джейкъбсън предостави чудесен начин за заобикаляне на случаите на употреба. Освен това има мощен подход за проектиране на високо ниво.
  • Методът на Rumbaugh се оказа много полезен при работа с чувствителни системи.

Later на, поведенческите модели и диаграмите на състоянието бяха въведени в UML, които бяха изобретени от Дейвид Харел.

UML беше признат за стандарт от Object Management Group (OMG) през 1997 г. Object Management Group отговаря за управлението на UML откакто беше приет като стандарт.

През 2005 г. Международната организация по стандартизация одобри UML като ISO стандарт. Използва се в различни индустрии за създаване на обектно-ориентирани модели.

Най-новата версия на UML е 2.5.1, която беше пусната през декември 2017 г.

UML версии

Дата версия За нас
ноември 1997 1.1 UML беше приет от Object Management Group. Това беше първата версия на UML.
март 2000 1.3 Беше направено малко надграждане на съществуващия модел със забележими промени в семантиката, нотациии мета-модели на UML.
септември 2001 1.4 Това беше периодът на основната актуализация на UML. Той мащабира UML чрез предоставяне на различни разширения. В диаграмите бяха въведени видимост, артефакт, стереотипи.
март 2003 1.5 Функции като процедури, механизъм за поток от данни бяха добавени към UML.
януари 2005 1.4.2 UML е приет като стандарт от ISO.
Август 2005 2.0 Към UML бяха добавени нови диаграми като обект, пакет, синхронизация, взаимодействие. Бяха добавени нови функции към диаграмите на активността и последователността. Диаграмата за сътрудничество беше преименувана на комуникационна диаграма. Бяха въведени множество функции и промени в съществуващите диаграми.
април 2006 2.1 Бяха направени корекции в UML 2.0.
2007 февруари 2.1.1 Upgrades бяха въведени в UML 2.1.
ноември 2007 2.1.2 UML 2.1.1 беше предефиниран.
2009 февруари 2.2 Бяха коригирани грешки в UML 2.1.2.
Май 2010 2.3 UML 2.2 беше ревизиран и бяха направени малки промени в диаграмите на компонентите.
Август 2011 2.4.1 Бяха направени промени в класове, пакети и стереотипи. UML 2.3 беше преработен с подобрени функции.
юни 2015 2.5 UML 2.4.1 беше преработена с малки промени. UML беше направен по-опростен от преди. Въведени бяха по-бърза функционалност и генериране на по-ефективни модели. Остарелите функции бяха елиминирани. Моделите и шаблоните бяха елиминирани като помощни конструкции.

Характеристики на UML

  1. Това е обобщен език за моделиране.
  2. Той е различен от езиците за софтуерно програмиране като Python, ° С, C++И др
  3. Това е графичен език, който може да се използва за генериране на мощни елементи за моделиране.
  4. Свързано е с обектно-ориентирани проекти и анализи.
  5. Има неограничени приложения дори извън софтуерната индустрия. Може да се използва за визуализиране на работния процес на фабрика.

Концептуален модел

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

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

  • Какви са обектите?
  • Как се осъществява взаимодействието за изпълнение на процес?

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

Следните обектно-ориентирани концепции са необходими, за да започнете с UML:

  • ОбектТова е обект от реалния свят. В рамките на една система са налични множество обекти. Това е основен градивен елемент на UML.
  • класКласът не е нищо друго освен контейнер, където се поддържат обекти и техните взаимоотношения.
  • Коремни мускулиtracАЦИ: Това е механизъм за представяне на обект, без да се показват подробности за изпълнението. Използва се за визуализиране на поведението на даден обект.
  • наследяване: Това е механизъм за разширяване на съществуващ клас за създаване на нов клас.
  • полиморфизъм: Това е механизъм за представяне на обект с множество форми, които се използват за различни цели.
  • Капсулирането: Това е метод за обвързване на обекта и данните заедно като едно цяло. Осигурява тясна връзка между обекта и данните.

Горните се наричат ​​също като основни градивни елементи на UML.

Какво е UML диаграма?

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

UML диаграмите са разделени на три различни категории като,

  • Структурна диаграма
  • Поведенческа диаграма
  • Диаграма на взаимодействие

Структурни диаграми в UML

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

Следват различните структурни диаграми в UML:

  • Класова диаграма
  • Диаграма на обекта
  • Диаграма на опаковката
  • Диаграма на компонентите
  • Диаграма на разполагане

Поведенчески диаграми в UML

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

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

Следват различните поведенчески диаграми в UML:

  • Диаграма на дейността
  • Диаграма на случаите на използване
  • Диаграма на държавната машина

Диаграми на взаимодействие в UML

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

Следват различните диаграми на взаимодействие в UML:

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

Подробното обяснение на горните диаграми е обяснено в допълнителни уроци.

Структурни срещу поведенчески UML диаграми

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

Атрибут Структурни диаграми Поведенчески диаграми
Гледка Статичен Динамичен
Фокус Компоненти и техните взаимовръзки Системни действия и взаимодействия
Примери Клас, Обект, Пакет, Компонент, Разгръщане Дейност, случай на употреба, машина на състоянията
Основна употреба Archiдизайн на текстури и бази данни Работен процес, потребителски пътешествия, преходи между състояния
Създадено, когато Предварително определяне на структурата на системата Моделиране на поведение по време на изпълнение и бизнес логика

UML инструменти

На пазара има много инструменти за генериране на UML диаграми. Някои са базирани на настолен компютър, докато други могат да се използват онлайн. Следва подбран списък с инструменти, които могат да се използват за създаване на UML модели:

Ще използваме StarUML приложение за генериране на UML диаграми.

Стъпки за инсталиране: Отворете връзката: http://staruml.io/download

Според спецификациите на вашия компютър. Изтеглете всяка версия на приложението. Тук ще изберем опцията windows.

StarUML Инсталация

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

Ще видите следния прозорец,

StarUML Инсталация

Вече можете да започнете да създавате UML диаграми.

Въпроси и Отговори

📊 UML 2.x дефинира 14 официални типа диаграми, разделени в две основни групи: 7 структурни диаграми (клас, обект, компонент, внедряване, пакет, композитна структура, профил) и 7 поведенчески диаграми (случай на употреба, дейност, машина на състоянията, последователност, комуникация, време, общ преглед на взаимодействията).

🗄️ UML диаграмите моделират обектно-ориентирани софтуерни системи и обхващат както структура, така и поведение. Диаграмите тип „обект-връзка“ (ER) се фокусират изключително върху схемата на базата данни и връзките между обектите на данни. UML класовите диаграми могат да представят таблици на базата данни, но носят допълнителна обектно-ориентирана семантика, която липсва на ER диаграмите.

🏢 Да. UML остава широко използван в корпоративната архитектура, вградените системи и регулираните индустрии като финанси и здравеопазване. Agile екипите често използват по-леки подмножества – най-често диаграми на класове и последователности – докато пълните UML пакети остават често срещани в проектирането на мащабни системи и правителствените проекти.

🤖 Да. Модели с изкуствен интелект като ChatGPT и GitHub Copilot могат да генерират PlantUML или синтаксис на „Русалка“ от описания в обикновен текст или изходен код. Инструменти като Lucidchart а Visio вече вгражда асистенти с изкуствен интелект, които изготвят диаграми на класове, последователности и случаи на употреба от подкани на естествен език за секунди.

🛠️ Водещите UML инструменти, задвижвани от изкуствен интелект, включват Lucidchartгенератор на AI диаграми, Microsoft Visio Copilot, Eraser.io и Draw.io с ChatGPT плъгини. PlantUML В комбинация с всеки голям езиков модел, разработчиците могат да пишат диаграми като код, докато GitLab и GitHub Copilot могат да извършват обратно инженерство на класови диаграми от съществуващи хранилища.

⭐ Диаграмите на класовете и диаграмите на последователностите са най-широко използваните. Диаграмите на класовете моделират статичната структура и архитектурата на кода, докато диаграмите на последователностите улавят как обектите взаимодействат във времето, което прави и двете популярни за проектна документация в Agile и корпоративни екипи.

🔍 Диаграмата на класовете определя плана – класове, атрибути, методи и взаимоотношения – на една система. Диаграмата на обектите показва моментна снимка на действителните екземпляри на тези класове в определен момент, с реални стойности, илюстрирайки как изглежда структурата по време на изпълнение.

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

Обобщете тази публикация с: