ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

РСализация Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ обращСния Π² срСдС Rational Rose

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ систСмы являСтся ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ. Вводя Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ± ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмС, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ список Π²Ρ€Π΅Π΄Π½Ρ‹Ρ… воздСйствий, ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Π² ΡΠΎΠΎΡ‚вСтствии с ΡΡ‚ΠΈΠΌ списком Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π˜ΡΠΈΠΊΠ°Π²Ρ‹-Бибирякова, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π½Π΅Π΅ созданных… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

РСализация Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ обращСния Π² срСдС Rational Rose (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Российской Ρ„Π΅Π΄Π΅Ρ€Π°Ρ†ΠΈΠΈ Π€Π΅Π΄Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ агСнтство ΠΏΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Новосибирский государствСнный тСхничСский унивСрситСт ΠšΠ°Ρ„Π΅Π΄Ρ€Π° АБУ ΠšΡƒΡ€ΡΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΏΠΎ Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ ВСхнология Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм Π½Π° Ρ‚Π΅ΠΌΡƒ РСализация Π°Π½Π°Π»ΠΈΠ·Π° ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ обращСния Π² ΡΡ€Π΅Π΄Π΅ Rational Rose

Π“Ρ€ΡƒΠΏΠΏΠ°: АБ-514

Π‘Ρ‚ΡƒΠ΄Π΅Π½Ρ‚: Π‘Π°ΠΉΠΊΠΎ Π”Π°Ρ€ΡŒΡ Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ΠΎΠ²Π½Π° ΠŸΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ: ΠŸΡƒΡˆΠΊΠ°Ρ€Π΅Π²Π° Π“Π°Π»ΠΈΠ½Π° Π’ΠΈΡ‚Π°Π»ΡŒΠ΅Π²Π½Π° Новосибирск 2009

  • 1. ОписаниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области
  • 2. ΠšΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ UML
    • 2.1 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования
    • 2.2 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
    • 2.3 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ
    • 2.4 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов
    • 2.5 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний
    • 2.6 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ
    • 2.7 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
    • 2.8 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания
  • 3. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄
    • 3.1 ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠ΄ коопСрация сСрвСр
    • 3.2 Π‘Π΅Ρ€Π²Π΅Ρ€

1. ОписаниС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области

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

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этих ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ «ΡƒΠ·ΠΊΠΈΠ΅ мСста» (Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ эффСкты) Π² Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ систСмы ΠΈ ΡΠ²ΠΎΠ΅Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡ… ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ.

ЦСлью ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° систСмы Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° слоТных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы. Для поиска Π΄Π΅ΡΡ‚Π°Π±ΠΈΠ»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² (Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… эффСктов) ΠΈ «ΡƒΠ·ΠΊΠΈΡ… мСст» ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ обращСния.

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

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

2. ΠšΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ UML

Для Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π±Ρ‹Π»ΠΈ построСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ каноничСских Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ.

2.1 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования для Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.

На ΡΡ‚ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π΄Π²Π° Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π»ΠΈΡ†Π°: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŒ) ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€. Π’Π°ΠΊ ΠΆΠ΅ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π΅Ρ‰Π΅ 10 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования:

1. авторизация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;

2. созданиС Π½ΠΎΠ²ΠΎΠΉ систСмы;

3. Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉΡΡ систСмы;

4. Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ ΡΠΈΡΡ‚Π΅ΠΌΠ΅;

5. Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка Π²Ρ€Π΅Π΄Π½Ρ‹Ρ… воздСйствий;

6. построСниС Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π˜ΡΠΈΠΊΠ°Π²Ρ‹-Бибирякова;

7. Π²Ρ‹Π΄Π°Ρ‡Π° Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ систСмы;

8. просмотр Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

9. сохранСниС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹;

10. Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ списка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ систСмы.

ВсС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ использования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ связаны с Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ Π»ΠΈΡ†Π°ΠΌΠΈ, связаны с Π½ΠΈΠΌΠΈ связью ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ — это связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ использования ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Π»ΠΈΡ†ΠΎΠΌ. Бвязь ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ изобраТаСтся Π² Π²ΠΈΠ΄Π΅ стрСлки, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ стрСлки ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΡ‚ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΡŽ.

ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия связаны связью Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π»ΠΈΠ±ΠΎ использования. Бвязь Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ (extend) позволяСт Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ использования Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ нСобходимости ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности, прСдоставляСмыС Π΄Ρ€ΡƒΠ³ΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ использования. А ΡΠ²ΡΠ·ΡŒ использования (include) позволяСт ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ использования Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° использования задСйствуСтся всСгда.

Часто для ΠΎΠ΄Π½ΠΎΠΉ систСмы создаСтся нСсколько Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ высокого уровня, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Π² ΡΡ€Π΅Π΄Π΅ Rational Rose Π³Π»Π°Π²Π½ΠΎΠΉ (main), ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ (Π³Ρ€ΡƒΠΏΠΏΡ‹ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования). Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ совокупности Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π»ΠΈΡ†.

Рисунок 1 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования (Main)

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ состоит ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², сообщСний, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½Ρ‹Ρ… ΡΠΏΠ»ΠΎΡˆΠ½Ρ‹ΠΌΠΈ линиями со ΡΡ‚Ρ€Π΅Π»ΠΊΠ°ΠΌΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ оси Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅ΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ событий.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΉ части Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ располоТСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ, ΠΎΠ½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ся лишь Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ простоты Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Π°Ρ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ линия, располоТСнная ΠΏΠΎΠ΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, называСтся Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΆΠΈΠ·Π½ΠΈ этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

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

БообщСния, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Π»ΠΈΠ½ΠΈΠΉ, ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΡ… Π»ΠΈΠ½ΠΈΠΈ ΠΆΠΈΠ·Π½ΠΈ этих ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. БообщСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ рСфлСксивными, Ρ‡Ρ‚ΠΎ соотвСтствуСт ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ ΡΠ²ΠΎΠ΅ΠΉ собствСнной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.

Рисунок 2 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для создания Π½ΠΎΠ²ΠΎΠΉ систСмы

2.3 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

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

Π’ Rational Rose Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ F5.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.

Рисунок 3 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов являСтся основным логичСским прСдставлСниСм ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΠ½Π° ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ статичСскоС прСдставлСниС систСмы. На Π΄Π°Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ классы ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ систСмы, Π° Ρ‚Π°ΠΊΠΆΠ΅ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.

