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

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

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

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

ɒɚɛɥɨɧ High Cohesion (ɜɵɫɨɤɨɟ ɡɚɰɟɩɥɟɧɢɟ)

ɉɪɨɛɥɟɦɚ. Ʉɚɤ ɨɛɟɫɩɟɱɢɬɶ ɜɨɡɦɨɠɧɨɫɬɶ ɭɩɪɚɜɥɟɧɢɹ ɫɥɨɠɧɨɫɬɶɸ? Ɋɟɲɟɧɢɟ. Ɋɚɫɩɪɟɞɟɥɟɧɢɟ ɨɛɹɡɚɧɧɨɫɬɟɣ, ɩɨɞɞɟɪɠɢɜɚɸɳɟɟ ɜɵɫɨɤɭɸ ɫɬɟ-

ɩɟɧɶ ɡɚɰɟɩɥɟɧɢɹ.

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

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

ɬɪɭɞɧɨɫɬɶ ɩɨɧɢɦɚɧɢɹ ɧɚɡɧɚɱɟɧɢɹ ɤɥɚɫɫɚ; ɫɥɨɠɧɨɫɬɢ ɩɪɢ ɩɨɜɬɨɪɧɨɦ ɢɫɩɨɥɶɡɨɜɚɧɢɢ; ɫɥɨɠɧɨɫɬɢ ɩɨɞɞɟɪɠɤɢ;

ɧɟɧɚɞɟɠɧɨɫɬɶ, ɩɨɫɬɨɹɧɧɚɹ ɩɨɞɜɟɪɠɟɧɧɨɫɬɶ ɢɡɦɟɧɟɧɢɹɦ.

Ʉɥɚɫɫɵ ɫɨ ɫɥɚɛɵɦ ɡɚɰɟɩɥɟɧɢɟɦ, ɤɚɤ ɩɪɚɜɢɥɨ, ɹɜɥɹɸɬɫɹ ɫɥɢɲɤɨɦ «ɚɛɫɬɪɚɤɬɧɵɦɢ» ɢɥɢ ɜɵɩɨɥɧɹɸɬ ɨɛɹɡɚɧɧɨɫɬɢ, ɤɨɬɨɪɵɟ ɦɨɠɧɨ ɥɟɝɤɨ ɪɚɫɩɪɟɞɟɥɢɬɶ ɦɟɠɞɭ ɞɪɭɝɢɦɢ ɨɛɴɟɤɬɚɦɢ.

ɇɚ ɩɪɚɤɬɢɤɟ ɭɪɨɜɟɧɶ ɡɚɰɟɩɥɟɧɢɹ ɧɟ ɪɚɫɫɦɚɬɪɢɜɚɸɬ ɢɡɨɥɢɪɨɜɚɧɧɨ ɨɬ ɞɪɭɝɢɯ ɨɛɹɡɚɧɧɨɫɬɟɣ ɢ ɩɪɢɧɰɢɩɨɜ, ɨɛɟɫɩɟɱɢɜɚɟɦɵɯ ɲɚɛɥɨɧɚɦɢ Expert ɢ Low Coupling.

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

ɋɥɟɞɭɸɳɢɟ ɫɰɟɧɚɪɢɢ ɢɥɥɸɫɬɪɢɪɭɸɬ ɪɚɡɥɢɱɧɭɸ ɫɬɟɩɟɧɶ ɮɭɧɤɰɢɨɧɚɥɶɧɨɝɨ ɡɚɰɟɩɥɟɧɢɹ.

1.Ɉɱɟɧɶ ɫɥɚɛɨɟ ɡɚɰɟɩɥɟɧɢɟ. Ɍɨɥɶɤɨ ɨɞɢɧ ɤɥɚɫɫ ɨɬɜɟɱɚɟɬ ɡɚ ɜɵɩɨɥɧɟɧɢɟ ɦɧɨɠɟɫɬɜɚ ɨɩɟɪɚɰɢɣ ɜ ɫɚɦɵɯ ɪɚɡɥɢɱɧɵɯ ɮɭɧɤɰɢɨɧɚɥɶɧɵɯ ɨɛɥɚɫɬɹɯ.

2.ɋɥɚɛɨɟ ɡɚɰɟɩɥɟɧɢɟ. Ʉɥɚɫɫ ɧɟɫɟɬ ɟɞɢɧɨɥɢɱɧɭɸ ɨɬɜɟɬɫɬɜɟɧɧɨɫɬɶ ɡɚ ɜɵɩɨɥɧɟɧɢɟ ɫɥɨɠɧɨɣ ɡɚɞɚɱɢ ɢɡ ɨɞɧɨɣ ɮɭɧɤɰɢɨɧɚɥɶɧɨɣ ɨɛɥɚɫɬɢ.

3.ɋɪɟɞɧɟɟ ɡɚɰɟɩɥɟɧɢɟ. Ʉɥɚɫɫ ɢɦɟɟɬ ɫɪɟɞɧɟɟ ɤɨɥɢɱɟɫɬɜɨ ɨɛɹɡɚɧɧɨɫɬɟɣ ɢɡ ɨɞɧɨɣ ɮɭɧɤɰɢɨɧɚɥɶɧɨɣ ɨɛɥɚɫɬɢ ɢ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɫɜɨɢɯ ɡɚɞɚɱ ɜɡɚɢɦɨɞɟɣɫɬɜɭɟɬ ɫ ɞɪɭɝɢɦɢ ɤɥɚɫɫɚɦɢ.

4.ɋɢɥɶɧɨɟ ɡɚɰɟɩɥɟɧɢɟ. Ʉɥɚɫɫ ɢɦɟɟɬ ɧɟɫɥɨɠɧɵɟ ɨɛɹɡɚɧɧɨɫɬɢ ɜ ɧɟɫɤɨɥɶɤɢɯ ɪɚɡɥɢɱɧɵɯ ɨɛɥɚɫɬɹɯ, ɥɨɝɢɱɟɫɤɢ ɫɜɹɡɚɧɧɵɯ ɫ ɤɨɧɰɟɩɰɢɟɣ ɷɬɨɝɨ ɤɥɚɫɫɚ, ɧɨ ɧɟ ɫɜɹɡɚɧɧɵɯ ɦɟɠɞɭ ɫɨɛɨɣ. ɉɪɢɦɟɪ. ɋɭɳɟɫɬɜɭɟɬ ɤɥɚɫɫ Company, ɤɨɬɨɪɵɣ ɧɟɫɟɬ ɩɨɥɧɭɸ ɨɬɜɟɬɫɬɜɟɧɧɨɫɬɶ: ɡɚ ɡɧɚɧɢɟ ɫɜɟɞɟɧɢɣ ɨɛɨ ɜɫɟɯ ɫɨɬɪɭɞɧɢɤɚɯ ɤɨɦɩɚɧɢɢ; ɜɫɸ ɮɢɧɚɧɫɨɜɭɸ ɢɧɮɨɪɦɚɰɢɸ. ɗɬɢ ɞɜɟ ɨɛɥɚɫɬɢ ɧɟ ɫɥɢɲɤɨɦ ɫɜɹɡɚɧɵ ɦɟɠɞɭ ɫɨɛɨɣ, ɨɞɧɚɤɨ ɨɛɟ ɥɨɝɢɱɟɫɤɢ ɫɜɹɡɚɧɵ ɫ ɩɨɧɹɬɢɟɦ «ɤɨɦɩɚɧɢɹ».

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

-101-

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

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

