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

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

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

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

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

Ɋɢɫ. 7.7. ɇɚɫɬɪɨɣɤɚ ɫɜɹɡɢ ECO ɫ ɋɍȻȾ

Ɋɢɫ. 7.8. ɇɚɫɬɪɨɣɤɚ ɫɜɨɣɫɬɜ ɋɍȻȾ

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

-121-

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

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

7.ɋɝɟɧɟɪɢɪɭɟɦ ɫɯɟɦɭ ɛɚɡɵ ɞɚɧɧɵɯ. Ʉɨɦɩɨɧɟɧɬ PersistenceMapperBdp ɫɚɦɨɫɬɨɹɬɟɥɶɧɨ ɫɨɡɞɚɟɬ ɜ ɜɵɛɪɚɧɧɨɣ ɛɚɡɟ ɞɚɧɧɵɯ ɫɩɟɰɢɚɥɶɧɵɟ ɬɚɛɥɢɰɵ, ɩɨɥɹ ɢ ɨɬɧɨɲɟɧɢɹ ɦɟɠɞɭ ɧɢɦɢ. ȼ ɷɬɢɯ ɬɚɛɥɢɰɚɯ ɯɪɚɧɹɬɫɹ ɨɛɴɟɤɬɵ ɩɪɨɫɬɪɚɧɫɬɜɚ ȿɋɈ. ȼ ɤɨɧɬɟɤɫɬɧɨɦ ɦɟɧɸ ɤɨɦɩɨɧɟɧɬɚ PersistenceMapperBdp ɜɵɛɟɪɟɦ ɩɭɧɤɬ, ɨɛɟɫɩɟɱɢɜɚɸɳɢɣ ɚɜɬɨɦɚɬɢɱɟɫɤɭɸ ɧɚɫɬɪɨɣɤɭ ɜɫɟɯ ɧɭɠɧɵɯ ɫɜɨɣɫɬɜ ɞɥɹ ɤɨɧɤɪɟɬɧɨɣ ɋɍȻȾ. ȼ ɫɥɭɱɚɟ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɋɍȻȾ Interbase ɧɭɠɧɵɣ ɩɭɧɤɬ ɢɦɟɟɬ ɜɢɞ Interbase [dialect3] setup, ɜ ɫɥɭɱɚɟ ɋɍȻȾ Microsoft SQL Server – SQL Server setup ɢ ɬɚɤ ɞɚɥɟɟ. ȼ ɧɚɲɟɦ ɫɥɭɱɚɟ ɜɵɛɢɪɚɟɦ ɩɭɧɤɬ Interbase [dialect3] setup, ɬɚɤ ɤɚɤ ɢɫɩɨɥɶɡɭɟɬɫɹ ɋɍȻȾ Firebird 2.0 (ɪɢɫ. 7.8).

8.ɋɝɟɧɟɪɢɪɭɟɦ ɬɚɛɥɢɰɵ, ɨɩɢɫɵɜɚɸɳɢɟ ɫɬɪɭɤɬɭɪɭ ɨɛɴɟɤɬɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ. Ⱦɥɹ ɷɬɨɝɨ ɧɚɠɦɟɦ ɤɧɨɩɤɭ Generate Sche-

ma ɜ ɧɢɠɧɟɣ ɱɚɫɬɢ ɨɤɧɚ, ɩɪɟɞɫɬɚɜɥɹɸɳɟɝɨ ɩɪɨ-

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

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

10.Ʉɨɦɩɨɧɟɧɬ PersistenceMapperBdp, ɧɚɫɬɪɨɟɧɧɵɣ ɧɚ ɤɨɧɤɪɟɬɧɭɸ ɋɍȻȾ, ɧɚɞɨ ɡɚɞɟɣɫɬɜɨɜɚɬɶ ɤɚɤ ɫɜɹɡɭɸɳɟɟ ɡɜɟɧɨ ɦɟɠɞɭ ɨɛɴɟɤɬɧɵɦ ɩɪɨɫɬɪɚɧɫɬɜɨɦ ȿɋɈ ɢ ɋɍȻȾ. Ⱦɥɹ ɷɬɨɝɨ ɨɛɪɚɬɢɦɫɹ ɤ ɬɟɤɭɳɟɦɭ ɨɛɴɟɤɬɧɨɦɭ ɩɪɨɫɬɪɚɧɫɬɜɭ ɩɪɨɟɤɬɚ ɢ ɳɟɥɤɧɟɦ ɧɚ ɫɜɨɛɨɞɧɨɦ ɦɟɫɬɟ ɨɤɧɚ projDeanOfficeEcoSpace.

5)

Ɋɢɫ. 7.9. Ⱥɜɬɨɦɚɬɢɱɟɫɤɚɹ ɝɟɧɟɪɚɰɢɹ ɫɯɟɦɵ ɦɨɞɟɥɢ

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

-122-

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

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

6) ȼ ɫɜɨɣɫɬɜɟ PersistenceMapper ɜ ɨɤɧɟ ɂɧɫɩɟɤɬɨɪɚ ɨɛɴɟɤɬɨɜ Properties ɞɥɹ ɨɛɴɟɤɬɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ ɡɚɞɚɞɢɦ ɫɫɵɥɤɭ ɧɚ ɨɛɴɟɤɬ PersistenceMapperBdp1 (ɟɞɢɧɫɬɜɟɧɧɵɣ ɷɤɡɟɦɩɥɹɪ ɤɨɦɩɨɧɟɧɬɚ PersistenceMapperBdp). ɋɜɹɡɶ ɨɛɴɟɤɬɧɨɝɨ ɩɪɨɫɬɪɚɧɫɬɜɚ ɫ ɋɍȻȾ ɭɫɬɚɧɨɜɥɟɧɚ.