Boundaries:

1. MainForm — Ρ‚ΠΈΠΏ boundary, основноС ΠΎΠΊΠ½ΠΎ прилоТСния.

Controls:

1. SystemManager — Ρ‚ΠΈΠΏ Control, элСмСнты управлСния ΠΎΠΊΠ½Π°.

Entities:

1. DevelopmentGuide — Ρ‚ΠΈΠΏ Entity, справочник развития;

2. EducationGuide — Ρ‚ΠΈΠΏ Entity, справочник воспитания;

3. KnowlageGuide — Ρ‚ΠΈΠΏ Entity, справочник Π·Π½Π°Π½ΠΈΠΉ;

4. FounderGuide — Ρ‚ΠΈΠΏ Entity, справочник ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ;

5. SystemsGuide — Ρ‚ΠΈΠΏ Entity, справочник систСм.

Рисунок 4 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов для создания Π½ΠΎΠ²ΠΎΠΉ систСмы

2.5 Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний относится ΠΊ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌ повСдСния. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Ρ… состояний ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, начиная с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅Π³ΠΎ создания ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ Ρ€Π°Π·Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ΠΌ. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 5.

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ состояний ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄Π²Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… состояния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°: Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅. На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ состоянии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ находится нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ состояниС Π½Π΅ ΡΠ²Π»ΡΠ΅Ρ‚ся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… состояний ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ.

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

Рисунок 5 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний

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

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

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²ΠΈΠ΄ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ изобраТаСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠΌ с ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΡƒΠ³Π»Π°ΠΌΠΈ (Activity) — Π±ΠΎΠ»Π΅Π΅ ΡƒΠ·ΠΊΠΈΠΌ ΠΈ ΠΎΠ²Π°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Π΅ΠΌ символ состояния. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ происходит автоматичСски. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ изобраТаСтся стрСлкой. Как ΠΈ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ состояний, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΅ΡΡ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Π°Ρ Ρ‚ΠΎΡ‡ΠΊΠ°. Но Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ СдинствСнноС Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅ состояниС. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ принято Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ дСйствия слСдовали свСрху Π²Π½ΠΈΠ·. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Ρ‚ΠΎΡ‡ΠΊΠΈ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π±ΠΎΡ€Π° Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‚ΠΎΡ‡ΠΊΡƒ принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π² Π²ΠΈΠ΄Π΅ нСбольшого Ρ€ΠΎΠΌΠ±ΠΈΠΊΠ° (Decision). ИмСнно Π² ΡΡ‚ΠΎΠΌ случаС для любого ΠΈΠ· ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ явно записано стороТСвоС условиС. ΠŸΡ€ΠΈ этом для всСх выходящих ΠΈΠ· Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ состояния ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ истинности Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Π΄Π°Π½Π½ΠΎΠΉ систСмы прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 6.

Рисунок 6 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

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

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

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

Π’ Π΄Π°Π½Π½ΠΎΠΉ систСмС для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° классов созданы ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для всСй систСмы.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Π΄Π°Π½Π½ΠΎΠΉ систСмы прСдставлСны Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ°Ρ… 7 — 9.

Рисунок 7 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² всСй систСмы

Рисунок 8 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠšΠ»ΠΈΠ΅Π½Ρ‚

Рисунок 9 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π‘Π΅Ρ€Π²Π΅Ρ€

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

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

На Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 10 прСдставлСна Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания для Π΄Π°Π½Π½ΠΎΠΉ систСмы.

Рисунок 2.10 — Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания

3. Π‘Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄

3.1 ΠšΠ»ΠΈΠ΅Π½Ρ‚

ClientExe.h

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B6750076.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B6750076.cm

//## begin module%4B31B6750076.cp preserve=no

//## end module%4B31B6750076.cp

//## Module: ClientExe%4B31B6750076; Task specification

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Source file: D: ΠšΠ»ΠΈΠ΅Π½Ρ‚ClientExe. h

#ifndef ClientExe_h

#define ClientExe_h 1

//## begin module%4B31B6750076.additionalIncludes preserve=no

//## end module%4B31B6750076.additionalIncludes

//## begin module%4B31B6750076.includes preserve=yes

//## end module%4B31B6750076.includes

// MainForm

#include «ΠšΠ»ΠΈΠ΅Π½Ρ‚MainForm.h»

// SystemManager

#include «ΠšΠ»ΠΈΠ΅Π½Ρ‚SystemManager.h»

//## begin module%4B31B6750076.declarations preserve=no

//## end module%4B31B6750076.declarations

//## begin module%4B31B6750076.additionalDeclarations preserve=yes

//## end module%4B31B6750076.additionalDeclarations

//## begin module%4B31B6750076.epilog preserve=yes

//## end module%4B31B6750076.epilog

#endif

MainForm.cpp

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B65F0319.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B65F0319.cm

//## begin module%4B31B65F0319.cp preserve=no

//## end module%4B31B65F0319.cp

//## Module: MainForm%4B31B65F0319; Package body

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Source file: D: ΠšΠ»ΠΈΠ΅Π½Ρ‚MainForm. cpp

//## begin module%4B31B65F0319.additionalIncludes preserve=no

//## end module%4B31B65F0319.additionalIncludes

//## begin module%4B31B65F0319.includes preserve=yes

//## end module%4B31B65F0319.includes

// MainForm

#include «ΠšΠ»ΠΈΠ΅Π½Ρ‚MainForm.h»

//## begin module%4B31B65F0319.declarations preserve=no

//## end module%4B31B65F0319.declarations

//## begin module%4B31B65F0319.additionalDeclarations preserve=yes

//## end module%4B31B65F0319.additionalDeclarations

// Class MainForm

MainForm:MainForm ()

//## begin MainForm: MainForm%4B319C190084_const.hasinit preserve=no

//## end MainForm: MainForm%4B319C190084_const.hasinit

//## begin MainForm: MainForm%4B319C190084_const.initialization preserve=yes

//## end MainForm: MainForm%4B319C190084_const.initialization

{

//## begin MainForm: MainForm%4B319C190084_const.body preserve=yes

//## end MainForm: MainForm%4B319C190084_const.body

}

MainForm:MainForm (const MainForm &right)

//## begin MainForm: MainForm%4B319C190084_copy.hasinit preserve=no