Ʉɚɤ ɩɪɚɜɢɥɨ, ɤɥɚɫɫ ɫ ɜɵɫɨɤɨɣ ɫɬɟɩɟɧɶɸ ɡɚɰɟɩɥɟɧɢɹ ɫɨɞɟɪɠɢɬ ɫɪɚɜɧɢɬɟɥɶɧɨ ɧɟɛɨɥɶɲɨɟ ɱɢɫɥɨ ɦɟɬɨɞɨɜ, ɤɨɬɨɪɵɟ ɮɭɧɤɰɢɨɧɚɥɶɧɨ ɬɟɫɧɨ ɫɜɹɡɚɧɵ ɦɟɠɞɭ ɫɨɛɨɣ, ɢ ɧɟ ɜɵɩɨɥɧɹɟɬ ɫɥɢɲɤɨɦ ɦɧɨɝɨ ɮɭɧɤɰɢɣ. Ɉɧ ɜɡɚɢɦɨɞɟɣɫɬɜɭɟɬ ɫ ɞɪɭɝɢɦɢ ɨɛɴɟɤɬɚɦɢ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɛɨɥɟɟ ɫɥɨɠɧɵɯ ɡɚɞɚɱ.

ɉɪɟɢɦɭɳɟɫɬɜɚ

1.ɉɨɜɵɲɚɸɬɫɹ ɹɫɧɨɫɬɶ ɢ ɩɪɨɫɬɨɬɚ ɩɪɨɟɤɬɧɵɯ ɪɟɲɟɧɢɣ.

2.ɍɩɪɨɳɚɸɬɫɹ ɩɨɞɞɟɪɠɤɚ ɢ ɞɨɪɚɛɨɬɤɚ.

3.Ɂɚɱɚɫɬɭɸ ɨɛɟɫɩɟɱɢɜɚɟɬɫɹ ɫɥɚɛɨɟ ɫɜɹɡɵɜɚɧɢɟ.

4.ɍɥɭɱɲɚɸɬɫɹ ɜɨɡɦɨɠɧɨɫɬɢ ɩɨɜɬɨɪɧɨɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ, ɩɨɫɤɨɥɶɤɭ ɤɥɚɫɫ ɫ ɜɵɫɨɤɨɣ ɫɬɟɩɟɧɶɸ ɡɚɰɟɩɥɟɧɢɹ ɜɵɩɨɥɧɹɟɬ ɤɨɧɤɪɟɬɧɭɸ ɡɚɞɚɱɭ.

ɒɚɛɥɨɧ Controller (ɤɨɧɬɪɨɥɥɟɪ)

ɉɪɨɛɥɟɦɚ. Ʉɬɨ ɞɨɥɠɟɧ ɨɬɜɟɱɚɬɶ ɡɚ ɨɛɪɚɛɨɬɤɭ ɜɯɨɞɧɵɯ ɫɢɫɬɟɦɧɵɯ ɫɨɛɵɬɢɣ? ɋɢɫɬɟɦɧɨɟ ɫɨɛɵɬɢɟ (system event) – ɷɬɨ ɫɨɛɵɬɢɟ ɜɵɫɨɤɨɝɨ ɭɪɨɜɧɹ, ɝɟ-

ɧɟɪɢɪɭɟɦɨɟ ɜɧɟɲɧɢɦ ɢɫɩɨɥɧɢɬɟɥɟɦ (ɫɨɛɵɬɢɟ ɫ ɜɧɟɲɧɢɦ ɜɯɨɞɨɦ). ɋɢɫɬɟɦɧɵɟ ɫɨɛɵɬɢɹ ɫɜɹɡɚɧɵ ɫ ɫɢɫɬɟɦɧɵɦɢ ɨɩɟɪɚɰɢɹɦɢ (system operation), ɬ. ɟ. ɨɩɟɪɚɰɢɹɦɢ, ɜɵɩɨɥɧɹɟɦɵɦɢ ɫɢɫɬɟɦɨɣ ɜ ɨɬɜɟɬ ɧɚ ɫɨɛɵɬɢɹ.

Ɋɟɲɟɧɢɟ. Ⱦɟɥɟɝɢɪɨɜɚɧɢɟ ɨɛɹɡɚɧɧɨɫɬɟɣ ɩɨ ɨɛɪɚɛɨɬɤɟ ɫɢɫɬɟɦɧɵɯ ɫɨɨɛɳɟɧɢɣ ɤɥɚɫɫɭ, ɭɞɨɜɥɟɬɜɨɪɹɸɳɟɦɭ ɨɞɧɨɦɭ ɢɡ ɫɥɟɞɭɸɳɢɯ ɭɫɥɨɜɢɣ:

ɤɥɚɫɫ ɩɪɟɞɫɬɚɜɥɹɟɬ ɜɫɸ ɫɢɫɬɟɦɭ ɜ ɰɟɥɨɦ, ɭɫɬɪɨɣɫɬɜɨ ɢɥɢ ɩɨɞɫɢɫɬɟɦɭ (ɜɧɟɲɧɢɣ ɤɨɧɬɪɨɥɥɟɪ);

ɤɥɚɫɫ ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɰɟɧɚɪɢɣ ɧɟɤɨɬɨɪɨɝɨ ɩɪɟɰɟɞɟɧɬɚ, ɜ ɪɚɦɤɚɯ ɤɨɬɨɪɨɝɨ ɜɵɩɨɥɧɹɟɬɫɹ ɨɛɪɚɛɨɬɤɚ ɜɫɟɯ ɫɢɫɬɟɦɧɵɯ ɫɨɛɵɬɢɣ, ɢ ɨɛɵɱɧɨ ɧɚɡɵɜɚɟɬɫɹ Handler, Coordinator ɢɥɢ Session (ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɰɟɞɟɧɬɚ ɢɥɢ ɤɨɧɬɪɨɥɥɟɪ ɫɟɚɧɫɚ);

ɞɥɹ ɜɫɟɯ ɫɢɫɬɟɦɧɵɯ ɫɨɛɵɬɢɣ ɜ ɪɚɦɤɚɯ ɨɞɧɨɝɨ ɫɰɟɧɚɪɢɹ ɩɪɟɰɟɞɟɧɬɚ ɢɫɩɨɥɶɡɭɟɬɫɹ ɨɞɢɧ ɢ ɬɨɬ ɠɟ ɤɥɚɫɫ-ɤɨɧɬɪɨɥɥɟɪ.

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

Ʉɨɧɬɪɨɥɥɟɪ (controller) – ɷɬɨ ɨɛɴɟɤɬ, ɧɟ ɨɬɧɨɫɹɳɢɣɫɹ ɤ ɢɧɬɟɪɮɟɣɫɭ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢ ɨɬɜɟɱɚɸɳɢɣ ɡɚ ɨɛɪɚɛɨɬɤɭ ɫɢɫɬɟɦɧɵɯ ɫɨɛɵɬɢɣ. Ʉɨɧɬɪɨɥɥɟɪ ɨɩɪɟɞɟɥɹɟɬ ɦɟɬɨɞɵ ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ ɫɢɫɬɟɦɧɵɯ ɨɩɟɪɚɰɢɣ.

Ȼɨɥɶɲɢɧɫɬɜɨ ɫɢɫɬɟɦ ɩɨɥɭɱɚɟɬ ɜɧɟɲɧɢɟ ɫɨɛɵɬɢɹ. Ɉɛɵɱɧɨ ɨɧɢ ɫɜɹɡɚɧɵ ɫ ɝɪɚɮɢɱɟɫɤɢɦ ɢɧɬɟɪɮɟɣɫɨɦ ɩɨɥɶɡɨɜɚɬɟɥɹ. Ʉɪɨɦɟ ɬɨɝɨ, ɫɢɫɬɟɦɟ ɦɨɝɭ ɩɟɪɟɞɚɜɚɬɶɫɹ ɜɧɟɲɧɢɟ ɫɨɨɛɳɟɧɢɹ, ɧɚɩɪɢɦɟɪ ɩɪɢ ɨɛɪɚɛɨɬɤɟ ɬɟɥɟɤɨɦɦɭɧɢɤɚɰɢɨɧɧɵɯ ɫɢɝɧɚɥɨɜ ɢɥɢ ɫɢɝɧɚɥɨɜ ɨɬ ɞɚɬɱɢɤɨɜ ɜ ɫɢɫɬɟɦɚɯ ɭɩɪɚɜɥɟɧɢɹ.

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

