Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка_и_анализ_требований_практика

.pdf
Скачиваний:
26
Добавлен:
04.06.2015
Размер:
5.31 Mб
Скачать

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 7 ɊȺɁɊȺȻɈɌɄȺ ɉɊɈɋɌɈȽɈ MDA-ɉɊɂɅɈɀȿɇɂə

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

Ɋɢɫ. 7.17. ɇɚɫɬɪɨɣɤɚ ɷɥɟɦɟɧɬɚ ɤɨɥɥɟɤɰɢɢ ɫɬɨɥɛɰɨɜ

Ɋɢɫ. 7.18. Ɋɚɛɨɬɚ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ ɜ ɪɟɠɢɦɟ ɬɚɛɥɢɰɵ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-131-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 7 ɊȺɁɊȺȻɈɌɄȺ ɉɊɈɋɌɈȽɈ MDA-ɉɊɂɅɈɀȿɇɂə

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɓɟɥɤɧɟɦ ɩɨ ɤɧɨɩɤɟ ɫ ɦɧɨɝɨɬɨɱɢɟɦ ɜ ɫɬɪɨɤɟ ɫɜɨɣɫɬɜɚ GridColumnStyles. Ɉɬɤɪɨɟɬɫɹ ɨɤɧɨ ɪɟɞɚɤɬɨɪɚ ɫɬɢɥɹ ɩɨɥɹ ɬɚɛɥɢɰɵ. ɇɚɠɦɟɦ ɤɧɨɩɤɭ Add 3 ɪɚɡɚ, ɬɚɤ ɤɚɤ ɧɭɠɧɨ ɩɟɪɟɢɦɟɧɨɜɚɬɶ ɬɪɢ ɩɨɥɹ (ɫɨɡɞɚɬɶ ɬɪɢ ɫɬɢɥɹ ɞɥɹ ɢɦɟɸɳɢɯɫɹ ɩɨɥɟɣ ɬɚɛɥɢɰɵ). ȼɵɛɟɪɟɦ ɫɜɨɣɫɬɜɨ HeaderText ɩɟɪɜɨɝɨ ɷɥɟɦɟɧɬɚ ɤɨɥɥɟɤɰɢɢ ɢ ɜɜɟɞɟɦ ɜ ɧɟɝɨ ɫɬɨɤɭ ɇɚɡɜɚɧɢɟ ɤɚɮɟɞɪɵ. Ɂɚɬɟɦ ɜ ɫɜɨɣɫɬɜɟ Width ɭɫɬɚɧɨɜɢɦ ɲɢɪɢɧɭ ɩɨɥɹ – 150. ɂ ɜ ɫɜɨɣɫɬɜɟ MapingName ɜɵɛɟɪɟɦ ChairName, ɬ. ɟ. ɩɟɪɜɵɣ ɫɬɨɥɛɟɰ ɧɚɫɬɪɚɢɜɚɟɦɨɣ ɬɚɛɥɢɰɵ ɛɭɞɟɬ ɫɨɞɟɪɠɚɬɶ ɢɧɮɨɪɦɚɰɢɸ ɚɬɪɢ-

ɛɭɬɚ ChairName ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ (ɫɦ. ɪɢɫ. 7.17).

Ɍɟɩɟɪɶ ɧɚɫɬɪɨɢɦ ɨɫɬɚɜɲɢɟɫɹ ɞɜɚ ɷɥɟɦɟɧɬɚ ɤɨɥɥɟɤɰɢɢ. ɗɬɢ ɫɬɨɥɛɰɵ ɛɭ-

ɞɭɬ ɧɚɡɵɜɚɬɶɫɹ ɎɂɈ ɡɚɜɟɞɭɸɳɟɝɨ ɤɚɮɟɞɪɨɣ ɢ ɎɂɈ ɫɟɤɪɟɬɚɪɹ ɤɚɮɟɞ-

ɪɵ. ɇɚɠɦɟɦ ɤɧɨɩɤɭ ɈɄ ɜ ɨɛɨɢɯ ɨɬɤɪɵɬɵɯ ɨɤɧɚɯ ɢ ɭɛɟɞɢɦɫɹ, ɱɬɨ ɩɨɥɹ ɬɚɛɥɢɰɵ ɩɨɥɭɱɢɥɢ ɧɨɜɵɟ ɧɚɡɜɚɧɢɹ.

4.ɉɨ ɚɧɚɥɨɝɢɢ ɧɚɫɬɪɨɢɦ ɫɬɢɥɶ ɬɚɛɥɢɰɵ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. ȼ ɧɟɣ ɨɬɨ-

ɛɪɚɡɢɦ ɞɜɚ ɩɨɥɹ: LecturerSNP ɢ LectAcadDegree. ɇɚɡɨɜɟɦ ɢɯ ɎɂɈ ɩɪɟɩɨɞɚ-

ɜɚɬɟɥɹ ɢ ɍɱɟɧɚɹ ɫɬɟɩɟɧɶ.

5.Ɂɚɩɭɫɬɢɦ ɩɪɨɝɪɚɦɦɭ ɢ ɭɛɟɞɢɦɫɹ, ɱɬɨ ɩɪɢ ɧɚɠɚɬɢɢ ɤɧɨɩɤɢ Ⱦɨɛɚɜɢɬɶ ɜ ɬɚɛɥɢɰɟ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɮɨɪɦɢɪɭɸɬɫɹ ɧɨɜɵɟ ɫɬɪɨɤɢ, ɨɬɪɚɠɚɸɳɢɟ ɫɨɞɟɪɠɢɦɨɟ ɧɨɜɵɯ ɷɤɡɟɦɩɥɹɪɨɜ ɤɥɚɫɫɚ ɢɡ ɨɛɴɟɤɬɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ ȿɋɈ. ȼ ɧɢɯ ɦɨɠɧɨ ɜɜɟɫɬɢ ɧɭɠɧɵɟ ɡɧɚɱɟɧɢɹ. ɉɪɨɜɟɪɢɦ ɤɨɪɪɟɤɬɧɨɟ ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɟ

ɨɫɬɚɥɶɧɵɯ ɧɚɫɬɪɨɟɧɧɵɯ ɨɩɟɪɚɰɢɣ ɧɚɞ ɨɛɴɟɤɬɧɵɦ ɩɪɨɫɬɪɚɧɫɬɜɨɦ (ɫɦ.

ɪɢɫ. 7.18).

ɂɛɟɛɨɣɺ ɣ ɪɩɫɺɟɩɥ ɝɶɪɩɦɨɠɨɣɺ ɫɛɜɩɭɶ

1.ɋɮɨɪɦɢɪɨɜɚɬɶ ɦɨɞɟɥɶ UML. ɋɨɡɞɚɬɶ ɤɥɚɫɫɵ, ɨɩɢɫɚɬɶ ɢɯ ɚɬɪɢɛɭɬɵ. ɇɚɫɬɪɨɢɬɶ ɜɡɚɢɦɨɫɜɹɡɢ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ.

2.ɋɜɹɡɚɬɶ ɩɪɨɫɬɪɚɧɫɬɜɨ ȿɋɈ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ.

3.ɋɨɡɞɚɬɶ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɣ ɢɧɬɟɪɮɟɣɫ.

4.ɋɜɹɡɚɬɶ ɢɧɬɟɪɮɟɣɫ ɫ ɦɨɞɟɥɶɸ UML.

5.ɗɥɟɦɟɧɬɵ ɭɩɪɚɜɥɟɧɢɹ ɫɜɹɡɚɬɶ ɫ ɜɵɪɚɠɟɧɢɹɦɢ OCL ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɬɢɩɢɱɧɵɯ ɫɬɚɧɞɚɪɬɧɵɯ ɞɟɣɫɬɜɢɣ (ɞɨɛɚɜɥɟɧɢɟ, ɭɞɚɥɟɧɢɟ ɨɛɴɟɤɬɨɜ ECO ɢ ɫɨɯɪɚɧɟɧɢɟ ɢɯ ɜ ɛɚɡɭ ɞɚɧɧɵɯ).

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-132-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 7 ɊȺɁɊȺȻɈɌɄȺ ɉɊɈɋɌɈȽɈ MDA-ɉɊɂɅɈɀȿɇɂə

Ʌɩɨɭɫɩɦɷɨɶɠ ɝɩɪɫɩɬɶ

1.ɑɬɨ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɬɟɯɧɨɥɨɝɢɹ MDA?

2.ɑɬɨ ɬɚɤɨɟ ɬɟɯɧɨɥɨɝɢɹ ECO?

3.Ɂɚɱɟɦ ɧɭɠɧɵ ɞɟɫɤɪɢɩɬɨɪɵ ECO?

4.Ɂɚɱɟɦ ɧɭɠɟɧ ɹɡɵɤ OCL?