Ⱦɚɥɟɟ ɧɚɦ ɧɟɨɛɯɨɞɢɦɨ ɩɪɟɞɫɬɚɜɢɬɶ ɫɨɡɞɚɜɚɟɦɵɟ ɨɛɴɟɤɬɵ ɦɨɞɟɥɢ (ɷɤɡɟɦɩɥɹɪɵ ɤɥɚɫɫɨɜ Ʉɚɮɟɞɪɚ ɢ ɉɪɟɩɨɞɚɜɚɬɟɥɶ) ɜ ɬɚɛɥɢɰɟ. Ɉɛɴɟɤɬ ɫɥɟɞɭɟɬ ɞɨɛɚɜɥɹɬɶ ɜ ɬɚɛɥɢɰɭ, ɭɞɚɥɹɬɶ ɟɝɨ ɢ ɨɛɧɨɜɥɹɬɶ ȻȾ ɫ ɩɨɦɨɳɶɸ ɤɧɨɩɨɤ Ⱦɨɛɚɜɢɬɶ, ɍɞɚɥɢɬɶ ɢ ɋɨɯɪɚɧɢɬɶ ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ. ɉɪɨɞɟɥɚɟɦ ɜɫɸ ɪɚɛɨɬɭ ɢɫɤɥɸɱɢɬɟɥɶɧɨ ɫ ɩɨɦɨɳɶɸ ɜɢɡɭɚɥɶɧɵɯ ɫɪɟɞɫɬɜ Delphi, ɧɟ ɩɪɢɛɟɝɚɹ ɤ ɪɭɱɧɨɦɭ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɸ.

Ɍɩɢɟɛɨɣɠ ɣɨɭɠɫɯɠɤɬɛ

1.ɉɟɪɟɣɞɟɦ ɤ ɨɤɧɭ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ ɞɥɹ ɝɥɚɜɧɨɣ ɮɨɪɦɵ ɩɪɨɟɤɬɚ WinForm (ɜɤɥɚɞɤɚ Design). ɉɟɪɟɢɦɟɧɭɟɦ ɫɬɚɧɞɚɪɬɧɨɟ ɧɚɡɜɚɧɢɟ ɝɥɚɜɧɨɣ ɮɨɪɦɵ. ɇɚɡɨɜɟɦ ɟɟ wfMain, ɚ ɫɚɦ ɤɥɚɫɫ TWinForm ɩɟɪɟɢɦɟɧɭɟɦ ɜ TMain ɜ ɫɜɨɣɫɬɜɟ Name ɤɚɬɟɝɨɪɢɢ Design. ɋɜɨɣɫɬɜɨ Text (ɤɚɬɟɝɨɪɢɹ Appearance) ɨɬɜɟɱɚɟɬ ɡɚ ɧɚɡɜɚɧɢɟ ɡɚɝɨɥɨɜɤɚ ɨɤɧɚ, ɜɜɟɞɟɦ ɜ ɧɟɝɨ ɫɬɪɨɤɭ, ɧɚɩɪɢɦɟɪ Ƚɥɚɜɧɚɹ ɮɨɪɦɚ. ɗɬɨ ɨɤɧɨ ɫɬɚɧɟɬ ɪɨɞɢɬɟɥɶɫɤɢɦ ɜ ɪɚɡɪɚɛɚɬɵɜɚɟɦɨɦ ɩɪɢɥɨɠɟɧɢɢ, ɫɨɝɥɚɫɧɨ ɬɪɟɛɨɜɚɧɢɹɦ ɫɨɡɞɚɧɢɹ MDI-ɤɨɧɬɟɣɧɟɪɨɜ.

2.ȼ ɫɜɨɣɫɬɜɟ IsMdiContainer (ɤɚɬɟɝɨɪɢɹ Window Style) Ƚɥɚɜɧɨɣ ɮɨɪ-

ɦɵ ɜɵɛɟɪɟɦ ɡɧɚɱɟɧɢɟ True.

3.ɋɨɡɞɚɞɢɦ ɧɨɜɭɸ ɮɨɪɦɭ ɤɨɦɚɧɞɨɣ File > New > Other. ȼɵɛɟɪɟɦ ɡɧɚ-

ɱɨɤ ECO Enabled Windows Form ɢɡ ɜɤɥɚɞɤɢ New ECO Files (ɤɚɬɟɝɨɪɢɹ Delphi for .NET Projects). ȼ ɨɤɧɟ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ ɩɨɹɜɢɬɫɹ ɧɨɜɚɹ ɮɨɪɦɚ. ɗɬɚ ɮɨɪɦɚ ɛɭɞɟɬ ɞɨɱɟɪɧɟɣ, ɚ ɡɧɚɱɢɬ, ɨɧɚ ɛɭɞɟɬ ɨɬɨɛɪɚɠɚɬɶɫɹ ɜɧɭɬɪɢ ɝɥɚɜɧɨɣ. Ɍɚɤ ɤɚɤ

ɜɧɟɣ ɛɭɞɟɦ ɩɪɟɞɫɬɚɜɥɹɬɶ ɫɩɢɫɨɤ ɩɪɟɩɨɞɚɜɚɬɟɥɟɣ ɜɵɛɪɚɧɧɨɣ ɤɚɮɟɞɪɵ, ɧɚɡɨɜɟɦ ɫɨɡɞɚɧɧɭɸ ɮɨɪɦɭ wfLecturer, ɚ ɫɚɦ ɤɥɚɫɫ – TLecturer. ȼɜɟɞɟɦ ɜ ɫɜɨɣɫɬɜɨ ɮɨɪɦɵ Text ɫɬɪɨɤɭ ɉɪɟɩɨɞɚɜɚɬɟɥɢ.

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