-102-

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

ȼɨ ɜɫɟɯ ɫɥɭɱɚɹɯ ɩɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɨɛɴɟɤɬɧɨ-ɨɪɢɟɧɬɢɪɨɜɚɧɧɨɝɨ ɩɨɞɯɨɞɚ ɞɥɹ ɨɛɪɚɛɨɬɤɢ ɜɧɟɲɧɢɯ ɫɨɛɵɬɢɣ ɩɪɢɦɟɧɹɸɬɫɹ ɤɨɧɬɪɨɥɥɟɪɵ. ɒɚɛɥɨɧ Controller ɨɛɟɫɩɟɱɢɜɚɟɬ ɧɚɢɛɨɥɟɟ ɬɢɩɢɱɧɵɟ ɩɪɨɟɤɬɧɵɟ ɪɟɲɟɧɢɹ ɞɥɹ ɷɬɨɝɨ ɫɥɭɱɚɹ. Ʉɚɤ ɜɢɞɧɨ ɢɡ ɪɢɫ. 6.1, ɤɨɧɬɪɨɥɥɟɪ – ɷɬɨ ɫɜɨɟɨɛɪɚɡɧɵɣ ɜɢɞ ɢɧɬɟɪɮɟɣɫɚ ɦɟɠɞɭ ɭɪɨɜɧɹɦɢ ɩɪɟɞɦɟɬɧɨɣ ɨɛɥɚɫɬɢ ɢ ɝɪɚɮɢɱɟɫɤɨɝɨ ɩɪɟɞɫɬɚɜɥɟɧɢɹ.

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

Ʉɨɧɬɪɨɥɥɟɪɵ ɞɟɥɹɬɫɹ ɧɚ ɞɜɚ ɬɢɩɚ.

1.ȼɧɟɲɧɢɣ ɤɨɧɬɪɨɥɥɟɪ (facade controller). ɉɪɟɞɫɬɚɜɥɹɟɬ ɜɫɸ ɫɢɫɬɟɦɭ, ɭɫɬɪɨɣɫɬɜɨ ɢɥɢ ɩɨɞɫɢɫɬɟɦɭ. Ɉɫɧɨɜɧɚɹ ɢɞɟɹ ɫɜɨɞɢɬɫɹ ɤ ɜɵɛɨɪɭ ɧɟɤɨɬɨɪɨɝɨ ɤɥɚɫɫɚ, ɢɦɹ ɤɨɬɨɪɨɝɨ ɨɯɜɚɬɵɜɚɟɬ ɜɫɟ ɫɥɨɢ ɩɪɢɥɨɠɟɧɢɹ. ɗɬɨɬ ɤɥɚɫɫ ɨɛɟɫɩɟɱɢɜɚɟɬ ɝɥɚɜɧɭɸ ɬɨɱɤɭ ɜɵɡɨɜɚ ɜɫɟɯ ɫɥɭɠɛ ɢɡ ɢɧɬɟɪɮɟɣɫɚ ɩɨɥɶɡɨɜɚɬɟɥɹ ɢ ɨɛɪɚɳɟɧɢɹ ɤ ɨɫɬɚɥɶɧɵɦ ɫɥɨɹɦ. ɗɬɨɬ ɤɥɚɫɫ ɦɨɠɟɬ ɩɪɟɞɫɬɚɜɥɹɬɶ ɮɢɡɢɱɟɫɤɢɣ ɨɛɴɟɤɬ, ɬɟɥɟɤɨɦɦɭɧɢɤɚɰɢɨɧɧɵɣ ɩɟɪɟɤɥɸɱɚɬɟɥɶ, ɜɫɸ ɩɪɨɝɪɚɦɦɧɭɸ ɱɚɫɬɶ ɫɢɫɬɟɦɵ ɢɥɢ ɥɸɛɵɟ ɞɪɭɝɢɟ ɩɨɧɹɬɢɹ, ɜɵɛɪɚɧɧɵɟ ɪɚɡɪɚɛɨɬɱɢɤɨɦ ɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɫɢɫɬɟɦɵ ɜ ɰɟɥɨɦ. ȼɧɟɲɧɢɟ ɤɨɧɬɪɨɥɥɟɪɵ ɭɞɨɛɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɜ ɬɨɦ ɫɥɭɱɚɟ, ɤɨɝɞɚ ɫɭɳɟɫɬɜɭɟɬ ɥɢɲɶ ɧɟɫɤɨɥɶɤɨ ɫɢɫɬɟɦɧɵɯ ɫɨɛɵɬɢɣ ɢɥɢ ɫɢɫɬɟɦɧɵɟ ɫɨɨɛɳɟɧɢɹ ɧɟɜɨɡɦɨɠɧɨ ɩɟɪɟɧɚɩɪɚɜɢɬɶ ɞɪɭɝɢɦ ɤɨɧɬɪɨɥɥɟɪɚɦ, ɧɚɩɨɞɨɛɢɟ ɫɢɫɬɟɦɵ ɨɛɪɚɛɨɬɤɢ ɫɨɨɛɳɟɧɢɣ.

2.Ʉɨɧɬɪɨɥɥɟɪ ɩɪɟɰɟɞɟɧɬɚ (use case controller). Ⱦɥɹ ɤɚɠɞɨɝɨ ɩɪɟɰɟ-

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

ɉɪɟɢɦɭɳɟɫɬɜɚ

1. ɍɥɭɱɲɟɧɢɟ ɭɫɥɨɜɢɣ ɞɥɹ ɩɨɜɬɨɪɧɨɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɤɨɦɩɨɧɟɧɬɨɜ. ɉɪɢɦɟɧɟɧɢɟ ɷɬɨɝɨ ɲɚɛɥɨɧɚ ɨɛɟɫɩɟɱɢɜɚɟɬ ɨɛɪɚɛɨɬɤɭ ɩɪɨɰɟɫɫɨɜ ɩɪɟɞɦɟɬɧɨɣ ɨɛɥɚɫɬɢ ɧɚ ɭɪɨɜɧɟ ɪɟɚɥɢɡɚɰɢɢ ɨɛɴɟɤɬɨɜ, ɚ ɧɟ ɧɚ ɭɪɨɜɧɟ ɢɧɬɟɪɮɟɣɫɚ. Ɉɛɹɡɚɧɧɨɫɬɢ ɤɨɧɬɪɨɥɥɟɪɚ ɦɨɝɭɬ ɛɵɬɶ ɬɟɯɧɢɱɟɫɤɢ ɪɟɚɥɢɡɨɜɚɧɵ ɜ ɨɛɴɟɤɬɚɯ ɢɧɬɟɪɮɟɣɫɚ, ɨɞɧɚɤɨ ɜ ɷɬɨɦ ɫɥɭɱɚɟ ɩɪɨɝɪɚɦɦɧɵɣ ɤɨɞ ɢ ɥɨɝɢɱɟɫɤɢɟ ɪɟɲɟɧɢɹ, ɨɬɧɨɫɹɳɢɟɫɹ ɤ ɩɪɨɰɟɫɫɚɦ ɩɪɟɞɦɟɬɧɨɣ ɨɛɥɚɫɬɢ, ɛɭɞɭɬ ɠɟɫɬɤɨ ɫɜɹɡɚɧɵ ɫ ɷɥɟɦɟɧɬɚɦɢ ɢɧɬɟɪɮɟɣɫɚ, ɧɚɩɪɢɦɟɪ ɫ ɨɤɧɚɦɢ. ɉɪɢ ɷɬɨɦ ɫɧɢɠɚɟɬɫɹ ɷɮɮɟɤɬɢɜɧɨɫɬɶ ɩɨɜɬɨɪɧɨɝɨ ɢɫɩɨɥɶɡɨɜɚɧɢɹ ɤɨɦɩɨɧɟɧɬɨɜ ɜ ɞɪɭɝɢɯ ɩɪɢɥɨɠɟɧɢɹɯ, ɩɨɫɤɨɥɶɤɭ ɩɪɨɰɟɫɫɵ ɩɪɟɞɦɟɬɧɨɣ ɨɛɥɚɫɬɢ ɨɝɪɚɧɢɱɟɧɵ ɪɚɦɤɚɦɢ ɢɧɬɟɪɮɟɣɫɚ (ɧɚɩɪɢɦɟɪ, ɫɜɹɡɚɧɵ ɫ ɨɤɨɧɧɵɦ ɨɛɴɟɤɬɨɦ), ɱɬɨ ɦɨɠɟɬ ɨɤɚɡɚɬɶɫɹ ɧɟɩɪɢɟɦɥɟɦɵɦ ɜ ɞɪɭɝɢɯ ɩɪɢɥɨɠɟɧɢɹɯ. Ⱦɟɥɟɝɢɪɨɜɚɧɢɟ ɜɵɩɨɥɧɟɧɢɹ ɫɢɫɬɟɦɧɵɯ ɨɩɟɪɚɰɢɣ ɫɩɟɰɢɚɥɶɧɨ-

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

