Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ uml Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов UML

ВсС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ UML ΠΌΠΎΠΆΠ½ΠΎ условно Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π΄Π²Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹, пСрвая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… β€’ ΠΎΠ±Ρ‰ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠžΠ±Ρ‰ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ практичСски Π½Π΅ зависят ΠΎΡ‚ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° модСлирования ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² любом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π±Π΅Π· оглядки Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Ρ‚.Π΄.

1.5.1. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° использования

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° использования (use case diagram) β€’ это Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅Π΅ прСдставлСниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ назначСния систСмы.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° использования ΠΏΡ€ΠΈΠ·Π²Π°Π½Π° ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° Π³Π»Π°Π²Π½Ρ‹ΠΉ вопрос модСлирования: Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ систСма Π²ΠΎ внСшнСм ΠΌΠΈΡ€Π΅?

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ использования ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° основных сущностСй: Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования 1 ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π»ΠΈΡ†Π° 2 , ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ‚ΠΈΠΏΡ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ:

  • ассоциация ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π»ΠΈΡ†ΠΎΠΌ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ использования 3 ;
  • ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π»ΠΈΡ†Π°ΠΌΠΈ 4 ;
  • ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ использования 5 ;
  • зависимости (Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²) ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ использования 6 .

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ использования, ΠΊΠ°ΠΊ ΠΈ Π½Π° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ 7 . Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, это Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ читаСмости Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ элСмСнты Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, примСняСмыС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ использования, ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅. Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 2.2 .

1.5.2. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (class diagram) β€’ основной способ описания структуры систСмы.

Π­Ρ‚ΠΎ Π½Π΅ ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ UML Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык, ΠΈ классы ΡΠ²Π»ΡΡŽΡ‚ΡΡ основным (Ссли Π½Π΅ СдинствСнным) "ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ".

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов примСняСтся ΠΎΠ΄ΠΈΠ½ основной Ρ‚ΠΈΠΏ сущностСй: классы 1 (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ многочислСнныС частныС случаи классов: интСрфСйсы, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, классы-ассоциации ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅), ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ основныС Ρ‚ΠΈΠΏΡ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ:

  • ассоциация ΠΌΠ΅ΠΆΠ΄Ρƒ классами 2 (с мноТСством Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… подробностСй);
  • ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ классами 3 ;
  • зависимости (Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²) ΠΌΠ΅ΠΆΠ΄Ρƒ классами 4 ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ интСрфСйсами.

НСкоторыС элСмСнты Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, примСняСмыС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов, ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½ΠΈΠΆΠ΅. Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π³Π»Π°Π²Π΅ 3 .

1.5.3. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° (state machine diagram) β€’ это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· способов Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания повСдСния Π² UML Π½Π° основС явного выдСлСния состояний ΠΈ описания ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ состояниями.

Π’ сущности, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°, ΠΊΠ°ΠΊ это слСдуСт ΠΈΠ· названия, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Π³Ρ€Π°Ρ„ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² состояний (см. Π³Π»Π°Π²Ρƒ 4), Π½Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ мноТСством Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΈ подробностСй.

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ основной Ρ‚ΠΈΠΏ сущностСй β€’ состояния 1 , ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ β€’ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Ρ‹ 2 , Π½ΠΎ ΠΈ для Ρ‚Π΅Ρ… ΠΈ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ мноТСство разновидностСй, ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… случаСв ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈΡ… всС Π²ΠΎ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±Π·ΠΎΡ€Π΅ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС всСх Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ 4.2 , Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основныС элСмСнты Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, примСняСмыС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°.

1.5.4. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (activity diagram) β€’ способ описания повСдСния Π½Π° основС указания ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² управлСния ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

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

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

1.5.5. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (sequence diagram) β€’ это способ описания повСдСния систСмы Π½Π° основС указания ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… сообщСний.

ЀактичСски, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ β€’ это запись ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сСанса Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы (ΠΈΠ»ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°). Π’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ самым сущСствСнным Π²ΠΎ врСмя выполнСния являСтся пСрСсылка сообщСний ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ИмСнно ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ посылок сообщСний отобраТаСтся Π½Π° Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅.

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

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

Ось Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ, Π² этом случаС считаСтся, Ρ‡Ρ‚ΠΎ врСмя Ρ‚Π΅Ρ‡Π΅Ρ‚ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ основныС элСмСнты Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, примСняСмыС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Для обозначСния самих Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² примСняСтся стандартная нотация β€’ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ с ΠΈΠΌΠ΅Π½Π΅ΠΌ экзСмпляра классификатора. ΠŸΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Π°Ρ линия, выходящая ΠΈΠ· Π½Π΅Π³ΠΎ, называСтся Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ (lifeline) 4 . Π­Ρ‚ΠΎ Π½Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π° графичСский ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΏΡ€ΠΈΠ·Π²Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ взгляд читатСля Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ. Π€ΠΈΠ³ΡƒΡ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΡƒΠ·ΠΊΠΈΡ… полосок, Π½Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π½Π° линию ΠΆΠΈΠ·Π½ΠΈ, Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ изобраТСниями ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… сущностСй. Π­Ρ‚ΠΎ графичСский ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Ρ€Π΅Π·ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ управлСния (execution occurrence) 5 ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами ΠΈΠΌΠ΅Π΅Ρ‚ мСсто активация (activation) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. БоставныС шаги взаимодСйствия(combined fragment) 6 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈ алгоритмичСскиС аспСкты ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° взаимодСйствия. ΠŸΡ€ΠΎΡ‡ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ см. Π² Π³Π»Π°Π²Π΅ 4 .

1.5.6. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ (communication diagram) β€’ способ описания повСдСния, сСмантичСски эквивалСнтный Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ЀактичСски, это Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ описаниС ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… экзСмпляров классификаторов, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ графичСскими срСдствами. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ инструмСнтов ΡƒΠΌΠ΅Π΅Ρ‚ автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ основной Ρ‚ΠΈΠΏ сущностСй β€’ экзСмпляры Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классификаторов 1 ΠΈ ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ β€’ связи 2 . Однако здСсь Π°ΠΊΡ†Π΅Π½Ρ‚ дСлаСтся Π½Π΅ Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Π½Π° структурС связСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ экзСмплярами.

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

1.5.7. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (component diagram) β€’ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ модулями (логичСскими ΠΈΠ»ΠΈ физичСскими), ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… состоит модСлируСмая систСма.

Основной Ρ‚ΠΈΠΏ сущностСй Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² β€’ это сами ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ 1 , Π° Ρ‚Π°ΠΊΠΆΠ΅ интСрфСйсы 2 , посрСдством ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… указываСтся взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ:

  • Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ интСрфСйсами (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ интСрфСйс);
  • зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ интСрфСйсами (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ интСрфСйс) 3 .

На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ основныС элСмСнты Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, примСняСмыС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π³Π»Π°Π²Π΅ 3 .

1.5.8. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° размСщСния

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° размСщСния (deployment diagram) наряду с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ состава ΠΈ связСй элСмСнтов систСмы ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ физичСски Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсах Π²ΠΎ врСмя выполнСния.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ размСщСния, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², добавляСтся Π΄Π²Π° Ρ‚ΠΈΠΏΠ° сущностСй: Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ 1 , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° 2 ΠΈ ΡƒΠ·Π΅Π» 3 (ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ классификатор, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ ΡƒΠ·Π»Π°, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ экзСмпляр), Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ·Π»Π°ΠΌΠΈ 4 , ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎ ΡƒΠ·Π»Ρ‹ физичСски связаны Π²ΠΎ врСмя выполнСния.

На рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ основныС элСмСнты Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, примСняСмыС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ размСщСния. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½Π° ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, примСняСтся Π»ΠΈΠ±ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости Β«deployΒ» 5 , Π»ΠΈΠ±ΠΎ Ρ„ΠΈΠ³ΡƒΡ€Π° ΠΎΠ΄Π½ΠΎΠΉ сущности помСщаСтся Π²Π½ΡƒΡ‚Ρ€ΡŒ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ сущности 6 . Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π² Π³Π»Π°Π²Π΅ 3 .

ЦСль Ρ€Π°Π±ΠΎΡ‚Ρ‹. ОзнакомлСниС с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ срСдствами модСлирования классов Π½Π° основС языка UML.

Π—Π°Π΄Π°Π½ΠΈΠ΅. ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ модСлирования классов Π½Π° основС языка UML, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ мСтодичСскиС указания ΠΈ . ΠžΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со срСдствами построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ классов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° StarUML 5.0, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ . Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ систСмы согласно Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ задания, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ срСдство StarUML 5.0. ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŽ.

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ модСлирования классов Π² языкС uml

ΠŸΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ Π²Π΅Ρ‰Π°Ρ… Π² ΠΎΠΊΡ€ΡƒΠΆΠ°ΡŽΡ‰Π΅ΠΌ вас ΠΌΠΈΡ€Π΅. ВСроятно, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ· Π½ΠΈΡ… ΠΈΠΌΠ΅ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ (свойства) ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ эти дСйствия Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

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

На рис. 16 прСдставлСн ΠΏΡ€ΠΈΠΌΠ΅Ρ€ обозначСния UML, Π³Π΄Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ свой­ства ΡΡ‚ΠΈΡ€Π°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹. Класс прСдставляСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π° Ρ‚Ρ€ΠΈ области. Бамая вСрхняя ΠΎΠ±Π»Π°ΡΡ‚ΡŒ содСрТит имя, Π² срСднСй Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π° Π² самой Π½ΠΈΠΆΠ½Π΅ΠΉ – ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов состоит ΠΈΠ· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ количС­ства Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², соСдинСнных линиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ классы связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой.

Рис. 16. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ класса Π² UML

Π—Π°Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»ΡΡ‚ΡŒ ΠΎ классах Π²Π΅Ρ‰Π΅ΠΉ, ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ… ΠΈ опСрациях? Для взаимодСйст­вия с нашим слоТным ΠΌΠΈΡ€ΠΎΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ соврСмСнноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΌΠΎΠ΄Π΅Β­Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅Π³ΠΎ аспСкты. ДСсятилСтний ΠΎΠΏΡ‹Ρ‚ подсказываСт, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Β­Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΈ прСдставляСт классы Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΎΡ‚ΠΏΡ€Π°Β­Π²Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΡƒ ΠΎΠ±Β­Ρ‰Π°Ρ‚ΡŒΡΡ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ Π² Π΅Π³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ процСсс выявлСния Π²Π°ΠΆΠ½Ρ‹Ρ… Π΄Π΅Β­Ρ‚Π°Π»Π΅ΠΉ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ трСбуСтся Ρ€Π΅ΡˆΠΈΡ‚ΡŒ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ прСдставляСт собой экзСмпляр класса – ΠΎΡΠΎΠ±ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, кото­рая ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Π’Π°ΡˆΠ° ΡΡ‚ΠΈΡ€Π°Π»ΡŒΠ½Π°Ρ машина, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹: компания-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ – Laundatorium, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ – Washmeister, сСрийный Π½ΠΎΠΌΠ΅Ρ€ из­дСлия – GL57774 ΠΈ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ – 16 Ρ„ΡƒΠ½Ρ‚ΠΎΠ².

На рис. 17 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прСдставляСтся Π² обозначСниях UML. ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ изобраТаСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, ΠΊΠ°ΠΊ Π² случаС прСдставлСния класса, Π½ΠΎ Π΅Π³ΠΎ имя ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎ. НаимСнованиС экзСмпляра Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ слСва ΠΎΡ‚ двоСточия, Π° Π½Π°ΠΈΠΌΠ΅Β­Π½ΠΎΠ²Π°Π½ΠΈΠ΅ класса – с ΠΏΡ€Π°Π²ΠΎΠΉ стороны.


Рис. 17. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² UML

ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ – это условноС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ класса Π² UML. ИмСнСм класса ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся слово, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ с прописной Π±ΡƒΠΊΠ²Ρ‹. Оно располагаСтся Π²Π²Π΅Ρ€Ρ…Ρƒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°. Если имя класса состоит ΠΈΠ· Π΄Π²ΡƒΡ… слов, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΒ­Π½ΠΈΡ‚Π΅ ΠΈΡ… ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ слово Ρ‚ΠΎΠΆΠ΅ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ с прописной Π±ΡƒΠΊΠ²Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π‘Ρ‚ΠΈΡ€Π°Π»ΡŒΠ½Π°Ρ Машина, рис. 18).

Рис. 18. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ класса Π² UML

Атрибуты

Атрибут – это свойство класса. Атрибуты ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π·Π½Π°Ρ‡Π΅Β­Π½ΠΈΠΉ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Ρ‚.Π΅. экзСмпляров) этого класса. Класс ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ любоС ΠΈΡ… количСство. ИмСна Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², состоящиС ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ слова, принято ΠΎΠ±ΠΎΒ­Π·Π½Π°Ρ‡Π°Ρ‚ΡŒ строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ. Если имя состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, Ρ‚ΠΎ эти слова ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ, ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, начи­наСтся с прописной Π±ΡƒΠΊΠ²Ρ‹. Бписок ΠΈΠΌΠ΅Π½ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² начинаСтся Π½ΠΈΠΆΠ΅ Π»ΠΈΒ­Π½ΠΈΠΈ, ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ ΠΈΡ… ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ класса (рис. 19, 20).

UML позволяСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ…. Π’ ΠΈΠ·ΠΎΠ±Ρ€Π°Β­ΠΆΠ΅Π½ΠΈΠΈ класса ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°. ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΒ­Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ строку, число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Ρ†Π΅Π»ΠΎΠ΅ число, логичСскоС Π·Π½Π°Β­Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ пСрСчислимыС Ρ‚ΠΈΠΏΡ‹. Для отобраТСния Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ отдСляСт имя Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΎΡ‚ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°. Π—Π΄Π΅ΡΡŒ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. На рис. 21 ΠΏΠΎΠΊΠ°Π·Π°Π½ этот способ задания Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².

Рис. 20. ЗначСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² класса

brandName: String = "Laundatorium"

modelName: String

serialNumber: String

capacity: Integer