//## end MainForm: MainForm%4B319C190084_copy.hasinit

//## begin MainForm: MainForm%4B319C190084_copy.initialization preserve=yes

//## end MainForm: MainForm%4B319C190084_copy.initialization

{

//## begin MainForm: MainForm%4B319C190084_copy.body preserve=yes

//## end MainForm: MainForm%4B319C190084_copy.body

}

MainForm:~MainForm ()

{

//## begin MainForm:~MainForm%4B319C190084_dest.body preserve=yes

//## end MainForm:~MainForm%4B319C190084_dest.body

}

MainForm & MainForm: operator=(const MainForm &right)

{

//## begin MainForm: operator=%4B319C190084_assign.body preserve=yes

//## end MainForm: operator=%4B319C190084_assign.body

}

int MainForm: operator==(const MainForm &right) const

{

//## begin MainForm: operator==%4B319C190084_eq.body preserve=yes

//## end MainForm: operator==%4B319C190084_eq.body

}

int MainForm: operator≠(const MainForm &right) const

{

//## begin MainForm: operator≠%4B319C190084_neq.body preserve=yes

//## end MainForm: operator≠%4B319C190084_neq.body

}

//## Other Operations (implementation)

void MainForm: Open ()

{

//## begin MainForm: Open%4B319CB50190.body preserve=yes

//## end MainForm: Open%4B319CB50190.body

}

void MainForm: LogIn (String Login, String Password)

{

//## begin MainForm: LogIn%4B319CBF0057.body preserve=yes

//## end MainForm: LogIn%4B319CBF0057.body

}

Boolean MainForm: Check (String Login, String Password)

{

//## begin MainForm: Check%4B319CE300D9.body preserve=yes

//## end MainForm: Check%4B319CE300D9.body

}

void MainForm: InputData (Integer id, String name, String array knowlage, String array education, String array development, String founder)

{

//## begin MainForm: InputData%4B319D4900E1.body preserve=yes

//## end MainForm: InputData%4B319D4900E1.body

}

// Additional Declarations

//## begin MainForm%4B319C190084.declarations preserve=yes

//## end MainForm%4B319C190084.declarations

//## begin module%4B31B65F0319.epilog preserve=yes

//## end module%4B31B65F0319.epilog

MainForm.h

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B65B0061.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B65B0061.cm

//## begin module%4B31B65B0061.cp preserve=no

//## end module%4B31B65B0061.cp

//## Module: MainForm%4B31B65B0061; Package specification

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Source file: D: ΠšΠ»ΠΈΠ΅Π½Ρ‚MainForm. h

#ifndef MainForm_h

#define MainForm_h 1

//## begin module%4B31B65B0061.additionalIncludes preserve=no

//## end module%4B31B65B0061.additionalIncludes

//## begin module%4B31B65B0061.includes preserve=yes

//## end module%4B31B65B0061.includes

// SystemManager

#include «ΠšΠ»ΠΈΠ΅Π½Ρ‚SystemManager.h»

//## begin module%4B31B65B0061.declarations preserve=no

//## end module%4B31B65B0061.declarations

//## begin module%4B31B65B0061.additionalDeclarations preserve=yes

//## end module%4B31B65B0061.additionalDeclarations

//## begin MainForm%4B319C190084.preface preserve=yes

//## end MainForm%4B319C190084.preface

//## Class: MainForm%4B319C190084

//## Category: Boundaries%4B31B26003B4

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Persistence: Transient

//## Cardinality/Multiplicity: n

class MainForm

{

//## begin MainForm%4B319C190084.initialDeclarations preserve=yes

//## end MainForm%4B319C190084.initialDeclarations

public:

//## Constructors (generated)

MainForm ();

MainForm (const MainForm &right);

//## Destructor (generated)

~MainForm ();

//## Assignment Operation (generated)

MainForm & operator=(const MainForm &right);

//## Equality Operations (generated)

int operator==(const MainForm &right) const;

int operator≠(const MainForm &right) const;

//## Other Operations (specified)

//## Operation: Open%4B319CB50190

void Open ();

//## Operation: LogIn%4B319CBF0057

void LogIn (String Login, String Password);

//## Operation: Check%4B319CE300D9

Boolean Check (String Login, String Password);

//## Operation: InputData%4B319D4900E1

void InputData (Integer id, String name, String array knowlage, String array education, String array development, String founder);

//## Get and Set Operations for Associations (generated)

//## Association: %4B31B366027E

//## Role: MainForm:%4B31B36700F6

const SystemManager * get_the_SystemManager () const;

void set_the_SystemManager (SystemManager * value);

// Additional Public Declarations

//## begin MainForm%4B319C190084.public preserve=yes

//## end MainForm%4B319C190084.public

protected:

// Additional Protected Declarations

//## begin MainForm%4B319C190084.protected preserve=yes

//## end MainForm%4B319C190084.protected

private:

// Additional Private Declarations

//## begin MainForm%4B319C190084.private preserve=yes

//## end MainForm%4B319C190084.private

private: //## implementation

// Data Members for Associations

//## Association: %4B31B366027E

//## begin MainForm:%4B31B36700F6.role preserve=no public: SystemManager {1 -> 1RHN}

SystemManager *the_SystemManager;

//## end MainForm:%4B31B36700F6.role

// Additional Implementation Declarations

//## begin MainForm%4B319C190084.implementation preserve=yes

//## end MainForm%4B319C190084.implementation

};

//## begin MainForm%4B319C190084.postscript preserve=yes

//## end MainForm%4B319C190084.postscript

// Class MainForm

//## Get and Set Operations for Associations (inline)

inline const SystemManager * MainForm: get_the_SystemManager () const

{

//## begin MainForm: get_the_SystemManager%4B31B36700F6.get preserve=no

return the_SystemManager;

//## end MainForm: get_the_SystemManager%4B31B36700F6.get

}

inline void MainForm: set_the_SystemManager (SystemManager * value)

{

//## begin MainForm: set_the_SystemManager%4B31B36700F6.set preserve=no

the_SystemManager = value;

//## end MainForm: set_the_SystemManager%4B31B36700F6.set

}

//## begin module%4B31B65B0061.epilog preserve=yes

//## end module%4B31B65B0061.epilog

#endif