ɤɞɨɱɟɪɧɢɦ ɮɨɪɦɚɦ. ɉɨɦɟɫɬɢɦ ɧɚ Ƚɥɚɜɧɭɸ ɮɨɪɦɭ ɤɨɦɩɨɧɟɧɬ MainMenu. ȼ ɜɟɪɯɧɟɣ ɱɚɫɬɢ ɮɨɪɦɵ ɩɨɹɜɢɬɶɫɹ ɫɬɪɨɤɚ ɦɟɧɸ, ɜ ɧɚɱɚɥɟ ɤɨɬɨɪɨɣ ɧɚɯɨɞɢɬɫɹ ɨɛɥɚɫɬɶ ɜɜɨɞɚ ɬɟɤɫɬɚ. ɑɬɨɛɵ ɫɨɡɞɚɬɶ ɩɟɪɜɵɣ ɩɭɧɤɬ ɦɟɧɸ, ɧɚɞɨ ɳɟɥɤɧɭɬɶ

ɜɨɛɥɚɫɬɢ ɜɜɨɞɚ ɬɟɤɫɬɚ ɢ ɜɜɟɫɬɢ ɧɚɡɜɚɧɢɟ ɩɭɧɤɬɚ ɦɟɧɸ. ɇɚɡɨɜɟɦ ɩɭɧɤɬ ɦɟɧɸ ɉɨɞɫɢɫɬɟɦɵ. ȼ ɧɢɠɧɸɸ ɨɛɥɚɫɬɶ ɩɭɧɤɬɚ ɉɨɞɫɢɫɬɟɦɵ ɜɜɟɞɟɦ ɧɚɡɜɚɧɢɟ ɤɨ-

ɦɚɧɞɵ ɦɟɧɸ – ɉɪɟɩɨɞɚɜɚɬɟɥɢ (ɪɢɫ. 7.10).

5.ȼɵɛɟɪɟɦ ɮɨɪɦɭ wfLecturer, ɜɤɥɚɞɤɭ Code. ȼ ɨɤɧɟ ɩɨɹɜɢɬɫɹ ɤɨɞ ɮɨɪɦɵ. ɉɟɪɟɞ ɤɨɦɚɧɞɨɣ Implementation ɨɛɴɹɜɢɦ ɩɟɪɟɦɟɧɧɭɸ, ɨɬɜɟɬɫɬɜɟɧɧɭɸ ɡɚ ɫɨɡɞɚɧɢɟ ɞɨɱɟɪɧɟɝɨ ɨɤɧɚ ɉɪɟɩɨɞɚɜɚɬɟɥɢ:

var

callLect: TLecturer;

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

-123-

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

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

Ɋɢɫ. 7.10. ɇɚɫɬɪɨɣɤɚ ɝɥɚɜɧɨɝɨ ɦɟɧɸ

Ɋɢɫ. 7.11. ɋɨɡɞɚɧɢɟ ɞɨɱɟɪɧɟɝɨ ɨɤɧɚ ɜɧɭɬɪɢ ɪɨɞɢɬɟɥɶɫɤɨɝɨ

6. ɉɟɪɟɣɞɟɦ ɤ Ƚɥɚɜɧɨɣ ɮɨɪɦɟ. ɑɬɨɛɵ ɜ Ƚɥɚɜɧɨɣ ɮɨɪɦɟ ɫɨɡɞɚɬɶ ɞɨɱɟɪɧɸɸ, ɩɨɞɤɥɸɱɢɦ ɤ ɧɟɣ ɮɨɪɦɭ wfLecturer ɤɨɦɚɧɞɨɣ File > Use Unit. ȼ ɩɨɹ-

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

-124-

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

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

ɜɢɜɲɟɦɫɹ ɨɤɧɟ Use Unit ɜɵɛɟɪɟɦ ɮɨɪɦɭ wfLecturer (ɉɪɟɩɨɞɚɜɚɬɟɥɢ). ɇɚ ɫɨɛɵɬɢɟ ɜɵɛɨɪɚ ɩɭɧɤɬɚ ɦɟɧɸ ɉɪɟɩɨɞɚɜɚɬɟɥɢ ɩɪɨɩɢɲɟɦ ɫɥɟɞɭɸɳɢɟ ɨɩɟɪɚɰɢɢ:

callLect := TLecturer.Create(EcoSpace); callLect.MdiParent := self; callLect.Show;

7.Ɂɚɩɭɫɬɢɦ ɩɪɢɥɨɠɟɧɢɟ. Ɍɟɩɟɪɶ ɩɪɢ ɧɚɠɚɬɢɢ ɧɚ ɩɭɧɤɬ ɉɪɟɩɨɞɚɜɚɬɟɥɢ ɜɧɭɬɪɢ ɪɨɞɢɬɟɥɶɫɤɨɝɨ ɨɤɧɚ ɩɨɹɜɥɹɟɬɫɹ ɞɨɱɟɪɧɟɟ ɨɤɧɨ ɉɪɟɩɨɞɚɜɚɬɟɥɢ

(ɫɦ. ɪɢɫ. 7.11).

