Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ UMLΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 18

Автор АлСксандр Π›Π΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ²

β€’ ИмСна Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов языка UML Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌ словом, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с малСнькой Π±ΡƒΠΊΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ownedElement, allContents).

β€’ ИмСна ΠΌΠ΅Ρ‚Π°Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π±ΡƒΠ»Π΅Π²Ρ‹ значСния, всСгда Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с прСфикса Β«isΒ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, isAbstract).

β€’ ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ всСгда Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ словом Β«KindΒ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, AggregationKind).

β€’ ΠŸΡ€ΠΈ ссылках Π² тСкстС Π½Π° мСтаклассы, мСтаассоциаций, ΠΌΠ΅Ρ‚Π°Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ Ρ‚. Π΄. Π΄ΠΎΠ»ΠΆΠ½Ρ‹ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² точности Ρ‚Π΅ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ.

β€’ ИмСна стандартных ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (стСрСотипов) Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со строчной Π±ΡƒΠΊΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«typeΒ»).

РассмотрСнныС Π²Ρ‹ΡˆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° выдСлСния тСкста ΠΈΠΌΠ΅ΡŽΡ‚ нСпосрСдствСнноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ англоязычным Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌ языка ,UML. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вопросы Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ языка UML Π΄ΠΎ настоящСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π΅ нашли своСго отраТСния Π² Ρ€Π°Π±ΠΎΡ‚Π΅ OMG, отСчСствСнным спСциалистам придСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒ эти ΠΏΡ€Π°Π²ΠΈΠ»Π° Π½Π° случай использования Π² качСствС СстСствСнного русского языка. Π’ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π΄Π²ΡƒΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ:

β€’ ΠŸΡ€ΠΈ описании сСмантики языка UML всС ΠΈΠΌΠ΅Π½Π° Π΅Π³ΠΎ стандартных элСмСнтов (мСтаклассов, мСтаассоциаций, ΠΌΠ΅Ρ‚Π°Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²) допускаСтся Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π½Π° русском с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π½Π° английском. ΠŸΡ€ΠΈ этом, хотя ΠΈΠΌΠ΅Π½Π° стандартных элСмСнтов ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, согласно слоТившСйся отСчСствСнной Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡ… Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, класс ассоциации, элСмСнт ΠΌΠΎΠ΄Π΅Π»ΠΈ, пространство ΠΈΠΌΠ΅Π½).

β€’ ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ систСм Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ языка UML цСлСсообразно ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ англоязычныС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹, ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡΡΡŒ описанных Π²Ρ‹ΡˆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ» (ΠΊΡ€ΠΎΠΌΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ тСкста Π½Π° русском). ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° этой Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ Π²ΠΏΠΎΠ»Π½Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π° – ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ рСализация ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ, Ссли Π½Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ выдСлСния тСкста Π² языкС UML. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π΅ распространяСтся Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводятся Π² тСкстС ΠΊΠ½ΠΈΠ³ΠΈ с чисто ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ цСлями ΠΈ лишь Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ особСнности использования стандартных элСмСнтов языка UML.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 29

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… языка UML всС прСдставлСния ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ слоТной систСмы Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… графичСских конструкций, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΡ… Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. Π’ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… языка UML ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ:

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования (use case diagram)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (class diagram)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ повСдСния (behavior diagrams)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний (statechart diagram)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (activity diagram)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ взаимодСйствия (interaction diagrams) 

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (sequence diagram) 

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (collaboration diagram) 

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (implementation diagrams)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (component diagram)

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания (deployment diagram)

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

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования (см. Π³Π»Π°Π²Ρƒ 4).

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (см. Π³Π»Π°Π²Ρƒ 5).

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний (см. Π³Π»Π°Π²Ρƒ 6).

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (см. Π³Π»Π°Π²Ρƒ 7).

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (см. Π³Π»Π°Π²Ρƒ 8).