Рис. 21. Π’ΠΈΠΏΡ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ прСдставляСт собой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π·Π°Π΄Π°Π½Π½ΡƒΡŽ списком ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ЛогичСский Ρ‚ΠΈΠΏ Ρ‚Π°ΠΊΠΆΠ΅ являСтся пСрСчислимым, ΠΏΠΎΒ­Ρ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ состоит ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ «истина» ΠΈ «лоТь». МоТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ свои собствСнныС пСрСчислимыС Ρ‚ΠΈΠΏΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, БостояниС), ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Β«Ρ‚Π²Π΅Ρ€Π΄ΠΎΠ΅Β», Β«ΠΆΠΈΠ΄ΠΊΠΎΠ΅Β» ΠΈ Β«Π³Π°Π·ΠΎΠΎΠ±Ρ€Π°Π·Π½ΠΎΠ΅Β».

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ класс, Π»ΠΈΠ±ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ класс) ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½Π°Π΄ Π΄Π°Π½Π½Ρ‹ΠΌ классом. Подобно ΠΈΠΌΠ΅Π½ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записываСтся строчными Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Ссли это ΠΎΠ΄Π½ΠΎ слово. Если имя состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, ΠΎΠ½ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ, ΠΈ всС слова, ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ, ΠΏΠΈΡˆΡƒΡ‚ΡΡ с прописной Π±ΡƒΠΊΠ²Ρ‹. Бписок ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ на­чинаСтся Π½ΠΈΠΆΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΎΡ‚Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (рис. 22).

Помимо Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± опСрациях. Π’ скобках, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π° ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π΅Π³ΠΎ Ρ‚ΠΈΠΏ. Один ΠΈΠ· Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, функция, ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ этом случаС ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΅Π³ΠΎ Ρ‚ΠΈΠΏ.

ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ носят Π½Π°Π·Π²Π°Π½ΠΈΠ΅ сигнатуры ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. На рис. 23 прСдставлСны ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса ΠΈ Π΅Π΅ сигнатура .

Рис. 22. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса ΠΈ ΠΈΡ… сигнатуры

addClothes(C:String)

removeClothes(Π‘:String)

addDetergent(D:Integer)

turnOn():Boolean

Рис. 23. Π‘ΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса

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

Π‘Ρ‚Π΅Ρ€Π΅ΠΎΡ‚ΠΈΠΏ являСтся Π³ΠΈΠ±ΠΊΠΎΠΉ конструкциСй, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. НапримСр, Ссли Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π°Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Β­Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€ΠΎΠ»ΠΈ этого класса.

Рис. 24. Π—Π°Π΄Π°Π½ΠΈΠ΅ стСрСотипов

ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΠΈ ΠΈ ограничСния

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

На ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ класса Π΅Π³ΠΎ обязанности ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π½ΠΈΠΆΠ΅ области ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (рис. 25).

Β«ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅Β»

Β«Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ машинС»

«для бСлья»

«для ΠΌΠ°ΡˆΠΈΠ½Ρ‹Β»

ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ:

Π²Π·ΡΡ‚ΡŒ грязноС бСльС Π½Π° Π²Ρ…ΠΎΠ΄Π΅

ΠΈ Π²Ρ‹Π΄Π°Ρ‚ΡŒ чистоС

Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅

Рис. 25. ΠžΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΠΈ класса

Π“Π»Π°Π²Π½ΠΎΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ класс, поэтому Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ обязанностСй являСтся Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ способом ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄Π²ΡƒΡΠΌΡ‹ΡΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒ описания.

Π‘ΠΎΠ»Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Β­Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСкста, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки. Π­Ρ‚ΠΎΡ‚ тСкст Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΏΡ€Π°Π²ΠΈΠ» класса, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ относится. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, для класса WashingMachine Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΠΌΠΊΠΎΡΡ‚ΡŒ Π±Π°Ρ€Π°Π±Π°Π½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 16, 18 ΠΈΠ»ΠΈ 20 Ρ„ΡƒΠ½Ρ‚ΠΎΠ² (ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Β«ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΒ» Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Смкости). Π’ΠΎΠ³Π΄Π° рядом с ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ класса Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ (capacity = 16 ΠΈΠ»ΠΈ 18 ΠΈΠ»ΠΈ 20 Ρ„ΡƒΠ½Ρ‚ΠΎΠ²). На рис. 26 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Рис. 26. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ классов

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Помимо Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, обязанностСй ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Β­Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ классС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², присоСдинСнных ΠΊ классу.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ связаны с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΈ опСрациями. На рис. 27 ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΠΉΡΡ Π½Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ·Π΄Π΅Π»ΠΈΠΉ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса WashingMachine.

Рис. 27. Π’ΠΈΠΏΡ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ наряду с тСкстом ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ графичСскиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

ΠΠ΅Π΄ΠΎΡΡ‚Π°ΡŽΡ‰Π°Ρ информация – это взаимодСйствиС классов ΠΌΠ΅ΠΆΠ΄Ρƒ собой. Если Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° модСль (рис. 28), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ отсутствиС связи ΠΈΠ³Ρ€ΠΎΠΊΠ° с мячом. Из самой ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ понятно, ΠΊΠ°ΠΊ ΠΈΠ³Ρ€ΠΎΠΊΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ происходит ΠΈΠ³Ρ€Π°. Бконструи­рован лишь список Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ², Π½ΠΎ Π½Π΅ «снимок» ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

Рассмотрим связи ΠΌΠ΅ΠΆΠ΄Ρƒ классами, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΒ­Π½Ρƒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

Ассоциации

Если классы ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ, Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ взаимодСйствиС называСтся ассоциациСй. Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ модСль ΠΈΠ³Ρ€Ρ‹ Π² баскСтбол содСрТит нСсколько ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ². Рассмотрим ΠΎΠ΄Π½Ρƒ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ – ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. Π•Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π·ΠΎΠΉ Β«ΠΈΠ³Ρ€ΠΎΠΊ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π² ΠΊΠΎΒ­ΠΌΠ°Π½Π΄Π΅Β» ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ Π΄Π²Π° класса Π»ΠΈΠ½ΠΈΠΈ, ΡƒΠΊΠ°Π·Π°Π² имя ассо­циации (ΠΈΠ³Ρ€Π°Π΅Ρ‚ Π²) прямо Π½Π°Π΄ этой Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Для наглядности с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Β­ΠΊΡ€Π°ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° указываСтся Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ взаимосвязи. На рис. 28 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ Β«Π˜Π³Ρ€Π°Π΅Ρ‚ Π²Β» ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

Рис. 28. Ассоциация ΠΌΠ΅ΠΆΠ΄Ρƒ классами

Когда ΠΎΠ΄ΠΈΠ½ класс ассоциируСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΠ³Ρ€Π°Π΅Ρ‚ свою Ρ€ΠΎΠ»ΡŒ Π² этой ассоциации. Π’Π°ΠΊΠΈΠ΅ Ρ€ΠΎΠ»ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠ΄ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ассоциации Π²ΠΎΠ·Π»Π΅ обозначСния класса, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ. Π’ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ эти Ρ€ΠΎΠ»ΠΈ носят названия Β«Π½Π°Π΅ΠΌΠ½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΊΒ» ΠΈ Β«Π½Π°Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΒ». На рис. 29 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ эти Ρ€ΠΎΠ»ΠΈ.

Рис. 29. Роль класса Π² ассоциации

Ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ: ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ². ОбС ассоциации ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, сопровоТдая ΠΈΡ… Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (рис. 30).

Рис. 30. Π”Π²Π΅ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ классами

Ассоциации ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТными, Ρ‡Π΅ΠΌ просто связь ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса с Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Если Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠ°ΠΊ Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΠΊΠΈ, Π½Π°ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Ρ‹Π΅, Ρ‚ΠΎ ΠΏΡ€ΠΈ построСнии ΠΈΡ… ассоциаций с классом Команда ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, ΠΈΠ·ΠΎΠ±Ρ€Π°Β­ΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° рис. 31.

Рис. 31. Ассоциации Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… классов с ΠΎΠ΄Π½ΠΈΠΌ

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ассоциаций

Иногда ассоциация ΠΌΠ΅ΠΆΠ΄Ρƒ двумя классами Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΡ€Π°Β­Π²ΠΈΠ»Ρƒ. Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ограничСния Π²ΠΎΠ·Π»Π΅ Π»ΠΈΠ½ΠΈΠΈ ассоциации. НапримСр, Банковский Π‘Π»ΡƒΠΆΠ°Ρ‰ΠΈΠΉ обслуТиваСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ отра­ТаСтся Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π°Π·Ρ‹ {ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ} Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках Π²ΠΎΠ·Π»Π΅ класса ΠšΠ»ΠΈΠ΅Π½Ρ‚ – для отраТСния ограничСния (рис. 32).

Рис. 32. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ Π½Π° Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ

Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ ограничСния прСдставляСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ Π˜Π›Π˜, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обозначаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ ассоциаций с надписью {ΠΈΠ»ΠΈ}. МодСль Π½Π° рис. 33 ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ студСнта, Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‰Π΅Π³ΠΎ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΒ­ΠΌΠ΅Ρ€Ρ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ обучСния.

Рис. 33. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π˜Π›Π˜ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ассоциациями

Бвязи

Ассоциация (ΠΊΠ°ΠΊ ΠΈ класс) характСризуСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ экзСмпляров. Если ΠΏΡ€Π΅Π΄ΡΡ‚Π°Β­Π²ΠΈΡ‚ΡŒ сСбС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°, ΠΈΠ³Ρ€Π°ΡŽΡ‰Π΅Π³ΠΎ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Β«Π˜Π³Ρ€Π°Π΅Ρ‚ Π²Β» называСтся связью , ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ Π»ΠΈΠ½ΠΈΠΈ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Имя этой связи, ΠΊΠ°ΠΊ ΠΈ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, подчСркиваСтся (рис. 34).

Рис. 34. Бвязь ΠΊΠ°ΠΊ элСмСнт ассоциации

ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ

Ассоциация ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π˜Π³Ρ€ΠΎΠΊ ΠΈ Команда ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π²Π° класса находятся Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Β«ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒΒ». Π—Π΄Ρ€Π°Π²Ρ‹ΠΉ смысл подсказываСт, Ρ‡Ρ‚ΠΎ это Π½Π΅ СдинствСнный Π²Π°Β­Ρ€ΠΈΠ°Π½Ρ‚ взаимосвязи. Π’ Π±Π°ΡΠΊΠ΅Ρ‚Π±ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΏΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π½Π΅ считая запасных ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ². Ассоциация Β«Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Β» Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΊΡ‚. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΈΠ³Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ассоциации Β«Π˜Π³Ρ€Π°Π΅Ρ‚ Π²Β».

Рис. 35. ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ связи

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π°Π·Π½ΠΎΠΉ кратности, кото­рая ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса, связанных с ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΒ­Ρ‚ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ это количСство Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, ΠΎΠΏΡ€Π΅Π΄Π΅Β­Π»Π΅Π½Π½ΠΎΠ΅ число ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π°Π΄ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ассоциации Π²ΠΎΠ·Π»Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Β­Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса, ΠΊΠ°ΠΊ это сдСлано Π½Π° рис. 35.

Рис. 36. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния кратности

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² кратности. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния кратности. Один класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связан с Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ спосо­бами: Β«ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒΒ», Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ», Β«ΠΎΠ΄ΠΈΠ½ ΠΊ нСскольким», Β«ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΡƒΒ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠΎΠ΄ΠΈΠ½ ΠΊ 5..10Β»), Β«ΠΎΠ΄ΠΈΠ½ ΠΊ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ количСству» (ΠΊΠ°ΠΊ Π² рассматриваСмом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅) ΠΈΠ»ΠΈ Β«ΠΎΠ΄ΠΈΠ½ ΠΊ Π½Π°Π±ΠΎΡ€ΡƒΒ» (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠΎΠ΄ΠΈΠ½ ΠΊ 9 ΠΈΠ»ΠΈ 10Β»).

Для прСдставлСния понятия Β«ΠΌΠ½ΠΎΠ³ΠΎΒ» Π² UML ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ символ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ (*). ЛогичСскоС Π˜Π›Π˜ пСрСдаСтся двумя обозначСниями: с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… Ρ‚ΠΎΡ‡Π΅ΠΊ (1. . *), Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅Β», ΠΈΠ»ΠΈ запятой (5,10), Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Β«5 ΠΈΠ»ΠΈ 10Β». На рис. 36 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ изобраТСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ кратности.

Если класс А находится Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ Β«ΠΎΠ΄ΠΈΠ½ ΠΊ 0 ΠΈΠ»ΠΈ 1Β» с классом Π‘, Ρ‚ΠΎ по­слСдний называСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ для класса А.

ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ассоциации

Если ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ ассоциации описываСтся ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ», Π²ΠΎΠ·Π½ΠΈΠΊΠ°Β­Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° поиска. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса для выполнСния ΠΎΡ‚Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π΅ΠΌΡƒ Ρ€ΠΎΠ»ΠΈ Π² ассоциации Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, Ρ‚ΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° основС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°. Π­Ρ‚ΠΎΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прСдставляСт со­бой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π° Ρ‚ΠΎΡ‡Π½Π΅Π΅, числовой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Когда Π²Ρ‹ Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ мСсто Π² гостиницС, Π²Π°ΠΌ присваиваСтся Π½ΠΎΠΌΠ΅Ρ€ Π·Π°ΠΊΠ°Π·Π°. Если Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΒ­Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ мСста, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π·Π°ΠΊΠ°Π·Π°.

Π’ UML ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ информация называСтся ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ. Он обозначаСтся нСбольшим ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ»Π΅Π³Π°Π΅Ρ‚ ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Β­Π½ΠΈΡŽ класса, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π³ΠΎ поиск (рис. 37). Π’Π°ΠΊΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ позволяСт эффСктивно свСсти ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΊ ΡΠ»ΡƒΡ‡Π°ΡŽ Β«ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒΒ».

Рис. 37. ΠšΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ассоциации

РСфлСксивныС ассоциации

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

Рис. 38. РСфлСксивная ассоциация

НаслСдованиС ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅

Одним ΠΈΠ· ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Β­Π½ΠΎΠ³ΠΎ ΠΈΠ· общСизвСстных аспСктов повсСднСвной ΠΆΠΈΠ·Π½ΠΈ: Ссли Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎ Π½Π΅ΠΊΠΎΒ­Ρ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ автоматичСски ΠΌΠΎΠΆΠ΅Ρ‚Π΅ пСрСнСсти эти знания Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Если извСстно, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ относится ΠΊ Π±Ρ‹Ρ‚ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ΅, Ρ‚ΠΎ ΡƒΠΆΠ΅ извСстно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, имя производитСля ΠΈ Π½ΠΎΠΌΠ΅Ρ€ издСлия. Если извСстно, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹ΠΌ, Ρ‚ΠΎ Π·Π°Ρ€Π°Π½Π΅Π΅ ясно, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Сст, спит, роТдаСтся, пСрСмСщаСтся Π² пространствС. ΠŸΡ€ΠΈ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ список Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π’ Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ‰Π΅ΠΉ называСтся наслСдованиСм. Π’ UML для наслСдования ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅. Один класс (Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΈΠ»ΠΈ подкласс) ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΒ­Π±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса ΠΈΠ»ΠΈ супСркласса). Π ΠΎΠ΄ΠΈΒ­Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс являСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌΡƒ.

Π’ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ обобщСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π±Π΅Π½ΠΎΠΊ способСн Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ро­дитСля. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ появляСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΒ­ΡΡ ΠΈ Ρ€Π΅Π±Π΅Π½ΠΎΠΊ, Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ наслСдования Π½Π΅ ограничиваСтся двумя уровнями: Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Β­ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² Ρ€ΠΎΠ»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ класса для Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ класса. Класс ΠœΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅ являСтся Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ классом для класса Π–ΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅ ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ – для класса Π›ΠΎΡˆΠ°Π΄ΡŒ.

Π’ UML наслСдованиС отобраТаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΠ½ΠΈΠΈ, которая соСдиняСт Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс с Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ. ΠšΠΎΠ½Π΅Ρ† Π»ΠΈΠ½ΠΈΠΈ, связанный с Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ классом, помС­чаСтся Π½Π΅ Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π½Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс. Вакая связь соотвСтствуСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ – «являСтся Π²ΠΈΠ΄ΠΎΠΌΒ». ΠœΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅ «являСтся Π²ΠΈΠ΄ΠΎΠΌΒ» ΠΆΠΈΒ­Π²ΠΎΡ‚Π½ΠΎΠ³ΠΎ, лошадь «являСтся Π²ΠΈΠ΄ΠΎΠΌΒ» ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ. На рис. 39 прСдставлСны Ρ€Π°Π½Π΅Π΅ описан­ная иСрархия наслСдования ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ классы. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° графи­чСскоС прСдставлСниС ситуации, ΠΊΠΎΠ³Π΄Π° Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ класс ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классов. Вакая конструкция позволяСт Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. НуТно ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ UML Π½Π΅ Π·Π°Β­ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ всС Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΠΈ Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΠΊΠ°Π·Ρ‹Β­Π²Π°Ρ‚ΡŒ наслСдуСмыС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°Ρ… подклассов, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ прСдставлСны Π² ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ супСркласса.

ΠŸΡ€ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ наслСдования Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс удовлСтворяСт Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ «являСтся Π²ΠΈΠ΄ΠΎΠΌΒ» ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΒ­ΠΌΡƒ классу. Если связь классов описываСтся ΠΏΠΎ-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π°ΡΡΠΎΡ†ΠΈΠ°Ρ†ΠΈΡŽ.

Π”ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ класс часто отличаСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Β­Ρ†ΠΈΠΉ. НапримСр, ΠΌΠ»Π΅ΠΊΠΎΠΏΠΈΡ‚Π°ΡŽΡ‰Π΅Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠ΅Ρ€ΡΡ‚ΡŒ ΠΈ Π΄Π°Π΅Ρ‚ ΠΌΠΎΠ»ΠΎΠΊΠΎ, Π° Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅Ρ‚ Π² классС Π–ΠΈΠ²ΠΎΡ‚Π½ΠΎΠ΅.

Класс ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ родитСля. Π’ этом случаС ΠΎΠ½ называСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹ΠΌ классом. Класс Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ класса, ΠΈ Ρ‚ΠΎΠ³Π΄Π° ΠΎΠ½ называСтся листовым классом. Если класс ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ родитСля, Ρ‚ΠΎ говорят ΠΎΠ± ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΌ наслСдовании , Π° Ссли нСсколько – ΠΎ мноТСствСнном наслСдовании.

Рис. 39. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ наслСдования

Зависимости

Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ взаимосвязи характСризуСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ класс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΒ­Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π­Ρ‚ΠΎ называСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ. НаиболСС ΠΎΠ±Ρ‰ΠΈΠΌ случаСм за­висимости являСтся использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ класса Π² сигнатурС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π½ΡƒΠΆΠ½ΠΎ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΡƒΡŽ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Ρ„ΠΎΡ€ΠΌΡ‹, заполняСмыС слуТащими. Для Π²Ρ‹Π±ΠΎΡ€Π° заполняСмой Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ мСню. Π’ систСмС Π±ΡƒΠ΄ΡƒΡ‚ Π΄Π²Π° класса: БистСма ΠΈ Π€ΠΎΡ€ΠΌΠ°. Π’ числС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса БистСма имССтся опСрация ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ (f: Π€ΠΎΡ€ΠΌΠ°). ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠ°Ρ систСмой Ρ„ΠΎΡ€ΠΌΠ°, вСроятно, зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ экзСмпляр класса Π€ΠΎΡ€ΠΌΠ° Π²Ρ‹Π±Ρ€Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. Π’ UML это ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ изо­браТаСтся ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚ зависимого класса (рис. 40).

Рис. 40. Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ зависимости

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

Π—Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°?

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ UML Π½Π΅ заканчиваСтся Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ всСвозмоТного ПО. Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΉ язык Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ сСгодня ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для модСлирования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… бизнСс-процСссов, вСдСния систСмного проСктирования, Π° Ρ‚Π°ΠΊΠΆΠ΅ отобраТСния ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… структур.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ UML Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ соглашСниС Π² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… графичСских обозначСниях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ понятия, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ: ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚, ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅, класс, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ агрСгация. Π—Π° счСт этого достигаСтся большая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСсколько Π²ΠΈΠ΄ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов UML прСдставляСт собой ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΡƒΡŽ для описания структуры систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ дСмонстрации Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ², ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ классами.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСсколько Ρ‚ΠΎΡ‡Π΅ΠΊ зрСния Π½Π° построСниС Ρ‚Π°ΠΊΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ:

  • ΠšΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов UML осущСствляСт описаниС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, ΠΈ Π² Π½Π΅ΠΉ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ классы ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • БпСцифичСская. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² процСссС проСктирования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.
  • РСализационная. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя всСвозмоТныС классы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпосрСдствСнно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠΉ/составной структуры

UML Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠΉ/составной структуры Ρ‚Π°ΠΊΠΆΠ΅ являСтся статичСской структурной Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠΎΠΉ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ½Π° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру классов. По возмоТности данная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ взаимодСйствиС элСмСнтов, находящихся Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС класса.

Подвидом ΠΈΡ… являСтся UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для дСмонстрации Ρ€ΠΎΠ»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ взаимодСйствия Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… классов Π² Π³Ρ€Π°Π½ΠΈΡ†Π°Ρ… ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Они ΡΠ²Π»ΡΡŽΡ‚ΡΡ достаточно ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ Π² Ρ‚ΠΎΠΌ случаС, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ проСктирования.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²ΠΈΠ΄Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ UML классов ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠΉ структуры.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания

Данная Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΡƒΠ·Π»Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ всСвозмоТныС Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½ΠΈΡ… Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹. Π’ UML 2 Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ… осущСствляСтся Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ², Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания UML ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ прСимущСствСнно ΠΊΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии.

ΠœΠ΅ΠΆΠ΄Ρƒ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚, формируСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ манифСстации.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π”Π°Π½Π½Ρ‹ΠΉ Π²ΠΈΠ΄ позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΆΠ΅ частичный снимок создаваСмой систСмы Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Π½Π΅ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС экзСмпляры классов ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ систСмы с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

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

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ UML ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° нСсколько составных частСй. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС понятиСм Β«Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΒ» называСтся спСцификация ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ исполняСмого повСдСния Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… элСмСнтов - Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… дСйствий, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, ΠΈΠ΄ΡƒΡ‰ΠΈΠΌΠΈ ΠΎΡ‚ Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° ΠΊ Π²Ρ…ΠΎΠ΄Π°ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°

Π­Ρ‚ΠΎΡ‚ Π²ΠΈΠ΄ называСтся ΠΈ нСсколько ΠΈΠ½Π°Ρ‡Π΅ - Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний UML. Π˜ΠΌΠ΅Π΅Ρ‚ прСдставлСнный ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ с простыми ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΌΠΈ состояниями, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°ΠΌΠΈ.

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

Π’ качСствС Π°Π½Π°Π»ΠΎΠ³ΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Ρ€Π°ΠΊΠΎΠ½-схСмы.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ сцСнариСв использования

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования UML ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π½Π° сСбС всС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°ΠΊΡ‚Π΅Ρ€Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ использования. Главная Π΅Π΅ Π·Π°Π΄Π°Ρ‡Π° - ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ собой ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ΅ срСдство, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ, ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ смоТСт совмСстно ΠΎΠ±ΡΡƒΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ систСмы.

Если Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования UML ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² процСссС модСлирования систСмы, Ρ‚ΠΎ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊ собираСтся:

  • Π§Π΅Ρ‚ΠΊΠΎ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ систСму ΠΎΡ‚ Π΅Π΅ окруТСния.
  • Π’Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π»ΠΈΡ†, ΠΏΡƒΡ‚ΠΈ ΠΈΡ… взаимодСйствия с Π΄Π°Π½Π½ΠΎΠΉ систСмой, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π».
  • Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² глоссарии Π² качСствС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ понятия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌΡƒ описанию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π΄Π°Π½Π½ΠΎΠΉ систСмы.

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

ΠšΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ

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

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

Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ отличаСтся Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ свободным Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ упорядочивания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ связСй Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ это осущСствляСтся Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Если Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ порядок сообщСний ΠΏΡ€ΠΈ этом свободном Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅, осущСствляСтся ΠΈΡ… хронологичСская нумСрация. Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ начинаСтся с ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ сообщСния 1.0, ΠΈ впослСдствии продолТаСтся ΠΏΠΎ Ρ‚ΠΎΠΌΡƒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ осущСствляСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° сообщСний ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ.

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ UML дСмонстрируСт взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² соотвСтствии с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΡ… проявлСния. На Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ отобраТаСтся упорядочСнноС Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’ частности, Π½Π° Π½Π΅ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ участиС Π²ΠΎ взаимодСйствии, Π° Ρ‚Π°ΠΊΠΆΠ΅ полная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΈΠΌΠΈ сообщСний.

Π“Π»Π°Π²Π½Ρ‹ΠΌΠΈ элСмСнтами Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ обозначСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΈ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° сотрудничСства

Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ позволяСт ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡΡΡŒ ΠΎΡ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ трансляции сообщСний. Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π² ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π² сСбС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Π΅ сообщСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ этих сообщСний.

По ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой просто-напросто Ρ€Π°Π·Π½Ρ‹ΠΉ взгляд Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Rational Rose прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ· Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΈΠ»ΠΈ ΠΆΠ΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π° Ρ‚Π°ΠΊΠΆΠ΅ осущСствляСт ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΈΡ… ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΠ±Π·ΠΎΡ€Π° взаимодСйствия

Π­Ρ‚ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ языка UML, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ разновидности Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ элСмСнты Sequence ΠΈ конструкции ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС Collaboration ΠΈ Sequence diagram, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ с Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ зрСния Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмС.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° синхронизации

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ дСмонстрируСт ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояния Π½Π° Π»ΠΈΠ½ΠΈΠΈ ΠΆΠΈΠ·Π½ΠΈ с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ шкалой Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достаточно ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… прилоТСниях Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ Ρ‡Π΅ΠΌ прСимущСства?

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ нСсколько прСимущСств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ отличаСтся UML Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° пользования ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅:

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