8.ɉɪɢɫɬɭɩɢɦ ɤ ɩɪɟɞɫɬɚɜɥɟɧɢɸ ɬɚɛɥɢɰɵ ɫ ɨɛɴɟɤɬɚɦɢ ȿɋɈ ɧɚ ɮɨɪɦɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. ȼɨɫɩɨɥɶɡɭɟɦɫɹ ɝɨɬɨɜɵɦ ɤɨɦɩɨɧɟɧɬɨɦ DataGrid ɢɡ ɤɚɬɟɝɨɪɢɢ ɩɚɥɢɬɪɵ ɢɧɫɬɪɭɦɟɧɬɨɜ Data Controls. ɉɨɦɟɫɬɢɦ ɷɬɨɬ ɤɨɦɩɨɧɟɧɬ ɧɚ ɮɨɪɦɭ ɢ ɞɚɞɢɦ ɟɦɭ ɧɚɡɜɚɧɢɟ dgChair (ɜ ɫɜɨɣɫɬɜɟ Name). ɗɬɚ ɬɚɛɥɢɰɚ ɛɭɞɟɬ ɨɬɜɟɱɚɬɶ ɡɚ ɩɪɟɞɫɬɚɜɥɟɧɢɟ ɷɤɡɟɦɩɥɹɪɨɜ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ (clChair). ɂɫɯɨɞɧɨ ɬɚɛɥɢɰɚ ɞɨɥɠɧɚ ɛɵɬɶ ɩɭɫɬɚ. ȼ ɫɜɨɣɫɬɜɟ CaptionText (ɡɚɝɨɥɨɜɨɤ ɬɚɛɥɢɰɵ) ɜɜɟɞɟɦ ɧɚɡɜɚɧɢɟ Ʉɚɮɟɞɪɵ.

9.Ⱦɨɛɚɜɢɦ ɟɳɟ ɨɞɧɭ ɬɚɛɥɢɰɭ dgLecturer, ɤɨɬɨɪɚɹ ɜ ɝɨɬɨɜɨɦ ɩɪɢɥɨɠɟɧɢɢ ɛɭɞɟɬ ɨɬɜɟɱɚɬɶ ɡɚ ɨɬɨɛɪɚɠɟɧɢɟ ɷɤɡɟɦɩɥɹɪɨɜ ɤɥɚɫɫɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ

(clLecturer). ȼ ɫɜɨɣɫɬɜɟ CaptionText ɜɜɟɞɟɦ ɧɚɡɜɚɧɢɟ ɉɪɟɩɨɞɚɜɚɬɟɥɢ.

10.Ⱦɥɹ ɪɚɛɨɬɵ ɫ ɬɚɛɥɢɰɚɦɢ ɜ ɩɪɨɫɬɨɦ ɩɪɢɥɨɠɟɧɢɢ ɩɨɬɪɟɛɭɟɬɫɹ ɩɹɬɶ ɨɩɟɪɚɰɢɣ: ɞɨɛɚɜɥɟɧɢɟ ɢ ɭɞɚɥɟɧɢɟ ɞɚɧɧɵɯ ɜ ɞɜɭɯ ɬɚɛɥɢɰɚɯ ɢ ɫɨɯɪɚɧɟɧɢɟ ɤɨɩɢɢ ECO ɩɪɨɫɬɪɚɧɫɬɜɚ ɢɡ ɨɩɟɪɚɬɢɜɧɨɣ ɩɚɦɹɬɢ ɜ ɛɚɡɭ ɞɚɧɧɵɯ. Ɋɟɞɚɤɬɢɪɨɜɚɧɢɟ ɞɚɧɧɵɯ ɛɭɞɟɬ ɨɫɭɳɟɫɬɜɥɹɬɶɫɹ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ ɜ ɩɨɥɹɯ ɬɚɛɥɢɰ. Ⱦɨɛɚɜɢɦ

ɧɚ ɮɨɪɦɭ ɩɹɬɶ ɤɧɨɩɨɤ – ɷɤɡɟɦɩɥɹɪɨɜ ɤɥɚɫɫɚ Button (ɪɢɫ. 7.12).

7)

Ɋɢɫ. 7.12. Ⱦɨɛɚɜɥɟɧɢɟ ɤɨɦɩɨɧɟɧɬɨɜ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ

11. ɇɚɫɬɪɨɢɦ ɚɜɬɨɦɚɬɢɱɟɫɤɨɟ ɪɚɫɬɹɝɢɜɚɧɢɟ ɬɚɛɥɢɰ ɢ ɩɨɥɨɠɟɧɢɟ ɤɧɨɩɨɤ ɩɪɢ ɢɡɦɟɧɟɧɢɢ ɪɚɡɦɟɪɨɜ ɨɤɧɚ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. ȼɨɫɩɨɥɶɡɭɟɦɫɹ ɫɜɨɣɫɬ-

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

-125-

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

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

ɜɨɦ Anchor ɭ ɨɛɴɟɤɬɨɜ ɮɨɪɦɵ. Ⱦɥɹ ɬɚɛɥɢɰɵ Ʉɚɮɟɞɪɵ ɡɚɞɚɞɢɦ ɡɧɚɱɟɧɢɹ

Top, Left, Right ɜ ɫɜɨɣɫɬɜɟ Anchor, ɞɥɹ ɬɚɛɥɢɰɵ ɉɪɟɩɨɞɚɜɚɬɟɥɢ – Top, Bottom, Left, Right, ɞɥɹ ɤɧɨɩɨɤ Button1–Button4 – Top, Right, ɞɥɹ ɤɧɨɩɤɢ Button5 – Bottom, Right.

Ɍɝɺɢɶɝɛɨɣɠ ɣɨɭɠɫɯɠɤɬɛ ɬ ɧɩɟɠɦɷɹ