SystemManager.cpp

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B64B026E.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B64B026E.cm

//## begin module%4B31B64B026E.cp preserve=no

//## end module%4B31B64B026E.cp

//## Module: SystemManager%4B31B64B026E; Package body

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Source file: D: ΠšΠ»ΠΈΠ΅Π½Ρ‚SystemManager. cpp

//## begin module%4B31B64B026E.additionalIncludes preserve=no

//## end module%4B31B64B026E.additionalIncludes

//## begin module%4B31B64B026E.includes preserve=yes

//## end module%4B31B64B026E.includes

// SystemManager

#include «ΠšΠ»ΠΈΠ΅Π½Ρ‚SystemManager.h»

//## begin module%4B31B64B026E.declarations preserve=no

//## end module%4B31B64B026E.declarations

//## begin module%4B31B64B026E.additionalDeclarations preserve=yes

//## end module%4B31B64B026E.additionalDeclarations

// Class SystemManager

SystemManager:SystemManager ()

//## begin SystemManager: SystemManager%4B31A2E80188_const.hasinit preserve=no

//## end SystemManager: SystemManager%4B31A2E80188_const.hasinit

//## begin SystemManager: SystemManager%4B31A2E80188_const.initialization preserve=yes

//## end SystemManager: SystemManager%4B31A2E80188_const.initialization

{

//## begin SystemManager: SystemManager%4B31A2E80188_const.body preserve=yes

//## end SystemManager: SystemManager%4B31A2E80188_const.body

}

SystemManager:SystemManager (const SystemManager &right)

//## begin SystemManager: SystemManager%4B31A2E80188_copy.hasinit preserve=no

//## end SystemManager: SystemManager%4B31A2E80188_copy.hasinit

//## begin SystemManager: SystemManager%4B31A2E80188_copy.initialization preserve=yes

//## end SystemManager: SystemManager%4B31A2E80188_copy.initialization

{

//## begin SystemManager: SystemManager%4B31A2E80188_copy.body preserve=yes

//## end SystemManager: SystemManager%4B31A2E80188_copy.body

}

SystemManager:~SystemManager ()

{

//## begin SystemManager:~SystemManager%4B31A2E80188_dest.body preserve=yes

//## end SystemManager:~SystemManager%4B31A2E80188_dest.body

}

SystemManager & SystemManager: operator=(const SystemManager &right)

{

//## begin SystemManager: operator=%4B31A2E80188_assign.body preserve=yes

//## end SystemManager: operator=%4B31A2E80188_assign.body

}

int SystemManager: operator==(const SystemManager &right) const

{

//## begin SystemManager: operator==%4B31A2E80188_eq.body preserve=yes

//## end SystemManager: operator==%4B31A2E80188_eq.body

}

int SystemManager: operator≠(const SystemManager &right) const

{

//## begin SystemManager: operator≠%4B31A2E80188_neq.body preserve=yes

//## end SystemManager: operator≠%4B31A2E80188_neq.body

}

//## Other Operations (implementation)

void SystemManager: Save ()

{

//## begin SystemManager: Save%4B31A333016E.body preserve=yes

//## end SystemManager: Save%4B31A333016E.body

}

// Additional Declarations

//## begin SystemManager%4B31A2E80188.declarations preserve=yes

//## end SystemManager%4B31A2E80188.declarations

//## begin module%4B31B64B026E.epilog preserve=yes

//## end module%4B31B64B026E.epilog

SystemManager.h

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B6490187.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B6490187.cm

//## begin module%4B31B6490187.cp preserve=no

//## end module%4B31B6490187.cp

//## Module: SystemManager%4B31B6490187; Package specification

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Source file: D: ΠšΠ»ΠΈΠ΅Π½Ρ‚SystemManager. h

#ifndef SystemManager_h

#define SystemManager_h 1

//## begin module%4B31B6490187.additionalIncludes preserve=no

//## end module%4B31B6490187.additionalIncludes

//## begin module%4B31B6490187.includes preserve=yes

//## end module%4B31B6490187.includes

// SystemsGuide

#include «Π‘Π΅Ρ€Π²Π΅Ρ€SystemsGuide.h»

// KnowlageGuide

#include «Π‘Π΅Ρ€Π²Π΅Ρ€KnowlageGuide.h»

// FounderGuard

#include «Π‘Π΅Ρ€Π²Π΅Ρ€FounderGuard.h»

// EducationGuide

#include «Π‘Π΅Ρ€Π²Π΅Ρ€EducationGuide.h»

// DevelopmentGuide

#include «Π‘Π΅Ρ€Π²Π΅Ρ€DevelopmentGuide.h»

//## begin module%4B31B6490187.declarations preserve=no

//## end module%4B31B6490187.declarations

//## begin module%4B31B6490187.additionalDeclarations preserve=yes

//## end module%4B31B6490187.additionalDeclarations

//## begin SystemManager%4B31A2E80188.preface preserve=yes

//## end SystemManager%4B31A2E80188.preface

//## Class: SystemManager%4B31A2E80188

//## Category: Controls%4B31B25801EC

//## Subsystem: ΠšΠ»ΠΈΠ΅Π½Ρ‚%4B31B4DD03CE

//## Persistence: Transient

//## Cardinality/Multiplicity: n

class SystemManager