-103-

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

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

2. Ʉɨɧɬɪɨɥɶ ɫɨɫɬɨɹɧɢɹ ɩɪɟɰɟɞɟɧɬɚ. ɂɧɨɝɞɚ ɧɟɨɛɯɨɞɢɦɨ ɭɞɨɫɬɨɜɟɪɢɬɶɫɹ, ɱɬɨ ɫɢɫɬɟɦɧɵɟ ɨɩɟɪɚɰɢɢ ɜɵɩɨɥɧɹɸɬɫɹ ɜ ɧɟɤɨɬɨɪɨɣ ɨɩɪɟɞɟɥɟɧɧɨɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ. ɇɚɩɪɢɦɟɪ, ɧɭɠɧɨ ɝɚɪɚɧɬɢɪɨɜɚɬɶ, ɱɬɨɛɵ ɨɩɟɪɚɰɢɹ makePayment ɜɵɩɨɥɧɹɥɚɫɶ ɬɨɥɶɤɨ ɩɨɫɥɟ ɨɩɟɪɚɰɢɢ endSale, ɞɥɹ ɱɟɝɨ ɧɟɨɛɯɨɞɢɦɨ ɧɚɤɚɩɥɢɜɚɬɶ ɢɧɮɨɪɦɚɰɢɸ ɨ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɨɫɬɢ ɫɨɛɵɬɢɣ. Ⱦɥɹ ɷɬɨɣ ɰɟɥɢ ɭɞɨɛɧɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɤɨɧɬɪɨɥɥɟɪ, ɨɫɨɛɟɧɧɨ ɤɨɧɬɪɨɥɥɟɪ ɩɪɟɰɟɞɟɧɬɚ.

ɉɪɢɦɟɧɟɧɢɟ ɲɚɛɥɨɧɚ Information Expert

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

ȼ ɩɪɢɦɟɪɟ ɢɡ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɵ ʋ 5 ɭ ɧɚɫ ɟɫɬɶ ɞɜɚ ɨɛɴɟɤɬɚ ɜɡɚɢɦɨɞɟɣɫɬɜɭɸɳɢɯ ɦɟɠɞɭ ɫɨɛɨɣ – ɷɬɨ ɋɬɭɞɟɧɬɵ ɢ Ʉɧɢɝɢ. Ɉɱɟɜɢɞɧɨ, ɱɬɨ ɭ ɧɢɯ ɟɫɬɶ ɨɩɪɟɞɟɥɟɧɧɚɹ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶ, ɷɬɢ ɨɛɴɟɤɬɵ ɞɨɥɠɧɵ ɭɦɟɬɶ ɯɪɚɧɢɬɶ ɞɚɧɧɵɟ ɨ ɫɟɛɟ, ɫɨɡɞɚɜɚɬɶɫɹ, ɢɡɦɟɧɹɬɶɫɹ ɢ ɭɞɚɥɹɬɶɫɹ. ɋɨɝɥɚɫɧɨ ɲɚɛɥɨɧɭ Information Expert ɦɵ ɫɨɡɞɚɟɦ ɷɬɢ ɤɥɚɫɫɵ (TSudents, TBook) ɢ ɨɩɪɟɞɟɥɹɟɦ ɷɬɭ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶ. Ɍɟɩɟɪɶ ɜɨɡɶɦɟɦ ɩɪɨɰɟɫɫ ɜɵɞɚɱɢ ɤɧɢɝ ɢ ɜɨɡɜɪɚɬɚ ɢɯ ɨɬ ɫɬɭɞɟɧɬɨɜ. ɇɚɦ ɧɟɨɛɯɨɞɢɦɨ ɨɬɨɛɪɚɠɚɬɶ ɫɩɢɫɨɤ ɤɧɢɝ, ɜɵɞɚɧɧɵɯ ɫɬɭɞɟɧɬɭ, ɟɫɥɢ ɦɵ ɞɨɛɚɜɢɦ ɷɬɭ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶ ɤɥɚɫɫɭ TStudents ɢɥɢ ɤɥɚɫɫɭ TBook, ɬɨ ɬɨɝɞɚ ɦɵ ɢɯ ɧɚɝɪɭɡɢɦ ɥɢɲɧɢɦɢ ɮɭɧɤɰɢɹɦɢ. Ɉɩɬɢɦɚɥɶɧɵɦ ɪɟɲɟɧɢɟɦ ɞɚɧɧɨɣ ɩɪɨɛɥɟɦɵ ɹɜɥɹɟɬɫɹ ɫɨɡɞɚɧɢɟɦ ɧɨɜɨɝɨ ɤɥɚɫɫɚ TStudentBook, ɜ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶ ɤɨɬɨɪɨɝɨ ɜɯɨɞɹɬ ɷɬɢ ɮɭɧɤɰɢɢ.

ɉɪɢɦɟɧɟɧɢɟ ɲɚɛɥɨɧɚ Creator

ɒɚɛɥɨɧ Creator ɨɬɜɟɱɚɟɬ ɧɚ ɜɨɩɪɨɫ, ɤɬɨ ɞɨɥɠɟɧ ɫɨɡɞɚɜɚɬɶ ɷɤɡɟɦɩɥɹɪ ɧɨɜɨɝɨ ɨɛɴɟɤɬɚ. Ʉɥɚɫɫ ɞɨɥɠɟɧ ɫɨɡɞɚɜɚɬɶ ɷɤɡɟɦɩɥɹɪ ɧɨɜɨɝɨ ɨɛɴɟɤɬɚ, ɟɫɥɢ ɜɵɩɨɥɧɹɟɬɫɹ ɨɞɧɨ ɢɥɢ ɧɟɫɤɨɥɶɤɨ ɭɫɥɨɜɢɣ:

Ʉɥɚɫɫ ȼ ɚɝɪɟɝɢɪɭɟɬ ɨɛɴɟɤɬɵ Ⱥ; Ʉɥɚɫɫ ȼ ɫɨɞɟɪɠɢɬ ɨɛɴɟɤɬɵ Ⱥ;