НСдостатки

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ построСниС UML-Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ отличаСтся массой своих плюсов, довольно часто ΠΈΡ… ΠΈ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΡŽΡ‚ Π·Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ нСдостатки:

  • Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ. Π’ прСимущСствСнном Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ говорят ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ UML являСтся слишком большим ΠΈ слоТным, ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ это Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ. Π’ Π½Π΅Π³ΠΎ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ достаточно ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΆΠ΅ практичСски бСсполСзных конструкций ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто подобная ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠ° ΠΈΠ΄Π΅Ρ‚ Π² адрСс Π²Ρ‚ΠΎΡ€ΠΎΠΉ вСрсии, Π° Π½Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²Ρ‹Ρ… рСвизиях присутствуСт большСС количСство компромиссов Β«Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ΠΎΠΌΒ».
  • Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ нСточности Π² сСмантикС. По Ρ‚ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅, Ρ‡Ρ‚ΠΎ UML опрСдСляСтся ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ сСбя, английского ΠΈ OCL, Ρƒ Π½Π΅Π³ΠΎ отсутствуСт ΡΠΊΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ, которая являСтся присущСй для языков, Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ описания. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ситуациях абстрактный синтаксис OCL, UML ΠΈ английский Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ΡŒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ. ΠΠ΅Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ описания самого языка ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ отраТаСтся ΠΊΠ°ΠΊ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ…, Ρ‚Π°ΠΊ ΠΈ Π½Π° поставщиках инструмСнтов, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСсовмСстимости инструмСнтов ΠΈΠ·-Π·Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ способа Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ²ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… спСцификаций.
  • ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² процСссС внСдрСния ΠΈ изучСния. ВсС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ слоТности Π² процСссС внСдрСния ΠΈ изучСния UML, ΠΈ Π² особСнности это касаСтся Ρ‚Π΅Ρ… случаСв, ΠΊΠΎΠ³Π΄Π° руководство заставляСт ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² насильно Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρƒ Π½ΠΈΡ… ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ.
  • Код ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ΄. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ красивыС ΠΈ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π° нСпосрСдствСнно Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ систСмы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π’ соотвСтствии с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ Π΅ΡΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивный способ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. UML принято Ρ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ…, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄Π΅Π»ΠΈ для рСгСнСрирования Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΆΠ΅ исходного ΠΊΠΎΠ΄Π°. Но Π½Π° самом Π΄Π΅Π»Π΅ этого ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСдостаточно, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ языкС ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ свойства ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΏΠΎ Π’ΡŒΡŽΡ€ΠΈΠ½Π³Ρƒ, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сгСнСрированный ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ UML инструмСнт.
  • РассогласованиС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ происходит ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ систСмного Π°Π½Π°Π»ΠΈΠ·Π° для опрСдСлСния нСспособности Π²Ρ…ΠΎΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ систСмы Π²ΠΎΡΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ½ΠΎΠΉ. Как Π² Π»ΡŽΠ±Ρ‹Ρ… стандартных систСмах ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, UML ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ систСмы Π² Π±ΠΎΠ»Π΅Π΅ эффСктивном ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ большС склоняСтся ΠΊ Ρ‚Π΅ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΡ„ΠΎΡ€Ρ‚Π½Ρ‹ΠΌΠΈ для пСрСплСтСния всСх ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… сторон UML, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования. Данная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° являСтся Π±ΠΎΠ»Π΅Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ Π² Ρ‚ΠΎΠΌ случаС, Ссли язык Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ соотвСтствуСт основным ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΎΡ€Ρ‚ΠΎΠ΄ΠΎΠΊΡΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡ‚Ρ€ΠΈΠ½Ρ‹, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ стараСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² соотвСтствии с ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌΠΈ ООП.
  • ΠŸΡ‹Ρ‚Π°Π΅Ρ‚ΡΡ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ. UML прСдставляСт собой язык модСлирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стараСтся ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π»ΡŽΠ±Ρ‹ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π½Π° сСгодняшний дСнь языком ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ контСкстС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠ² смогла Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Π΅ возмоТности этого языка. Помимо этого Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ограничСния сфСры использования UML Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ области проходят Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сформулированным, Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сам прСдставляСт собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, использованиС Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка являСтся Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΠΎ всСх ситуациях.

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ мСсто Π² ООАП Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° логичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ систСмы Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов. Нотация классов Π² языкС UML проста ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятна всСм, ΠΊΡ‚ΠΎ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π» ΠΎΠΏΡ‹Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с CASE-инструмСнтариями. БхоТая нотация примСняСтся ΠΈ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – экзСмпляров класса, с Ρ‚Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ класса добавляСтся имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ вся надпись подчСркиваСтся.

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

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

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

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

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

Класс (class) Π² языкС UML слуТит для обозначСния мноТСства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ структурой, ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌΠΈ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… классов. ГрафичСски класс изобраТаСтся Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ линиями Π½Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈΠ»ΠΈ сСкции (рис. 5.1). Π’ этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ имя класса, Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ (ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅) ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹).

Рис. 5.1. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ класса Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтов обозначСния класса являСтся Π΅Π³ΠΎ имя. На Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… этапах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ классы ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒΡΡ простым ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса (рис. 5.1, Π°). По ΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ описания классов Π΄ΠΎΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ (рис. 5.1, Π±) ΠΈ опСрациями (рис. 5.1, Π²).

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

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


Рис.5.2. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ графичСского изобраТСния классов Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅

Имя класса

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΠΌΠ΅Π½ классов ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, ΠΊΠ°ΠΊ Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ», «Компания», Β«Π ΡƒΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΒ», Β«ΠšΠ»ΠΈΠ΅Π½Ρ‚Β», Β«ΠŸΡ€ΠΎΠ΄Π°Π²Π΅Ρ†Β», Β«ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Β», Β«ΠžΡ„ΠΈΡΒ» ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ нСпосрСдствСнноС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы.

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

Атрибуты класса

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ свСрху сСкции ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° класса Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ (attributes) ΠΈΠ»ΠΈ свойства. Π’ языкС UML принята опрСдСлСнная стандартизация записи Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² класса, которая подчиняСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ синтаксичСским ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ. ΠšΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ класса соотвСтствуСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ строка тСкста, которая состоит ΠΈΠ· ΠΊΠ²Π°Π½Ρ‚ΠΎΡ€Π° видимости Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΈΠΌΠ΅Π½ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, Π΅Π³ΠΎ кратности, Ρ‚ΠΈΠΏΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅Π³ΠΎ исходного значСния:

<ΠΊΠ²Π°Π½Ρ‚ΠΎΡ€ видимости><имя Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°>[ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ]:

<Ρ‚ΠΈΠΏ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°> = <исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅>{строка-свойство}

ΠšΠ²Π°Π½Ρ‚ΠΎΡ€ видимости ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ, соотвСтствСнно, отобраТаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов:

Π‘ΠΈΠΌΠ²ΠΎΠ» "+" ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости Ρ‚ΠΈΠΏΠ° общСдоступный (public). Атрибут с этой ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости доступСн ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅Π½ ΠΈΠ· любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°.

Π‘ΠΈΠΌΠ²ΠΎΠ» "#" ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости Ρ‚ΠΈΠΏΠ° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ (protected). Атрибут с этой ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости нСдоступСн ΠΈΠ»ΠΈ Π½Π΅Π²ΠΈΠ΄Π΅Π½ для всСх классов, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ подклассов Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса.

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π·Π½Π°ΠΊ "-" ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости Ρ‚ΠΈΠΏΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ (private). Атрибут с этой ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости нСдоступСн ΠΈΠ»ΠΈ Π½Π΅Π²ΠΈΠ΄Π΅Π½ для всСх классов Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

ΠšΠ²Π°Π½Ρ‚ΠΎΡ€ видимости ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½. Π’ этом случаС Π΅Π³ΠΎ отсутствиС просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½Π΅ указываСтся. Π­Ρ‚Π° ситуация отличаСтся ΠΎΡ‚ принятых ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ соглашСний Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… языках программирования, ΠΊΠΎΠ³Π΄Π° отсутствиС ΠΊΠ²Π°Π½Ρ‚ΠΎΡ€Π° видимости трактуСтся ΠΊΠ°ΠΊ public ΠΈΠ»ΠΈ private. Однако вмСсто условных графичСских ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово: public, protected, private.

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

ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, входящих Π² состав ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ класса. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ записываСтся Π² Ρ„ΠΎΡ€ΠΌΠ΅ строки тСкста Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках послС ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°:

[ниТняя_Π³Ρ€Π°Π½ΠΈΡ†Π°1 .. вСрхняя_Π³Ρ€Π°Π½ΠΈΡ†Π°1, ниТняя_Π³Ρ€Π°Π½ΠΈΡ†Π°2.. вСрхняя_Π³Ρ€Π°ΡˆΡ†Π°2, ..., Π½uТняя_Π³paΠ½uΡ†ak .. вСрхняя_Π³Ρ€Π°Π½ΠΈΡ†Π°k],

Π³Π΄Π΅ ниТняя_Π³Ρ€Π°Π½ΠΈΡ†Π° ΠΈ вСрхняя_Π³Ρ€Π°Π½ΠΈΡ†Π° ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами, каТдая ΠΏΠ°Ρ€Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слуТит для обозначСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Ρ†Π΅Π»Ρ‹Ρ… чисСл, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ниТняя (вСрхняя) Π³Ρ€Π°Π½ΠΈΡ†Π° Ρ€Π°Π²Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ниТняя_Π³Ρ€Π°Π½ΠΈΡ†Π° (вСрхняя_Π³Ρ€Π°Π½ΠΈΡ†Π°). Π’ Ρ†Π΅Π»ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ΅ условноС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ кратности соотвСтствуСт Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΎ-мноТСствСнному объСдинСнию ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ². Π’ качСствС Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ_Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ "*", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ свСрху Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ кратности ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

ЗначСния кратности ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π² ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΎ Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°ΡŽΡ‰Π΅ΠΌ порядкС Π±Π΅Π· пропуска ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл, Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΆΠ½Π΅ΠΉ ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°: ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π½ΠΈΠΆΠ½ΠΈΠ΅ ΠΈ Π²Π΅Ρ€Ρ…Π½ΠΈΠ΅ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ кратности. Если Π² качСствС кратности указываСтся СдинствСнноС число, Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° принимаСтся Ρ€Π°Π²Π½ΠΎΠΉ Π΄Π°Π½Π½ΠΎΠΌΡƒ числу. Если ΠΆΠ΅ указываСтся СдинствСнный Π·Π½Π°ΠΊ "*", Ρ‚ΠΎ это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ†Π΅Π»Ρ‹ΠΌ числом ΠΈΠ»ΠΈ Π½ΡƒΠ»Π΅ΠΌ.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ задания кратности Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ О ΠΈΠ»ΠΈ 1. ΠŸΡ€ΠΈ этом 0 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ отсутствиС значСния для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большСС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ΅ 0. Π­Ρ‚Π° ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записана ΠΊΠΎΡ€ΠΎΡ‡Π΅ Π² Π²ΠΈΠ΄Π΅ простого символа – [*].

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большСС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ΅ 1.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· чисСл: 1, 2, 3, 4, 5.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· чисСл: 1, 2, 3, 5, 7.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· чисСл: 1, 2, 3, 7, 8, 9, 10.

ΠžΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ любоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· чисСл: 1, 2, 3, Π° Ρ‚Π°ΠΊΠΆΠ΅ любоС ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ большСС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½ΠΎΠ΅ 7.

Если ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ принимаСтся Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎΠ΅ 1..1, Ρ‚. Π΅. Π² точности 1.

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

МоТно привСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ задания ΠΈΠΌΠ΅Π½ ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² классов:

Π¦Π²Π΅Ρ‚: Π‘ΠΎlΠΎr – здСсь Ρ†Π²Π΅Ρ‚ являСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, Color – ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°. Указанная запись ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ RGB-модСль (красный, Π·Π΅Π»Π΅Π½Ρ‹ΠΉ, синий) для прСдставлСния Ρ†Π²Π΅Ρ‚Π°. Π’ этом случаС имя Ρ‚ΠΈΠΏΠ° Color ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΡΠ΅ΠΌΠ°Π½Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, которая примСняСтся Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ языков программирования для прСдставлСния Ρ†Π²Π΅Ρ‚Π°.

Имя_сотрудника : String – здСсь имя_сотрудника являСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит для прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ отчСствС ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сотрудника. Π’ΠΈΠΏ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° String (Π‘Ρ‚Ρ€ΠΎΠΊΠ°) ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ прСдставляСт собой строку тСкста ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ… слов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠšΠΈΡ€ΠΈΠ»Π»Β» ΠΈΠ»ΠΈ Β«Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡Β»). ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… языках программирования сущСствуСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… String, использованиС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ англоязычного Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ нСдоразумСния Ρƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° программистов. Однако, хотя Π² языкС UML всС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ Π΄Π°ΡŽΡ‚ΡΡ Π² англоязычном прСдставлСнии, использованиС Π² качСствС Ρ‚ΠΈΠΏΠ° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π² Π΄Π°Π½Π½ΠΎΠΉ ситуации Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΈ опрСдСляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сообраТСниями удобства.

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

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

Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ слуТит для задания Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ экзСмпляра класса. Π—Π΄Π΅ΡΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° принадлСТности значСния Ρ‚ΠΈΠΏΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°. Если исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра класса. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, конструктор ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ссли Π² этом Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² исходных Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ привСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ задания Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²:

Π¦Π²Π΅Ρ‚:Π‘ΠΎlΠΎr = (255, 0, 0) – Π² RGB-ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ†Π²Π΅Ρ‚Π° это соотвСтствуСт чистому красному Ρ†Π²Π΅Ρ‚Ρƒ Π² качСствС исходного значСния для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°.

Имя_сотрудника:String = Иван Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡ – Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, это Π½Π΅Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ случай, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, скорСС, соотвСтствуСт ситуации имя_руководитСля:81ΠΏΠΏΒ§ = Иван Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡.

Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ:Π’ΠΎΠΎlΠ΅Π°n = истина – ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ситуации, ΠΊΠΎΠ³Π΄Π° Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания экзСмпляра класса создаСтся Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΎΠΊΠ½ΠΎ, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.

Π€ΠΎΡ€ΠΌΠ°:ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ = ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ – вряд Π»ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ здСсь Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ гСомСтричСской Ρ„ΠΎΡ€ΠΌΠ΅ создаваСмого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ синтаксичСскиС конструкции – это ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ строки Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΈ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках.

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

НапримСр, Ссли Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π·Π°Π΄Π°Π½ Π² Π²ΠΈΠ΄Π΅ Ρ„ΠΎΡ€ΠΌΠ°: ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ. Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ. Π”Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π² Π²ΠΈΠ΄Π΅ Π½ΠΎΠΌΠ΅Ρ€_счСта:Integer. Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подмноТСства счСтов, ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ Π½Π΅ фиксируСтся.

Π‘Ρ‚Ρ€ΠΎΠΊΠ°-свойство слуТит для указания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ фиксированноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° для класса Π² Ρ†Π΅Π»ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ всС вновь создаваСмыС экзСмпляры класса Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ принимаСтся Π·Π° исходноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ строки-свойства ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ трактуСтся Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. НапримСр, строка-свойство Π² записи Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° заработная_ΠΏΠ»Π°Ρ‚Π°:Currency = = {$500} ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ для обозначСния фиксированной Π·Π°Ρ€Π°Π±ΠΎΡ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ» ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ долТности Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, запись Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Π² Π²ΠΈΠ΄Π΅ Π·Π°Ρ€Π°-ботная_ΠΏΠ»Π°Ρ‚Π°: Currency = $500 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡƒΠΆΠ΅ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΈΠ½ΠΎΠ΅, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ – ΠΏΡ€ΠΈ создании Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊ (аналогия – ΠΏΡ€ΠΈΠ΅ΠΌ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ сотрудника) для Π½Π΅Π³ΠΎ устанавливаСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ заработная ΠΏΠ»Π°Ρ‚Π° Π² $500. Однако для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… сотрудников ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сдСланы ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону, ΠΎ Ρ‡Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ

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

<ΠΊΠ²Π°Π½Ρ‚ΠΎΡ€ видимости><имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ>(список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²):

<Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния>{строка-свойство}