1.ɋɜɹɡɶ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ ɫ ɦɨɞɟɥɹɦɢ ȿɋɈ ɨɛɵɱɧɨ ɩɪɨɢɫɯɨɞɢɬ ɱɟɪɟɡ ɤɨɦɩɨɧɟɧɬ ExpressionHandle. Ɉɧ ɞɨɫɬɭɩɟɧ ɜ ɤɚɬɟɝɨɪɢɢ ɩɚɥɢɬɪɵ ɢɧɫɬɪɭɦɟɧɬɨɜ Enterprise Core Objects. ɑɟɪɟɡ ɩɨɞɨɛɧɵɟ ɢɞɟɧɬɢɮɢɤɚɬɨɪɵ (ɞɟɫɤɪɢɩɬɨɪɵ) ɨɪɝɚɧɢɡɭɟɬɫɹ ɞɨɫɬɭɩ ɤ ɨɛɴɟɤɬɚɦ ɦɨɞɟɥɢ ɢ ɩɪɨɫɬɪɚɧɫɬɜɚ ȿɋɈ ɜɨ ɜɪɟɦɹ ɪɚɛɨɬɵ ɩɪɨɝɪɚɦɦɵ.

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

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

Ȼɭɞɟɦ ɪɚɛɨɬɚɬɶ ɫ ɮɨɪɦɨɣ ɉɪɟɩɨɞɚɜɚɬɟɥɢ. Ⱦɨɛɚɜɢɦ ɤɨɦɩɨɧɟɧɬ ExpressionHandle. Ɉɧ ɨɬɨɛɪɚɠɚɟɬɫɹ ɜ ɧɢɠɧɟɣ ɱɚɫɬɢ ɨɤɧɚ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ ɩɨɞ ɮɨɪɦɨɣ, ɝɞɟ ɭɠɟ ɢɦɟɟɬɫɹ ɧɚɛɨɪ ɤɨɦɩɨɧɟɧɬɨɜ ȿɋɈ. ɇɚɡɨɜɟɦ ɟɝɨ ehChair, ɜɜɟɞɟɦ ɷɬɨ ɢɦɹ ɜ ɫɜɨɣɫɬɜɨ Name ɤɚɬɟɝɨɪɢɢ Design.

2.ȼ ɫɜɨɣɫɬɜɟ RootHandle ɷɬɨɝɨ ɞɟɫɤɪɢɩɬɨɪɚ ɜɵɛɟɪɟɦ ɡɧɚɱɟɧɢɟ RHRoot

ɫɫɵɥɤɭ ɧɚ ɪɨɞɢɬɟɥɶɫɤɢɣ, ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɫɨɡɞɚɧɧɵɣ ɤɨɪɧɟɜɨɣ ɢɞɟɧɬɢɮɢɤɚɬɨɪ. Ɍɚɤ ɡɚɞɚɸɬ ɦɟɫɬɨ ɞɚɧɧɨɝɨ ɢɞɟɧɬɢɮɢɤɚɬɨɪɚ ɜ ɰɟɩɨɱɤɟ ɞɨɫɬɭɩɚ ɤ ɨɛɴɟɤɬɧɨɦɭ ɩɪɨɫɬɪɚɧɫɬɜɭ ȿɋɈ.

3.ȼ ɫɜɨɣɫɬɜɟ DataSource ɬɚɛɥɢɰɵ dgChair ɜɵɛɟɪɟɦ ɢɦɹ ehChair ɜ ɫɩɢɫɤɟ ɞɨɫɬɭɩɧɵɯ ɢɞɟɧɬɢɮɢɤɚɬɨɪɨɜ ȿɋɈ.

4.ɇɚɫɬɪɨɢɦ ɬɚɛɥɢɰɭ ɉɪɟɩɨɞɚɜɚɬɟɥɶ ɬɚɤ, ɱɬɨɛɵ ɨɧɚ ɨɬɪɚɠɚɥɚ ɫɩɢɫɨɤ ɩɪɟɩɨɞɚɜɚɬɟɥɟɣ, ɩɪɢɧɚɞɥɟɠɚɳɢɯ ɜɵɛɪɚɧɧɨɣ ɤɚɮɟɞɪɟ ɜ ɩɟɪɜɨɣ ɬɚɛɥɢɰɟ. Ⱦɥɹ ɧɚɱɚɥɚ ɞɨɛɚɜɢɦ ɜ ɩɪɨɟɤɬ ɞɟɫɤɪɢɩɬɨɪ CurrencyManagerHandle (ɢɡ ɤɚɬɟɝɨɪɢɢ

Enterprise Core Objects) ɢ ɞɚɞɢɦ ɟɦɭ ɢɦɹ cmhChair, ɬɚɤ ɤɚɤ ɷɬɨɬ ɤɨɦɩɨɧɟɧɬ ɛɭɞɟɬ ɭɤɚɡɵɜɚɬɶ ɧɚ ɬɟɤɭɳɭɸ ɫɬɪɨɤɭ ɬɚɛɥɢɰɵ Ʉɚɮɟɞɪɵ. ɋɜɹɠɟɦ ɞɟɫɤɪɢɩɬɨɪ cmhChair ɫ ɬɚɛɥɢɰɟɣ dgChair ɱɟɪɟɡ ɫɜɨɣɫɬɜɨ BindingContext. Ɍɟɩɟɪɶ ɨɧ ɨɬɫɥɟɠɢɜɚɟɬ ɜɵɞɟɥɟɧɧɭɸ ɫɬɪɨɤɭ ɷɬɨɣ ɬɚɛɥɢɰɵ.

5.Ɂɚɞɚɞɢɦ ɫɫɵɥɤɭ ɧɚ ɨɛɴɟɤɬ ehChair ɜ ɫɜɨɣɫɬɜɟ RootHanler, ɨɩɪɟɞɟɥɹɸɳɟɦ ɤɨɪɧɟɜɨɣ ɢɞɟɧɬɢɮɢɤɚɬɨɪ ECO.

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

-126-

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

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

6.Ⱦɨɛɚɜɢɦ ɤ ɩɪɨɟɤɬɭ ɟɳɟ ɨɞɢɧ ɤɨɦɩɨɧɟɧɬ ExpressionHandle. ɇɚɡɨɜɟɦ ɟɝɨ ehLecturer. Ⱦɟɫɤɪɢɩɬɨɪ ehLecturer ɛɭɞɟɬ ɨɛɪɚɳɚɬɶɫɹ ɤ ɷɤɡɟɦɩɥɹɪɚɦ ɤɥɚɫɫɚ