Ʉɥɚɫɫ ȼ ɚɤɬɢɜɧɨ ɢɫɩɨɥɶɡɭɟɬ ɨɛɴɟɤɬɵ Ⱥ; Ʉɥɚɫɫ ȼ ɨɛɥɚɞɚɟɬ ɞɚɧɧɵɦɢ ɢɧɢɰɢɚɥɢɡɚɰɢɢ, ɤɨɬɨɪɵɟ ɛɭɞɭɬ ɩɟɪɟɞɚɜɚɬɶ-

ɫɹ ɨɛɴɟɤɬɚɦ Ⱥ ɩɪɢ ɢɯ ɫɨɡɞɚɧɢɢ (ɬ. ɟ. ɩɪɢ ɫɨɡɞɚɧɢɢ ɨɛɴɟɤɬɨɜ Ⱥ ɤɥɚɫɫ ȼ ɹɜɥɹɟɬɫɹ ɷɤɫɩɟɪɬɨɦ);

Ʉɥɚɫɫ ȼ – ɫɨɡɞɚɬɟɥɶ ɨɛɴɟɤɬɨɜ Ⱥ.

ȼ ɤɚɱɟɫɬɜɟ ɩɪɢɦɟɪɚ ɜɨɡɶɦɟɦ ɛɚɡɨɜɵɣ ɤɥɚɫɫ ɞɥɹ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ – ɤɥɚɫɫ TDataPrepare. ɇɚɫɥɟɞɧɢɤɢ ɷɬɨɝɨ ɤɥɚɫɫɚ ɞɨɥɠɧɵ ɨɛɪɚɳɚɬɶɫɹ ɤ ɤɥɚɫɫɭ ɫɥɨɹ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ TExecuteObject ɞɥɹ ɜɵɩɨɥɧɟɧɢɹ

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

-104-

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

SQL-ɡɚɩɪɨɫɨɜ. ɋɭɳɟɫɬɜɭɸɬ ɞɜɚ ɜɢɞɚ ɡɚɩɪɨɫɨɜ: ɜɨɡɜɪɚɳɚɸɳɢɟ ɞɚɧɧɵɟ ɢ ɧɟ ɜɨɡɜɪɚɳɚɸɳɢɟ ɞɚɧɧɵɟ. Ɂɚɩɪɨɫɵ, ɜɨɡɜɪɚɳɚɸɳɢɟ ɞɚɧɧɵɟ, ɢɫɩɨɥɶɡɭɸɬɫɹ ɞɥɹ ɨɬɨɛɪɚɠɟɧɢɹ ɨɞɧɨɝɨ ɢɥɢ ɧɟɫɤɨɥɶɤɨ ɨɛɴɟɤɬɨɜ ɢɡ ɪɟɥɹɰɢɨɧɧɨɣ ɬɚɛɥɢɰɵ. Ɂɚɩɪɨɫɵ, ɧɟ ɜɨɡɜɪɚɳɚɸɳɢɟ ɞɚɧɧɵɟ, ɢɫɩɨɥɶɡɭɸɬɫɹ ɞɥɹ ɦɨɞɢɮɢɤɚɰɢɢ ɞɚɧɧɵɯ ɜ ɪɟɥɹɰɢɨɧɧɵɯ ɬɚɛɥɢɰɚɯ. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɭ ɧɚɫ ɟɫɬɶ ɩɪɨɛɥɟɦɚ: ɤɬɨ ɞɨɥɠɟɧ ɫɨɡɞɚɜɚɬɶ ɨɛɴɟɤɬ ɤɥɚɫɫɚ TExecuteObject. ɉɨɫɤɨɥɶɤɭ ɪɚɡɧɵɟ ɨɛɴɟɤɬɵ ɨɬɨɛɪɚɠɚɸɬ ɞɚɧɧɵɟ ɢɡ ɪɚɡɥɢɱɧɵɯ ɬɚɛɥɢɰ ȻȾ, ɬɨ ɩɨɥɭɱɚɟɬɫɹ, ɱɬɨ ɤɚɠɞɨɦɭ ɨɛɴɟɤɬɭ ɤɥɚɫɫɚ TDataPrepare ɧɟɨɛɯɨɞɢɦɨ ɢɦɟɬɶ ɩɨ ɨɞɧɨɦɭ ɷɤɡɟɦɩɥɹɪɭ ɨɛɴɟɤɬɚ TExecuteObject. ɇɨ ɬɭɬ ɩɨɹɜɥɹɟɬɫɹ ɞɪɭɝɚɹ ɩɪɨɛɥɟɦɚ ɩɪɢ ɜɵɩɨɥɧɟɧɢɢ ɡɚɩɪɨɫɨɜ, ɧɟ ɜɨɡɜɪɚɳɚɸɳɢɯ ɞɚɧɧɵɟ, ɬɟɤɭɳɢɣ ɧɚɛɨɪ ɞɚɧɧɵɯ ɡɚɤɪɵɜɚɟɬɫɹ ɢ ɩɪɢ ɩɨɩɵɬɤɟ ɞɪɭɝɨɝɨ ɡɚɩɪɨɫɚ ɬɟɤɭɳɢɣ ɧɚɛɨɪ ɞɚɧɧɵɯ ɡɚɤɪɨɟɬɫɹ, ɢ ɟɝɨ ɧɟɨɛɯɨɞɢɦɨ ɛɭɞɟɬ ɡɚɧɨɜɨ ɨɬɤɪɵɬɶ, ɱɬɨ ɭɜɟɥɢɱɢɬ ɨɛɴɟɦ ɞɚɧɧɵɯ, ɩɟɪɟɞɚɜɚɟɦɵɯ ɩɨ ɫɟɬɢ. Ɍɨɝɞɚ ɨɬɜɟɬɢɦ ɧɚ ɞɪɭɝɨɣ ɜɨɩɪɨɫ: ɤɬɨ ɞɨɥɠɟɧ ɨɬɜɟɱɚɬɶ ɡɚ ɫɨɡɞɚɧɢɟ ɢ ɭɞɚɥɟɧɢɹ ɨɛɴɟɤɬɚ, ɜɵɩɨɥɧɹɸɳɟɝɨ ɬɚɤɢɟ ɡɚɩɪɨɫɵ? ɋɭɳɟɫɬɜɭɸɬ ɞɜɚ ɜɚɪɢɚɧɬɚ: ɤɥɚɫɫ TDataPrepare ɢɥɢ ɞɪɭɝɨɣ – ɧɨɜɵɣ ɤɥɚɫɫ. Ɋɟɲɟɧɢɟ ɞɚɧɧɨɣ ɩɪɨɛɥɟɦɵ ɡɚɜɢɫɢɬ ɨɬ ɬɨɝɨ, ɦɨɝɭɬ ɥɢ ɛɵɬɶ ɨɬɩɪɚɜɥɟɧɵ ɨɞɧɨɜɪɟɦɟɧɧɨ ɞɜɚ ɢ ɛɨɥɟɟ ɬɚɤɢɯ ɡɚɩɪɨɫɨɜ. ȿɫɥɢ ɞɚ, ɬɨ ɬɨɝɞɚ ɧɟɨɛɯɨɞɢɦɨ, ɱɬɨɛɵ ɷɬɨɬ ɨɛɴɟɤɬ ɫɨɡɞɚɜɚɥ ɤɥɚɫɫ TDataPrepare, ɟɫɥɢ ɧɟɬ, ɬɨ ɬɨɝɞɚ ɧɟɨɛɯɨɞɢɦɨ ɫɨɡɞɚɬɶ ɧɨɜɵɣ ɤɥɚɫɫ, ɨɛɥɚɞɚɸɳɢɣ ɬɚɤɨɣ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶɸ.

ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɲɚɛɥɨɧɚ High Cohesion

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