β€’ Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (см. Π³Π»Π°Π²Ρƒ 9). 1. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (см. Π³Π»Π°Π²Ρƒ 10). 8. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания (см. Π³Π»Π°Π²Ρƒ 11).

ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ этих Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΈ ΠΈΡ… названия ΡΠ²Π»ΡΡŽΡ‚ΡΡ каноничСскими Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π½Π΅ΠΎΡ‚ΡŠΠ΅ΠΌΠ»Π΅ΠΌΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ графичСской Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ языка UML. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, процСсс ООАП Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связан с процСссом построСния этих Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΈ этом ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ построСнных Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ являСтся самодостаточной Π² Ρ‚ΠΎΠΌ смыслС, Ρ‡Ρ‚ΠΎ Π² Π½ΠΈΡ… содСрТится вся информация, которая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° слоТной систСмы.

КаТдая ΠΈΠ· этих Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ прСдставлСния ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ слоТной систСмы Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… языка UML. ΠŸΡ€ΠΈ этом Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования прСдставляСт собой Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ модСль слоТной систСмы, которая являСтся исходной для построСния всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов являСтся, ΠΏΠΎ своСй сути, логичСской модСлью, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ΠΉ статичСскиС аспСкты структурного построСния слоТной систСмы.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ повСдСния Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ разновидностями логичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ динамичСскиС аспСкты функционирования слоТной систСмы. И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слуТат для прСдставлСния физичСских ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² слоТной систСмы ΠΈ поэтому относятся ΠΊ Π΅Π΅ физичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, интСгрированная модСль слоТной систСмы Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ UML (рис. 3.10) прСдставляСтся Π² Π²ΠΈΠ΄Π΅ совокупности ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ (см. рис. 3.9).

Рис. 3.10. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ модСль слоТной систСмы Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ UML

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 30

3.6. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ изобраТСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ языка UML

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ пСрСчислСнных Π²Ρ‹ΡˆΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² своСй основС Π³Ρ€Π°Ρ„Π°ΠΌΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π°, состоящими ΠΈΠ· Π²Π΅Ρ€ΡˆΠΈΠ½ Π² Ρ„ΠΎΡ€ΠΌΠ΅ гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой Ρ€Π΅Π±Ρ€Π°ΠΌΠΈ ΠΈΠ»ΠΈ Π΄ΡƒΠ³Π°ΠΌΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ информация, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ содСрТит Π² сСбС Π³Ρ€Π°Ρ„, ΠΈΠΌΠ΅Π΅Ρ‚ Π² основном топологичСский Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€, Π½ΠΈ гСомСтричСскиС Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Π½ΠΈ располоТСниС элСмСнтов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ (Π·Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ с мСтричСской осью Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ) Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния.

Для Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ языка UML ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π² Π½ΠΈΡ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:

β€’ Бвязи, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ линиями Π½Π° плоскости. Бвязи Π² языкС UML ΠΎΠ±ΠΎΠ±Ρ‰Π°ΡŽΡ‚ понятиС Π΄ΡƒΠ³ ΠΈ Ρ€Π΅Π±Π΅Ρ€ ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², Π½ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€.

β€’ Π’Π΅ΠΊΡ€Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТится Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Ρ€Π°Π½ΠΈΡ† ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ Π½Π° плоскости. ΠŸΡ€ΠΈ этом Ρ„ΠΎΡ€ΠΌΠ° этих Ρ„ΠΈΠ³ΡƒΡ€ (ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, эллипс) соотвСтствуСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ элСмСнтам языка UML (класс, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования) ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ сСмантику.

β€’ ГрафичСскиС символы, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Π²Π±Π»ΠΈΠ·ΠΈ ΠΎΡ‚ Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 31

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² языкС UML ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ основных Π²ΠΈΠ΄Π° графичСских конструкций:

β€’ Π—Π½Π°Ρ‡ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π½Π°Ρ‡ΠΎΠΊ прСдставляСт собой Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ фиксированного Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹. Она Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ свои Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСбя Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ символы. Π—Π½Π°Ρ‡ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… графичСских конструкций, Ρ‚Π°ΠΊ ΠΈ Π²Π½Π΅ ΠΈΡ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Π·Π½Π°Ρ‡ΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ окончания связСй элСмСнтов Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ обозначСния (ΡƒΠΊΡ€Π°ΡˆΠ΅Π½ΠΈΡ).

β€’ ГрафичСскиС символы Π½Π° плоскости. Π’Π°ΠΊΠΈΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ символы ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… гСомСтричСских Ρ„ΠΈΠ³ΡƒΡ€ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ высоту ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ с Ρ†Π΅Π»ΡŒΡŽ размСщСния Π²Π½ΡƒΡ‚Ρ€ΠΈ этих Ρ„ΠΈΠ³ΡƒΡ€ Π΄Ρ€ΡƒΠ³ΠΈΡ… конструкций языка UML. НаиболСС часто Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°ΠΊΠΈΡ… символов ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ строки тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‚ сСмантику ΠΈΠ»ΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ свойства ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов языка UML. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ, содСрТащаяся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΠΈΠ³ΡƒΡ€, ΠΈΠΌΠ΅Π΅Ρ‚ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.

β€’ ΠŸΡƒΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ· ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² Π»ΠΈΠ½ΠΈΠΉ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ графичСскиС символы. ΠŸΡ€ΠΈ этом ΠΊΠΎΠ½Ρ†Π΅Π²Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² Π»ΠΈΠ½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠΏΡ€ΠΈΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ с гСомСтричСскими Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΌΠΈ, слуТащими для обозначСния Π²Π΅Ρ€ΡˆΠΈΠ½ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΊΠ°ΠΊ принято Π² Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² (см. Π³Π»Π°Π²Ρƒ 2). Π‘ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния путям Π² языкС UML придаСтся особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ простыми топологичСскими сущностями. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части ΠΏΡƒΡ‚ΠΈ ΠΈΠ»ΠΈ сСгмСнты ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сами ΠΏΠΎ сСбС Π²Π½Π΅ содСрТащСго ΠΈΡ… ΠΏΡƒΡ‚ΠΈ. ΠŸΡƒΡ‚ΠΈ всСгда ΡΠΎΠΏΡ€ΠΈΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ графичСскими символами Π½Π° ΠΎΠ±Π΅ΠΈΡ… Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΎΠ² Π»ΠΈΠ½ΠΈΠΉ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΡƒΡ‚ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, которая Π½Π΅ соприкасаСтся Π½ΠΈ с ΠΎΠ΄Π½ΠΈΠΌ графичСским символом. Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π² качСствС окончания ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ€Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΈΠ³ΡƒΡ€Ρƒ – Π·Π½Π°Ρ‡ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ изобраТаСтся Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΠΎΠ½Ρ†ΠΎΠ² Π»ΠΈΠ½ΠΈΠΉ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ сСгмСнтами этого ΠΏΡƒΡ‚ΠΈ.

β€’ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ тСкста. Π‘Π»ΡƒΠΆΠ°Ρ‚ для прСдставлСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ грамматичСской Ρ„ΠΎΡ€ΠΌΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ использованиС строки тСкста Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ синтаксису Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ языка UML, посрСдством ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ грамматичСский Ρ€Π°Π·Π±ΠΎΡ€ этой строки. ПослСдний Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для получСния ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ. НапримСр, строки тСкста Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСкциях обозначСния класса ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ этого класса ΠΈΠ»ΠΈ Π΅Π³ΠΎ опСрациям. На использованиС строк накладываСтся Π²Π°ΠΆΠ½ΠΎΠ΅ условиС – сСмантика всСх допустимых символов Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π² языкС UML ΠΈΠ»ΠΈ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.