5.ɂɡ ɤɚɤɢɯ ɷɬɚɩɨɜ ɫɤɥɚɞɵɜɚɟɬɫɹ ɩɪɨɰɟɫɫ ɩɨɫɬɪɨɟɧɢɹ ɩɪɢɥɨɠɟɧɢɹ ECO?

6.Ʉɚɤ ɫɨɡɞɚɸɬɫɹ ɤɥɚɫɫɵ ɜ ɪɚɦɤɚɯ ɦɨɞɟɥɢ ɩɪɢɥɨɠɟɧɢɹ ECO?

7.Ʉɚɤ ɩɪɟɞɫɬɚɜɢɬɟɥɢ ɤɥɚɫɫɚ PersistenceMapper ɧɚɫɬɪɚɢɜɚɸɬɫɹ ɧɚ ɤɨɧɤɪɟɬɧɵɟ ɋɍȻȾ?

8.Ʉɚɤ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɫɝɟɧɟɪɢɪɨɜɚɬɶ ɫɯɟɦɭ ɛɚɡɵ ɞɚɧɧɵɯ ɧɚ ɨɫɧɨɜɟ ɦɨɞɟɥɢ ECO?

9.Ʉɚɤ ɷɥɟɦɟɧɬɵ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ ɫɜɹɡɵɜɚɸɬɫɹ ɫ ɦɨɞɟ-

ɥɶɸ ECO?

10.Ʉɚɤ ɪɚɛɨɬɚɟɬ ɜɢɡɭɚɥɶɧɵɣ ɪɟɞɚɤɬɨɪ ɜɵɪɚɠɟɧɢɣ OCL?

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-133-

ǹǮǯǼǾǮȀǼǾǻǮȍ ǾǮǯǼȀǮ Ɋ 8 ǾǮǵǾǮǯǼȀǸǮ MDA-ǽǾǶǹǼǴdzǻǶȍ

ǿ ǶǿǽǼǹȊǵǼǰǮǻǶdzǺ ǺǮȆǶǻ ǿǼǿȀǼȍǻǶǷ

ɐɟɥɶ ɪɚɛɨɬɵ – ɧɚɭɱɢɬɶɫɹ ɢɫɩɨɥɶɡɨɜɚɬɶ ɦɚɲɢɧɵ ɫɨɫɬɨɹɧɢɣ ɩɪɢ ɫɨɡɞɚɧɢɢ MDA-ɩɪɢɥɨɠɟɧɢɣ.

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

Ȼɝɭɩɧɛɭɶ

Ɋɚɛɨɬɚ ɨɛɴɟɤɬɨɜ ɩɪɨɝɪɚɦɦɵ ɨɩɢɫɵɜɚɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɚɜɬɨɦɚɬɨɜ (ɢɥɢ

ɦɚɲɢɧ ɫɨɫɬɨɹɧɢɣ). ɋɭɳɟɫɬɜɭɟɬ ɯɨɪɨɲɨ ɪɚɡɜɢɬɚɹ ɬɟɨɪɢɹ ɚɜɬɨɦɚɬɨɜ, ɜ ɤɨɬɨ-

ɪɨɣ ɢɡɭɱɚɸɬɫɹ ɜɨɩɪɨɫɵ ɢɯ ɩɨɫɬɪɨɟɧɢɹ ɢ ɚɧɚɥɢɡɚ ɪɚɛɨɬɵ.

Ⱥɜɬɨɦɚɬ – ɷɬɨ ɷɥɟɦɟɧɬ ɫɢɫɬɟɦɵ, ɤɨɬɨɪɵɣ ɯɚɪɚɤɬɟɪɢɡɭɟɬɫɹ ɞɜɭɦɹ ɛɚɡɨɜɵɦɢ ɩɨɧɹɬɢɹɦɢ: ɫɨɫɬɨɹɧɢɟ ɢ ɩɟɪɟɯɨɞ. Ʉɚɠɞɵɣ ɚɜɬɨɦɚɬ ɜ ɨɩɪɟɞɟɥɟɧɧɵɣ ɦɨɦɟɧɬ ɜɪɟɦɟɧɢ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɜ ɨɞɧɨɦ ɢɡ ɞɨɩɭɫɬɢɦɵɯ ɫɨɫɬɨɹɧɢɣ. ɑɢɫɥɨ ɷɬɢɯ ɫɨɫɬɨɹɧɢɣ, ɜɨɡɦɨɠɧɨ, ɛɟɫɤɨɧɟɱɧɨ. Ɂɚɞɚɧ ɬɚɤɠɟ ɧɚɛɨɪ ɩɪɚɜɢɥ, ɩɨ ɤɨɬɨɪɨɦɭ ɞɨɩɭɫɤɚɟɬɫɹ ɩɟɪɟɯɨɞ ɢɡ ɨɞɧɢɯ ɦɧɨɠɟɫɬɜ ɫɨɫɬɨɹɧɢɣ ɜ ɞɪɭɝɢɟ.

ɋɯɨɠɟɫɬɶ ɚɜɬɨɦɚɬɧɨɣ ɦɨɞɟɥɢ ɫ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɟɦ ɜ ɬɨɦ, ɱɬɨ ɩɟɪɟɦɟɧɧɵɟ (ɹɱɟɣɤɢ ɩɚɦɹɬɢ) ɜ ɤɚɠɞɵɣ ɦɨɦɟɧɬ ɪɚɛɨɬɵ ɩɪɨɰɟɫɫɨɪɚ ɜɫɟɝɞɚ ɯɪɚɧɹɬ ɤɨɧɤɪɟɬɧɵɟ ɡɧɚɱɟɧɢɹ ɢɡ ɞɨɩɭɫɬɢɦɵɯ ɞɢɚɩɚɡɨɧɨɜ ɡɧɚɱɟɧɢɣ. ɗɬɢ ɡɧɚɱɟɧɢɹ ɮɚɤɬɢɱɟɫɤɢ ɹɜɥɹɸɬɫɹ ɫɨɫɬɨɹɧɢɹɦɢ ɩɟɪɟɦɟɧɧɵɯ.

Ɋɚɡɪɟɲɟɧɧɵɟ ɧɚɞ ɡɧɚɱɟɧɢɹɦɢ ɩɟɪɟɦɟɧɧɵɯ ɜɵɱɢɫɥɢɬɟɥɶɧɵɟ ɨɩɟɪɚɰɢɢ ɩɪɢɜɨɞɹɬ ɤ ɩɟɪɟɯɨɞɭ ɷɬɢɯ ɩɟɪɟɦɟɧɧɵɯ ɜ ɧɨɜɵɟ ɫɨɫɬɨɹɧɢɹ (ɜ ɧɨɜɵɟ ɡɧɚɱɟɧɢɹ). ɗɬɨɬ ɚɥɝɨɪɢɬɦɢɱɟɫɤɢɣ ɩɪɢɧɰɢɩ ɦɨɠɟɬ ɛɵɬɶ ɪɚɫɩɪɨɫɬɪɚɧɟɧ ɧɚ ɛɨɥɶɲɨɟ ɱɢɫɥɨ ɭɩɪɚɜɥɟɧɱɟɫɤɢɯ ɡɚɞɚɱ. ȼ ɨɛɳɟɦ ɫɥɭɱɚɟ ɚɜɬɨɦɚɬɧɵɣ ɩɨɞɯɨɞ ɩɨɡɜɨɥɹɟɬ ɨɩɢɫɚɬɶ ɥɸɛɭɸ, ɫɤɨɥɶ ɭɝɨɞɧɨ ɫɥɨɠɧɭɸ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɨɩɟɪɚɰɢɣ.

ɉɨɡɧɚɤɨɦɢɦɫɹ ɫ ɛɚɡɨɜɵɦɢ ɩɪɚɜɢɥɚɦɢ ɪɚɛɨɬɵ ɚɜɬɨɦɚɬɨɜ ɜ ɹɡɵɤɟ

UML.

Ⱥɜɬɨɦɚɬ ɜ ɨɩɪɟɞɟɥɟɧɧɵɣ ɦɨɦɟɧɬ ɜɪɟɦɟɧɢ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɬɨɥɶɤɨ ɜ ɨɞɧɨɦ ɫɨɫɬɨɹɧɢɢ. ɗɬɨ ɩɪɚɜɢɥɨ ɫɨɨɬɜɟɬɫɬɜɭɟɬ ɩɪɢɧɰɢɩɭ ɢɦɩɟɪɚɬɢɜɧɨɝɨ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ, ɫɨɝɥɚɫɧɨ ɤɨɬɨɪɨɦɭ ɥɸɛɚɹ ɩɟɪɟɦɟɧɧɚɹ ɜ ɤɚɠɞɵɣ ɦɨɦɟɧɬ ɜɪɟɦɟɧɢ (ɬɚɤɬ ɩɪɨɰɟɫɫɨɪɚ, ɲɚɝ ɪɚɛɨɬɵ ɩɪɨɝɪɚɦɦɵ) ɯɪɚɧɢɬ ɬɨɥɶɤɨ ɨɞɧɨ ɢɡ ɦɧɨɠɟɫɬɜɚ ɞɨɩɭɫɬɢɦɵɯ ɡɧɚɱɟɧɢɣ.