ɉɪɟɩɨɞɚɜɚɬɟɥɶ.

7.Ɂɚɞɚɞɢɦ ɫɫɵɥɤɭ ɧɚ ɨɛɴɟɤɬ cmhChair ɜ ɫɜɨɣɫɬɜɟ RootHanler.

8.ɉɨɬɪɟɛɢɬɟɥɟɦ ɨɛɴɟɤɬɨɜ, ɩɪɟɞɨɫɬɚɜɥɹɟɦɵɯ ɞɟɫɤɪɢɩɬɨɪɨɦ ehLecturer, ɛɭɞɟɬ ɜɬɨɪɚɹ ɬɚɛɥɢɰɚ. ȼ ɟɟ ɫɜɨɣɫɬɜɟ DataSource ɜɵɛɟɪɟɦ ɫɫɵɥɤɭ ɧɚ ɨɛɴɟɤɬ ehLecturer.

9.ɉɪɢɫɬɭɩɢɦ ɤ ɧɚɫɬɪɨɣɤɟ ɷɥɟɦɟɧɬɨɜ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɨɝɨ ɢɧɬɟɪɮɟɣɫɚ. Ɉɪɝɚɧɢɡɭɟɦ ɫ ɩɨɦɨɳɶɸ ɜɢɡɭɚɥɶɧɵɯ ɫɪɟɞɫɬɜ Delphi ɫɨɡɞɚɧɢɟ ɧɨɜɵɯ ɷɤɡɟɦɩɥɹɪɨɜ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ ɢ ɞɨɛɚɜɥɟɧɢɟ ɢɯ ɜ ɬɚɛɥɢɰɭ. ȼɵɞɟɥɢɦ ɜ ɨɤɧɟ ɉɪɨɟɤ-

ɬɢɪɨɜɳɢɤɚ ɤɧɨɩɤɭ Button1. ȼ ɫɜɨɣɫɬɜɟ EcoListAction (ɋɩɢɫɨɤ ɫɬɚɧɞɚɪɬɧɵɯ ɞɟɣɫɬɜɢɣ ȿɋɈ) ɜɵɛɟɪɟɦ ɡɧɚɱɟɧɢɟ Add (Ⱦɨɛɚɜɢɬɶ ɨɛɴɟɤɬ).

10.Ʉɧɨɩɤɚ Button1 ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɩɨɥɭɱɢɥɚ ɧɚɡɜɚɧɢɟ Add. ɉɟɪɟɢɦɟɧɭɟɦ ɤɧɨɩɤɭ. Ⱦɥɹ ɷɬɨɝɨ ɜɨɫɩɨɥɶɡɭɟɦɫɹ ɤɨɦɩɨɧɟɧɬɨɦ EcoListActions (ɨɧ ɞɨɛɚɜɥɹɟɬɫɹ ɜ ɩɪɨɟɤɬ ɩɨ ɭɦɨɥɱɚɧɢɸ ɢ ɧɚɯɨɞɢɬɫɹ ɜ ɧɢɠɧɟɣ ɱɚɫɬɢ ɨɤɧɚ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ), ɜ ɟɝɨ ɫɜɨɣɫɬɜɟ CaptionAdd ɜɜɟɞɟɦ Ⱦɨɛɚɜɢɬɶ.

11.Ɉɛɴɟɤɬ ȿɋɈ, ɤɨɬɨɪɵɣ ɦɵ ɯɨɬɢɦ ɞɨɛɚɜɢɬɶ ɤ ɩɪɨɟɤɬɭ (ɫɞɟɥɚɬɶ ɞɨɫɬɭɩɧɵɦ ɱɟɪɟɡ ɷɥɟɦɟɧɬɵ ɭɩɪɚɜɥɟɧɢɹ ɧɚ ɮɨɪɦɟ), ɡɚɞɚɟɬɫɹ ɜ ɫɜɨɣɫɬɜɟ RootHandle. ȼ ɧɟɦ ɧɚɞɨ ɜɵɛɪɚɬɶ ɩɨɞɯɨɞɹɳɢɣ ɩɨɫɬɚɜɳɢɤ ɨɛɴɟɤɬɨɜ ȿɋɈ, ɜ ɧɚɲɟɦ ɫɥɭɱɚɟ – ɢɞɟɧɬɢɮɢɤɚɬɨɪ ehChair.

Ɋɢɫ. 7.13. ɇɚɫɬɪɨɣɤɚ ɤɧɨɩɤɢ ɞɨɛɚɜɥɟɧɢɹ ɷɤɡɟɦɩɥɹɪɚ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ

12. ɋɜɹɠɟɦ ɪɟɡɭɥɶɬɚɬ ɞɟɣɫɬɜɢɹ ɤɧɨɩɤɢ (ɫɨɡɞɚɧɧɵɣ ɷɤɡɟɦɩɥɹɪ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ) ɫ ɜɢɡɭɚɥɶɧɵɦ ɷɥɟɦɟɧɬɨɦ, ɨɬɨɛɪɚɠɚɸɳɢɦ ɷɬɨɬ ɷɤɡɟɦɩɥɹɪ, ɜ ɧɚɲɟɦ

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

-127-

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

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

ɫɥɭɱɚɟ – ɫ ɬɚɛɥɢɰɟɣ dgChair. Ⱦɥɹ ɷɬɨɝɨ ɜ ɫɜɨɣɫɬɜɟ BindingContext (ɤɨɧɬɟɤɫɬ ɫɜɹɡɵɜɚɧɢɹ) ɜɵɛɟɪɟɦ ɢɦɹ dgChair (ɫɦ. ɪɢɫ. 7.13).