ȼ ɤɚɱɟɫɬɜɟ ɩɪɢɦɟɪɚ ɜɨɡɶɦɟɦ ɩɪɨɰɟɫɫ ɜɵɞɚɱɢ ɤɧɢɝ ɢ ɜɨɡɜɪɚɬɚ ɢɯ ɨɬ ɫɬɭɞɟɧɬɨɜ. ɇɚɦ ɧɟɨɛɯɨɞɢɦɨ:

ɨɬɨɛɪɚɠɚɬɶ ɫɩɢɫɨɤ ɤɧɢɝ, ɜɵɞɚɧɧɵɯ ɫɬɭɞɟɧɬɭ; ɜɵɞɚɜɚɬɶ ɫɬɭɞɟɧɬɭ ɧɨɜɵɟ ɤɧɢɝɢ; ɩɪɢɧɢɦɚɬɶ ɨɬ ɫɬɭɞɟɧɬɚ ɤɧɢɝɢ.

ȿɫɥɢ ɦɵ ɞɨɛɚɜɢɦ ɷɬɭ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶ ɤɥɚɫɫɭ TStudents ɢɥɢ ɤɥɚɫɫɭ TBook, ɬɨ ɬɨɝɞɚ ɦɵ ɢɯ ɧɚɝɪɭɡɢɦ ɥɢɲɧɢɦɢ ɮɭɧɤɰɢɹɦɢ, ɩɨɫɤɨɥɶɤɭ ɷɬɢ ɤɥɚɫɫɵ ɦɨɝɭɬ ɫɭɳɟɫɬɜɨɜɚɬɶ ɛɟɡ ɷɬɨɝɨ ɩɪɨɰɟɫɫɚ. ɇɚɩɪɢɦɟɪ, ɟɫɬɶ ɤɧɢɝɢ, ɤɨɬɨɪɵɟ ɧɟ ɜɵɞɚɸɬ ɫɬɭɞɟɧɬɚɦ, ɢ ɟɫɬɶ ɫɬɭɞɟɧɬɵ, ɤɨɬɨɪɵɟ ɧɟ ɛɟɪɭɬ ɤɧɢɝɢ ɜ ɛɢɛɥɢɨɬɟɤɟ. Ɉɩɬɢɦɚɥɶɧɵɦ ɪɟɲɟɧɢɟɦ ɞɚɧɧɨɣ ɩɪɨɛɥɟɦɵ ɹɜɥɹɟɬɫɹ ɫɨɡɞɚɧɢɟ ɧɨɜɨɝɨ ɤɥɚɫɫɚ TStudentBook, ɜ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶ ɤɨɬɨɪɨɝɨ ɛɭɞɟɬ ɜɯɨɞɢɬɶ ɪɟɚɥɢɡɚɰɢɹ ɷɬɢɯ ɮɭɧɤɰɢɣ. Ⱦɚɧɧɵɟ, ɧɟɨɛɯɨɞɢɦɵɟ ɞɥɹ ɩɪɨɰɟɫɫɚ ɜɵɞɚɱɢ ɢɥɢ ɜɨɡɜɪɚɬɚ ɤɧɢɝ, ɧɭɠɧɨ ɛɪɚɬɶ ɭ ɤɥɚɫɫɨɜ TStudents ɢ TBook. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɭ ɧɚɫ ɩɨɹɜɢɥɨɫɶ ɬɪɢ ɤɥɚɫɫɚ, ɤɚɠɞɵɣ ɢɡ ɤɨɬɨɪɵɯ ɧɚɝɪɭɠɟɧ ɬɨɥɶɤɨ ɟɦɭ ɩɪɢɫɭɳɟɣ ɮɭɧɤɰɢɨɧɚɥɶɧɨɫɬɶɸ.

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

-105-

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

ɉɪɢɦɟɧɟɧɢɟ ɲɚɛɥɨɧɚ Controller

ɒɚɛɥɨɧ Controller ɩɨɡɜɨɥɹɟɬ ɰɟɧɬɪɚɥɢɡɨɜɚɧɧɨ ɨɛɪɚɛɚɬɵɜɚɬɶ ɫɢɫɬɟɦɧɵɟ ɫɨɛɵɬɢɹ, ɜɨɡɧɢɤɚɸɳɢɟ ɜ ɩɪɢɥɨɠɟɧɢɢ. ɉɪɢ ɢɫɩɨɥɶɡɨɜɚɧɢɢ ɷɬɨɝɨ ɲɚɛɥɨɧɚ ɢɧɬɟɪɮɟɣɫ ɩɪɢɥɨɠɟɧɢɹ ɩɨɫɵɥɚɟɬ ɫɨɨɛɳɟɧɢɹ ɤɥɚɫɫɚɦ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ ɱɟɪɟɡ ɤɥɚɫɫ Contoller. ɂɫɩɨɥɶɡɨɜɚɧɢɟ ɷɬɨɝɨ ɲɚɛɥɨɧɚ ɩɨɞɪɚɡɭɦɟɜɚɟɬ ɫɨɡɞɚɧɢɟ ɨɞɧɨɝɨ ɢɥɢ ɧɟɫɤɨɥɶɤɢɯ ɤɥɚɫɫɨɜ, ɤɨɬɨɪɵɟ ɨɛɪɚɛɚɬɵɜɚɸɬ ɫɢɫɬɟɦɧɵɟ ɫɨɛɵɬɢɹ. ɉɨɞ ɫɢɫɬɟɦɧɵɦɢ ɫɨɛɵɬɢɹɦɢ ɩɨɞɪɚɡɭɦɟɜɚɟɬɫɹ ɮɭɧɤɰɢɨɧɚɥɶɧɵɟ ɞɟɣɫɬɜɢɹ ɩɨɥɶɡɨɜɚɬɟɥɟɣ.

ɋɨɝɥɚɫɧɨ ɲɚɛɥɨɧɭ Creator ɤɥɚɫɫ TController ɞɨɥɠɟɧ ɫɨɡɞɚɜɚɬɶ ɢ ɭɧɢɱɬɨɠɚɬɶ ɨɛɴɟɤɬɵ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ, ɩɨɷɬɨɦɭ ɧɟɨɛɯɨɞɢɦɨ ɜ ɷɬɨɦ ɤɥɚɫɫɟ ɫɨɡɞɚɬɶ ɩɨɥɹ, ɩɪɟɞɫɬɚɜɥɟɧɧɵɟ ɜ ɬɚɛɥ. 6.1.

Ɍɚɛɥɢɰɚ 6.1

 

ɉɨɥɹ ɤɥɚɫɫɚ TController

 

 

ɇɚɡɜɚɧɢɟ

Ɉɩɢɫɚɧɢɟ

 

 

fStudents: TStudents

Ʉɥɚɫɫ ɩɨ ɪɚɛɨɬɟ ɫɨ ɫɬɭɞɟɧɬɚɦɢ

 

 

fBooks: TBook

Ʉɥɚɫɫ ɩɨ ɪɚɛɨɬɟ ɫ ɤɧɢɝɚɦɢ

 

 

fStudentBook: TStudentBook

Ʉɥɚɫɫ, ɜɵɞɚɸɳɢɣ ɢ ɡɚɛɢɪɚɸɳɢɣ ɤɧɢɝɢ

 

 

ɋɨɝɥɚɫɧɨ ɲɚɛɥɨɧɭ High Cohesion ɷɬɢ ɤɥɚɫɫɵ ɢɦɟɸɬ ɜɵɫɨɤɨɟ ɡɚɰɟɩɥɟɧɢɟ, ɩɨɫɤɨɥɶɤɭ ɤɚɠɞɵɣ ɤɥɚɫɫ ɪɚɛɨɬɚɟɬ ɬɨɥɶɤɨ ɫ ɨɞɧɢɦ ɨɛɴɟɤɬɨɦ ɜ ȻȾ.