ɑɢɫɥɨ ɫɨɫɬɨɹɧɢɣ ɚɜɬɨɦɚɬɚ ɤɨɧɟɱɧɨ.

ɂɡ ɬɟɤɭɳɟɝɨ ɫɨɫɬɨɹɧɢɹ ɚɜɬɨɦɚɬ ɦɨɠɟɬ ɩɟɪɟɣɬɢ ɬɨɥɶɤɨ ɜ ɨɞɧɨ ɫɥɟɞɭɸɳɟɟ ɫɨɫɬɨɹɧɢɟ. ɇɟ ɢɫɤɥɸɱɟɧɨ, ɱɬɨ ɷɬɨ ɫɨɫɬɨɹɧɢɟ ɜɵɛɢɪɚɟɬɫɹ ɢɡ ɧɟɫɤɨɥɶɤɢɯ ɞɨɫɬɭɩɧɵɯ ɜɚɪɢɚɧɬɨɜ.

ȼ ɪɚɦɤɚɯ ɞɢɚɝɪɚɦɦɵ ɭ ɤɚɠɞɨɝɨ ɫɨɫɬɨɹɧɢɹ ɞɨɥɠɟɧ ɛɵɬɶ ɩɪɟɞɲɟɫɬɜɟɧɧɢɤ (ɡɚ ɢɫɤɥɸɱɟɧɢɟɦ ɧɚɱɚɥɶɧɨɝɨ ɫɨɫɬɨɹɧɢɹ). ɗɬɨ ɩɪɚɜɢɥɨ ɡɚɩɪɟɳɚɟɬ ɪɚɡɦɟ-

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-134-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 8 ɊȺɁɊȺȻɈɌɄȺ MDA-ɉɊɂɅɈɀȿɇɂə ɋ ɂɋɉɈɅɖɁɈȼȺɇɂȿɆ ɆȺɒɂɇ ɋɈɋɌɈəɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɳɟɧɢɟ ɧɚ ɞɢɚɝɪɚɦɦɟ ɫɨɫɬɨɹɧɢɣ, ɧɢɤɚɤ ɧɟ ɫɜɹɡɚɧɧɵɯ ɞɪɭɝ ɫ ɞɪɭɝɨɦ.

ȼ ɨɩɪɟɞɟɥɟɧɧɨɦ ɫɨɫɬɨɹɧɢɢ ɚɜɬɨɦɚɬ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɫɤɨɥɶ ɭɝɨɞɧɨ ɞɨɥɝɨ. ɉɟɪɟɯɨɞɵ ɦɟɠɞɭ ɫɨɫɬɨɹɧɢɹɦɢ ɫɱɢɬɚɸɬɫɹ ɦɝɧɨɜɟɧɧɵɦɢ.

ɇɚ ɞɢɚɝɪɚɦɦɟ ɫɨɫɬɨɹɧɢɣ ɧɟ ɪɟɝɢɫɬɪɢɪɭɟɬɫɹ ɩɭɬɶ (ɢɫɬɨɪɢɹ ɫɨɫɬɨɹɧɢɣ), ɩɪɢɜɟɞɲɢɣ ɚɜɬɨɦɚɬ ɜ ɬɟɤɭɳɟɟ ɫɨɫɬɨɹɧɢɟ (ɜ ɨɬɥɢɱɢɟ ɨɬ ɞɢɚɝɪɚɦɦ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɢ ɤɨɨɩɟɪɚɰɢɢ). ɗɬɨ ɩɪɚɜɢɥɨ ɩɨɤɚɡɵɜɚɟɬ, ɱɬɨ ɩɨ ɬɟɤɭɳɟɦɭ ɡɧɚɱɟɧɢɸ ɩɟɪɟɦɟɧɧɨɣ ɧɟɥɶɡɹ ɨɩɪɟɞɟɥɢɬɶ ɬɟ ɡɧɚɱɟɧɢɹ (ɫɨɫɬɨɹɧɢɹ), ɜ ɤɨɬɨɪɵɯ ɨɧɚ ɧɚɯɨɞɢɥɚɫɶ ɪɚɧɟɟ.

Ɍɩɬɭɩɺɨɣɺ

Ʉɨɧɤɪɟɬɧɨɟ ɫɨɫɬɨɹɧɢɟ (ɜ ɨɛɳɟɦ ɫɥɭɱɚɟ – ɫɬɚɬɢɱɟɫɤɢɣ ɫɪɟɡ ɫɢɫɬɟɦɵ) ɮɨɪɦɢɪɭɟɬɫɹ ɢɧɫɬɪɭɦɟɧɬɨɦ State (ɋɨɫɬɨɹɧɢɟ). ɇɚ ɞɢɚɝɪɚɦɦɟ ɨɧɨ ɢɡɨɛɪɚɠɚɟɬɫɹ ɜ ɜɢɞɟ ɩɪɹɦɨɭɝɨɥɶɧɢɤɚ ɫ ɡɚɤɪɭɝɥɟɧɧɵɦɢ ɭɝɥɚɦɢ. ɋɨɫɬɨɹɧɢɟ ɢɦɟɟɬ ɢɦɹ, ɧɚɱɢɧɚɸɳɟɟɫɹ ɫ ɡɚɝɥɚɜɧɨɣ ɛɭɤɜɵ. ɉɨɞ ɧɢɦ ɦɨɝɭɬ ɡɚɩɢɫɵɜɚɬɶɫɹ ɭɫɥɨɜɢɹ ɢ ɞɟɣɫɬɜɢɹ. ɍɫɥɨɜɢɹ ɩɪɨɜɟɪɹɸɬɫɹ, ɚ ɞɟɣɫɬɜɢɹ ɜɵɩɨɥɧɹɸɬɫɹ, ɤɨɝɞɚ ɚɜɬɨɦɚɬ ɧɚɯɨɞɢɬɫɹ ɜ ɫɨɨɬɜɟɬɫɬɜɭɸɳɟɦ ɫɨɫɬɨɹɧɢɢ.

Ɉɬɦɟɬɢɦ ɩɪɢɧɹɬɵɟ ɩɪɚɜɢɥɚ ɨɮɨɪɦɥɟɧɢɹ ɷɥɟɦɟɧɬɨɜ ɞɢɚɝɪɚɦɦɵ ɫɨɫɬɨɹɧɢɣ. ɗɥɟɦɟɧɬ State ɩɪɟɞɫɬɚɜɥɹɟɬ ɧɟ ɞɟɣɫɬɜɢɟ, ɚ ɨɩɢɫɚɧɢɟ ɫɬɚɬɢɱɟɫɤɨɝɨ ɫɨɫɬɨɹɧɢɹ, ɜ ɤɨɬɨɪɨɦ ɚɜɬɨɦɚɬ ɦɨɠɟɬ ɧɚɯɨɞɢɬɶɫɹ ɧɟɨɝɪɚɧɢɱɟɧɧɨ ɞɨɥɝɨ. Ⱥɜɬɨɦɚɬ ɦɨɠɟɬ ɩɟɪɟɯɨɞɢɬɶ ɢɡ ɬɟɤɭɳɟɝɨ ɫɨɫɬɨɹɧɢɹ ɜ ɞɪɭɝɢɟ ɫɨɫɬɨɹɧɢɹ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɨɩɪɟɞɟɥɟɧɧɵɯ ɞɟɣɫɬɜɢɣ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢɥɢ ɭɫɥɨɜɢɣ, ɤɨɬɨɪɵɟ ɞɨɥɠɧɵ ɛɵɬɶ ɜɵɩɨɥɧɟɧɵ. Ⱦɟɣɫɬɜɢɹ ɢ ɭɫɥɨɜɢɹ ɨɬɨɛɪɚɠɚɸɬɫɹ ɬɨɥɶɤɨ ɧɚ ɥɢɧɢɹɯ ɩɟɪɟɯɨɞɨɜ ɦɟɠɞɭ ɫɨɫɬɨɹɧɢɹɦɢ.

Ɋɩɟɛɝɭɩɧɛɭɶ