13.Ɍɟɩɟɪɶ ɞɨɛɚɜɢɦ ɨɩɟɪɚɰɢɸ ɭɞɚɥɟɧɢɹ ɷɤɡɟɦɩɥɹɪɨɜ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ. Ɋɟɚɥɢɡɭɟɦ ɷɬɨ ɞɟɣɫɬɜɢɟ ɩɨ ɚɧɚɥɨɝɢɢ ɫ ɨɩɟɪɚɰɢɟɣ ɞɨɛɚɜɥɟɧɢɹ. ȼɵɞɟɥɢɦ ɜ ɨɤɧɟ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ ɤɧɨɩɤɭ Button2. ȼ ɫɜɨɣɫɬɜɟ EcoListAction ɜɵɛɟɪɟɦ ɡɧɚɱɟɧɢɟ Delete. Ɂɚɞɚɞɢɦ ɢɞɟɧɬɢɮɢɤɚɬɨɪ ehChair ɜ ɫɜɨɣɫɬɜɟ RootHandle. ɋɜɹɠɟɦ ɪɟɡɭɥɶɬɚɬ ɞɟɣɫɬɜɢɹ ɤɧɨɩɤɢ ɫ ɜɢɡɭɚɥɶɧɵɦ ɷɥɟɦɟɧɬɨɦ – ɬɚɛɥɢɰɟɣ dgChair. Ⱦɥɹ ɷɬɨɝɨ ɜ ɫɜɨɣɫɬɜɟ BindingContext ɭ ɤɧɨɩɤɢ Delete ɜɵɛɟɪɟɦ ɢɦɹ dgChair. ɉɟɪɟɣɞɟɦ ɤ ɤɨɦɩɨɧɟɧɬɭ EcoListActions ɢ ɜ ɟɝɨ ɫɜɨɣɫɬɜɟ Caption Delete ɜɜɟɞɟɦ

ɍɞɚɥɢɬɶ.

14.ɇɚɫɬɪɨɣɤɚ ɤɧɨɩɤɢ Button3 (ɨɧɚ ɛɭɞɟɬ ɨɬɜɟɱɚɬɶ ɡɚ ɞɨɛɚɜɥɟɧɢɟ ɷɤɡɟɦɩɥɹɪɚ ɤɥɚɫɫɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ). Ɂɧɚɱɟɧɢɹ ɫɜɨɣɫɬɜ ɤɧɨɩɤɢ: EcoListAction – Add; RootHandle – ehLecturer; BindingContext – dgLecturer. ɉɟɪɟɣɞɟɦ ɤ ɤɨɦ-

ɩɨɧɟɧɬɭ EcoListActions ɢ ɜ ɟɝɨ ɫɜɨɣɫɬɜɟ Caption Add ɜɜɟɞɟɦ Ⱦɨɛɚɜɢɬɶ.

15.ɇɚɫɬɪɨɣɤɚ ɤɧɨɩɤɢ Button4 (ɛɭɞɟɬ ɨɬɜɟɱɚɬɶ ɡɚ ɭɞɚɥɟɧɢɟ ɷɤɡɟɦɩɥɹɪɚ ɤɥɚɫɫɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ). Ɂɧɚɱɟɧɢɹ ɫɜɨɣɫɬɜ ɤɧɨɩɤɢ: EcoListAction – Delete; RootHandle – ehLecturer; BindingContext – dgLecturer. ɉɟɪɟɣɞɟɦ ɤ ɤɨɦɩɨɧɟɧɬɭ EcoListActions ɢ ɜ ɟɝɨ ɫɜɨɣɫɬɜɟ Caption Delete ɜɜɟɞɟɦ ɍɞɚɥɢɬɶ.

8)

Ɋɢɫ. 7.14. ɇɚɫɬɪɨɟɧɧɵɣ ɩɨɥɶɡɨɜɚɬɟɥɶɫɤɢɣ ɢɧɬɟɪɮɟɣɫ ɩɪɢɥɨɠɟɧɢɹ

16. Ʉɧɨɩɤɚ Button5 ɛɭɞɟɬ ɨɬɜɟɱɚɬɶ ɡɚ ɨɛɧɨɜɥɟɧɢɟ ȻȾ. ɇɚɡɨɜɟɦ ɟɟ ɋɨ-

ɯɪɚɧɢɬɶ. ȼ ɫɜɨɣɫɬɜɟ EcoAction (ɤɚɬɟɝɨɪɢɹ ECO|GUI) ɜɵɛɟɪɟɦ UpdateData-

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

-128-

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

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

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

ɇɚ ɞɚɧɧɨɦ ɷɬɚɩɟ ɫɜɹɡɵɜɚɧɢɟ ɢɧɬɟɪɮɟɣɫɚ ɫ ɦɨɞɟɥɶɸ ɡɚɤɨɧɱɟɧɨ

(ɫɦ. ɪɢɫ. 7.14).

Ɍɩɢɟɛɨɣɠ ɦɩɞɣɥɣ ɨɛ OCL

1) Ⱦɟɣɫɬɜɢɹ, ɤɨɬɨɪɵɟ ɜɵɩɨɥɧɹɟɬ ɞɟɫɤɪɢɩɬɨɪ ɜ ɩɪɨɝɪɚɦɦɟ, ɨɩɪɟɞɟɥɹɸɬɫɹ ɡɧɚɱɟɧɢɟɦ ɫɜɨɣɫɬɜɚ Expression. ȼ ɷɬɨ ɫɜɨɣɫɬɜɨ ɜɜɨɞɢɬɫɹ ɜɵɪɚɠɟɧɢɟ ɹɡɵɤɚ OCL, ɤɨɬɨɪɨɟ ɨɩɪɟɞɟɥɹɟɬ ɫɯɟɦɭ ɫɨɡɞɚɧɢɹ ɨɛɴɟɤɬɨɜ ɦɨɞɟɥɢ ȿɋɈ.

