UML

UML (Unified Modeling Language) - это стандартный язык модСлирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, проСктирования, докумСнтирования ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° систСм. UML прСдоставляСт Π½Π°Π±ΠΎΡ€ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ аспСкты систСмы ΠΈ Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π’ΠΎΡ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML:

  1. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (Π‘lass diagram): Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для описания структуры систСмы ΠΈ Π΅Π΅ классов. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ классы, ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ассоциации, наслСдованиС, агрСгация) ΠΈ интСрфСйсы. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² систСмы ΠΈ ΠΈΡ… взаимосвязСй.

  2. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ² (Use case diagram): Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для модСлирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π°ΠΊΡ‚Π΅Ρ€ΠΎΠ² (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ) ΠΈ ΠΈΡ… взаимодСйствия с систСмой. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π°ΠΊΡ‚Π΅Ρ€Ρ‹, ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚Ρ‹ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности) ΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ основныС сцСнарии использования систСмы ΠΈ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… взаимодСйствиС с Π°ΠΊΡ‚Π΅Ρ€Π°ΠΌΠΈ.

  3. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (Sequence diagram): Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ взаимодСйствиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ сообщСний ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ сцСнарии. Она ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ порядок выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ сцСнария использования систСмы.

  4. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний (Statechart diagram): Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для модСлирования ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ систСмы. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ состояний ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ состояния, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈ условия, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… происходят эти ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний позволяСт ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ систСмы Π² зависимости ΠΎΡ‚ Π΅Π³ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния ΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий.

  5. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (Component diagram): Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² позволяСт ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы, ΠΈΡ… зависимости ΠΈ взаимодСйствиС Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, интСрфСйсы, зависимости, Π° Ρ‚Π°ΠΊΠΆΠ΅ связи с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

  6. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания (Deployment diagram): Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для модСлирования физичСской Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ систСмы, Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΈΡ… размСщСния Π½Π° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… устройствах. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ развСртывания ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΡƒΠ·Π»Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сСрвСры, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹), ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π­Ρ‚ΠΎ лишь Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML. UML Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… аспСктов модСлирования систСмы. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ зависит ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ ΠΈ Ρ†Π΅Π»Π΅ΠΉ модСлирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ контСкста ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для создания UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ

БущСствуСт мноТСство инструмСнтов для создания UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. НСкоторыС ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярных ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… инструмСнтов Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя:

  1. Enterprise Architect: ΠœΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для модСлирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для создания UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

  2. Visual Paradigm: Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π°Ρ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ инструмСнтов для модСлирования, Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°.

  3. Lucidchart: Онлайн-инструмСнт для создания Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ простой интСрфСйс ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ.

  4. PlantUML: Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° основС тСкстового описания. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ автоматичСски ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π° с использованиСм синтаксиса PlantUML.

  5. draw.io (diagrams.net): БСсплатный ΠΎΠ½Π»Π°ΠΉΠ½-инструмСнт для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Π»Π°Π΄Π°Π΅Ρ‚ простым интСрфСйсом ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΌΠΈ сСрвисами.

  6. Microsoft Visio: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для создания Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ модСлирования, которая Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Она прСдоставляСт ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр инструмСнтов ΠΈ возмоТностСй для создания ΠΈ рСдактирования Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

Π­Ρ‚ΠΎ лишь нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² инструмСнтов, ΠΈ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ сущСствуСт Π΅Ρ‰Ρ‘ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов для создания UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности ΠΈ прСимущСства. Π’Ρ‹Π±ΠΎΡ€ инструмСнта зависит ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ, потрСбностСй ΠΈ доступных рСсурсов.

Last updated