ȼɧɭɬɪɢ ɤɚɠɞɨɝɨ ɫɨɫɬɨɹɧɢɹ ɪɚɡɪɟɲɚɟɬɫɹ ɮɨɪɦɢɪɨɜɚɬɶ ɫɨɛɫɬɜɟɧɧɵɣ ɚɜɬɨɦɚɬ (ɩɨɞɚɜɬɨɦɚɬ) – ɦɢɧɢ-ɞɢɚɝɪɚɦɦɭ ɫɨɫɬɨɹɧɢɣ. Ȼɥɚɝɨɞɚɪɹ ɷɬɨɦɭ ɜɨɡɦɨɠɧɨ ɩɪɨɟɤɬɢɪɨɜɚɬɶ ɫɢɫɬɟɦɭ ɩɨɫɬɟɩɟɧɧɨ, ɪɚɫɤɪɵɜɚɹ ɨɬɞɟɥɶɧɵɟ ɟɟ ɷɥɟɦɟɧɬɵ ɩɨ ɦɟɪɟ ɧɟɨɛɯɨɞɢɦɨɫɬɢ.

ɉɨɞɚɜɬɨɦɚɬ – ɷɬɨ ɚɜɬɨɦɚɬ, ɜɥɨɠɟɧɧɵɣ ɜ ɞɪɭɝɨɣ ɚɜɬɨɦɚɬ ɢ ɨɩɢɫɵɜɚɸɳɢɣ ɩɨɜɟɞɟɧɢɟ ɤɨɧɤɪɟɬɧɨɝɨ ɫɨɫɬɨɹɧɢɹ.

ȿɣɛɞɫɛɧɧɶ ɬɩɬɭɩɺɨɣɤ

Ⱦɢɚɝɪɚɦɦɵ ɫɨɫɬɨɹɧɢɣ (State Machine Diagram) ɫɬɚɥɢ ɧɨɜɵɦ ɬɢɩɨɦ ɞɢɚɝɪɚɦɦ ɜ ɜɟɪɫɢɢ UML 2.0. Ɉɧɢ ɨɫɨɛɟɧɧɨ ɜɚɠɧɵ ɞɥɹ ɪɚɡɪɚɛɨɬɱɢɤɚ, ɢɫɩɨɥɶɡɭɸɳɟɝɨ ɫɪɟɞɭ Delphi. Ⱦɟɥɨ ɜ ɬɨɦ, ɱɬɨ ɜ ɩɨɫɥɟɞɧɟɣ ɜɟɪɫɢɢ Delphi 2006 ɢɦɟɟɬɫɹ ɬɟɯɧɨɥɨɝɢɹ ɦɨɞɟɥɢɪɨɜɚɧɢɹ ȿɋɈ III. Ɉɧɚ ɪɚɫɲɢɪɟɧɚ ɫɪɟɞɫɬɜɚɦɢ ɜɢɡɭɚɥɶɧɨɝɨ ɩɨɫɬɪɨɟɧɢɹ ɚɥɝɨɪɢɬɦɨɜ. ɋ ɩɨɦɨɳɶɸ ɷɬɢɯ ɫɪɟɞɫɬɜ ɨɩɢɫɵɜɚɟɬɫɹ ɪɚɛɨɬɚ ɪɚɡɧɵɯ ɷɥɟɦɟɧɬɨɜ ɦɨɞɟɥɢ. Ɋɚɧɟɟ ɞɥɹ ɨɩɢɫɚɧɢɹ ɦɨɞɟɥɢ ɢ ɝɟɧɟɪɚɰɢɢ ɢɫɯɨɞ-

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-135-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 8 ɊȺɁɊȺȻɈɌɄȺ MDA-ɉɊɂɅɈɀȿɇɂə ɋ ɂɋɉɈɅɖɁɈȼȺɇɂȿɆ ɆȺɒɂɇ ɋɈɋɌɈəɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɧɨɝɨ ɤɨɞɚ ɧɚ ɹɡɵɤɟ Delphi ɩɪɢɦɟɧɹɥɢɫɶ ɥɢɲɶ ɫɬɚɬɢɱɟɫɤɢɟ ɞɢɚɝɪɚɦɦɵ ɤɥɚɫɫɨɜ. Ɍɟɩɟɪɶ ɡɚɞɟɣɫɬɜɨɜɚɧɵ ɢ ɞɢɚɝɪɚɦɦɵ ɫɨɫɬɨɹɧɢɣ.

Ⱦɢɚɝɪɚɦɦɚ ɫɨɫɬɨɹɧɢɣ – ɷɬɨ ɫɪɟɞɫɬɜɨ, ɨɩɢɫɵɜɚɸɳɟɟ ɥɨɝɢɤɭ ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɹ ɚɜɬɨɦɚɬɨɜ (ɦɚɲɢɧ ɫɨɫɬɨɹɧɢɣ).

ȼ ɨɫɧɨɜɭ ɞɢɚɝɪɚɦɦ ɫɨɫɬɨɹɧɢɣ ɩɨɥɨɠɟɧɚ ɤɨɧɰɟɩɰɢɹ ɚɜɬɨɦɚɬɨɜ. Ⱦɨɤɚɡɚɧɨ, ɱɬɨ ɫ ɩɨɦɨɳɶɸ ɬɚɤɢɯ ɚɜɬɨɦɚɬɨɜ ɦɨɠɧɨ ɡɚɩɪɨɝɪɚɦɦɢɪɨɜɚɬɶ ɩɪɨɢɡɜɨɥɶɧɵɣ ɚɥɝɨɪɢɬɦ ɥɸɛɨɣ ɫɥɨɠɧɨɫɬɢ, ɟɫɥɢ ɟɝɨ ɦɨɠɧɨ ɬɚɤɠɟ ɡɚɩɢɫɚɬɶ ɧɚ ɢɦɩɟɪɚɬɢɜɧɨɦ ɹɡɵɤɟ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɹ.

Ⱦɢɚɝɪɚɦɦɚ ɫɨɫɬɨɹɧɢɣ ɜɫɟɝɞɚ ɨɬɧɨɫɢɬɫɹ ɤ ɤɨɧɤɪɟɬɧɨɦɭ ɤɥɚɫɫɭ ɢ ɨɩɢɫɵɜɚɟɬ ɟɝɨ ɜɧɭɬɪɟɧɧɟɟ ɮɭɧɤɰɢɨɧɢɪɨɜɚɧɢɟ. ɇɚ ɞɢɚɝɪɚɦɦɟ ɤɨɧɤɪɟɬɧɨɟ ɫɨɫɬɨɹɧɢɟ ɨɬɨɛɪɚɠɚɟɬɫɹ ɫ ɩɨɦɨɳɶɸ ɷɥɟɦɟɧɬɚ State. ɇɚɱɚɥɶɧɨɟ ɢ ɤɨɧɟɱɧɨɟ ɫɨɫɬɨɹɧɢɹ – ɷɥɟɦɟɧɬɵ Initial (ɇɚɱɚɥɶɧɨɟ) ɢ Final (Ʉɨɧɟɱɧɨɟ) – ɩɪɟɞɫɬɚɜɥɟɧɵ ɧɚ ɞɢɚɝɪɚɦɦɟ ɫɩɥɨɲɧɵɦ ɤɪɭɠɤɨɦ. Ʉɪɭɠɨɤ, ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɤɨɧɟɱɧɨɦɭ ɫɨɫɬɨɹɧɢɸ, ɨɛɜɟɞɟɧ ɤɚɣɦɨɣ. Ɏɚɤɬɢɱɟɫɤɢ, ɷɬɨ ɩɫɟɜɞɨɫɨɫɬɨɹɧɢɹ, ɧɟ ɜɨɡɧɢɤɚɸɳɢɟ ɩɪɢ ɪɟɚɥɶɧɨɣ ɪɚɛɨɬɟ. ɇɚɱɚɥɶɧɨɟ ɢ ɤɨɧɟɱɧɨɟ ɫɨɫɬɨɹɧɢɹ ɥɢɲɶ ɧɚɝɥɹɞɧɨ ɡɚɞɚɸɬ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɜɯɨɞɚ ɜ ɩɟɪɜɨɟ ɪɚɛɨɱɟɟ ɫɨɫɬɨɹɧɢɟ ɢ ɜɵɯɨɞɚ ɢɡ ɩɨɫɥɟɞɧɟɝɨ ɪɚɛɨɱɟɝɨ ɫɨɫɬɨɹɧɢɹ.