Ⱦɥɹ ɨɛɪɚɛɨɬɤɢ ɜɯɨɞɧɵɯ ɫɢɫɬɟɦɧɵɯ ɫɨɛɵɬɢɣ ɧɟɨɛɯɨɞɢɦɨ ɫɨɡɞɚɬɶ ɦɟɬɨɞɵ, ɤɚɠɞɵɣ ɢɡ ɤɨɬɨɪɵɯ ɛɭɞɟɬ ɨɛɪɚɛɚɬɵɜɚɬɶ ɬɨɥɶɤɨ ɨɞɧɨ ɫɢɫɬɟɦɧɨɟ ɫɨɛɵɬɢɟ

(ɫɦ. ɬɚɛɥ. 6.2).

Ɍɚɛɥɢɰɚ 6.2

Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TController

ɇɚɡɜɚɧɢɟ

Ɉɩɢɫɚɧɢɟ

 

 

 

 

 

 

AddStudent (num: integer; family, name, se-

Ɇɟɬɨɞ ɞɨɛɚɜɥɹɟɬ ɫɬɭɞɟɧɬɚ

 

 

condname, group: string)

 

 

 

AddBook (Author, Name: string)

Ɇɟɬɨɞ ɞɨɛɚɜɥɹɟɬ ɤɧɢɝɭ

 

 

 

 

 

 

AddStudentBook

Ɇɟɬɨɞ ɜɵɞɚɟɬ ɤɧɢɝɭ ɫɬɭɞɟɧɬɭ

 

 

 

 

 

UpdateStudent (num: integer; family, name,

Ɇɟɬɨɞ ɢɡɦɟɧɹɟɬ ɜɵɛɪɚɧɧɨɝɨ ɫɬɭɞɟɧɬɚ

 

secondname, group: string)

 

 

 

UpdateBook (Author, Name: string)

Ɇɟɬɨɞ ɢɡɦɟɧɹɟɬ ɜɵɛɪɚɧɧɭɸ ɤɧɢɝɭ

 

 

 

 

 

DeleteStudent

Ɇɟɬɨɞ ɭɞɚɥɹɟɬ ɜɵɛɪɚɧɧɨɝɨ ɫɬɭɞɟɧɬɚ

 

 

 

 

 

DeleteBook

Ɇɟɬɨɞ ɭɞɚɥɹɟɬ ɜɵɛɪɚɧɧɭɸ ɤɧɢɝɭ

 

 

 

 

 

DeleteStudentBook

Ɇɟɬɨɞ ɩɪɢɧɢɦɚɟɬ ɤɧɢɝɭ ɨɬ ɫɬɭɞɟɧɬɚ

 

 

 

 

 

StudentParams: tParams

Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɩɚɪɚɦɟɬɪɵ

ɬɟɤɭɳɟɝɨ

 

 

ɫɬɭɞɟɧɬɚ

 

 

 

 

 

 

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

-106-

 

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

 

 

 

 

ɇɚɡɜɚɧɢɟ

Ɉɩɢɫɚɧɢɟ

 

 

 

 

BookParams: tParams

Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɩɚɪɚɦɟɬɪɵ ɬɟɤɭɳɟɣ

 

 

ɤɧɢɝɢ

 

GroupList: TStringList

Ɏɭɧɤɰɢɹ ɜɨɡɜɪɚɳɚɟɬ ɫɩɢɫɨɤ ɝɪɭɩɩ ɫɬɭɞɟɧ-

 

 

ɬɨɜ

 

StudentsAfterScroll(DataSet: TDataSet)

ɋɨɛɵɬɢɟ, ɩɪɨɢɫɯɨɞɹɳɟɟ ɩɪɢ ɩɟɪɟɦɟɳɟɧɢɢ

 

 

ɩɨ ɧɚɛɨɪɭ ɞɚɧɧɵɯ, ɨɬɨɛɪɚɠɚɸɳɢɯ ɫɬɭɞɟɧɬɨɜ

 

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

ȼ ɪɟɡɭɥɶɬɚɬɟ ɞɢɚɝɪɚɦɦɚ ɤɥɚɫɫɚ ɩɪɢɦɟɬ ɜɢɞ ɩɪɟɞɫɬɚɜɥɟɧɧɵɣ, ɧɚ ɪɢɫ. 6.2.

 

 

Ɍɚɛɥɢɰɚ 6.3

 

ɋɜɨɣɫɬɜɚ TController

 

 

 

ɇɚɡɜɚɧɢɟ

 

Ɉɩɢɫɚɧɢɟ

 

 

 

StudentDataSource: TDataSource

 

ɂɫɬɨɱɧɢɤ ɞɚɧɧɵɯ ɧɚɛɨɪɚ ɨɬɨɛɪɚɠɚɸɳɢɯ ɫɬɭɞɟɧɬɨɜ

 

 

 

BookDataSource: TDataSource

 

ɂɫɬɨɱɧɢɤ ɞɚɧɧɵɯ ɧɚɛɨɪɚ ɨɬɨɛɪɚɠɚɸɳɢɯ ɤɧɢɝɢ

 

 

 

StudentBookDataSource:

 

ɂɫɬɨɱɧɢɤ ɞɚɧɧɵɯ ɨɬɨɛɪɚɠɚɸɳɢɣ ɜɵɞɚɧɧɵɟ ɤɧɢɝɢ

TDataSource

 

 

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

-107-

ɅȺȻ. Ɋ. ʋ 6 ɊȿȺɅ-ə ȺɊɏ-ɕ ɇȺ ȻȺɁȿ ɈȻɔȿɄɌɇɈ-ɊȿɅəɐɂɈɇɇɈȽɈ ɈɌɈȻɊȺɀȿɇɂə ɋ ɇȿɌɂɉɂɁɂɊɈȼȺɇɇɕɆɂ ɈȻɔȿɄɌȺɆɂ

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

Ɋɢɫ. 6.2. Ⱦɢɚɝɪɚɦɦɚ ɤɥɚɫɫɨɜ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ

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

Ɋɚɡɪɚɛɨɬɚɬɶ ɩɪɢɥɨɠɟɧɢɟ ɜ Borland Developer Studio ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɬɟɦɚɬɢɤɨɣ ɤɭɪɫɨɜɨɝɨ ɩɪɨɟɤɬɚ ɩɨ ɩɪɟɞɦɟɬɭ «Ɍɟɯɧɨɥɨɝɢɢ ɪɚɡɪɚɛɨɬɤɢ ɩɪɨɝɪɚɦɦɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ». ɉɪɢɥɨɠɟɧɢɟ ɞɨɥɠɧɨ ɪɚɛɨɬɚɬɶ ɫ ɪɟɥɹɰɢɨɧɧɨɣ ɋɍȻȾ, ɧɚɩɪɢɦɟɪ FireBird, ɚ ɟɝɨ ɚɪɯɢɬɟɤɬɭɪɚ ɫɨɨɬɜɟɬɫɬɜɨɜɚɬɶ ɬɪɟɯɫɥɨɣɧɨɣ ɚɪɯɢɬɟɤɬɭɪɟ ɧɚ ɛɚɡɟ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ ɫ ɧɟɬɢɩɢɡɢɪɨɜɚɧɧɵɦɢ ɨɛɴɟɤɬɚɦɢ. ɉɪɢ ɪɚɡɪɚɛɨɬɤɟ ɩɪɢɥɨɠɟɧɢɹ ɧɟɨɛɯɨɞɢɦɨ ɩɪɢɦɟɧɢɬɶ ɲɚɛɥɨɧɵ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ.

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

-108-

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

1.ɑɬɨ ɬɚɤɨɟ ɲɚɛɥɨɧ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ?