ΠšΠ²Π°Π½Ρ‚ΠΎΡ€ видимости, ΠΊΠ°ΠΊ ΠΈ Π² случаС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² класса, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ‚Ρ€Π΅Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ, соотвСтствСнно, отобраТаСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ символа. Π‘ΠΈΠΌΠ²ΠΎΠ» "+" ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости Ρ‚ΠΈΠΏΠ° общСдоступный (public). Π‘ΠΈΠΌΠ²ΠΎΠ» "#" ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости Ρ‚ΠΈΠΏΠ° Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΉ (protected). И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, символ "-" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для обозначСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ видимости Ρ‚ΠΈΠΏΠ° Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ (private).

ΠšΠ²Π°Π½Ρ‚ΠΎΡ€ видимости для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½. Π’ этом случаС Π΅Π³ΠΎ отсутствиС просто ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ указываСтся. ВмСсто условных графичСских ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово: public, protected, private.

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

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² являСтся ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятой Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅:

<Π²ΠΈΠ΄ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°><имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°>:<Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°>=<Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ>.

Π—Π΄Π΅ΡΡŒ Π²ΠΈΠ΄ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° – Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов in, out ΠΈΠ»ΠΈ inout со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ in ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π² случаС Ссли Π²ΠΈΠ΄ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π½Π΅ указываСтся. Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΅ΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° являСтся зависимой ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка программирования спСцификациСй Ρ‚ΠΈΠΏΠ° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°. НаконСц, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС прСдставляСт собой Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для значСния Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, синтаксис ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ зависит ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ языка программирования ΠΈ подчиняСтся принятым Π² Π½Π΅ΠΌ ограничСниям.

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

Π‘Ρ‚Ρ€ΠΎΠΊΠ°-свойство слуТит для указания Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡƒ элСмСнту. Π‘Ρ‚Ρ€ΠΎΠΊΠ°-свойство Π½Π΅ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ, ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ свойства Π½Π΅ спСцифицированы.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ дСйствия Π½Π° вСсь класс показываСтся ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ строки выраТСния Ρ‚ΠΈΠΏΠ°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ понимаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса. Π’ этом случаС имя ΠΈ строка выраТСния Ρ‚ΠΈΠΏΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ, которая Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС систСмы ΠΈ, соотвСтствСнно, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ±ΠΎΡ‡Π½ΠΎΠ³ΠΎ эффСкта, обозначаСтся строкой-свойством Β«{запрос}Β» (Β«{query}Β»). Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС опСрация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС систСмы, хотя Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ это Π΄Π΅Π»Π°Ρ‚ΡŒ.

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы ΠΎΠ΄Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ – Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π’ этом случаС для указания ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строка-свойство Π²ΠΈΠ΄Π° Β«{concurrency = имя}Β», Π³Π΄Π΅ имя ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ: ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ (sequential), ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ (concurrent), охраняСмая (guarded). ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ сСмантики для Π΄Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ (sequential) – для Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π΅Π΅ СдинствСнноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² систСмС, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡΠΌ цСлостности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса.

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Π°Ρ (concurrent) – данная опСрация Π² силу своих особСнностСй ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ опСрациями Π² систСмС, ΠΏΡ€ΠΈ этом ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠžΡ…Ρ€Π°Π½ΡΠ΅ΠΌΠ°Ρ (guarded) – всС обращСния ΠΊ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ строго упорядочСны Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ с Ρ†Π΅Π»ΡŒΡŽ сохранСния цСлостности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса, ΠΏΡ€ΠΈ этом ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ приняты Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций Π½Π° этапС Π΅Π΅ выполнСния.

Π‘ Ρ†Π΅Π»ΡŒΡŽ сокращСния ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ допускаСтся использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² качСствС строки-свойства для указания ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ значСния ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ строки-свойства ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сСмантика ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ слСдуСт ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ Ρ…ΡƒΠ΄ΡˆΠΈΠΉ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ случай, ΠΊΠΎΠ³Π΄Π° данная опСрация Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния.

ПоявлСниС сигнатуры ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° самом Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° вСсь класс, ΠΏΡ€ΠΈ этом данная опСрация наслСдуСтся всСми ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса. Если Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ классС опСрация Π½Π΅ выполняСтся (Ρ‚. Π΅. Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ примСняСтся), Ρ‚ΠΎ такая опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π° ΠΊΠ°ΠΊ абстрактная Β«{abstract}Β». Π”Ρ€ΡƒΠ³ΠΎΠΉ способ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ абстрактный Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ – Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π΅ сигнатуру курсивом. ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½ΠΎΠ΅ появлСниС записи Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π΅Π· свойства {абстрактная} ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ класс-ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² качСствС своСго "ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.

Если для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ особСнности Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ), Ρ‚ΠΎ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдСлано Π² Ρ„ΠΎΡ€ΠΌΠ΅ примСчания, записанного Π² Π²ΠΈΠ΄Π΅ тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ присоСдиняСтся ΠΊ записи ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сСкции класса. Если ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сигнал, Ρ‚ΠΎ запись Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ помСчаСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом «сигнал» (Β«signalΒ»). Π­Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. РСакция ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° ΠΏΡ€ΠΈΠ΅ΠΌ сигнала ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² Π²ΠΈΠ΄Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… случаСв эта нотация ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² класса Π½Π° ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Π΅ ситуации ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ сигналы ΠΈΠ»ΠΈ сообщСния.

ПовСдСниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ΅ присоСдинСнного ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ примСчания. Π’ этом случаС тСкст примСчания Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² скобки, Ссли ΠΎΠ½ прСдставляСт собой Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ языкС программирования ΠΈ соотвСтствуСт элСмСнту «сСмантичСскоС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ языка UMLΒ». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС тСкст примСчания являСтся простым описаниСм Π½Π° СстСствСнном языкС ΠΈ обозначаСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ с Β«Π·Π°Π³Π½ΡƒΡ‚Ρ‹ΠΌΒ» Π²Π΅Ρ€Ρ…Π½ΠΈΠΌ ΠΏΡ€Π°Π²Ρ‹ΠΌ ΡƒΠ³ΠΎΠ»ΠΊΠΎΠΌ (см. Π³Π»Π°Π²Ρƒ 4).

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

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² записи ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ привСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ обозначСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

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

ΠΠ°Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ(Ρ„ΠΎΡ€ΠΌΠ°: ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ = ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Ρ†Π²Π΅Ρ‚_Π·Π°Π»ΠΈΠ²ΠΊΠΈ: Color = (О, О, 255)) – ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠΉ области синСго Ρ†Π²Π΅Ρ‚Π°, Ссли Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π—Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ_счСт_ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°(Π½ΠΎΠΌΠ΅Ρ€_счСта:1ΠΏ1Π΅Β§Π΅Π³):БиггСпсу – ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡŽ наличия срСдств Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ счСтС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±Π°Π½ΠΊΠ°. ΠŸΡ€ΠΈ этом Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ являСтся Π½ΠΎΠΌΠ΅Ρ€ счСта ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ записываСтся Π² Π²ΠΈΠ΄Π΅ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«123456Β»). Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния этой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ являСтся Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ число, записанноС Π² принятом Π΄Π΅Π½Π΅ΠΆΠ½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, $1,500.00).

Π’Ρ‹Π΄Π°Ρ‚ΡŒ_сообщСниС():{"Ошибка дСлСния Π½Π° ноль"} – смысл Π΄Π°Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ пояснСния, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТится Π² строкС-свойствС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π”Π°Π½Π½ΠΎΠ΅ сообщСниС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° экранС ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π° Π² случаС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ дСлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ числа Π½Π° ноль, Ρ‡Ρ‚ΠΎ нСдопустимо.

5.2. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами

ΠšΡ€ΠΎΠΌΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ΠΈΠ»ΠΈ структуры классов Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами. ΠŸΡ€ΠΈ этом ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π°ΠΊΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ фиксирована Π² языкС UML ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° сСмантикой этих Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ связями Π² языкС UML ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости (dependency relationship)

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ассоциации (association relationship)

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ обобщСния (generalization relationship)

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (realization relationship)

КаТдоС ΠΈΠ· этих ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ собствСнноС графичСскоС прСдставлСниС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классов.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости

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

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости графичСски изобраТаСтся ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами со стрСлкой Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΅Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ² (Β«->Β» ΠΈΠ»ΠΈ Β«<-Β»). На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ связываСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ классы ΠΌΠ΅ΠΆΠ΄Ρƒ собой, ΠΏΡ€ΠΈ этом стрСлка Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΎΡ‚ класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° зависимости ΠΊ нСзависимому классу ΠΈΠ»ΠΈ классу-источнику (рис. 5.3). На Π΄Π°Π½Π½ΠΎΠΌ рисункС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π΄Π²Π° класса: Класс_А ΠΈ Кяасс_Π‘, ΠΏΡ€ΠΈ этом Класс_Π‘ являСтся источником Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зависимости, Π° Класс_А – ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ этой зависимости.

Рис. 5.3. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ зависимости Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Π’ качСствС класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ класса-источника зависимости ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ мноТСства элСмСнтов ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π’ этом случаС ΠΎΠ΄Π½Π° линия со стрСлкой, выходящая ΠΎΡ‚ источника зависимости, расщСпляСтся Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ Π½Π° нСсколько ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ стрСлку для класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. НапримСр, Ссли Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Класса_Π‘ зависит ΠΎΡ‚ особСнностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Класса_А ΠΈ Класса_/>, Ρ‚ΠΎ данная Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ (рис. 5.4).

Рис. 5.4. ГрафичСскоС прСдставлСниС зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ классом-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ (Класс_Π‘) ΠΈ классами-источниками (Класс_Π› ΠΈ Класс_Π‘)

Π‘Ρ‚Ρ€Π΅Π»ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‡Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π½ΠΎ стандартным ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ зависимости ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ зависимостСй. Π­Ρ‚ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова (стСрСотипы) Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… рядом со стрСлкой, которая соотвСтствуСт Π΄Π°Π½Π½ΠΎΠΉ зависимости. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ стСрСотипов для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ зависимости прСдставлСны Π½ΠΈΠΆΠ΅:

Β«accessΒ» – слуТит для обозначСния доступности ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ класса-источника для классов-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²;

Β«bindΒ» – класс-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ шаблон для своСй ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ;

Β«deriveΒ» – Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ вычислСны ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ класса-источника;

Β«importΒ» – ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса-источника становятся Ρ‡Π°ΡΡ‚ΡŒΡŽ класса-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Ρ‹ нСпосрСдствСнно Π² Π½Π΅ΠΌ;

Β«refineΒ» – ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ класс-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ слуТит ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ΠΌ класса-источника Π² силу ΠΏΡ€ΠΈΡ‡ΠΈΠ½ историчСского Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π°, ΠΊΠΎΠ³Π΄Π° появляСтся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация Π² Ρ…ΠΎΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ассоциации

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

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

Π’ качСствС простого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ассоциации рассмотрим ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя классами – классом «Компания» ΠΈ классом Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ» (рис. 5.5). Они связаны ΠΌΠ΅ΠΆΠ΄Ρƒ собой Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ассоциациСй Π Π°Π±ΠΎΡ‚Π°, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° рисункС рядом с Π»ΠΈΠ½ΠΈΠ΅ΠΉ ассоциации. Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ порядок слСдования классов, ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся класс Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ», Π° Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ – класс «Компания». ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ»ΠΈ экзСмпляром Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΏΠ°Ρ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² И. И., Β«Π ΠΎΠ³Π°&ΠšΠΎΠΏΡ‹Ρ‚Π°Β»). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сотрудник ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² И. И. Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π ΠΎΠ³Π°&ΠšΠΎΠΏΡ‹Ρ‚Π°Β».


Рис. 5.5. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ классами

ВСрнарная ассоциация ΠΈ ассоциации Π±ΠΎΠ»Π΅Π΅ высокой арности Π² ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ N-Π°Ρ€Π½ΠΎΠΉ ассоциациСй (читаСтся – «эн арная ассоциация»). Вакая ассоциация связываСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ 3 ΠΈ Π±ΠΎΠ»Π΅Π΅ классов, ΠΏΡ€ΠΈ этом ΠΎΠ΄ΠΈΠ½ класс ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ассоциации Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Класс ассоциации ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ экзСмпляр N-Π°Ρ€Π½ΠΎΠΉ ассоциации прСдставляСт собой N-Π°Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΠ· ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классов. Бинарная ассоциация являСтся частным случаСм N-Π°Ρ€Π½ΠΎΠΉ ассоциации, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ N=2, ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ своС собствСнноС ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

N-арная ассоциация графичСски обозначаСтся Ρ€ΠΎΠΌΠ±ΠΎΠΌ, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Π΅Π΄ΡƒΡ‚ Π»ΠΈΠ½ΠΈΠΈ ΠΊ символам классов Π΄Π°Π½Π½ΠΎΠΉ ассоциации. Π’ этом случаС Ρ€ΠΎΠΌΠ± соСдиняСтся с символами ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классов ΡΠΏΠ»ΠΎΡˆΠ½Ρ‹ΠΌΠΈ линиями. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π»ΠΈΠ½ΠΈΠΈ проводятся ΠΎΡ‚ Π²Π΅Ρ€ΡˆΠΈΠ½ Ρ€ΠΎΠΌΠ±Π° ΠΈΠ»ΠΈ ΠΎΡ‚ сСрСдины Π΅Π³ΠΎ сторон. Имя N-Π°Ρ€Π½ΠΎΠΉ ассоциации записываСтся рядом с Ρ€ΠΎΠΌΠ±ΠΎΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ассоциации.

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ классов Π² N-Π°Ρ€Π½ΠΎΠΉ ассоциации, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ порядка мноТСств Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π½Π΅ фиксируСтся. НСкоторый класс ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присоСдинСн ΠΊ Ρ€ΠΎΠΌΠ±Ρƒ ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹ΠΉ класс обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ свойств ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ N-Π°Ρ€Π½ΠΎΠΉ ассоциации, Π° сама N-арная ассоциация ΠΈΠΌΠ΅Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ/ΠΈΠ»ΠΈ ассоциации. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, такая ассоциация, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, являСтся классом с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° ΠΈ являСтся ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом языка UML – ассоциациСй-классом (Association Class). N-арная ассоциация Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ символ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ Π½ΠΈ для ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· своих Ρ€ΠΎΠ»Π΅ΠΉ.

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠΉ ассоциации рассмотрим ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя классами: Β«Π€ΡƒΡ‚Π±ΠΎΠ»ΡŒΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°Β», Β«Π“ΠΎΠ΄Β» ΠΈ Β«Π˜Π³Ρ€Π°Β». Данная ассоциация ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ этими трСмя классами, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠ³Ρ€Π°Ρ… Ρ„ΡƒΡ‚Π±ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² Π½Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ Ρ‡Π΅ΠΌΠΏΠΈΠΎΠ½Π°Ρ‚Π΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… послСдних Π»Π΅Ρ‚ (рис. 5.6).