Ɉɬɞɟɥɶɧɨɟ ɫɨɫɬɨɹɧɢɟ ɦɨɠɟɬ ɨɯɜɚɬɵɜɚɬɶ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɶ ɞɟɣɫɬɜɢɣ. ɋɨɫɬɨɹɧɢɟ, ɨɯɜɚɬɵɜɚɸɳɟɟ ɞɪɭɝɢɟ ɫɨɫɬɨɹɧɢɹ, ɧɚɡɵɜɚɸɬ ɫɭɩɟɪɫɨɫɬɨɹɧɢɟɦ, ɚ ɜɥɨɠɟɧɧɵɟ ɜ ɧɟɝɨ ɫɨɫɬɨɹɧɢɹ – ɩɨɞɫɨɫɬɨɹɧɢɹɦɢ. Ɍɚɤɨɣ ɢɟɪɚɪɯɢɱɟɫɤɢɣ ɩɨɞɯɨɞ ɤ ɨɪɝɚɧɢɡɚɰɢɢ ɫɨɫɬɨɹɧɢɣ ɩɨɡɜɨɥɹɟɬ ɮɨɪɦɢɪɨɜɚɬɶ ɨɞɢɧɚɤɨɜɵɟ ɪɟɚɤɰɢɢ ɩɨɞɫɨɫɬɨɹɧɢɣ ɧɚ ɭɪɨɜɧɟ ɨɞɧɨɝɨ ɫɭɩɟɪɫɨɫɬɨɹɧɢɹ. ɉɭɫɬɶ, ɧɚɩɪɢɦɟɪ, ɢɦɟɟɬɫɹ ɫɬɚɧɞɚɪɬɧɨɟ ɚɜɚɪɢɣɧɨɟ ɫɨɫɬɨɹɧɢɟ ɢ ɫɬɚɧɞɚɪɬɧɵɣ ɩɟɪɟɯɨɞ ɜ ɧɟɝɨ ɩɨ ɤɨɦɚɧɞɟ ɨɬɦɟɧɵ. Ⱦɥɹ ɤɚɠɞɨɝɨ ɢɡ ɦɧɨɠɟɫɬɜɚ ɫɨɫɬɨɹɧɢɣ ɞɢɚɝɪɚɦɦɵ ɦɨɠɧɨ ɭɤɚɡɚɬɶ ɷɬɨɬ ɩɟɪɟɯɨɞ ɢɧɞɢɜɢɞɭɚɥɶɧɨ, ɚ ɦɨɠɧɨ ɨɛɴɟɞɢɧɢɬɶ ɢɯ ɜ ɫɭɩɟɪɫɨɫɬɨɹɧɢɟ. Ɍɨɝɞɚ ɩɟɪɟɯɨɞ ɜ ɚɜɚɪɢɣɧɨɟ ɫɨɫɬɨɹɧɢɟ ɩɪɟɞɫɬɚɜɥɹɟɬɫɹ ɧɚ ɞɢɚɝɪɚɦɦɟ ɜɫɟɝɨ ɨɞɧɨɣ ɥɢɧɢɟɣ, ɢɫɯɨɞɹɳɟɣ ɢɡ ɷɥɟɦɟɧɬɚ, ɩɪɟɞɫɬɚɜɥɹɸɳɟɝɨ ɫɭɩɟɪɫɨɫɬɨɹɧɢɟ.

Ʉɚɠɞɨɟ ɢɡ ɫɨɫɬɨɹɧɢɣ ɧɚ ɞɢɚɝɪɚɦɦɟ ɧɟ ɨɛɹɡɚɧɨ ɩɚɫɫɢɜɧɨ ɨɠɢɞɚɬɶ ɜɧɟɲɧɟɝɨ ɫɨɛɵɬɢɹ, ɩɪɢɜɨɞɹɳɟɝɨ ɤ ɩɟɪɟɯɨɞɭ ɨɫɧɨɜɧɨɝɨ ɨɛɴɟɤɬɚ ɜ ɫɥɟɞɭɸɳɟɟ ɫɨɫɬɨɹɧɢɟ. ɋɨɫɬɨɹɧɢɟ ɦɨɠɟɬ ɜɟɫɬɢ ɨɩɪɟɞɟɥɟɧɧɭɸ ɞɟɹɬɟɥɶɧɨɫɬɶ. ɋɨɨɬɜɟɬɫɬɜɭɸɳɚɹ ɞɟɹɬɟɥɶɧɨɫɬɶ ɡɚɞɚɟɬɫɹ ɫɜɨɣɫɬɜɨɦ ɫɨɫɬɨɹɧɢɹ Do activity (ȼɵɩɨɥɧɟɧɢɟ ɞɟɹɬɟɥɶɧɨɫɬɢ). ɇɭɠɧɚɹ ɞɟɹɬɟɥɶɧɨɫɬɶ ɭɠɟ ɞɨɥɠɧɚ ɛɵɬɶ ɡɚɞɚɧɚ ɜ ɩɪɨɟɤɬɟ, ɧɚɩɪɢɦɟɪ ɧɚ ɨɞɧɨɣ ɢɡ ɞɢɚɝɪɚɦɦ ɞɟɹɬɟɥɶɧɨɫɬɢ. ɉɨɞɨɛɧɨɟ ɫɨɫɬɨɹɧɢɟ, ɤɨɝɞɚ ɞɨ ɧɟɝɨ ɞɨɯɨɞɢɬ ɨɱɟɪɟɞɶ, ɧɚɱɢɧɚɟɬ ɷɬɭ ɞɟɹɬɟɥɶɧɨɫɬɶ ɢ ɨɠɢɞɚɟɬ ɟɟ ɡɚɜɟɪɲɟɧɢɹ, ɮɚɤɬɢɱɟɫɤɢ ɨɬɨɛɪɚɠɚɹ ɧɟ ɫɬɚɬɢɱɟɫɤɨɟ ɫɨɫɬɨɹɧɢɟ, ɚ ɜɵɩɨɥɧɟɧɢɟ ɩɪɨɰɟɫɫɚ. ɗɬɨɬ ɩɪɨɰɟɫɫ ɦɨɠɟɬ ɛɵɬɶ ɩɪɟɪɜɚɧ, ɱɬɨ ɜɵɡɨɜɟɬ ɩɟɪɟɯɨɞ ɜ ɞɪɭɝɨɟ ɫɨɫɬɨɹɧɢɟ. ȿɫɥɢ ɨɧ ɡɚɤɨɧɱɢɬɫɹ ɭɫɩɟɲɧɨ, ɬɚɤɠɟ ɜɵɩɨɥɧɢɬɫɹ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɩɟɪɟɯɨɞ.

ȼ ɞɢɚɝɪɚɦɦɚɯ ɫɨɫɬɨɹɧɢɣ UML 2.0 ɦɨɠɧɨ ɨɩɢɫɵɜɚɬɶ ɢɫɬɨɪɢɱɟɫɤɨɟ ɫɨɫɬɨɹɧɢɟ. Ɉɛɵɱɧɚɹ ɢɫɬɨɪɢɹ ɫɨɫɬɨɹɧɢɹ ɢ ɝɥɭɛɨɤɚɹ ɢɫɬɨɪɢɹ ɩɪɟɞɫɬɚɜɥɟɧɵ ɤɚɤ ɨɬɞɟɥɶɧɵɟ ɷɥɟɦɟɧɬɵ: Shallow History (Ɉɛɵɱɧɚɹ ɢɫɬɨɪɢɹ ɫɨɫɬɨɹɧɢɹ) ɢ Deep History (Ƚɥɭɛɨɤɚɹ ɢɫɬɨɪɢɹ).

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-136-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 8 ɊȺɁɊȺȻɈɌɄȺ MDA-ɉɊɂɅɈɀȿɇɂə ɋ ɂɋɉɈɅɖɁɈȼȺɇɂȿɆ ɆȺɒɂɇ ɋɈɋɌɈəɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

ɗɥɟɦɟɧɬ Junction (ɋɥɢɹɧɢɟ) ɜɢɡɭɚɥɢɡɢɪɭɟɬ ɫɥɢɹɧɢɟ ɢ ɪɚɡɞɟɥɟɧɢɟ ɩɨɬɨɤɨɜ ɭɩɪɚɜɥɟɧɢɹ. Ɉɧ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɩɪɨɦɟɠɭɬɨɱɧɵɣ ɭɡɟɥ, ɩɨ ɜɧɟɲɧɟɦɭ ɜɢɞɭ ɚɧɚɥɨɝɢɱɧɵɣ ɧɚɱɚɥɶɧɨɦɭ ɷɥɟɦɟɧɬɭ Initial. ȼ ɬɚɤɨɦ ɭɡɥɟ ɫɨɛɢɪɚɸɬɫɹ, ɚ ɩɨɬɨɦ ɜɧɨɜɶ ɪɚɫɯɨɞɹɬɫɹ ɩɨɬɨɤɢ ɭɩɪɚɜɥɟɧɢɹ. ȼ ɞɢɚɝɪɚɦɦɚɯ ɫɨɫɬɨɹɧɢɣ ɦɨɠɧɨ ɬɚɤɠɟ ɡɚɞɟɣɫɬɜɨɜɚɬɶ ɭɫɥɨɜɧɵɣ ɷɥɟɦɟɧɬ Choice (ȼɵɛɨɪ).

Ɍɩɢɟɛɨɣɠ MDA-ɪɫɣɦɩɡɠɨɣɤ ɬ ɣɬɪɩɦɷɢɩɝɛɨɣɠɧ ɧɛɳɣɨ ɬɩɬɭɩɺɨɣɤ

