УточняСм описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence

УточняСм описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence (ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ «Π‘Π΅Π»ΠΊΠΈ»)

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ) описаниС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UML Sequence Diagram β€” Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ срСду Enterprise Architect ΠΎΡ‚ австралийской ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Sparx Systems [1].
ΠŸΠΎΠ»Π½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ UML см. здСсь [2].

Для Π½Π°Ρ‡Π°Π»Π° поясню, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
Π’ 1-ΠΎΠΉ части ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠžΡ‚ модСлирования процСссов ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы» ΠΌΡ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ процСссы «сказочной» ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области β€” строчки ΠΏΡ€ΠΎ Π±Π΅Π»ΠΊΡƒ ΠΈΠ· «Π‘ΠΊΠ°Π·ΠΊΠΈ ΠΎ Ρ†Π°Ρ€Π΅ Π‘Π°Π»Ρ‚Π°Π½Π΅» А.Π‘.ΠŸΡƒΡˆΠΊΠΈΠ½Π°. И Π½Π°Ρ‡Π°Π»ΠΈ ΠΌΡ‹ с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Activity. ΠŸΠΎΡ‚ΠΎΠΌ Π²ΠΎ 2-ΠΎΠΉ части ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ модСль с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Use-case, Π½Π° РисункС 1 прСдставлСн Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚.

УточняСм описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence
Рисунок 1. Бвязь трСбования ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ интСрфСйса Π±ΡƒΠ΄Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ наш ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ;
  • ΠΊΠ°ΠΊΠΈΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π°ΠΌ понадобятся;
  • Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ;
  • ΠΊΠ°ΠΊΠΈΠΌΠΈ сообщСниями Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы для выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ элСмСнтами Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ стСрСотипами ΠΈ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ β€” Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ (Рисунок 2).

УточняСм описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence
Рисунок 2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты Sequence Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ располоТСны Π² Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ сообщСния. Ось Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° свСрху Π²Π½ΠΈΠ·.
Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Actor ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для прСдставлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊ событий.
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΡƒΡŽ линию, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ «Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ», Π³Π΄Π΅ этот элСмСнт сущСствуСт ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ участиС Π²ΠΎ взаимодСйствиях. Ѐокус управлСния обозначаСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
БообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², сообщСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ настроСны для отраТСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ свойств исходного ΠΈ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ элСмСнтов.
Π‘Ρ‚Π΅Ρ€Π΅ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Π΅ элСмСнты, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ (Boundary), элСмСнты управлСния (Control) ΠΈ сущности (Entity), ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для модСлирования ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса (GUI), ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΈ элСмСнтов Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, соотвСтствСнно.
ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΊΠ°ΠΊ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ с Ρ‚ΠΈΠΏΠΎΠΌ «loop».

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅ΠΌ ΡƒΡ‚ΠΎΡ‡Π½ΠΈΡ‚ΡŒ описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΠΎΡ€Π΅Ρ…Π΅».
Договоримся ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… обобщСниях ΠΈ допущСниях.

  1. ΠžΡ€Π΅Ρ…, ядро ΠΈ скорлупки β€” это всС ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ цСнности ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² (Рисунок 3).
    УточняСм описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence
    Рисунок 3. Π£Ρ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов
  2. Π’ Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ наш ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½ΠΎΡΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π»ΡŽΠ±Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… цСнностях.
  3. Π£Ρ‚ΠΎΡ‡Π½ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ вСдомости β€” «Π’Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π° ΠΌΠ°Ρ‚.цСнностСй».
  4. Допустим, Ρ‡Ρ‚ΠΎ наш ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, работая с GUI «Π’Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π° ΠΌΠ°Ρ‚.цСнностСй», ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΌΠ°Ρ‚.Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· GUI «ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° ΡƒΡ‡Π΅Ρ‚Π° ΠΌΠ°Ρ‚.цСнности».
  5. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° ΠΌΠ°Ρ‚.цСнности мСняСтся структура Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ GUI.
  6. ΠŸΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΡƒΡ‡Π΅Ρ‚Π° ΠΌΠ°Ρ‚.цСнности происходит ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°, построСнная с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этих Π΄ΠΎΠΏΡƒΡ‰Π΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Π½Π° РисункС 4.

УточняСм описаниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Sequence
Рисунок 4. Π£Ρ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½ΠΎΠ²ΠΎΠΌ ΠΎΡ€Π΅Ρ…Π΅»

О ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΈΠ΄ΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь:

Бписок источников

  1. Π‘Π°ΠΉΡ‚ Sparx Systems. [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] Π Π΅ΠΆΠΈΠΌ доступа: Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚: https://sparxsystems.com
  2. OMG Unified Modeling Language (OMG UML) Specification. Version 2.5.1. [Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½Ρ‹ΠΉ рСсурс] Π Π΅ΠΆΠΈΠΌ доступа: Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚: https://www.omg.org/spec/UML/2.5.1/PDF

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com