2.Ʉɚɤɨɜɚ ɫɬɪɭɤɬɭɪɚ ɲɚɛɥɨɧɚ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ?

3.Ʉɚɤɨɜ ɩɪɢɧɰɢɩ ɪɚɡɪɚɛɨɬɤɢ ɤɥɚɫɫɨɜ ɧɚ ɨɫɧɨɜɟ ɲɚɛɥɨɧɨɜ ɩɪɨɟɤɬɢɪɨ-

ɜɚɧɢɹ?

4.ɒɚɛɥɨɧ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ Information Expert.

5.ɒɚɛɥɨɧ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ Creator.

6.ɒɚɛɥɨɧ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ Low Coupling.

7.ɒɚɛɥɨɧ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ High Cohesion.

8.ɒɚɛɥɨɧ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ Controller.

9.ɑɟɦ ɨɬɥɢɱɚɟɬɫɹ ɚɪɯɢɬɟɤɬɭɪɚ ɫ ɬɢɩɢɡɢɪɨɜɚɧɧɵɦɢ ɨɛɴɟɤɬɚɦɢ ɨɬ ɚɪɯɢɬɟɤɬɭɪɵ ɫ ɧɟɬɢɩɢɡɢɪɨɜɚɧɧɵɦɢ ɨɛɴɟɤɬɚɦɢ?

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

-109-

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

ɐɟɥɢ ɪɚɛɨɬɵ:

ɨɡɧɚɤɨɦɢɬɶɫɹ ɫ ɚɪɯɢɬɟɤɬɭɪɨɣ, ɭɩɪɚɜɥɹɟɦɨɣ ɦɨɞɟɥɶɸ MDA, ɬɟɯɧɨɥɨɝɢɟɣ ECO ɢ ɹɡɵɤɨɦ OCL;

ɧɚɭɱɢɬɶɫɹ ɫɨɡɞɚɜɚɬɶ ɩɪɨɫɬɨɟ ɩɪɢɥɨɠɟɧɢɟ ɩɨ ɬɟɯɧɨɥɨɝɢɢ MDA.

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

Ȼɫɰɣɭɠɥɭɮɫɛ, ɮɪɫɛɝɦɺɠɧɛɺ ɧɩɟɠɦɷɹ MDA

Ʉɨɧɰɟɩɰɢɹ Model Driven Architecture (MDA) – ɚɪɯɢɬɟɤɬɭɪɚ, ɭɩɪɚɜɥɹɟ-

ɦɚɹ ɦɨɞɟɥɶɸ – ɛɵɥɚ ɪɚɡɪɚɛɨɬɚɧɚ ɜ ɧɟɡɚɜɢɫɢɦɨɣ ɧɟɤɨɦɦɟɪɱɟɫɤɨɣ ɨɪɝɚɧɢɡɚɰɢɢ Object Management Group (OMG) – ɤɨɧɫɨɪɰɢɭɦ ɨɛɴɟɤɬɧɨɝɨ ɭɩɪɚɜɥɟɧɢɹ. Ɉɧɚ ɨɛɴɟɞɢɧɹɟɬ ɫɨɬɧɢ ɤɨɦɩɚɧɢɣ-ɩɪɨɢɡɜɨɞɢɬɟɥɟɣ ɩɪɨɝɪɚɦɦɧɨɝɨ ɢ ɚɩɩɚɪɚɬɧɨɝɨ ɨɛɟɫɩɟɱɟɧɢɹ.

ȼɬɟɯɧɨɥɨɝɢɢ MDA ɨɫɧɨɜɧɵɦ ɷɥɟɦɟɧɬɨɦ ɩɪɨɟɤɬɢɪɨɜɚɧɢɹ ɫɱɢɬɚɟɬɫɹ ɦɨ-

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

ȼɤɨɧɤɪɟɬɧɨɦ ɩɪɨɟɤɬɟ ɦɨɞɟɥɶ MDA ɩɪɟɞɫɬɚɜɥɹɟɬ ɫɨɛɨɣ ɡɚɤɨɧɱɟɧɧɨɟ

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

ɉɨɧɹɬɢɟ «ɭɩɪɚɜɥɟɧɢɟ ɦɨɞɟɥɶɸ» ɩɨɞɪɚɡɭɦɟɜɚɟɬ ɩɪɹɦɨɟ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɦɨɞɟɥɢ ɩɪɢ ɥɸɛɵɯ ɞɟɣɫɬɜɢɹɯ ɩɨ ɩɪɨɟɤɬɢɪɨɜɚɧɢɸ, ɪɚɡɪɚɛɨɬɤɟ ɢ ɪɚɡɜɟɪɬɵɜɚɧɢɸ ɫɢɫɬɟɦɵ. ɉɪɢ ɜɧɟɫɟɧɢɢ ɢɡɦɟɧɟɧɢɣ ɜ ɚɪɯɢɬɟɤɬɭɪɭ ɩɪɢɥɨɠɟɧɢɹ ɦɨɞɟɥɶ ɫɱɢɬɚɟɬɫɹ ɩɟɪɜɢɱɧɨɣ. ɉɭɫɬɶ, ɧɚɩɪɢɦɟɪ, ɬɪɟɛɭɟɬɫɹ ɩɨɩɨɥɧɢɬɶ ɨɩɢɫɚɧɢɟ ɤɥɚɫɫɚ ɧɨɜɵɦ ɩɨɥɟɦ ɢɥɢ ɦɟɬɨɞɨɦ. ȼ ɤɥɚɫɫɢɱɟɫɤɨɦ (ɧɟ ɦɨɞɟɥɶɧɨɦ) ɩɨɞɯɨɞɟ ɤ ɪɚɡɪɚɛɨɬɤɟ ɦɨɞɢɮɢɤɚɰɢɹ ɨɩɢɫɚɧɢɹ ɤɥɚɫɫɚ ɜɵɩɨɥɧɹɥɚɫɶ ɛɵ ɜ ɢɫɯɨɞɧɨɦ ɤɨɞɟ, ɪɭɱɧɵɦ ɤɨɞɢɪɨɜɚɧɢɟɦ. ȼ ɬɟɯɧɨɥɨɝɢɢ MDA ɩɪɨɢɫɯɨɞɢɬ ɦɨɞɢɮɢɤɚɰɢɹ ɜɢɡɭɚɥɶɧɨɣ ɞɢɚɝɪɚɦɦɵ, ɧɚ ɤɨɬɨɪɨɣ ɤɥɚɫɫ ɩɪɟɞɫɬɚɜɥɟɧ ɜ ɜɢɞɟ ɝɪɚɮɢɱɟɫɤɨɝɨ ɷɥɟɦɟɧɬɚ. ɇɚ ɛɚɡɟ ɬɚɤɨɣ ɞɢɚɝɪɚɦɦɵ ɢɫɯɨɞɧɵɣ ɤɨɞ ɫ ɢɡɦɟɧɟɧɧɵɦ ɨɩɢɫɚɧɢɟɦ ɤɥɚɫɫɚ ɝɟɧɟɪɢɪɭɟɬɫɹ ɚɜɬɨɦɚɬɢɱɟɫɤɢ.

ɉɨɞ ɚɪɯɢɬɟɤɬɭɪɨɣ, ɭɩɪɚɜɥɹɟɦɨɣ ɦɨɞɟɥɶɸ, ɩɨɧɢɦɚɟɬɫɹ ɩɨɥɧɚɹ ɢ ɡɚɤɨɧ-

ɱɟɧɧɚɹ ɚɪɯɢɬɟɤɬɭɪɚ ɩɪɢɥɨɠɟɧɢɹ, ɰɟɥɢɤɨɦ ɮɨɪɦɢɪɭɟɦɚɹ ɫ ɩɨɦɨɳɶɸ ɦɨɞɟɥɢ.

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

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

-110-

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