{

//## begin SystemManager%4B31A2E80188.initialDeclarations preserve=yes

//## end SystemManager%4B31A2E80188.initialDeclarations

public:

//## Constructors (generated)

SystemManager ();

SystemManager (const SystemManager &right);

//## Destructor (generated)

~SystemManager ();

//## Assignment Operation (generated)

SystemManager & operator=(const SystemManager &right);

//## Equality Operations (generated)

int operator==(const SystemManager &right) const;

int operator≠(const SystemManager &right) const;

//## Other Operations (specified)

//## Operation: Save%4B31A333016E

void Save ();

//## Get and Set Operations for Associations (generated)

//## Association: %4B31B39100B3

//## Role: SystemManager:%4B31B39102A6

const UnboundedSetByReference get_the_DevelopmentGuide () const;

void set_the_DevelopmentGuide (UnboundedSetByReference value);

//## Association: %4B31B3950204

//## Role: SystemManager:%4B31B396006C

const UnboundedSetByReference get_the_EducationGuide () const;

void set_the_EducationGuide (UnboundedSetByReference value);

//## Association: %4B31B3C0001A

//## Role: SystemManager:%4B31B3C001FD

const UnboundedSetByReference get_the_FounderGuard () const;

void set_the_FounderGuard (UnboundedSetByReference value);

//## Association: %4B31B3C4011C

//## Role: SystemManager:%4B31B3C4036D

const UnboundedSetByReference get_the_SystemsGuide () const;

void set_the_SystemsGuide (UnboundedSetByReference value);

//## Association: %4B31B3C60251

//## Role: SystemManager:%4B31B3C70194

const UnboundedSetByReference get_the_KnowlageGuide () const;

void set_the_KnowlageGuide (UnboundedSetByReference value);

// Additional Public Declarations

//## begin SystemManager%4B31A2E80188.public preserve=yes

//## end SystemManager%4B31A2E80188.public

protected:

// Additional Protected Declarations

//## begin SystemManager%4B31A2E80188.protected preserve=yes

//## end SystemManager%4B31A2E80188.protected

private:

// Additional Private Declarations

//## begin SystemManager%4B31A2E80188.private preserve=yes

//## end SystemManager%4B31A2E80188.private

private: //## implementation

// Data Members for Associations

//## Association: %4B31B39100B3

//## begin SystemManager:%4B31B39102A6.role preserve=no public: DevelopmentGuide {1 -> 1.*RHN}

UnboundedSetByReference the_DevelopmentGuide;

//## end SystemManager:%4B31B39102A6.role

//## Association: %4B31B3950204

//## begin SystemManager:%4B31B396006C.role preserve=no public: EducationGuide {1 -> 1.*RHN}

UnboundedSetByReference the_EducationGuide;

//## end SystemManager:%4B31B396006C.role

//## Association: %4B31B3C0001A

//## begin SystemManager:%4B31B3C001FD.role preserve=no public: FounderGuard {1 -> 1.*RHN}

UnboundedSetByReference the_FounderGuard;

//## end SystemManager:%4B31B3C001FD.role

//## Association: %4B31B3C4011C

//## begin SystemManager:%4B31B3C4036D.role preserve=no public: SystemsGuide {1 -> 1.*RHN}

UnboundedSetByReference the_SystemsGuide;

//## end SystemManager:%4B31B3C4036D.role

//## Association: %4B31B3C60251

//## begin SystemManager:%4B31B3C70194.role preserve=no public: KnowlageGuide {1 -> 1.*RHN}

UnboundedSetByReference the_KnowlageGuide;

//## end SystemManager:%4B31B3C70194.role

// Additional Implementation Declarations

//## begin SystemManager%4B31A2E80188.implementation preserve=yes

//## end SystemManager%4B31A2E80188.implementation

};

//## begin SystemManager%4B31A2E80188.postscript preserve=yes

//## end SystemManager%4B31A2E80188.postscript

// Class SystemManager

//## Get and Set Operations for Associations (inline)

inline const UnboundedSetByReference SystemManager: get_the_DevelopmentGuide () const

{

//## begin SystemManager: get_the_DevelopmentGuide%4B31B39102A6.get preserve=no

return the_DevelopmentGuide;

//## end SystemManager: get_the_DevelopmentGuide%4B31B39102A6.get

}

inline void SystemManager: set_the_DevelopmentGuide (UnboundedSetByReference value)

{

//## begin SystemManager: set_the_DevelopmentGuide%4B31B39102A6.set preserve=no

the_DevelopmentGuide = value;

//## end SystemManager: set_the_DevelopmentGuide%4B31B39102A6.set

}

inline const UnboundedSetByReference SystemManager: get_the_EducationGuide () const

{

//## begin SystemManager: get_the_EducationGuide%4B31B396006C.get preserve=no

return the_EducationGuide;

//## end SystemManager: get_the_EducationGuide%4B31B396006C.get

}

inline void SystemManager: set_the_EducationGuide (UnboundedSetByReference value)

{

//## begin SystemManager: set_the_EducationGuide%4B31B396006C.set preserve=no

the_EducationGuide = value;

//## end SystemManager: set_the_EducationGuide%4B31B396006C.set

}

inline const UnboundedSetByReference SystemManager: get_the_FounderGuard () const

{

//## begin SystemManager: get_the_FounderGuard%4B31B3C001FD.get preserve=no

return the_FounderGuard;

//## end SystemManager: get_the_FounderGuard%4B31B3C001FD.get

}

inline void SystemManager: set_the_FounderGuard (UnboundedSetByReference value)

{

//## begin SystemManager: set_the_FounderGuard%4B31B3C001FD.set preserve=no

the_FounderGuard = value;

//## end SystemManager: set_the_FounderGuard%4B31B3C001FD.set

}

inline const UnboundedSetByReference SystemManager: get_the_SystemsGuide () const

{

//## begin SystemManager: get_the_SystemsGuide%4B31B3C4036D.get preserve=no

return the_SystemsGuide;

//## end SystemManager: get_the_SystemsGuide%4B31B3C4036D.get

}

inline void SystemManager: set_the_SystemsGuide (UnboundedSetByReference value)

{

//## begin SystemManager: set_the_SystemsGuide%4B31B3C4036D.set preserve=no

the_SystemsGuide = value;

//## end SystemManager: set_the_SystemsGuide%4B31B3C4036D.set

}

inline const UnboundedSetByReference SystemManager: get_the_KnowlageGuide () const

{

//## begin SystemManager: get_the_KnowlageGuide%4B31B3C70194.get preserve=no

return the_KnowlageGuide;

//## end SystemManager: get_the_KnowlageGuide%4B31B3C70194.get

}

inline void SystemManager: set_the_KnowlageGuide (UnboundedSetByReference value)

{

//## begin SystemManager: set_the_KnowlageGuide%4B31B3C70194.set preserve=no

the_KnowlageGuide = value;

//## end SystemManager: set_the_KnowlageGuide%4B31B3C70194.set

}

//## begin module%4B31B6490187.epilog preserve=yes

//## end module%4B31B6490187.epilog

#endif

3.2 Π‘Π΅Ρ€Π²Π΅Ρ€

DevelopmentGuide.cpp

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B5990169.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B5990169.cm

//## begin module%4B31B5990169.cp preserve=no