Как ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс ассоциации ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ. Π­Ρ‚Π° Ρ€ΠΎΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° графичСски Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов. Π‘ этой Ρ†Π΅Π»ΡŒΡŽ Π² языкС UML вводится Π² рассмотрСниС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ элСмСнт – ΠΊΠΎΠ½Π΅Ρ† ассоциации (Association End), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ графичСски соотвСтствуСт Ρ‚ΠΎΡ‡ΠΊΠ΅ соСдинСния Π»ΠΈΠ½ΠΈΠΈ ассоциации с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ классом. ΠšΠΎΠ½Π΅Ρ† ассоциации являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ассоциации, Π½ΠΎ Π½Π΅ класса. КаТдая ассоциация ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π²Π° ΠΈΠ»ΠΈ большС ΠΊΠΎΠ½Ρ†ΠΎΠ² ассоциации. НаиболСС Π²Π°ΠΆΠ½Ρ‹Π΅ свойства ассоциации ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ рядом с этими элСмСнтами ассоциации ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡˆΠ°Ρ‚ΡŒΡΡ вмСстС с Π½ΠΈΠΌΠΈ.

Рис. 5.6. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½ΠΎΠΉ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя классами

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

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ – ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… классов, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΊΠΎΠ½Ρ†Π°ΠΌΠΈ ассоциации. ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ класса обозначаСтся Π² Π²ΠΈΠ΄Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π° Ρ†Π΅Π»Ρ‹Ρ… чисСл, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ кратности Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ классов. Π˜Π½Ρ‚Π΅Ρ€Π²Π°Π» записываСтся рядом с ΠΊΠΎΠ½Ρ†ΠΎΠΌ ассоциации ΠΈ для N-Π°Ρ€Π½ΠΎΠΉ ассоциации ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ число ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… экзСмпляров ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ этой ассоциации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ мСсто, ΠΊΠΎΠ³Π΄Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ N-1 экзСмпляров ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ классов фиксированы.

Π’Π°ΠΊ, для рассмотрСнного Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (см. рис. 5.5) ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ "1" для класса «Компания» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ сотрудник ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Β«1..*Β» для класса Β«Π‘ΠΎΡ‚Ρ€ΡƒΠ΄Π½ΠΈΠΊΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСсколько сотрудников, ΠΎΠ±Ρ‰Π΅Π΅ число ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ нСизвСстно ΠΈ Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ. Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ вмСсто кратности Β«1..*Β» Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ символ "*" нСльзя, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ послСдний ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Β«0..*Β». Для Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° это ΠΎΠ·Π½Π°Ρ‡Π°Π»ΠΎ Π±Ρ‹, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ совсСм Π½Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ сотрудников Π² своСм ΡˆΡ‚Π°Ρ‚Π΅. Но такая ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠ° Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ситуациях, ΠΊΠ°ΠΊ это Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· рассмотрСнного Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (рис. 5.6).

Π§Ρ‚ΠΎ касаСтся Π΄Ρ€ΡƒΠ³ΠΈΡ… свойств ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, ассоциации, Ρ‚ΠΎ Π² случаС ΠΈΡ… наличия, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² класса ассоциации ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ для класса способом Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сСкции ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ° класса.

Частным случаСм ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ассоциации являСтся Ρ‚Π°ΠΊ называСмая ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ассоциация (Xor-association). Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° Π΄Π°Π½Π½ΠΎΠΉ ассоциации ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π΄Π°Π½Π½ΠΎΠΉ ассоциации Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π΅Π΅ экзСмпляр. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π°Ρ ассоциация изобраТаСтся ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ Π΄Π²Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ ассоциации, рядом с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ записываСтся строка-ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Β«{Ρ…ΠΎΠ³}Β».

НапримСр, счСт Π² Π±Π°Π½ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π² качСствС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ физичСскоС Π»ΠΈΡ†ΠΎ (ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠΌ) ΠΈΠ»ΠΈ компания, Ρ‡Ρ‚ΠΎ изобраТаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ ассоциации (рис. 5.7).

Рис. 5.7. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ трСмя классами

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

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими классами Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· классов прСдставляСт собой Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ Π² сСбя Π² качСствС составных частСй Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сущности.

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

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

Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ рассмотрим взаимосвязь Ρ‚ΠΈΠΏΠ° Β«Ρ‡Π°ΡΡ‚ΡŒ-Ρ†Π΅Π»ΠΎΠ΅Β», которая ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒΡŽ Β«Π“Ρ€ΡƒΠ·ΠΎΠ²ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΒ» ΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ Β«Π”Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒΒ», «Шасси», «Кабина», Β«ΠšΡƒΠ·ΠΎΠ²Β». НС прСтСндуя Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ соотвСтствиС Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области, Π½Π΅Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС, Ρ‡Ρ‚ΠΎ Π³Ρ€ΡƒΠ·ΠΎΠ²ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒ состоит ΠΈΠ· двигатСля, шасси, ΠΊΠ°Π±ΠΈΠ½Ρ‹ ΠΈ ΠΊΡƒΠ·ΠΎΠ²Π°. ИмСнно это ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ классом Β«Π“Ρ€ΡƒΠ·ΠΎΠ²ΠΎΠΉ_Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΒ» ΠΈ классами Β«Π”Π²ΠΈΠ³Π°Ρ‚Π΅Π»ΡŒΒ», «Шасси», «Кабина», Β«ΠšΡƒΠ·ΠΎΠ²Β» описываСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ.

ГрафичСски ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ изобраТаСтся сплошной Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдставляСт собой Π½Π΅Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€ΠΎΠΌΠ±. Π­Ρ‚ΠΎΡ‚ Ρ€ΠΎΠΌΠ± ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ ΠΈΠ· классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой Β«Ρ†Π΅Π»ΠΎΠ΅Β». ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ классы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Π³ΠΎ «частями» (рис. 5.8).

Рис. 5.8. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ Π² языкС UML

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ извСстноС ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π° составныС части: систСмный Π±Π»ΠΎΠΊ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈ ΠΌΡ‹ΡˆΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ обозначСния языка UML, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ состав ПК ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов (рис. 5.9), которая Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ.


Рис. 5.9. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ПК

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ Ρ€Π°Π½Π΅Π΅, являСтся частным случаСм ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ слуТит для выдСлСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Β«Ρ‡Π°ΡΡ‚ΡŒ-Ρ†Π΅Π»ΠΎΠ΅Β», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ части Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС находятся Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†Π΅Π»ΠΎΠ³ΠΎ. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° взаимосвязи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ части Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π² ΠΎΡ‚Ρ€Ρ‹Π²Π΅ ΠΎΡ‚ Ρ†Π΅Π»ΠΎΠ³ΠΎ, Ρ‚. Π΅. с ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°ΡŽΡ‚ΡΡ ΠΈ всС Π΅Π³ΠΎ составныС части.

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

ГрафичСски ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ изобраТаСтся сплошной Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠ½Ρ†ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ прСдставляСт собой Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€ΠΎΠΌΠ±. Π­Ρ‚ΠΎΡ‚ Ρ€ΠΎΠΌΠ± ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚ΠΎΡ‚ ΠΈΠ· классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставляСт собой класс-ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈΠ»ΠΈ Β«Ρ†Π΅Π»ΠΎΠ΅Β». ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ классы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΅Π³ΠΎ «частями» (рис. 5.10).

Рис. 5.10. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² языкС UML

Π’ качСствС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ обозначСния, примСняСмыС для ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ассоциации. А ΠΈΠΌΠ΅Π½Π½ΠΎ, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ кратности класса ассоциации ΠΈ ΠΈΠΌΠ΅Π½ΠΈ Π΄Π°Π½Π½ΠΎΠΉ ассоциации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ описанному Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ класса «Окно_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β» Π΅Π³ΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²ΠΈΠ΄ (рис. 5.11).


Рис. 5.11. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов для ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ класса ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ особСнности Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² явном Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΈ описании этого ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π’Π°ΠΊ, Π² частности, ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ кратности 1 рядом с классом «Рабочая_ΠΎΠ±Π»Π°ΡΡ‚ΡŒΒ» Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ для ΠΎΠ΄Π½ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ обобщСния

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ обобщСния являСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ таксономичСским ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰ΠΈΠΌ элСмСнтом (Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ) ΠΈ Π±ΠΎΠ»Π΅Π΅ частным ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом (Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠΌ). Π”Π°Π½Π½ΠΎΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для прСдставлСния взаимосвязСй ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, классами, Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ использования ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ элСмСнтами языка UML.

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

Рис. 5.12. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ обобщСния Π² языкС UML

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


Рис. 5.13. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ графичСского изобраТСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ обобщСния классов

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


Рис. 5.14. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ графичСского изобраТСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ обобщСния классов для случая объСдинСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ

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

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

Π’ качСствС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова языка UML:

{complete} – ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ обобщСния спСцифицированы всС классы-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Ρƒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса-ΠΏΡ€Π΅Π΄ΠΊΠ° Π±Ρ‹Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – класс ΠšΠ»ΠΈΠ΅Π½Ρ‚_Π±Π°Π½ΠΊΠ° являСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ для Π΄Π²ΡƒΡ… классов: ЀизичСскоС_Π»ΠΈΡ†ΠΎ ΠΈ Компания, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… классов-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΎΠ½ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚. На ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов это ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ явно, записав рядом с Π»ΠΈΠ½ΠΈΠ΅ΠΉ обобщСния Π΄Π°Π½Π½ΡƒΡŽ строку-ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅;

{disjoint} – ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ классы-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ экзСмплярами Π΄Π²ΡƒΡ… ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ классов. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это условиС Ρ‚Π°ΠΊΠΆΠ΅ выполняСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ физичСскоС Π»ΠΈΡ†ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²Π»ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ. Π’ этом случаС рядом с Π»ΠΈΠ½ΠΈΠ΅ΠΉ обобщСния ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ строку-ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅;

{incomplete} – ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ случай, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ. А ΠΈΠΌΠ΅Π½Π½ΠΎ, прСдполагаСтся, Ρ‡Ρ‚ΠΎ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ всС классы-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ. Π’ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π½Π΅ измСняя ΡƒΠΆΠ΅ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° класса Β«ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΒ», для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ всСх Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ соизмСримо с созданиСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π² этом Π½Π΅Ρ‚ нСобходимости. Но ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡ‚Ρƒ структуры классов-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² всС ΠΆΠ΅ слСдуСт;

{overlapping} – ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ экзСмпляры классов-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСскольким классам. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ – класс Β«ΠœΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΒ» являСтся классом-ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ для класса Β«ΠŸΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΒ» ΠΈ класса Β«Π ΠΎΠΌΠ±Β». Однако сущСствуСт ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ класс Β«ΠšΠ²Π°Π΄Ρ€Π°Ρ‚Β», экзСмпляры ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… классов. Π’ΠΏΠΎΠ»Π½Π΅ СстСствСнно Ρ‚Π°ΠΊΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ явно с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π°Π½Π½ΠΎΠΉ строки-ограничСния.

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ возмоТности использования строк-ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (рис. 5.14) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π±Π΅Π· ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠΉ ΠΈ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ (рис. 5.15).


Рис. 5.15. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ графичСского изобраТСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ обобщСния классов с использованиСм строки-ограничСния

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

Π—Π°ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ всС классы Π²Π΅Ρ€Ρ…Π½ΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ абстрактными, Ρ‚. Π΅. Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны своими экзСмплярами. ИмСнно поэтому ΠΈΡ… ΠΈΠΌΠ΅Π½Π° записаны курсивом. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½ΠΈΡ… классы Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСны своими экзСмплярами, Π² качСствС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ заводским Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ.


Рис. 5.16. Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов с ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ обобщСния для прСдставлСния ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ классов Β«ΠΠ²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΒ» ΠΈΠ· рассмотрСнного Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° (см. рис. 2.7)

5.3. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹.

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

Рис. 5.17. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ графичСского изобраТСния интСрфСйса Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

5.4. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

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

Для графичСского изобраТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ символ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ°, Ρ‡Ρ‚ΠΎ ΠΈ для классов. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ ΠΏΡ€ΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ (рис. 5.18). ΠŸΡ€ΠΈ этом запись ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прСдставляСт собой строку тСкста «имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:имя класса», Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΡƒΡŽ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (рис. 5.18 Π°, Π±). Имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Π² этом случаС прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ являСтся Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹ΠΌ, ΠΈ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ (рис. 5.18, Π³). ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ имя класса. Π’ΠΎΠ³Π΄Π° указываСтся просто имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (рис. 5.18, Π²). Атрибуты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ значСния.

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

Рис. 5.18. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ графичСского изобраТСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… языка UML

5.5. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ классы

Π¨Π°Π±Π»ΠΎΠ½ (template) ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ класс (parametrized class) ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для обозначСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ (ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅) нСфиксированный Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Он опрСдСляСт Ρ†Π΅Π»ΠΎΠ΅ сСмСйство ΠΈΠ»ΠΈ мноТСство классов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ связываниСм этих ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ шаблонов слуТат Ρ‚ΠΈΠΏΡ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² классов, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа, пСрСчислСниС, массив строк ΠΈ Π΄Ρ€. Π’ Π±ΠΎΠ»Π΅Π΅ слоТном случаС Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ класса.