Ⱦɥɹ ɩɪɢɦɟɪɚ ɜɨɡɶɦɟɦ ɭɠɟ ɫɨɡɞɚɧɧɨɟ ɧɚɦɢ MDA-ɩɪɢɥɨɠɟɧɢɟ ɜ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ ʋ 7 ɢ ɞɨɩɨɥɧɢɦ ɟɝɨ ɦɚɲɢɧɨɣ ɫɨɫɬɨɹɧɢɣ. Ɋɚɫɲɢɪɢɦ ɧɚɲɭ ɩɪɟɞɦɟɬɧɭɸ ɨɛɥɚɫɬɶ. Ⱦɨɛɚɜɢɦ ɧɨɜɵɣ ɤɥɚɫɫ Ⱦɢɫɰɢɩɥɢɧɚ. Ɍɟɩɟɪɶ ɭ ɩɪɟɩɨɞɚɜɚɬɟɥɟɣ ɩɨɹɜɢɬɫɹ ɫɩɢɫɨɤ ɩɪɟɩɨɞɚɜɚɟɦɵɯ ɢɦɢ ɞɢɫɰɢɩɥɢɧ. ȼɜɟɞɟɦ ɨɝɪɚɧɢɱɟɧɢɟ ɧɚ ɤɨɥɢɱɟɫɬɜɨ ɪɚɛɨɱɢɯ ɱɚɫɨɜ ɜ ɫɟɦɟɫɬɪ ɞɥɹ ɩɪɟɩɨɞɚɜɚɬɟɥɹ. Ɂɚɞɚɱɚ: ɡɚɩɪɨɝɪɚɦɦɢɪɨɜɚɬɶ ɩɪɨɰɟɫɫ ɪɚɫɩɪɟɞɟɥɟɧɢɹ ɧɚɝɪɭɡɤɢ ɧɚ ɩɪɟɩɨɞɚɜɚɬɟɥɟɣ.

ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɞɢɚɝɪɚɦɦ ɫɨɫɬɨɹɧɢɣ UML ɩɨɡɜɨɥɹɸɬ ɜɢɡɭɚɥɶɧɨ ɩɪɨɟɤɬɢɪɨɜɚɬɶ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɫɦɟɧɵ ɫɨɫɬɨɹɧɢɣ ɨɛɴɟɤɬɨɜ ɩɪɨɝɪɚɦɦɵ ɜ ɡɚɜɢɫɢɦɨɫɬɢ ɨɬ ɭɫɥɨɜɢɣ.

ɇɩɟɣɯɣɥɛɱɣɺ ɧɩɟɠɦɣ UML

1.Ɉɬɤɪɨɟɦ ɩɪɨɟɤɬ projDeanOffice.

2.Ⱦɨɛɚɜɢɦ ɤ ɦɨɞɟɥɶɧɨɦɭ ɩɪɨɫɬɪɚɧɫɬɜɭ ɩɪɢɥɨɠɟɧɢɹ ɤɥɚɫɫ clSubject (Ⱦɢɫɰɢɩɥɢɧɚ). Ɉɩɪɟɞɟɥɢɦ ɩɨɥɹ ɤɥɚɫɫɚ: ɩɨɥɟ SubjName (ɇɚɡɜɚɧɢɟ ɞɢɫɰɢɩ-

ɥɢɧɵ) ɬɢɩɚ String, ɩɨɥɟ SubjType (Ɍɢɩ ɞɢɫɰɢɩɥɢɧɵ) ɬɢɩɚ String, ɩɨɥɟ SubjAmountHours (Ʉɨɥɢɱɟɫɬɜɨ ɱɚɫɨɜ ɞɢɫɰɢɩɥɢɧɵ) ɬɢɩɚ Integer.

3.ȼ ɫɭɳɟɫɬɜɭɸɳɢɣ ɤɥɚɫɫ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɞɨɛɚɜɢɦ ɚɬɪɢɛɭɬ MaxAmountHours (Ɉɝɪɚɧɢɱɟɧɢɟ ɧɚ ɤɨɥɢɱɟɫɬɜɨ ɪɚɛɨɱɢɯ ɱɚɫɨɜ) ɬɢɩɚ Integer.

4.Ɍɟɩɟɪɶ ɞɨɛɚɜɢɦ ɜɵɱɢɫɥɹɟɦɨɟ ɩɨɥɟ. ȼɵɱɢɫɥɹɟɦɨɟ ɩɨɥɟ – ɷɬɨ ɩɨɥɟ, ɡɧɚɱɟɧɢɟ ɤɨɬɨɪɨɝɨ ɧɟ ɯɪɚɧɢɬɫɹ ɜ ɤɥɚɫɫɟ, ɚ ɪɚɫɫɱɢɬɵɜɚɟɬɫɹ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ

ɜɦɨɦɟɧɬ ɨɛɪɚɳɟɧɢɹ ɤ ɧɟɦɭ. Ⱦɨɛɚɜɢɦ ɜ ɤɥɚɫɫ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɚɬɪɢɛɭɬ LectAmountHours (Ʉɨɥɢɱɟɫɬɜɨ ɪɚɛɨɱɢɯ ɱɚɫɨɜ ɜ ɫɟɦɟɫɬɪ) ɬɢɩɚ Integer. ɉɟɪɟɞ ɢɦɟɧɟɦ ɩɨɥɹ ɩɨɫɬɚɜɢɦ ɫɢɦɜɨɥ /, ɜɢɡɭɚɥɶɧɨ ɨɛɨɡɧɚɱɚɸɳɢɣ ɜɵɱɢɫɥɹɟɦɨɟ ɡɧɚɱɟɧɢɟ. ɉɪɢɡɧɚɤɨɦ ɜɵɱɢɫɥɹɟɦɨɫɬɢ ɩɨɥɹ ɹɜɥɹɟɬɫɹ ɡɧɚɱɟɧɢɟ True ɞɥɹ ɫɜɨɣɫɬɜɚ Derived (ɜɵɱɢɫɥɹɟɦɨɟ). Ɂɧɚɱɟɧɢɟ ɫɜɨɣɫɬɜɚ LectAmountHours ɛɭɞɟɬ ɮɨɪɦɢɪɨɜɚɬɶɫɹ ɜɵɪɚɠɟɧɢɟ OCL. ɇɭɠɧɨɟ ɜɵɪɚɠɟɧɢɟ ɞɨɥɠɧɨ ɛɵɬɶ ɡɧɚɱɟɧɢɟɦ ɫɜɨɣɫɬɜɚ Derivation OCL (Ʉɨɞ OCL ɞɥɹ ɜɵɱɢɫɥɟɧɢɹ). ɗɬɨ ɜɵɪɚɠɟɧɢɟ ɜɜɟɞɟɦ ɩɨɡɠɟ, ɤɨɝɞɚ ɫɨɡɞɚɞɢɦ ɦɚɲɢɧɭ ɫɨɫɬɨɹɧɢɣ.

5.ɋɮɨɪɦɢɪɭɟɦ ɦɟɠɞɭ ɫɨɡɞɚɧɧɵɦɢ ɤɥɚɫɫɚɦɢ ɚɫɫɨɰɢɚɬɢɜɧɨɟ ɨɬɧɨɲɟɧɢɟ: «ɨɞɢɧ ɩɪɟɩɨɞɚɜɚɬɟɥɶ – ɦɧɨɝɨ ɞɢɫɰɢɩɥɢɧ». Ⱦɚɞɢɦ ɫɬɨɪɨɧɚɦ ɫɜɹɡɢ ɧɚɡɜɚ-

ɧɢɹ. ȼ ɫɜɨɣɫɬɜɨ Name ɞɥɹ ɫɬɨɪɨɧ End1 ɢ End2 ɜɜɟɞɟɦ roleLecturer ɢ roleSubjects ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ (ɫɦ. ɪɢɫ. 8.1).

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-137-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 8 ɊȺɁɊȺȻɈɌɄȺ MDA-ɉɊɂɅɈɀȿɇɂə ɋ ɂɋɉɈɅɖɁɈȼȺɇɂȿɆ ɆȺɒɂɇ ɋɈɋɌɈəɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

Ɋɢɫ. 8.1. Ɇɨɞɢɮɢɤɚɰɢɹ ɦɨɞɟɥɢ UML

6. Ɂɚɩɨɥɧɢɦ ɫɜɨɣɫɬɜɚ Alias ɫɨɡɞɚɧɧɵɯ ɷɥɟɦɟɧɬɨɜ, ɱɬɨɛɵ ɧɚ ɞɢɚɝɪɚɦɦɟ ɤɥɚɫɫɨɜ ɨɬɨɛɪɚɠɚɥɢɫɶ ɪɭɫɫɤɢɟ ɧɚɡɜɚɧɢɹ.