//## end module%4B31B5990169.cp

//## Module: DevelopmentGuide%4B31B5990169; Package body

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Source file: D: Π‘Π΅Ρ€Π²Π΅Ρ€DevelopmentGuide. cpp

//## begin module%4B31B5990169.additionalIncludes preserve=no

//## end module%4B31B5990169.additionalIncludes

//## begin module%4B31B5990169.includes preserve=yes

//## end module%4B31B5990169.includes

// DevelopmentGuide

#include «Π‘Π΅Ρ€Π²Π΅Ρ€DevelopmentGuide.h»

//## begin module%4B31B5990169.declarations preserve=no

//## end module%4B31B5990169.declarations

//## begin module%4B31B5990169.additionalDeclarations preserve=yes

//## end module%4B31B5990169.additionalDeclarations

// Class DevelopmentGuide

DevelopmentGuide:DevelopmentGuide ()

//## begin DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_const.hasinit preserve=no

//## end DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_const.hasinit

//## begin DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_const.initialization preserve=yes

//## end DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_const.initialization

{

//## begin DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_const.body preserve=yes

//## end DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_const.body

}

DevelopmentGuide:DevelopmentGuide (const DevelopmentGuide &right)

//## begin DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_copy.hasinit preserve=no

//## end DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_copy.hasinit

//## begin DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_copy.initialization preserve=yes

//## end DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_copy.initialization

{

//## begin DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_copy.body preserve=yes

//## end DevelopmentGuide: DevelopmentGuide%4B31A4CC0021_copy.body

}

DevelopmentGuide:~DevelopmentGuide ()

{

//## begin DevelopmentGuide:~DevelopmentGuide%4B31A4CC0021_dest.body preserve=yes

//## end DevelopmentGuide:~DevelopmentGuide%4B31A4CC0021_dest.body

}

DevelopmentGuide & DevelopmentGuide: operator=(const DevelopmentGuide &right)

{

//## begin DevelopmentGuide: operator=%4B31A4CC0021_assign.body preserve=yes

//## end DevelopmentGuide: operator=%4B31A4CC0021_assign.body

}

int DevelopmentGuide: operator==(const DevelopmentGuide &right) const

{

//## begin DevelopmentGuide: operator==%4B31A4CC0021_eq.body preserve=yes

//## end DevelopmentGuide: operator==%4B31A4CC0021_eq.body

}

int DevelopmentGuide: operator≠(const DevelopmentGuide &right) const

{

//## begin DevelopmentGuide: operator≠%4B31A4CC0021_neq.body preserve=yes

//## end DevelopmentGuide: operator≠%4B31A4CC0021_neq.body

}

//## Other Operations (implementation)

Integer array DevelopmentGuide: GetDevelopmentsIds (String array Development)

{

//## begin DevelopmentGuide: GetDevelopmentsIds%4B31A6EA020B.body preserve=yes

//## end DevelopmentGuide: GetDevelopmentsIds%4B31A6EA020B.body

}

// Additional Declarations

//## begin DevelopmentGuide%4B31A4CC0021.declarations preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.declarations

//## begin module%4B31B5990169.epilog preserve=yes

//## end module%4B31B5990169.epilog

DevelopmentGuide.h

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B5830276.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B5830276.cm

//## begin module%4B31B5830276.cp preserve=no

//## end module%4B31B5830276.cp

//## Module: DevelopmentGuide%4B31B5830276; Package specification

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Source file: D: Π‘Π΅Ρ€Π²Π΅Ρ€DevelopmentGuide. h

#ifndef DevelopmentGuide_h

#define DevelopmentGuide_h 1

//## begin module%4B31B5830276.additionalIncludes preserve=no

//## end module%4B31B5830276.additionalIncludes

//## begin module%4B31B5830276.includes preserve=yes

//## end module%4B31B5830276.includes

//## begin module%4B31B5830276.declarations preserve=no

//## end module%4B31B5830276.declarations

//## begin module%4B31B5830276.additionalDeclarations preserve=yes

//## end module%4B31B5830276.additionalDeclarations

//## begin DevelopmentGuide%4B31A4CC0021.preface preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.preface

//## Class: DevelopmentGuide%4B31A4CC0021

//## Category: Entities%4B31B26B000A

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Persistence: Transient

//## Cardinality/Multiplicity: n

class DevelopmentGuide

{

//## begin DevelopmentGuide%4B31A4CC0021.initialDeclarations preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.initialDeclarations

public:

//## Constructors (generated)

DevelopmentGuide ();

DevelopmentGuide (const DevelopmentGuide &right);

//## Destructor (generated)

~DevelopmentGuide ();

//## Assignment Operation (generated)

DevelopmentGuide & operator=(const DevelopmentGuide &right);

//## Equality Operations (generated)

int operator==(const DevelopmentGuide &right) const;

int operator≠(const DevelopmentGuide &right) const;

//## Other Operations (specified)

//## Operation: GetDevelopmentsIds%4B31A6EA020B

Integer array GetDevelopmentsIds (String array Development);

// Additional Public Declarations

//## begin DevelopmentGuide%4B31A4CC0021.public preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.public

protected:

// Additional Protected Declarations

//## begin DevelopmentGuide%4B31A4CC0021.protected preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.protected

private:

//## Get and Set Operations for Class Attributes (generated)

//## Attribute: Id%4B31B0A001FB

const Integer get_Id () const;

void set_Id (Integer value);

//## Attribute: Name%4B31B0A80317

const String get_Name () const;

void set_Name (String value);

// Additional Private Declarations

//## begin DevelopmentGuide%4B31A4CC0021.private preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.private

private: //## implementation

// Data Members for Class Attributes

//## begin DevelopmentGuide: Id%4B31B0A001FB.attr preserve=no private: Integer {U}

Integer Id;

//## end DevelopmentGuide: Id%4B31B0A001FB.attr

//## begin DevelopmentGuide: Name%4B31B0A80317.attr preserve=no private: String {U}

String Name;

//## end DevelopmentGuide: Name%4B31B0A80317.attr

// Additional Implementation Declarations

//## begin DevelopmentGuide%4B31A4CC0021.implementation preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.implementation

};

//## begin DevelopmentGuide%4B31A4CC0021.postscript preserve=yes