ГрафичСски шаблон изобраТаСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ, ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎΠΌΡƒ ΡƒΠ³Π»Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ присоСдинСн малСнький ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈΠ· ΠΏΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ (рис. 5.19), большой ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ Π½Π° сСкции, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ для класса. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠ΅ указываСтся список Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Ρ‚Π΅Ρ… классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Π½Π° основС Π΄Π°Π½Π½ΠΎΠ³ΠΎ шаблона. Π’ Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ сСкции шаблона записываСтся Π΅Π³ΠΎ имя ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ записи ΠΈΠΌΠ΅Π½ для классов.

Рис. 5.19. ГрафичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ шаблона Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

Π¨Π°Π±Π»ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСпосрСдствСнно использован Π² качСствС класса, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ содСрТит Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π§Π°Ρ‰Π΅ всСго Π² качСствС шаблона выступаСт Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ супСркласс, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΡ‚ΠΎΡ‡Π½ΡΡŽΡ‚ΡΡ Π² Π΅Π³ΠΎ классах-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ…. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π² этом случаС ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ сущСствуСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом Β«bindΒ», ΠΊΠΎΠ³Π΄Π° класс-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ шаблон для своСй ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’ Π±ΠΎΠ»Π΅Π΅ частном случаС ΠΌΠ΅ΠΆΠ΄Ρƒ шаблоном ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΎΡ‚ Π½Π΅Π³ΠΎ классом ΠΈΠΌΠ΅Π΅Ρ‚ мСсто ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ обобщСния с наслСдованиСм свойств шаблона (рис. 5.20). Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ класс «АдрСс» ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΈΠ· шаблона Бвязный_список Π½Π° основС Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Β«S, k, lΒ» фактичСскими Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ Β«ΡƒΠ»ΠΈΡ†Π°, Π΄ΠΎΠΌ, ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€Π°Β».

Π­Ρ‚ΠΎΡ‚ ΠΆΠ΅ шаблон ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для задания (инстанцирования) Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ класса, скаТСм, класса Β«Π’ΠΎΡ‡ΠΊΠΈ_Π½Π°_плоскости». Π’ этом случаС класс Β«Π’ΠΎΡ‡ΠΊΠΈ_Π½Π°_плоскости» Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π½ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ значСниями, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "ЬтсГ<ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹_Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ…, Ρƒ>. ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ шаблонов являСтся достаточно ΠΌΠΎΡ‰Π½Ρ‹ΠΌ срСдством Π² ООП, ΠΈ поэтому Π΅Π΅ использованиС Π² языкС UML позволяСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π½ΠΎ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ наслСдованиСм свойств ΠΈ повСдСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Рис. 5.20. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования шаблона Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ мСсто Π² ООАП слоТных систСм. ΠžΡ‚ умСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ классы ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ взаимосвязи часто зависит Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ успСх процСсса проСктирования, Π½ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Как ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ООП, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ стрСмится Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ стСпСни ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹ΠΉ Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΎ обусловлСно ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ΠΌ свСсти Π½ΠΎΠ²ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΊ ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π² Ρ†Π΅Π»ΠΎΠΌ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²).

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

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

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

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

Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, использованиС CASE-инструмСнтариСв для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ООАП, Ρ‡Π°Ρ‰Π΅ всСго, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ свои собствСнныС трСбования Π½Π° язык спСцификации ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ИмСнно ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Π΅ Π΄Π°ΡŽΡ‚ΡΡ Π² англоязычном прСдставлСнии, Π° ΠΏΡ€ΠΈ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ Π½Π° русский ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΡ‚Ρ€Π°Ρ‡Π΅Π½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΎΠΊ, Π½ΠΎ ΠΈ сСмантика ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… понятий.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ:

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

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

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

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ относится Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ класс. Для этой Ρ†Π΅Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ – Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Β«::Β». Бинтаксис строки ΠΈΠΌΠ΅Π½ΠΈ класса Π² этом случаС Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ <Имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π°>::<Имя_класса>. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ класса Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ явно ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΅Π³ΠΎ слСдуСт отнСсти. НапримСр, Ссли ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«Π‘Π°Π½ΠΊΒ», Ρ‚ΠΎ класс Β«Π‘Ρ‡Π΅Ρ‚Β» Π² этом Π±Π°Π½ΠΊΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ записан Π² Π²ΠΈΠ΄Π΅: Β«Π‘Π°Π½ΠΊ::Π‘Ρ‡Π΅Ρ‚Β».

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

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

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

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

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

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π² языкС UML. ВсС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ рассматриваСмых ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ частным случаСм Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Однако Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ выдСлСния спСцифичСских сСмантичСских свойств ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… характСристик для Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΎΠ±ΡƒΡΠ»ΠΎΠ²Π»ΠΈΠ²Π°ΡŽΡ‚ ΠΈΡ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ рассмотрСниС ΠΏΡ€ΠΈ построСнии Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

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

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

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

Π’ качСствС упраТнСния для закрСплСния рассмотрСнного ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ для Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ стандартных классов MFC (Microsoft) ΠΈ VCL (Borland/Inprise) с использованиСм графичСской Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ языка UML. МоТно ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Π½Π΅Π΄Π°Π»Π΅ΠΊΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ справочныС руководства ΠΏΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ срСдам программирования Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов, Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

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

1 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов

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

1.1 Бимвол класса

Π‘ΠΈΠΌΠ²ΠΎΠ» класса Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π² зависимости ΠΎΡ‚ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹:

Вопросы Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, Π° сСйчас Π½Π°Π΄ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ символ класса содСрТит имя (Player), Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (move , get_gealth) ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (pos , state). Для элСмСнтов класса ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΈΠΏ, ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Ρ‚.Π΄.:

Π€ΠΎΡ€ΠΌΠ°Ρ‚ спСцификации Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°:
Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ имя: Ρ‚ΠΈΠΏ [ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ] = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅_ΠΏΠΎ_ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Π€ΠΎΡ€ΠΌΠ°Ρ‚ спСцификации ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ:
Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ имя(Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚: Ρ‚ΠΈΠΏ) = Ρ‚ΠΈΠΏ_Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ_значСния

Π’ зависимости ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° видимости элСмСнт ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ:

  • ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ (private , доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса) β€” задаСтся символом «минус» (-), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°;
  • Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌ (protected , доступСн Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ классов-наслСдников) β€” задаСтся символом Β«Ρ€Π΅ΡˆΠ΅Ρ‚ΠΊΠ°Β» (#), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ€ΠΎΠΌΠ±Π°;
  • ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ (public , доступСн всСм) β€” задаСтся символом «плюс» (+), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΡ€ΡƒΠ³Π°.

Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ функция ΠΈ имя абстрактного класса Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ курсивом, Π° статичСская функция β€” подчСркиваСтся.

1.2 ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ классов

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов допускаСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, рассмотрим ΠΈΡ… Π½Π° части Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ³Ρ€Ρ‹:

Π’ ΠΈΠ³Ρ€Π΅ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ элСмСнтов (стСны, сундуки, пСрсонаТи). ВсС эти элСмСнты ΡΠ²Π»ΡΡŽΡ‚ΡΡ наслСдниками абстрактного класса AbstractItem , ΠΏΡ€ΠΈ этом Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… ΡƒΠΌΠ΅Π΅Ρ‚ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ (Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ унаслСдованы ΠΎΡ‚ MovingItem). НаслСдованиС (ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ «являСтся») изобраТаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сплошной Π»ΠΈΠ½ΠΈΠΈ с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ стрСлки, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² сторону супСркласса β€” Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ класс MovingItem унаслСдован ΠΎΡ‚ AbstractItem , класс Player β€” ΠΎΡ‚ MovingItem ΠΈ Ρ‚.Π΄. Штриховая линия с Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ стрСлкой Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ наслСдованиС).

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²ΠΈΠ΄ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ классами β€” Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ Π΄Π²Π° Π²ΠΈΠ΄Π° этого ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ β€” ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ. Напомню, Ρ‡Ρ‚ΠΎ композиция β€” это Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅Ρ€Π°Π·Ρ€Ρ‹Π²Π½ΠΎ связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ (врСмя ΠΈΡ… ΠΆΠΈΠ·Π½ΠΈ совпадаСт), Π² случаС Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ, врСмя ΠΆΠΈΠ·Π½ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ класса ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).

ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ обозначаСтся Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ€ΠΎΠΌΠ±ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рисуСтся со стороны Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ класса β€” Ρ‚Π°ΠΊ, класс MovingItem Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя класс Position , Ρ‚.ΠΊ. ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ всСгда ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. ΠžΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ изобраТаСтся Π½Π΅Π·Π°ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹ΠΌ Ρ€ΠΎΠΌΠ±ΠΎΠΌ β€” ΠΈΠ³Ρ€ΠΎΠΊ (Player) Π°Π³Ρ€Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ состояниС (IPlayerState).

Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π°ΠΌΠΈ State, Strategy ΠΈΠ»ΠΈ Delegation β€” ΡΠ΅ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.
На ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ шаблон проСктирования БостояниС (State), ΡΠ²Π»ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ шаблона Π”Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Delegation) ΠΈ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ БтратСгия (Strategy). Π‘ΡƒΡ‚ΡŒ дСлСгирования Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для упрощСния Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ класса, Ρ‡Π°ΡΡ‚ΡŒ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° (Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π°) Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ классу. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ State ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° этапС Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Ссли Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… функциях класса встрСчаСтся разлапистая ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для выполнСния Ρ‚Π΅Ρ… ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Ρ… дСйствий. Π’ нашСм случаС пСрсонаТ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΅ΠΆΠΎΠΌ, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ссли пСрсонаТ двиТСтся сидя ΠΈ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ с Π΅ΠΆΠΎΠΌ β€” Ρƒ Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡΡ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΠ΅, Π° Ссли стоя β€” увСличится счСт (points). ΠšΡ€ΠΎΠΌΠ΅ Π΅ΠΆΠ° ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ Π΅Π΄Π°, ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΈ, ΠΏΠ°Ρ‚Ρ€ΠΎΠ½Ρ‹ ΠΈ Ρ‚.Π΄. Для дСмонстрации Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° создан абстрактный класс IPlayerState ΠΈ Π΄Π²Π° наслСдника StayState ΠΈ SeatState . Π’ классС Player , ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ctrl состояниС ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π° SeatState , Π° ΠΏΡ€ΠΈ отпускании β€” Π½Π° StayState . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ state->process_hedgehog(this) наш ΠΈΠ³Ρ€ΠΎΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ state , ΠΏΡ€ΠΎΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ с Π΅ΠΆΠΈΠΊΠΎΠΌ.

Π¨Π°Π±Π»ΠΎΠ½ проСктирования Delegation (ΠΈ всС Π΅Π³ΠΎ разновидности) β€” Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для дСмонстрации Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ. Π’ нашСм случаС состояниС ΠΈΠ³Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π·Π° счСт измСнСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ, Ρ‚.Π΅. врСмя ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² различаСтся.

НаиболСС ΠΎΠ±Ρ‰ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ классами β€” ассоциация, обозначаСтся сплошной Π»ΠΈΠ½ΠΈΠ΅ΠΉ (ΠΈΠ½ΠΎΠ³Π΄Π° со стрСлкой). Π’ΠΎΠΎΠ±Ρ‰Π΅, ΠΈ композиция, ΠΈ агрСгация, ΠΈ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ (наслСдованиС) β€” ΡΠ²Π»ΡΡŽΡ‚ΡΡ частными случаями ассоциации. Π’ нашСй Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ассоциации ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ класс IPlayerState измСняСт stats (health ΠΈ points) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Player . Ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ связи, ΠΏΠΎΡΡΠ½ΡΡŽΡ‰ΡƒΡŽ ΡΡƒΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. Π’ качСствС названия связСй ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ имя ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ассоциация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ, ΠΎΠ½Π° задаСтся Π½Π° ΠΊΠΎΠ½Ρ†Π°Ρ… Π»ΠΈΠ½ΠΈΠΈ:

  • 1 β€” ΠΎΠ΄Π½Π° связь (Π½Π° нашСй Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ³Ρ€ΠΎΠΊ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΎΠ΄ΠΈΠ½ экзСмпляр класса IPlayerState);
  • * любоС число связСй (Ссли Π±Ρ‹ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π±Ρ‹Π» класс ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ поля, Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ число ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… элСмСнтов);
  • [ΠΎΡ‚..Π΄ΠΎ] β€” ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ. Π’Π°ΠΊ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ эквивалСнтСн Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠ΅, Π½ΠΎ Ссли ΠΌΡ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ

ПослСдний Π²ΠΈΠ΄ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ рассмотрим β€” Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, изобраТаСтся ΡˆΡ‚Ρ€ΠΈΡ…ΠΎΠ²ΠΎΠΉ (прСрывистой) Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Если Π΅ΡΡ‚ΡŒ стрСлка β€” Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° ΠΎΡ‚ зависимого ΠΊ нСзависимому классу, Ссли стрСлки Π½Π΅Ρ‚ β€” Ρ‚ΠΎ классы зависят Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. Под Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒΡŽ понимаСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ интСрфСйса, Ρ‚.Π΅. Ссли интСрфСйс нСзависимого класса измСнится β€” Ρ‚ΠΎ придСтся Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² зависимый класс. Π’ нашСй Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ SeatState ΠΈ StayState зависят ΠΎΡ‚ класса Player , Ρ‚.ΠΊ. ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ для измСнСния характСристик ΠΈΠ³Ρ€ΠΎΠΊΠ°. Для изобраТСния ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ Π΄Ρ€ΡƒΠΆΠ±Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ зависимости с подписью friend .

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

2 ИспользованиС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов

ΠœΡ‹ рассмотрСли основныС обозначСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… классов β€” ΠΈΡ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ достаточно Π² ΠΏΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, владСя этим ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠΌ Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ смоТСтС Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… шаблонов проСктирования ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ эскиз любого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Однако, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹? Π’ ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΈ с ΠΊΠ°ΠΊΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ? β€” ΠΎΡ‚Π²Π΅Ρ‚ зависит ΠΎΡ‚ Ρ†Π΅Π»Π΅ΠΉ построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹, поэтому ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π² соотвСтствии с цСлями модСлирования.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ Π“Ρ€Π°Π΄ΠΈ Π‘ΡƒΡ‡Π° совСты ΠΏΠΎ использованию UML Π΄Π°Π½Ρ‹ Π² ΠΊΠ½ΠΈΠ³Π΅ «Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΒ» , Π½ΠΎ Π² Π΅Π³ΠΎ Β«ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅Β» ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ качСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π›Π΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ² ΠΈ вовсС ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚ этой Ρ‚Π΅ΠΌΡ‹, оставляя лишь ссылки Π½Π° Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ я нашСл Ρƒ Π›Π°Ρ€ΠΌΠ°Π½Π° ΠΈ Π ΠΎΠ·Π΅Π½Π±Π΅Ρ€Π³Π° , Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° основана Π½Π° ΠΌΠΎΠ΅ΠΌ Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π΅. Π€Π°ΡƒΠ»Π΅Ρ€ рассматриваСт UML ΠΊΠ°ΠΊ срСдство эскизирования, поэтому Ρƒ Π½Π΅Π³ΠΎ свой (сильно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚ Π‘ΡƒΡ‡Π° ΠΈ Π ΠΎΠ·Π΅Π½Π±Π΅Ρ€Π³Π°) взгляд Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов .

2.1 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ систСмы, ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ модСль

Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ систСмы формируСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ², Ρ‚.Π΅. тСхничСского задания. Выглядит это ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ β€” Π²Ρ‹ Π·Π°Π΄Π°Π΅Ρ‚Π΅ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ вопросы Ρ‚ΠΈΠΏΠ° Β«Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ?Β», Β«Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ (Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π΄Π°Ρ‚ΡŒ систСма) Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сдСлаСт Π½Π°ΠΆΠΌΠ΅Ρ‚ Π½Π° <эту> ΠΊΠ½ΠΎΠΏΠΊΡƒ?Β», Π° ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° Π½ΠΈΡ… записываСтС Π² Π²ΠΈΠ΄Π΅ описания ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ². Однако, Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ, давая ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π²Π΅Ρ‰ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ β€” ΠΈΠ· Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°: говоря Β«ΠΊΠ»Π΅Ρ‚ΠΊΠ°Β», «пСрСсСчСниС», Β«ΡƒΠ·Π΅Π»Β» ΠΈ «ячСйка» Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π²ΠΈΠ΄Ρƒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠΆΠ΅. Π’ вашСй ΠΆΠ΅ систСмС всС эти понятия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ прСдставлСны ΠΎΠ΄Π½ΠΎΠΉ абстракциСй (классом/Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ/…). Для этого ΠΏΡ€ΠΈ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΈ с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ стоит Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ словаря систСмы β€” ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ с этим справляСтся Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов.

Π“Ρ€Π°Π΄ΠΈ Π‘ΡƒΡ‡ для построСния словаря систСмы ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС :

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

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

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

Π›Π°Ρ€ΠΌΠ°Π½ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ модСль систСмы β€” это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ описали ΠΊΠ°ΠΊ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ систСмы, Π½ΠΎ ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π² Π½Π΅ΠΉ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ, понятныС Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΡƒ. НапримСр, Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ (ΠΈ фиксируСт Π² тСхничСском Π·Π°Π΄Π°Π½ΠΈΠΈ), Ρ‡Ρ‚ΠΎ <ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ> оформляСт <ΠΏΡ€ΠΎΠ΄Π°Π²Π΅Ρ†> β€” ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠΌ ΠΈ ΠΏΠΎΠΊΡƒΠΏΠΊΠΎΠΉ сущСствуСт ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ассоциации "оформляСт" . Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ модСль, дорабатывая ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ систСмы, хотя Π›Π°Ρ€ΠΌΠ°Π½ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ сначала Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ассоциации, Π° Π·Π°Ρ‚Π΅ΠΌ β€” Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.

2.2 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов уровня проСктирования

Π’ любом ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ процСссС проСктирования Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов являСтся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ, Ρ‚.ΠΊ. являСтся модСлью, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (ΠΊΠΎΠ΄Ρƒ). Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ инструмСнты, способныС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов Π² ΠΊΠΎΠ΄ β€” Ρ‚Π°ΠΊΠΎΠΉ процСсс называСтся ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ поддСрТиваСтся мноТСством IDE ΠΈ срСдств проСктирования. НапримСр, ΠΊΠΎΠ΄ΠΎΠ³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΡŽ выполняСт Visual Paradigm (доступно Π² Π²ΠΈΠ΄Π΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для мноТСства IDE), Π½ΠΎΠ²Ρ‹Π΅ вСрсии Microsoft Visual Studio, Ρ‚Π°ΠΊΠΈΠ΅ срСдств UML-модСлирования ΠΊΠ°ΠΊ StarUML, ArgoUML ΠΈ Π΄Ρ€. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΊΠΎΠ΄, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ достаточно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ. ИмСнно ΠΎ Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² этом Ρ€Π°Π·Π΄Π΅Π»Π΅.

Π”ΠΎ Π›Π°Ρ€ΠΌΠ°Π½Ρƒ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов уровня проСктирования Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ построСны Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ взаимодСйствия ΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ модСль систСмы. ΠŸΡ€ΠΈ этом порядок построСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

  1. пСрСнСсти классы с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;
  2. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ;
  3. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΏΠΎ Π°Π½Π°Π»ΠΈΠ·Ρƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ взаимодСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, );
  4. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²;
  5. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ассоциации (Π½Π° основании Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² β€” ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ);
  6. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ стрСлки (Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ассоциаций)
  7. Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ассоциации, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ (Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, наслСдованиС).

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

НапримСр, ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ задания Π½Π° ΠΈΠ³Ρ€Ρƒ Β«Π‘Π°ΠΏΠ΅Ρ€Β» ΠΌΡ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈ классы ΠΈ, Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π»ΠΈ эти классы Π² ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ останутся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π²ΠΎΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ? β€” Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ взаимодСйствия. Π’Π΅Π΄ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄:

Enum class CellType { EmptyOpened, EmptyClose, EmptyCloseFlagged, MineOpened, MineClose, MineCloseFlagged }; class PlayingGround { // ... CellType **m_ground; }

Поясню (для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π° Π‘++) β€” Ρ‚ΡƒΡ‚ создаСтся пСрСчислСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Π΄Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ячСйки. Π―Ρ‡Π΅ΠΉΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· этих ΡˆΠ΅ΡΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (пустая открытая, пустая закрытая, пустая закрытая с Ρ„Π»Π°ΠΆΠΊΠΎΠΌ ΠΈ Ρ‚.ΠΏ.). Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, ячСйка Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ смоТСт сама Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° наТатия ΠΌΡ‹ΡˆΠΈ ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Π·Π° своС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ пустая открытая Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ число ΠΌΠΈΠ½ Π²ΠΎΠΊΡ€ΡƒΠ³ сСбя) β€” всС эти обязанности, Π²ΠΈΠ΄ΠΈΠΌΠΎ, лягут Π½Π° класс PlayingGround .

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

2.3 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов для эскизирования, докумСнтирования

Под эскизированиСм ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ (интСрСсной Π½Π°ΠΌ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚) части систСмы. НапримСр, эскизированиС ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π½ΠΎΠΉ доскС ΠΊΠΎΠ³Π΄Π° Π² Π²Π°ΡˆΡƒ компанию ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ сотрудник ΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ Π΅ΠΌΡƒ Β«Π²Π»ΠΈΡ‚ΡŒΡΡΒ» Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ссли Ссли Π΄Π°Ρ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ классов уровня проСктирования β€” Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ»Π³ΠΎ. Π‘ΡƒΡ‚ΡŒ эскизирования Π² ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ β€” Π²Ρ‹ выноситС Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΆΠ½Ρ‹ для пояснСния Ρ‚ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°.

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠΊΠΎΠΌ примСнСния UML для эскизирования являСтся Π€Π°ΡƒΠ»Π΅Ρ€ , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ считаСт, Ρ‡Ρ‚ΠΎ цСлостный процСсс проСктирования с использованиСм UML слишком слоТСн. ЭскизированиС примСняСтся ΠΎΡ‡Π΅Π½ΡŒ часто (Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ объяснСнии ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π½ΠΎΠΉ доскС):

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

ΠšΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΊ эскизам Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ классов ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это достаточно простая Π·Π°Π΄Π°Ρ‡Π°. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΡƒΡ‚ΡŒ β€” ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ прСдставлСния элСмСнтов сниТаСт ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ восприятия Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹.

2.4 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов для модСлирования Π‘Π”

Частным случаСм Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов являСтся Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Β«ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ-связь» (E-R Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для модСлирования логичСской схСмы Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΈ ΠΎΡ‚ классичСских E-R Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов позволяСт ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Ρ‹ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹).

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ситуация выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ β€” Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ систСму, состояниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ запусками, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  • Π² вашСй ΠΈΠ³Ρ€Π΅ Π½Π°Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ достиТСниях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ β€” ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Π½Ρ‹Π΅ ΡƒΡ€ΠΎΠ²Π½ΠΈ, Π½Π°Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΡ‡ΠΊΠΈ ΠΈ Ρ‚.ΠΏ.;
  • Ссли ΠΈΠ³Ρ€Π° сСтСвая β€” Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСрвСр, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ хранятся достиТСния Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ²;
  • вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π° записываСт ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ позволяСт Π΅ΠΌΡƒ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅. Вся эта информация Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒΡΡ послС закрытия прилоТСния.

Π₯Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ запусками Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ запросу ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚.Π΅. Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… классов. НапримСр, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… список Ρ‚Ρ€Π΅ΠΊΠΎΠ² (ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²) ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ списка Π² мСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ элСмСнта списка β€” Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ Π² Π‘Π” ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Ρ€Π΅ΠΊΠ°, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Ρ€Π΅ΠΊΠ° ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅. Π’ любом случаС, Π΄Π°Π½Π½Ρ‹Π΅ с Π±Π°Π·Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” это Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ.

Для модСлирования схСмы Π‘Π” с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов Π½ΡƒΠΆΠ½ΠΎ :

  1. ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ классы, Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ запусками прилоТСния (ΠΈΠ»ΠΈ обращСниями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ) ΠΈ нанСсти эти классы Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ;
  2. Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ классов, ассоциации ΠΈ кратности. Π’ E-R ΠΌΠΎΠ΄Π΅Π»ΠΈ кратности ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Ρ‚Π°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ кратности Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» придСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ спСцифичСскиС стСрСотипы классов ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² (для задания ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΈ Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€) ;
  3. Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ использования ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π² качСствС физичСской ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… β€” цикличСскиС ассоциации, n-Π°Ρ€Π½Ρ‹Π΅ ассоциации ΠΈ Ρ‚.Π΄. ΠŸΡ€ΠΈ нСобходимости ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ абстракции;
  4. Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π²Π°ΠΆΠ½Ρ‹Π΅ для доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ поддСрТания цСлостности;

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ список Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹

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

  • Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ;
  • мноТСство Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… шаги Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для привСдСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² соотвСтствиС ;
  • Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ классов для .
  • Π‘ΡƒΡ‡ Π“Ρ€Π°Π΄Π΄ΠΈ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, 3-Π΅ ΠΈΠ·Π΄. / Π‘ΡƒΡ‡ Π“Ρ€Π°Π΄Π΄ΠΈ, ΠœΠ°ΠΊΡΠΈΠΌΡ‡ΡƒΠΊ Π ΠΎΠ±Π΅Ρ€Ρ‚ А., Π­Π½Π³Π» Майкл Π£., Π―Π½Π³ Π‘ΠΎΠ±Π±ΠΈ Π”ΠΆ., КоналлСн Π”ΠΆΠΈΠΌ, Π₯ΡŒΡŽΡΡ‚ΠΎΠ½ КСлли А.: ΠŸΠ΅Ρ€ с Π°Π½Π³Π». - М.: ООО «И.Π”. Π’ΠΈΠ»ΡŒΡΠΌΡΒ», 2010. - 720 с.
  • Π›Π΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ², А.Π’. Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ UML 2 / А.Π’. Π›Π΅ΠΎΠ½Π΅Π½ΠΊΠΎΠ². – БПб.: Π‘Π₯Π’ β€” ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³, 2007. – 576с.
  • Π›Π°Ρ€ΠΌΠ°Π½, К. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ UML ΠΈ шаблонов проСктирования: Π£Ρ‡. Пос / К. Π›Π°Ρ€ΠΌΠ°Π½. β€” М.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π΄ΠΎΠΌ Β«Π’ΠΈΠ»ΡŒΡΠΌΡΒ», 2001. β€” 496 с.
  • Π ΠΎΠ·Π΅Π½Π±Π΅Ρ€Π³ Π”., Π‘ΠΊΠΎΡ‚Ρ‚ К. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ модСлирования с использованиСм UML ΠΈ Π°Π½Π°Π»ΠΈΠ· ΠΏΡ€Π΅Ρ†Π΅Π΄Π΅Π½Ρ‚ΠΎΠ².: ΠŸΠ΅Ρ€. с Π°Π½Π³Π». М.: Π”ΠœΠš ΠŸΡ€Π΅ΡΡ, 2002
  • Π‘Π°Π΄Π΄ Π’. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² дСйствии: ΠŸΠ΅Ρ€ с Π°Π½Π³Π». β€” БПб: Β«ΠŸΠΈΡ‚Π΅Ρ€Β», 1997. β€” 464 с. 2002
  • Π‘ΡƒΡ‡ Π“., Π Π°ΠΌΠ±ΠΎ Π”., ДТСкобсон А. Π―Π·Ρ‹ΠΊ UML. Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ: ΠŸΠ΅Ρ€. с Π°Π½Π³Π». β€” М.: Π”ΠœΠš, 2000. β€” 432 с.
  • Π€Π°ΡƒΠ»Π΅Ρ€, М. UML. ΠžΡΠ½ΠΎΠ²Ρ‹ / М. Π€Π°ΡƒΠ»Π΅Ρ€, К. Π‘ΠΊΠΎΡ‚Ρ‚; ΠΏΠ΅Ρ€. с Π°Π½Π³Π». – БПб.: Π‘ΠΈΠΌΠ²ΠΎΠ» – Плюс, 2002. – 192 с.
  • β€” URL: https://сайт/archives/1914
  • β€” URL: https://сайт/archives/2769
  • UML data modeling β€” URL: http://www.agiledata.org/essays/umlDataModelingProfile.html
  • β€” URL: https://сайт/archives/887
  • β€” URL: https://сайт/archives/2400
  • β€” URL: https://сайт/archives/1372