ɂɫɩɨɥɶɡɭɟɦ ɞɟɫɤɪɢɩɬɨɪ ehChair ɞɥɹ ɨɛɪɚɳɟɧɢɹ ɤ ɷɤɡɟɦɩɥɹɪɚɦ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ. ȼɜɟɞɟɦ ɜ ɫɜɨɣɫɬɜɨ Expression ɨɛɴɟɤɬɚ ehChair ɫɬɪɨɤɭ clChair.allinstances. ɂɧɚɱɟ ɷɬɨ ɦɨɠɧɨ ɫɞɟɥɚɬɶ ɫ ɩɨɦɨɳɶɸ ɪɟɞɚɤɬɨɪɚ OCLɜɵɪɚɠɟɧɢɣ. ȼɜɟɞɟɧɧɨɟ ɜɵɪɚɠɟɧɢɟ ɡɚɞɚɟɬ ɞɨɫɬɭɩ ɤɨ ɜɫɟɦ ɬɟɤɭɳɢɦ ɷɤɡɟɦɩɥɹɪɚɦ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ ɜ ɨɛɴɟɤɬɧɨɦ ɩɪɨɫɬɪɚɧɫɬɜɟ. ȼ ɬɚɛɥɢɰɟ, ɩɨɤɚɡɚɧɧɨɣ ɧɚ ɮɨɪɦɟ ɜ ɨɤɧɟ ɉɪɨɟɤɬɢɪɨɜɳɢɤɚ, ɫɪɚɡɭ ɠɟ ɨɬɨɛɪɚɡɹɬɫɹ ɩɨɥɹ ɤɥɚɫɫɚ Ʉɚɮɟɞɪɚ

(ChairHeadSNP, ChairSecrSNP ɢ ChairName) (ɜ ɬɨɦ ɱɢɫɥɟ ɩɨɥɹ ɪɨɞɢɬɟɥɶɫɤɨɝɨ ɤɥɚɫɫɚ, ɟɫɥɢ ɨɧ ɢɦɟɟɬɫɹ). Ⱦɟɫɤɪɢɩɬɨɪ ehChair ɫɬɚɧɨɜɢɬɫɹ ɩɨɫɬɚɜɳɢɤɨɦ ɞɚɧɧɵɯ ɧɚɲɟɣ ɦɨɞɟɥɢ ȿɋɈ ɞɥɹ ɩɟɪɜɨɣ ɬɚɛɥɢɰɵ.

2.ȼ ɤɚɱɟɫɬɜɟ ɜɵɪɚɠɟɧɢɹ OCL ɨɛɴɟɤɬɚ ehLecturer ɜɜɟɞɟɦ ɫɬɪɨɤɭ self.roleLecturers ɜ ɫɜɨɣɫɬɜɨ Expression. Ɂɞɟɫɶ roleLecturers – ɷɬɨ ɜɜɟɞɟɧɧɨɟ ɧɚɦɢ ɩɪɢ ɩɨɫɬɪɨɟɧɢɢ ɦɨɞɟɥɢ ɢɦɹ ɪɨɥɢ ɤɥɚɫɫɚ ɉɪɟɩɨɞɚɜɚɬɟɥɶ (clLecturer)

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

ɜɩɟɪɜɨɣ ɬɚɛɥɢɰɟ. Ⱦɟɫɤɪɢɩɬɨɪ ehLecturer ɫɬɚɧɨɜɢɬɫɹ ɩɨɫɬɚɜɳɢɤɨɦ ɞɚɧɧɵɯ ɞɥɹ ɜɬɨɪɨɣ ɬɚɛɥɢɰɵ (ɫɦ. ɪɢɫ. 7.15).

3.Ⱦɚɞɢɦ ɡɚɝɨɥɨɜɤɚɦ ɩɨɥɟɣ ɬɚɛɥɢɰ ɪɭɫɫɤɨɹɡɵɱɧɵɟ ɧɚɡɜɚɧɢɹ. ȼɵɛɟɪɟɦ ɧɚ ɮɨɪɦɟ ɬɚɛɥɢɰɭ dgChair. ɓɟɥɱɤɨɦ ɧɚ ɤɧɨɩɤɟ ɫ ɦɧɨɝɨɬɨɱɢɟɦ ɜ ɫɬɪɨɤɟ ɫɜɨɣɫɬɜɚ TableStyles ɨɬɤɪɨɟɦ ɨɤɧɨ ɪɟɞɚɤɬɨɪɚ ɤɨɥɥɟɤɰɢɢ ɫɬɢɥɟɣ ɬɚɛɥɢɰɵ

DataGridTableStyle Collection Editor. ɋɨɡɞɚɞɢɦ ɧɨɜɵɣ ɫɬɢɥɶ ɬɚɛɥɢɰɵ, ɧɚɠɚɜ ɧɚ ɤɧɨɩɤɭ Add (ɫɦ. ɪɢɫ. 7.16).

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

-129-

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

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

Ɋɢɫ. 7.15. ɇɚɫɬɪɨɣɤɚ OCL-ɜɵɪɚɠɟɧɢɣ ɞɥɹ ɜɡɚɢɦɨɫɜɹɡɚɧɧɵɯ ɬɚɛɥɢɰ

Ɋɢɫ. 7.16. Ʉɨɥɥɟɤɰɢɹ ɬɚɛɥɢɰ ɤɨɦɩɨɧɟɧɬɚ gdChair

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

-130-

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