//## end DevelopmentGuide%4B31A4CC0021.postscript

// Class DevelopmentGuide

//## Get and Set Operations for Class Attributes (inline)

inline const Integer DevelopmentGuide: get_Id () const

{

//## begin DevelopmentGuide: get_Id%4B31B0A001FB.get preserve=no

return Id;

//## end DevelopmentGuide: get_Id%4B31B0A001FB.get

}

inline void DevelopmentGuide: set_Id (Integer value)

{

//## begin DevelopmentGuide: set_Id%4B31B0A001FB.set preserve=no

Id = value;

//## end DevelopmentGuide: set_Id%4B31B0A001FB.set

}

inline const String DevelopmentGuide: get_Name () const

{

//## begin DevelopmentGuide: get_Name%4B31B0A80317.get preserve=no

return Name;

//## end DevelopmentGuide: get_Name%4B31B0A80317.get

}

inline void DevelopmentGuide: set_Name (String value)

{

//## begin DevelopmentGuide: set_Name%4B31B0A80317.set preserve=no

Name = value;

//## end DevelopmentGuide: set_Name%4B31B0A80317.set

}

//## begin module%4B31B5830276.epilog preserve=yes

//## end module%4B31B5830276.epilog

#endif

EducationGuide.h

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B5A800B5.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B5A800B5.cm

//## begin module%4B31B5A800B5.cp preserve=no

//## end module%4B31B5A800B5.cp

//## Module: EducationGuide%4B31B5A800B5; Package specification

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Source file: D: Π‘Π΅Ρ€Π²Π΅Ρ€EducationGuide. h

#ifndef EducationGuide_h

#define EducationGuide_h 1

//## begin module%4B31B5A800B5.additionalIncludes preserve=no

//## end module%4B31B5A800B5.additionalIncludes

//## begin module%4B31B5A800B5.includes preserve=yes

//## end module%4B31B5A800B5.includes

//## begin module%4B31B5A800B5.declarations preserve=no

//## end module%4B31B5A800B5.declarations

//## begin module%4B31B5A800B5.additionalDeclarations preserve=yes

//## end module%4B31B5A800B5.additionalDeclarations

//## begin EducationGuide%4B31A48A02E0.preface preserve=yes

//## end EducationGuide%4B31A48A02E0.preface

//## Class: EducationGuide%4B31A48A02E0

//## Category: Entities%4B31B26B000A

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Persistence: Transient

//## Cardinality/Multiplicity: n

class EducationGuide

{

//## begin EducationGuide%4B31A48A02E0.initialDeclarations preserve=yes

//## end EducationGuide%4B31A48A02E0.initialDeclarations

public:

//## Constructors (generated)

EducationGuide ();

EducationGuide (const EducationGuide &right);

//## Destructor (generated)

~EducationGuide ();

//## Assignment Operation (generated)

EducationGuide & operator=(const EducationGuide &right);

//## Equality Operations (generated)

int operator==(const EducationGuide &right) const;

int operator≠(const EducationGuide &right) const;

//## Other Operations (specified)

//## Operation: GetEducationsIds%4B31A69B0345

Integer array GetEducationsIds (String array Education);

// Additional Public Declarations

//## begin EducationGuide%4B31A48A02E0.public preserve=yes

//## end EducationGuide%4B31A48A02E0.public

protected:

// Additional Protected Declarations

//## begin EducationGuide%4B31A48A02E0.protected preserve=yes

//## end EducationGuide%4B31A48A02E0.protected

private:

//## Get and Set Operations for Class Attributes (generated)

//## Attribute: Id%4B31B0BE016D

const Integer get_Id () const;

void set_Id (Integer value);

//## Attribute: Name%4B31B0C50153

const String get_Name () const;

void set_Name (String value);

// Additional Private Declarations

//## begin EducationGuide%4B31A48A02E0.private preserve=yes

//## end EducationGuide%4B31A48A02E0.private

private: //## implementation

// Data Members for Class Attributes

//## begin EducationGuide: Id%4B31B0BE016D.attr preserve=no private: Integer {U}

Integer Id;

//## end EducationGuide: Id%4B31B0BE016D.attr

//## begin EducationGuide: Name%4B31B0C50153.attr preserve=no private: String {U}

String Name;

//## end EducationGuide: Name%4B31B0C50153.attr

// Additional Implementation Declarations

//## begin EducationGuide%4B31A48A02E0.implementation preserve=yes

//## end EducationGuide%4B31A48A02E0.implementation

};

//## begin EducationGuide%4B31A48A02E0.postscript preserve=yes

//## end EducationGuide%4B31A48A02E0.postscript

// Class EducationGuide

//## Get and Set Operations for Class Attributes (inline)

inline const Integer EducationGuide: get_Id () const

{

//## begin EducationGuide: get_Id%4B31B0BE016D.get preserve=no

return Id;

//## end EducationGuide: get_Id%4B31B0BE016D.get

}

inline void EducationGuide: set_Id (Integer value)

{

//## begin EducationGuide: set_Id%4B31B0BE016D.set preserve=no

Id = value;

//## end EducationGuide: set_Id%4B31B0BE016D.set

}

inline const String EducationGuide: get_Name () const

{

//## begin EducationGuide: get_Name%4B31B0C50153.get preserve=no

return Name;

//## end EducationGuide: get_Name%4B31B0C50153.get

}

inline void EducationGuide: set_Name (String value)

{

//## begin EducationGuide: set_Name%4B31B0C50153.set preserve=no

Name = value;

//## end EducationGuide: set_Name%4B31B0C50153.set

}

//## begin module%4B31B5A800B5.epilog preserve=yes

//## end module%4B31B5A800B5.epilog

#endif

FounderGuard.cpp

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B5C10186.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B5C10186.cm

//## begin module%4B31B5C10186.cp preserve=no

//## end module%4B31B5C10186.cp

//## Module: FounderGuard%4B31B5C10186; Package body

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Source file: D: Π‘Π΅Ρ€Π²Π΅Ρ€FounderGuard. cpp

//## begin module%4B31B5C10186.additionalIncludes preserve=no

//## end module%4B31B5C10186.additionalIncludes

//## begin module%4B31B5C10186.includes preserve=yes

//## end module%4B31B5C10186.includes

// FounderGuard