Ɍɩɢɟɛɨɣɠ ɧɛɳɣɨɶ ɬɩɬɭɩɺɨɣɤ

ȼ ɧɚɲɟɦ ɩɪɢɦɟɪɟ ɞɨɩɨɥɧɢɦ ɤɥɚɫɫ Ⱦɢɫɰɢɩɥɢɧɚ ɧɨɜɵɦɢ ɜɨɡɦɨɠɧɨɫɬɹɦɢ. Ʉɚɠɞɚɹ ɞɢɫɰɢɩɥɢɧɚ ɛɭɞɟɬ ɢɦɟɬɶ ɨɩɪɟɞɟɥɟɧɧɵɣ ɫɬɚɬɭɫ. ȼɨɡɦɨɠɧɨ ɞɨɛɚɜɥɟɧɢɟ ɞɢɫɰɢɩɥɢɧɵ ɩɪɟɩɨɞɚɜɚɬɟɥɸ (ɫɨɫɬɨɹɧɢɟ ȼɵɛɪɚɧ ɩɪɟɩɨɞɚɜɚɬɟɥɶ). ɉɨɫɥɟ ɱɟɝɨ ɨɧɚ ɦɨɠɟɬ ɛɵɬɶ ɩɪɢɧɹɬɚ ɧɚ ɪɚɫɫɦɨɬɪɟɧɢɟ (ɫɨɫɬɨɹɧɢɟ ȼɵɛɪɚɧɚ ɞɢɫɰɢɩɥɢɧɚ), ɡɚɬɟɦ ɥɢɛɨ ɧɚɡɧɚɱɟɧɚ ɩɪɟɩɨɞɚɜɚɬɟɥɸ (ɫɨɫɬɨɹɧɢɟ ɇɚɡɧɚɱɟɧɚ), ɥɢɛɨ ɨɬɤɥɨɧɟɧɚ (ɫɨɫɬɨɹɧɢɟ Ɉɬɤɥɨɧɟɧɚ). ɋɨɫɬɨɹɧɢɟ Ɉɬɤɥɨɧɟɧɚ ɞɢɫɰɢɩɥɢɧɚ ɜɨɡɦɨɠɧɨ ɬɚɤɠɟ, ɟɫɥɢ ɫɭɦɦɚ ɱɚɫɨɜ ɩɪɟɞɥɨɠɟɧɧɵɯ ɩɪɟɩɨɞɚɜɚɬɟɥɸ ɞɢɫɰɢɩɥɢɧ ɩɪɟɜɵɫɢɬ ɞɨɩɭɫɬɢɦɭɸ ɧɚɝɪɭɡɤɭ ɧɚ ɩɪɟɩɨɞɚɜɚɬɟɥɹ. ȼ ɫɥɭɱɚɟ ɨɬɤɥɨɧɟɧɢɹ ɞɢɫɰɢɩɥɢɧɵ ɪɚɫɫɦɚɬɪɢɜɚɟɦɵɣ ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ Ⱦɢɫɰɢɩɥɢɧɚ ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɭɞɚɥɹɟɬɫɹ. ɉɨɤɚɠɟɦ, ɤɚɤ ɪɟɚɥɢɡɨɜɚɬɶ ɬɚɤɨɣ ɚɥɝɨɪɢɬɦ ɢɫɤɥɸɱɢɬɟɥɶɧɨ ɧɚ ɭɪɨɜɧɟ ɦɨɞɟɥɢ, ɧɟ ɩɪɢɛɟɝɚɹ ɤ ɤɨɞɢɪɨɜɚɧɢɸ ɧɚ ɹɡɵɤɟ Delphi.

1.ɉɟɪɟɣɞɟɦ ɜ ɦɨɞɟɥɶɧɨɟ ɩɪɨɫɬɪɚɧɫɬɜɨ ɩɪɨɟɤɬɚ. ȼɵɛɟɪɟɦ ɷɥɟɦɟɧɬ clSubject ɢ ɫ ɩɨɦɨɳɶɸ ɤɨɧɬɟɤɫɬɧɨɝɨ ɦɟɧɸ ɞɚɞɢɦ ɤɨɦɚɧɞɭ Add > ECO State Machine. ȼ ɪɚɦɤɚɯ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ ɨɬɤɪɨɟɬɫɹ ɧɨɜɨɟ, ɩɟɪɜɨɧɚɱɚɥɶɧɨ ɩɭɫɬɨɟ ɨɤɧɨ. ȼ ɧɟɦ ɛɭɞɟɬ ɩɨɫɬɪɨɟɧɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɚɹ ɦɨɞɟɥɶ. ɇɚɡɨɜɟɦ ɦɨɞɟɥɶ

StatesOfSubject.

2.ɉɨɦɟɫɬɢɦ ɧɚ ɞɢɚɝɪɚɦɦɭ ɧɚɱɚɥɶɧɨɟ ɫɨɫɬɨɹɧɢɟ Initial.

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-138-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 8 ɊȺɁɊȺȻɈɌɄȺ MDA-ɉɊɂɅɈɀȿɇɂə ɋ ɂɋɉɈɅɖɁɈȼȺɇɂȿɆ ɆȺɒɂɇ ɋɈɋɌɈəɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

Ɋɢɫ. 8.2. Ⱦɢɚɝɪɚɦɦɚ ɦɚɲɢɧɵ ɫɨɫɬɨɹɧɢɣ

3.Ⱦɨɛɚɜɢɦ ɧɚ ɞɢɚɝɪɚɦɦɭ ɱɟɬɵɪɟ ɨɫɧɨɜɧɵɯ ɫɨɫɬɨɹɧɢɹ ɞɢɫɰɢɩɥɢɧɵ

ɫɩɨɦɨɳɶɸ ɢɧɫɬɪɭɦɟɧɬɚ State. Ⱦɚɞɢɦ ɢɦ ɢɦɟɧɚ: ChosenLecturer (ȼɵɛɪɚɧ ɩɪɟɩɨɞɚɜɚɬɟɥɶ), ChosenSubject (ȼɵɛɪɚɧɚ ɞɢɫɰɢɩɥɢɧɚ), Appointed (ɇɚɡɧɚɱɟɧɚ), Rejected (Ɉɬɤɥɨɧɟɧɚ).

4.ɉɨɦɟɫɬɢɦ ɧɚ ɞɢɚɝɪɚɦɦɭ ɤɨɧɟɱɧɨɟ ɫɨɫɬɨɹɧɢɟ Final.

5.ɋɨɝɥɚɫɧɨ ɩɪɨɟɤɬɧɨɣ ɥɨɝɢɤɟ ɫɜɹɠɟɦ ɷɬɢ ɫɨɫɬɨɹɧɢɹ ɨɬɧɨɲɟɧɢɟɦɩɟɪɟɯɨɞɨɦ ɫ ɩɨɦɨɳɶɸ ɢɧɫɬɪɭɦɟɧɬɚ Transition (ɪɢɫ. 8.2).

6.ȼɟɪɧɟɦɫɹ ɧɚ ɞɢɚɝɪɚɦɦɭ ɤɥɚɫɫɨɜ ȿɋɈ. ȼɢɞɧɨ, ɱɬɨ ɜ ɤɥɚɫɫɟ Ⱦɢɫɰɢɩɥɢɧɚ ɩɨɹɜɢɥɨɫɶ ɧɨɜɨɟ ɫɜɨɣɫɬɜɨ State_1 ɬɢɩɚ String (ɧɚɡɨɜɟɦ ɟɝɨ SubjectState), ɨɛɨɡɧɚɱɚɸɳɟɟ ɧɚɲɭ ɦɚɲɢɧɭ ɫɨɫɬɨɹɧɢɣ. Ɍɟɩɟɪɶ ɦɨɠɧɨ ɜɜɟɫɬɢ ɜɵɪɚɠɟɧɢɟ

OCL ɞɥɹ ɜɵɱɢɫɥɹɟɦɨɝɨ ɩɨɥɹ Ʉɨɥɢɱɟɫɬɜɨ ɪɚɛɨɱɢɯ ɱɚɫɨɜ (LectAmountHours)

ɤɥɚɫɫɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ. ȼ ɫɜɨɣɫɬɜɟ Derivation OCL ɷɬɨɝɨ ɚɬɪɢɛɭɬɚ ɫɨɡɞɚɞɢɦ

ɫɩɨɦɨɳɶɸ ɜɫɬɪɨɟɧɧɨɝɨ OCL-ɪɟɞɚɤɬɨɪɚ ɜɵɪɚɠɟɧɢɟ:

self.roleSubjects->select(SubjectState='Appointed').SubjAmountHours->sum