#include «Π‘Π΅Ρ€Π²Π΅Ρ€FounderGuard.h»

//## begin module%4B31B5C10186.declarations preserve=no

//## end module%4B31B5C10186.declarations

//## begin module%4B31B5C10186.additionalDeclarations preserve=yes

//## end module%4B31B5C10186.additionalDeclarations

// Class FounderGuard

FounderGuard:FounderGuard ()

//## begin FounderGuard: FounderGuard%4B31AF2301FC_const.hasinit preserve=no

//## end FounderGuard: FounderGuard%4B31AF2301FC_const.hasinit

//## begin FounderGuard: FounderGuard%4B31AF2301FC_const.initialization preserve=yes

//## end FounderGuard: FounderGuard%4B31AF2301FC_const.initialization

{

//## begin FounderGuard: FounderGuard%4B31AF2301FC_const.body preserve=yes

//## end FounderGuard: FounderGuard%4B31AF2301FC_const.body

}

FounderGuard:FounderGuard (const FounderGuard &right)

//## begin FounderGuard: FounderGuard%4B31AF2301FC_copy.hasinit preserve=no

//## end FounderGuard: FounderGuard%4B31AF2301FC_copy.hasinit

//## begin FounderGuard: FounderGuard%4B31AF2301FC_copy.initialization preserve=yes

//## end FounderGuard: FounderGuard%4B31AF2301FC_copy.initialization

{

//## begin FounderGuard: FounderGuard%4B31AF2301FC_copy.body preserve=yes

//## end FounderGuard: FounderGuard%4B31AF2301FC_copy.body

}

FounderGuard:~FounderGuard ()

{

//## begin FounderGuard:~FounderGuard%4B31AF2301FC_dest.body preserve=yes

//## end FounderGuard:~FounderGuard%4B31AF2301FC_dest.body

}

FounderGuard & FounderGuard: operator=(const FounderGuard &right)

{

//## begin FounderGuard: operator=%4B31AF2301FC_assign.body preserve=yes

//## end FounderGuard: operator=%4B31AF2301FC_assign.body

}

int FounderGuard: operator==(const FounderGuard &right) const

{

//## begin FounderGuard: operator==%4B31AF2301FC_eq.body preserve=yes

//## end FounderGuard: operator==%4B31AF2301FC_eq.body

}

int FounderGuard: operator≠(const FounderGuard &right) const

{

//## begin FounderGuard: operator≠%4B31AF2301FC_neq.body preserve=yes

//## end FounderGuard: operator≠%4B31AF2301FC_neq.body

}

//## Other Operations (implementation)

Integer FounderGuard: GetFounderId (String Founder)

{

//## begin FounderGuard: GetFounderId%4B31AF410259.body preserve=yes

//## end FounderGuard: GetFounderId%4B31AF410259.body

}

// Additional Declarations

//## begin FounderGuard%4B31AF2301FC.declarations preserve=yes

//## end FounderGuard%4B31AF2301FC.declarations

//## begin module%4B31B5C10186.epilog preserve=yes

//## end module%4B31B5C10186.epilog

FounderGuard.h

//## begin module%1.7%.codegen_version preserve=yes

// Read the documentation to learn more about C++ code generator

// versioning.

//## end module%1.7%.codegen_version

//## begin module%4B31B5B40285.cm preserve=no

// %X% %Q% %Z% %W%

//## end module%4B31B5B40285.cm

//## begin module%4B31B5B40285.cp preserve=no

//## end module%4B31B5B40285.cp

//## Module: FounderGuard%4B31B5B40285; Package specification

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Source file: D: Π‘Π΅Ρ€Π²Π΅Ρ€FounderGuard. h

#ifndef FounderGuard_h

#define FounderGuard_h 1

//## begin module%4B31B5B40285.additionalIncludes preserve=no

//## end module%4B31B5B40285.additionalIncludes

//## begin module%4B31B5B40285.includes preserve=yes

//## end module%4B31B5B40285.includes

//## begin module%4B31B5B40285.declarations preserve=no

//## end module%4B31B5B40285.declarations

//## begin module%4B31B5B40285.additionalDeclarations preserve=yes

//## end module%4B31B5B40285.additionalDeclarations

//## begin FounderGuard%4B31AF2301FC.preface preserve=yes

//## end FounderGuard%4B31AF2301FC.preface

//## Class: FounderGuard%4B31AF2301FC

//## Category: Entities%4B31B26B000A

//## Subsystem: Π‘Π΅Ρ€Π²Π΅Ρ€%4B31B4D100D5

//## Persistence: Transient

//## Cardinality/Multiplicity: n

class FounderGuard

{

//## begin FounderGuard%4B31AF2301FC.initialDeclarations preserve=yes

//## end FounderGuard%4B31AF2301FC.initialDeclarations

public:

//## Constructors (generated)

FounderGuard ();

FounderGuard (const FounderGuard &right);

//## Destructor (generated)

~FounderGuard ();

//## Assignment Operation (generated)

FounderGuard & operator=(const FounderGuard &right);

//## Equality Operations (generated)

int operator==(const FounderGuard &right) const;

int operator≠(const FounderGuard &right) const;

//## Other Operations (specified)

//## Operation: GetFounderId%4B31AF410259

Integer GetFounderId (String Founder);

// Additional Public Declarations

//## begin FounderGuard%4B31AF2301FC.public preserve=yes

//## end FounderGuard%4B31AF2301FC.public

protected:

// Additional Protected Declarations

//## begin FounderGuard%4B31AF2301FC.protected preserve=yes

//## end FounderGuard%4B31AF2301FC.protected

private:

//## Get and Set Operations for Class Attributes (generated)

//## Attribute: Id%4B31B0D401F6

const Integer get_Id () const;

void set_Id (Integer value);

//## Attribute: Name%4B31B0D80144

const String get_Name () const;

void set_Name (String value);

//## Attribute: Surname%4B31B185037E

const String get_Surname () const;

void set_Surname (String value);

//## Attribute: PrizAdmin%4B31B1A201F7

const Integer get_PrizAdmin () const;

void set_PrizAdmin (Integer value);

// Additional Private Declarations

//## begin FounderGuard%4B31AF2301FC.private preserve=yes

//## end FounderGuard%4B31AF2301FC.private

private: //## implementation

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