Ɉɧɨ ɨɡɧɚɱɚɟɬ, ɱɬɨ ɜ ɩɨɥɟ Ʉɨɥɢɱɟɫɬɜɨ ɪɚɛɨɱɢɯ ɱɚɫɨɜ ɤɚɠɞɨɝɨ ɨɛɴɟɤɬɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɛɭɞɟɬ ɫɭɦɦɚ ɱɚɫɨɜ ɬɟɯ ɞɢɫɰɢɩɥɢɧ, ɤɨɬɨɪɵɟ ɟɦɭ ɭɠɟ ɧɚɡɧɚ-

ɱɟɧɵ (ɩɨɥɟ SubjectState ɢɦɟɟɬ ɡɧɚɱɟɧɢɟ Appointed). 7. Ⱦɥɹ ɤɚɠɞɨɝɨ ɩɟɪɟɯɨɞɚ ɧɚɞɨ ɡɚɞɚɬɶ ɬɪɢɝɝɟɪ.

ȼ ɬɟɪɦɢɧɨɥɨɝɢɢ ɦɨɞɟɥɢ ȿɋɈ ɬɪɢɝɝɟɪ – ɷɬɨ ɞɟɣɫɬɜɢɟ, ɤɨɬɨɪɨɟ ɩɪɨɢɡɜɨɞɢɬɫɹ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɨɩɪɟɞɟɥɟɧɧɨɝɨ ɭɫɥɨɜɢɹ ɢ ɦɨɞɢɮɢɰɢɪɭɟɬ ɬɟɤɭɳɟɟ ɫɨɫɬɨɹɧɢɟ (ɜɵɡɵɜɚɟɬ ɩɟɪɟɯɨɞ ɤ ɞɪɭɝɨɦɭ ɫɨɫɬɨɹɧɢɸ).

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-139-

ɅȺȻɈɊȺɌɈɊɇȺə ɊȺȻɈɌȺ ʋ 8 ɊȺɁɊȺȻɈɌɄȺ MDA-ɉɊɂɅɈɀȿɇɂə ɋ ɂɋɉɈɅɖɁɈȼȺɇɂȿɆ ɆȺɒɂɇ ɋɈɋɌɈəɇɂɃ

Ʌɫɛɭɥɣɠ ɭɠɩɫɠɭɣɲɠɬɥɣɠ ɬɝɠɟɠɨɣɺ

Ɋɢɫ. 8.3. ɋɩɢɫɨɤ ɜɨɡɦɨɠɧɵɯ ɫɨɫɬɨɹɧɢɣ ɤɥɚɫɫɚ Ⱦɢɫɰɢɩɥɢɧɚ

Ⱦɨɛɚɜɢɦ ɜ ɤɥɚɫɫ Ⱦɢɫɰɢɩɥɢɧɚ ɬɪɢ ɬɪɢɝɝɟɪɚ. Ʉɚɠɞɵɣ ɬɪɢɝɝɟɪ ɞɨɛɚɜɥɹɸɬ ɤɨɦɚɧɞɨɣ ɤɨɧɬɟɤɫɬɧɨɝɨ ɦɟɧɸ Add > Trigger. Ⱦɚɞɢɦ ɷɬɢɦ ɬɪɢɝɝɟɪɚɦ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɟ ɢɦɟɧɚ: Choose, Appoint ɢ Reject. ɂɯ ɫɜɨɣɫɬɜɚ Alias ɡɚɩɨɥɧɢɦ ɪɭɫɫɤɨɹɡɵɱɧɵɦɢ ɧɚɡɜɚɧɢɹɦɢ: ȼɵɛɪɚɬɶ, ɇɚɡɧɚɱɢɬɶ ɢ Ɉɬɤɥɨɧɢɬɶ (ɪɢɫ. 8.3).

Ⱦɥɹ ɞɟɣɫɬɜɢɹ ȼɵɛɪɚɧ ɩɪɟɩɨɞɚɜɚɬɟɥɶ ɫɨɡɞɚɜɚɬɶ ɬɪɢɝɝɟɪ ɧɟ ɧɭɠɧɨ. ɋɨɝɥɚɫɧɨ ɧɚɲɟɣ ɦɨɞɟɥɢ ɫɱɢɬɚɟɬɫɹ, ɱɬɨ ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ Ⱦɢɫɰɢɩɥɢɧɚ ɩɨɥɭɱɚɟɬ ɷɬɨɬ ɫɬɚɬɭɫ, ɤɚɤ ɬɨɥɶɤɨ ɨɧ ɫɮɨɪɦɢɪɨɜɚɧ.

8. Ɋɚɫɩɪɟɞɟɥɢɦ ɬɪɢɝɝɟɪɵ ɩɨ ɩɟɪɟɯɨɞɚɦ ɧɚ ɞɢɚɝɪɚɦɦɟ ɦɚɲɢɧɵ ɫɨɫɬɨɹɧɢɣ. Ȼɭɞɟɦ ɜɵɛɢɪɚɬɶ ɩɨ ɨɱɟɪɟɞɢ ɤɚɠɞɭɸ ɫɜɹɡɶ (ɩɟɪɟɯɨɞ ɦɟɠɞɭ ɫɨɫɬɨɹɧɢɹɦɢ) ɢ ɜɵɛɢɪɚɬɶ ɜ ɟɟ ɫɜɨɣɫɬɜɟ Trigger ɧɭɠɧɨɟ ɢɦɹ ɬɪɢɝɝɟɪɚ ɢɡ ɪɚɫɤɪɵɜɚɸɳɟɝɨɫɹ ɫɩɢɫɤɚ.

9. Ɂɚɞɚɞɢɦ ɩɪɚɜɢɥɨ ɩɟɪɟɯɨɞɚ ɢɡ ɫɨɫɬɨɹɧɢɹ ȼɵɛɪɚɧɚ ɞɢɫɰɢɩɥɢɧɚ ɜ ɫɨɫɬɨɹɧɢɟ ɇɚɡɧɚɱɟɧɚ. ɉɨɤɚ ɱɬɨ ɨɝɪɚɧɢɱɟɧɢɣ ɢɥɢ ɞɨɩɨɥɧɢɬɟɥɶɧɵɯ ɬɪɟɛɨɜɚɧɢɣ ɧɚ ɷɬɨɬ ɩɟɪɟɯɨɞ ɧɟ ɧɚɥɨɠɟɧɨ, ɢ ɩɨɥɶɡɨɜɚɬɟɥɶ ɦɨɠɟɬ ɛɟɫɤɨɧɬɪɨɥɶɧɨ ɦɟɧɹɬɶ ɫɨɫɬɨɹɧɢɟ ɞɢɫɰɢɩɥɢɧɵ. ɉɪɚɜɢɥɨ ɩɟɪɟɯɨɞɚ ɡɚɞɚɟɬɫɹ ɜ ɫɜɨɣɫɬɜɟ Guard (ɫɬɨɪɨɠɟɜɨɟ ɭɫɥɨɜɢɟ) ɜ ɜɢɞɟ ɭɫɥɨɜɧɨɝɨ ɜɵɪɚɠɟɧɢɹ OCL:

(self.roleLecturer.LectAmountHours+self.SubjAmountHours)<=self.roleLecturer. MaxAmountHours

Ⱦɚɧɧɨɟ ɜɵɪɚɠɟɧɢɟ ɨɡɧɚɱɚɟɬ, ɱɬɨ ɫɭɦɦɚ ɪɚɛɨɱɢɯ ɱɚɫɨɜ ɩɪɟɩɨɞɚɜɚɬɟɥɹ, ɩɪɟɬɟɧɞɟɧɬɚ ɧɚ ɜɟɞɟɧɢɟ ɜɵɛɪɚɧɧɨɣ ɞɢɫɰɢɩɥɢɧɵ, ɢ ɤɨɥɢɱɟɫɬɜɨ ɱɚɫɨɜ ɷɬɨɣ ɞɢɫɰɢɩɥɢɧɵ ɞɨɥɠɧɨ ɛɵɬɶ ɦɟɧɶɲɟ ɢɥɢ ɪɚɜɧɨ ɦɚɤɫɢɦɚɥɶɧɨɦɭ ɤɨɥɢɱɟɫɬɜɭ ɪɚɛɨɱɢɯ ɱɚɫɨɜ ɩɪɟɩɨɞɚɜɚɬɟɥɹ. Ɍɟɩɟɪɶ ɜɨɡɦɨɠɧɨɫɬɶ ɧɚɡɧɚɱɢɬɶ ɞɢɫɰɢɩɥɢɧɭ, ɟɫɥɢ

ɍɠɰɨɩɦɩɞɣɣ ɫɛɢɫɛɜɩɭɥɣ ɪɫɩɞɫɛɧɧɨɩɞɩ ɩɜɠɬɪɠɲɠɨɣɺ. Ɇɛɜ. ɪɫɛɥɭɣɥɮɧ

-140-

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]