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

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

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

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

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

Ɍɚɛɥɢɰɚ 5.3

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

Ɇɟɬɨɞ

Ɉɩɢɫɚɧɢɟ

Add()

Ⱦɨɛɚɜɥɹɟɬ ɨɛɴɟɤɬ ɜ ȻȾ

Update()

ɂɡɦɟɧɹɟɬ ɚɬɪɢɛɭɬɵ ɨɛɴɟɤɬɚ ɜ ȻȾ

Delete()

ɍɞɚɥɹɟɬ ɨɛɴɟɤɬ ɢɡ ȻȾ

Select()

ȼɵɛɢɪɚɟɬ ɫɩɢɫɨɤ ɨɛɴɟɤɬɨɜ ɞɥɹ ɨɬɨɛɪɚɠɟɧɢɹ

LoadCurrent()

Ɂɚɝɪɭɠɚɟɬ ɜ ɩɨɥɹ ɤɥɚɫɫɚ ɚɬɪɢɛɭɬɵ ɬɟɤɭɳɟɝɨ ɨɛɴɟɤɬɚ

Refresh()

Ɉɛɧɨɜɥɹɟɬ ɫɩɢɫɨɤ ɨɛɴɟɤɬɨɜ

Create(Connection: TConnec-

Ʉɨɧɫɬɪɭɤɬɨɪ ɤɥɚɫɫɚ

tion; Transaction: TTransac-

 

tionObject=nil)

 

ɇɚɡɨɜɟɦ ɷɬɨɬ ɤɥɚɫɫ TDataPrepare. Ɉɧ ɞɨɥɠɟɧ ɛɵɬɶ ɩɨɪɨɠɞɟɧ ɨɬ ɤɥɚɫɫɚ TDBObject, ɩɨɫɤɨɥɶɤɭ ɞɨɥɠɟɧ ɭɦɟɬɶ ɪɚɛɨɬɚɬɶ ɫ ɫɨɟɞɢɧɟɧɢɹɦɢ ɢ ɬɪɚɧɡɚɤɰɢɹɦɢ. Ⱥɬɪɢɛɭɬɵ ɤɥɚɫɫɚ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.1, ɫɜɨɣɫɬɜɚ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.2, ɜɢɪɬɭɚɥɶɧɵɟ ɦɟɬɨɞɵ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.3.

Ɉɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɟ ɨɬɨɛɪɚɠɟɧɢɟ. Ⱦɚɧɧɵɣ ɫɥɨɣ ɫɨɫɬɨɢɬ ɢɡ ɤɥɚɫ-

ɫɨɜ, ɤɨɬɨɪɵɟ ɫ ɩɨɦɨɳɶɸ ɞɪɚɣɜɟɪɨɜ ɞɨɫɬɭɩɚ ɤ ȻȾ ɨɫɭɳɟɫɬɜɥɹɸɬ ɜɡɚɢɦɨɞɟɣɫɬɜɢɟ ɫ ɋɍȻȾ.

ɇɚ ɪɢɫ. 5.2 ɩɪɢɜɟɞɟɧ ɩɪɢɦɟɪ ɛɚɡɨɜɵɯ ɤɥɚɫɫɨɜ, ɧɚ ɨɫɧɨɜɟ ɤɨɬɨɪɵɯ ɦɨɠɧɨ ɫɬɪɨɢɬɶ ɫɥɨɣ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ. ȼ ɬɚɛɥ. 5.4 ɩɪɟɞɫɬɚɜɥɟɧɨ ɨɩɢɫɚɧɢɟ ɤɥɚɫɫɨɜ, ɢɡɨɛɪɚɠɟɧɧɵɯ ɧɚ ɪɢɫ. 5.2.

TDBObject

TTransactionObject

 

TransactionObject

 

Connection

 

TransactionObject

TExecuteObject

TConnection

 

Ɋɢɫ. 5.2. Ʉɥɚɫɫɵ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ

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

-71-

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

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

 

Ɍɚɛɥɢɰɚ 5.4

Ɉɩɢɫɚɧɢɟ ɛɚɡɨɜɵɯ ɤɥɚɫɫɨɜ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ

 

 

ɂɦɹ ɤɥɚɫɫɚ

Ɉɩɢɫɚɧɢɟ

 

 

TConnection

ɉɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɭɩɪɚɜɥɟɧɢɹ ɫɨɟɞɢɧɟɧɢɟɦ ɤ ɛɚɡɚɦ ɞɚɧɧɵɯ

TTransactionObject

ɢ ɧɚɫɬɪɨɣɤɢ ɩɚɪɚɦɟɬɪɨɜ ɫɨɟɞɢɧɟɧɢɹ

ɉɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɭɩɪɚɜɥɟɧɢɹ ɬɪɚɧɡɚɤɰɢɟɣ (ɨɬɤɪɵɬɢɟ, ɡɚɤɪɵɬɢɟ,

TDBObject

ɨɬɤɚɬ)

ɉɪɟɞɧɚɡɧɚɱɟɧ ɞɥɹ ɪɚɛɨɬɵ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬ ɤɥɚɫɫɵ

TExecuteObject

TConnection ɢ TTransactionObject

Ɉɛɟɫɩɟɱɢɜɚɟɬ ɪɚɛɨɬɭ ɫ SQL

 

 

ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ ɤ ɥ ɚ ɫ ɫ ɚ T C o n n e c t i o n. ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TConnection ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.5, ɦɟɬɨɞɵ ɷɬɨɝɨ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.6.

 

 

Ɍɚɛɥɢɰɚ 5.5

 

 

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TConnection

 

 

 

ɋɜɨɣɫɬɜɨ

 

Ɉɩɢɫɚɧɢɟ

 

 

 

ServerName: string

 

ɋɟɬɟɜɨɟ ɢɦɹ ɫɟɪɜɟɪɚ ɋɍȻȾ

DataBaseName: string

ɉɨɥɧɵɣ ɥɨɤɚɥɶɧɵɣ ɩɭɬɶ ɤ ɮɚɣɥɭ ȻȾ

UserName: string

 

ɂɦɹ ɩɨɥɶɡɨɜɚɬɟɥɹ ɋɍȻȾ, ɢɫɩɨɥɶɡɭɟɦɨɟ ɞɥɹ ɚɜɬɨɪɢɡɚɰɢɢ

Password: string

 

ɉɚɪɨɥɶ ɞɨɫɬɭɩɚ ɤ ɋɍȻȾ

DataBase: TIBDatabase

Ʉɨɦɩɨɧɟɧɬ ɞɨɫɬɭɩɚ ɤ ɛɚɡɟ ɞɚɧɧɵɯ, ɫ ɤɨɬɨɪɨɣ ɪɚɛɨɬɚɟɬ ɨɛɴɟɤɬ

TransactionObject:

 

Ɍɪɚɧɡɚɤɰɢɹ, ɫ ɤɨɬɨɪɨɣ ɪɚɛɨɬɚɟɬ ɨɛɴɟɤɬ

TTransactionObject

 

 

 

 

Ɍɚɛɥɢɰɚ 5.6

 

 

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

 

 

Ɉɩɢɫɚɧɢɟ

Ɇɟɬɨɞ

 

Connect()

Ɉɬɤɪɵɬɢɟ ɫɨɟɞɢɧɟɧɢɹ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ

Disconnect()

Ɂɚɤɪɵɬɢɟ ɫɨɟɞɢɧɟɧɢɹ ɫ ɛɚɡɨɣ ɞɚɧɧɵɯ

ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ ɤ ɥ ɚ ɫ ɫ ɚ T T r a n s a c t i o n O b j e c t. Ʉɥɚɫɫ TTransactionObject ɹɜɥɹɟɬɫɹ ɨɛɨɥɨɱɤɨɣ ɤ ɤɨɦɩɨɧɟɧɬɭ TIBTransaction, ɪɟɚɥɢɡɭɸɳɟɦɭ ɮɭɧɤɰɢɢ ɩɨ ɪɚɛɨɬɟ ɫ ɬɪɚɧɡɚɤɰɢɹɦɢ.

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TTransactionObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.7, ɦɟɬɨɞɵ ɞɚɧɧɨɝɨ ɤɥɚɫɫɚ ɩɪɢɜɟɞɟɧɵ ɜ ɬɚɛɥ. 5.8.

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

-72-

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

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

 

 

Ɍɚɛɥɢɰɚ 5.7

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TTransactionObject

 

 

 

ɋɜɨɣɫɬɜɨ

 

Ɉɩɢɫɚɧɢɟ

Transaction: TIBTransaction

 

Ɉɩɪɟɞɟɥɹɟɬ, ɫ ɤɚɤɨɣ ɬɪɚɧɡɚɤɰɢɟɣ ɪɚɛɨɬɚɟɬ ɨɛɴɟɤɬ

InTransaction: Boolean

 

Ɉɩɪɟɞɟɥɹɟɬ, ɡɚɩɭɳɟɧɚ ɥɢ ɬɪɚɧɡɚɤɰɢɹ ɭ ɨɛɴɟɤɬɚ

 

 

Ɍɚɛɥɢɰɚ 5.8

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

 

 

 

Ɇɟɬɨɞ

 

Ɉɩɢɫɚɧɢɟ

StartTransaction()

 

Ɂɚɩɭɫɤ ɬɪɚɧɡɚɤɰɢɢ

Commit()

 

ɉɨɞɬɜɟɪɠɞɟɧɢɟ ɬɪɚɧɡɚɤɰɢɢ

Rollback()

 

Ɉɬɦɟɧɚ ɬɪɚɧɡɚɤɰɢɢ

ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ

ɤ ɥ ɚ ɫ ɫ ɚ

T D B O b j e c t.

ɉɨɥɹ ɤɥɚɫɫɚ

TDBObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ

ɬɚɛɥ. 5.9,

ɫɜɨɣɫɬɜɚ ɞɚɧɧɨɝɨ

ɤɥɚɫɫɚ – ɜ

ɬɚɛɥ. 5.10.

 

 

 

Ʉɥɚɫɫ TDBObject ɫɨɞɟɪɠɢɬ ɬɟ ɠɟ ɦɟɬɨɞɵ, ɱɬɨ ɢ ɤɥɚɫɫ TTransactionObject, ɞɥɹ ɪɟɚɥɢɡɚɰɢɢ ɜɨɡɦɨɠɧɨɫɬɢ ɪɚɛɨɬɵ ɫɨ ɫɜɨɟɣ ɫɨɛɫɬɜɟɧɧɨɣ ɬɪɚɧɡɚɤɰɢɟɣ. ɋɨɨɬɜɟɬɫɬɜɟɧɧɨ ɟɫɥɢ ɨɧ ɢɫɩɨɥɶɡɭɟɬ ɱɭɠɭɸ ɬɪɚɧɡɚɤɰɢɸ, ɨɧ ɧɢɱɟɝɨ ɧɟ ɦɨɠɟɬ ɫ ɧɟɣ ɞɟɥɚɬɶ. Ɇɟɬɨɞɵ ɤɥɚɫɫɚ TDBObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.11.

 

 

Ɍɚɛɥɢɰɚ 5.9

 

 

ɉɨɥɟ ɤɥɚɫɫɚ TDBObject

 

 

 

 

ɉɨɥɟ

 

Ɉɩɢɫɚɧɢɟ

fOwn_transaction: Boolean

 

Ɉɩɪɟɞɟɥɹɟɬ, ɢɫɩɨɥɶɡɭɟɬ ɨɛɴɟɤɬ ɫɜɨɸ ɬɪɚɧɡɚɤɰɢɸ ɢɥɢ

 

 

ɱɭɠɭɸ, ɩɟɪɟɞɚɧɧɭɸ ɩɪɢ ɫɨɡɞɚɧɢɢ ɤɥɚɫɫɚ

 

 

Ɍɚɛɥɢɰɚ 5.10

 

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TDBObject

 

 

 

 

ɋɜɨɣɫɬɜɨ

 

Ɉɩɢɫɚɧɢɟ

Connection: TConnection

 

ɉɨɞɤɥɸɱɟɧɢɟ, ɢɫɩɨɥɶɡɭɟɦɨɟ ɞɚɧɧɵɦ ɨɛɴɟɤɬɨɦ

TransactionObject:

 

Ɍɪɚɧɡɚɤɰɢɹ, ɢɫɩɨɥɶɡɭɟɦɚɹ ɞɚɧɧɵɦ ɨɛɴɟɤɬɨɦ

TTransactionObject

 

 

 

 

 

Ɍɚɛɥɢɰɚ 5.11

 

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

 

 

 

 

Ɇɟɬɨɞ

 

Ɉɩɢɫɚɧɢɟ

StartTransaction()

 

Ɂɚɩɭɫɤ ɬɪɚɧɡɚɤɰɢɢ

 

Commit()

 

ɉɨɞɬɜɟɪɠɞɟɧɢɟ ɬɪɚɧɡɚɤɰɢɢ

Rollback()

 

Ɉɬɦɟɧɚ ɬɪɚɧɡɚɤɰɢɢ

ɏ ɚ ɪ ɚ ɤ ɬ ɟ ɪ ɢ ɫ ɬ ɢ ɤ ɢ ɤ ɥ ɚ ɫ ɫ ɚ T E x e c u t e O b j e c t. Ʉɥɚɫɫ TExecuteObject ɜɵɩɨɥɧɹɟɬ ɤɨɦɚɧɞɵ SQL ɢ ɹɜɥɹɟɬɫɹ ɨɛɨɥɨɱɤɨɣ ɤ ɤɨɦɩɨɧɟɧɬɭ TIBQuery, ɤɨɬɨɪɵɣ ɪɚɛɨɬɚɟɬ ɫ ɫɟɦɟɣɫɬɜɨɦ ɋɍȻȾ Borland IB.

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

-73-

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

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

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TExecuteObject ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.12, ɦɟɬɨɞɵ ɞɚɧɧɨɝɨ ɤɥɚɫɫɚ ɩɪɢɜɟɞɟɧɵ ɜ ɬɚɛɥ. 5.13.

 

 

 

Ɍɚɛɥɢɰɚ 5.12

 

 

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TExecuteObject

 

 

 

 

ɋɜɨɣɫɬɜɨ

 

 

Ɉɩɢɫɚɧɢɟ

 

 

 

 

nfi[name: string]:

 

ɋɜɨɣɫɬɜɨ ɞɨɫɬɭɩɚ ɤ ɩɨɥɹɦ ɧɚɛɨɪɚ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬɫɹ, ɤɨɝɞɚ ɩɨɥɟ

Integer

 

ɹɜɥɹɟɬɫɹ ɰɟɥɨɱɢɫɥɟɧɧɵɦ

nfs[name: string]:

 

ɋɜɨɣɫɬɜɨ ɞɨɫɬɭɩɚ ɤ ɩɨɥɹɦ ɧɚɛɨɪɚ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬɫɹ, ɤɨɝɞɚ ɩɨɥɟ

string

 

ɹɜɥɹɟɬɫɹ ɫɬɪɨɤɨɜɵɦ

 

nff[name: string]:

 

ɋɜɨɣɫɬɜɨ ɞɨɫɬɭɩɚ ɤ ɩɨɥɹɦ ɧɚɛɨɪɚ ɞɚɧɧɵɯ. ɂɫɩɨɥɶɡɭɟɬɫɹ, ɤɨɝɞɚ ɩɨɥɟ

Extended

 

ɹɜɥɹɟɬɫɹ ɞɪɨɛɧɵɦ

 

 

 

 

Ɍɚɛɥɢɰɚ 5.13

 

 

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

 

 

Ɇɟɬɨɞ

Ɉɩɢɫɚɧɢɟ

 

 

ExecuteQuery(sql: string; params: array

ȼɵɩɨɥɧɹɟɬ ɡɚɩɪɨɫ ɤ ɛɚɡɟ ɞɚɧɧɵɯ ɢ ɧɟ ɜɨɡɜɪɚ-

of variant)

 

ɳɚɟɬ ɧɚɛɨɪ ɞɚɧɧɵɯ

SelectQuery(sql: string; params: array of

ȼɵɩɨɥɧɹɟɬ ɡɚɩɪɨɫ ɤ ɛɚɡɟ ɞɚɧɧɵɯ ɢ ɜɨɡɜɪɚɳɚɟɬ

variant; FetchAll: boolean=false)

ɧɚɛɨɪ ɞɚɧɧɵɯ

SelectStrings(sql: string; params: array of

ȼɵɩɨɥɧɹɟɬ ɡɚɩɪɨɫ ɤ ɛɚɡɟ ɞɚɧɧɵɯ ɢ ɜɨɡɜɪɚɳɚɟɬ

variant): TStringList

 

ɤɨɥɥɟɤɰɢɸ ɫɬɪɨɤ ɜ ɤɥɚɫɫɟ TStringList ɢɡ ɩɟɪɜɨ-

 

 

 

ɝɨ ɩɨɥɹ ɡɚɩɪɨɫɚ

ɋɬɪɭɤɬɭɪɚ ȻȾ. ȼ ɪɚɫɫɦɚɬɪɢɜɚɟɦɨɦ ɜ ɥɚɛɨɪɚɬɨɪɧɨɣ ɪɚɛɨɬɟ ɩɪɢɦɟɪɟ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨɜɚɬɶɫɹ ɛɚɡɚ ɞɚɧɧɵɯ, ɪɟɥɹɰɢɨɧɧɚɹ ɦɨɞɟɥɶ ɤɨɬɨɪɨɣ ɩɪɢɜɟɞɟɧɚ ɧɚ ɪɢɫ. 5.3. Ɉɩɢɫɚɧɢɟ ɬɚɛɥɢɰ ɛɚɡɵ ɞɚɧɧɵɯ ɩɪɢɜɟɞɟɧɨ ɜ ɬɚɛɥ. 5.14.

Ɍɚɛɥɢɰɚ 5.14

 

Ɉɩɢɫɚɧɢɟ ɬɚɛɥɢɰ ɛɚɡɵ ɞɚɧɧɵɯ

 

 

Ɍɚɛɥɢɰɚ

Ɉɩɢɫɚɧɢɟ

 

ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɤɧɢɝɚɯ

Books

Groups

ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɝɪɭɩɩɚɯ, ɜ ɤɨɬɨɪɵɯ ɭɱɚɬɫɹ ɫɬɭɞɟɧɬɵ

Students

ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɫɬɭɞɟɧɬɚɯ

Students_Book

ɏɪɚɧɢɬ ɢɧɮɨɪɦɚɰɢɸ ɨ ɜɵɞɚɧɧɵɯ ɫɬɭɞɟɧɬɭ ɤɧɢɝɚɯ

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

-74-

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

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

Ɋɢɫ. 5.3. ɋɬɪɭɤɬɭɪɚ ɛɚɡɵ ɞɚɧɧɵɯ ɜɵɞɚɱɢ ɤɧɢɝ ɜ ɛɢɛɥɢɨɬɟɤɟ

Ɍɩɢɟɛɨɣɠ ɪɫɩɠɥɭɛ ɝ Borland Developer Studio 2006

ȿɞɢɧɢɰɟɣ ɪɚɡɪɚɛɨɬɤɢ ɜ Borland Developer Studio 2006 ɹɜɥɹɟɬɫɹ ɩɪɨɟɤɬ, ɩɪɟɞɫɬɚɜɥɹɸɳɢɣ ɮɚɣɥ, ɜ ɤɨɬɨɪɨɦ ɯɪɚɧɹɬɫɹ ɫɫɵɥɤɢ ɧɚ ɜɫɟ ɮɨɪɦɵ ɢ ɦɨɞɭɥɢ.

Ƚɥɚɜɧɨɟ ɦɟɧɸ

 

ɉɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ

 

ɉɪɟɞɫɬɚɜɥɟɧɢɟ UML-ɦɨɞɟɥɢ

 

 

 

 

 

ɋɬɪɭɤɬɭɪɚ

ɤɨɦɩɨɧɟɧɬɨɜ Ʉɨɧɫɬɪɭɤɬɨɪ ɮɨɪɦɵ

ɮɨɪɦ

Ɉɛɥɚɫɬɶ

ɢɧɫɩɟɤɬɨɪɚ ɉɚɧɟɥɶ ɢɧɫɬɪɭɦɟɧɬɨɜ

Ɋɢɫ. 5.4. ȼɧɟɲɧɢɣ ɜɢɞ Borland Developer Studio 2006

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

-75-

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

Ɍɩɢɟɛɨɣɠ ɪɫɩɠɥɭɛ ɝ Borland Developer Studio 2006

ɑɬɨɛɵ ɫɨɡɞɚɬɶ ɩɪɨɟɤɬ, ɧɟɨɛɯɨɞɢɦɨ ɜɵɛɪɚɬɶ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ ɩɭɧɤɬ

File o New o VCL Forms Applications – Delphi for Win32. ɉɪɢ ɷɬɨɦ ɛɭɞɟɬ ɫɨɡɞɚɧ ɩɪɨɟɤɬ ɫ ɩɪɨɫɬɵɦ ɢɧɬɟɪɮɟɣɫɨɦ. ȼɢɞ ɨɤɧɚ Borland Developer Studio 2006 ɩɪɟɞɫɬɚɜɥɟɧ ɧɚ ɪɢɫ. 5.4.

ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ

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

Ɋɟɞɚɤɬɨɪ ɤɨɞɚ

Ɋɢɫ. 5.5. ɇɨɜɵɣ ɦɨɞɭɥɶ

Ⱦɨɛɚɜɥɟɧɢɟ ɧɨɜɨɝɨ ɦɨɞɭɥɹ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɩɭɬɟɦ ɜɵɛɨɪɚ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ ɩɭɧɤɬɚ File o New o Unit – Delphi for Win32. ȼ ɩɪɚɜɨɣ ɱɚɫɬɢ ɪɟɞɚɤɬɨɪɚ ɜ Ⱦɟɪɟɜɟ ɩɪɨɟɤɬɚ ɩɨɹɜɢɬɫɹ ɧɨɜɵɣ ɷɥɟɦɟɧɬ (Unit). Ɇɨɞɢɮɢɤɚɰɢɹ ɤɨɞɚ ɜɵɩɨɥɧɹɟɬɫɹ ɜ ɪɟɞɚɤɬɨɪɟ ɤɨɞɚ ɞɥɹ ɜɵɛɪɚɧɧɨɝɨ ɦɨɞɭɥɹ (ɪɢɫ. 5.5).

Ɍɩɢɟɛɨɣɠ ɥɦɛɬɬɩɝ ɬ ɪɩɧɩɴɷɹ ɟɣɛɞɫɛɧɧɶ UML

Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɤɥɚɫɫɚ ɫ ɩɨɦɨɳɶɸ ɞɢɚɝɪɚɦɦɵ UML ɩɟɪɟɤɥɸɱɢɬɟɫɶ ɧɚ ɡɚɤɥɚɞɤɭ Model View ɢ ɞɜɚɠɞɵ ɳɟɥɤɧɢɬɟ ɩɨ ɦɨɞɭɥɸ, ɜ ɤɨɬɨɪɵɣ ɫɨɛɢɪɚɟɬɟɫɶ ɞɨɛɚɜɢɬɶ ɤɥɚɫɫ ɢɥɢ ɧɟɫɤɨɥɶɤɨ ɤɥɚɫɫɨɜ (ɪɢɫ. 5.6). Ⱦɚɥɟɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɜɵɛɟɪɢɬɟ Class ɢ ɳɟɥɤɧɢɬɟ ɜ Ɋɚɛɨɱɟɣ ɨɛɥɚɫɬɢ. Ɍɚɤ ɠɟ ɧɚ Ɋɚɛɨɱɭɸ ɨɛ-

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

-76-

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

ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ

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

Ⱦɨɛɚɜɥɟɧɢɟ ɩɨɥɟɣ. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɩɨɥɹ ɜ ɤɥɚɫɫ ɧɟɨɛɯɨɞɢɦɨ ɳɟɥɤɧɭɬɶ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ. ɉɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Field ɢɥɢ ɧɚɠɚɬɶ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + W. ɉɪɢ ɷɬɨɦ ɜ Ɋɚɛɨɱɟɣ ɨɛɥɚɫɬɢ ɭ ɤɥɚɫɫɚ, ɞɥɹ ɤɨɬɨɪɨɝɨ ɜɵ ɞɨɛɚɜɢɥɢ ɩɨɥɟ, ɩɨɹɜɢɬɫɹ ɧɨɜɚɹ ɫɬɪɨɤɚ, ɜ ɤɨɬɨɪɨɣ ɭɤɚɡɵɜɚɟɬɫɹ ɧɚɡɜɚɧɢɟ ɩɨɥɹ ɢ ɟɝɨ ɬɢɩ. ɉɨ-ɞɪɭɝɨɦɭ ɜɵ ɦɨɠɟɬɟ ɧɚɫɬɪɨɢɬɶ ɫɜɨɣɫɬɜɚ ɩɨɥɹ ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ.

Ⱦɟɪɟɜɨ ɩɪɨɟɤɬɚ

Ɋɚɛɨɱɚɹ ɨɛɥɚɫɬɶ

ɉɚɧɟɥɶ ɢɧɫɬ- Ɉɛɥɚɫɬɶ ɪɭɦɟɧɬɨɜ

ɢɧɫɩɟɤɬɨɪɚ

Ɋɢɫ. 5.6. ɉɪɟɞɫɬɚɜɥɟɧɢɟ UML

Ⱦɨɛɚɜɥɟɧɢɟ ɫɜɨɣɫɬɜ. Ⱦɨɛɚɜɢɬɶ ɫɜɨɣɫɬɜɨ ɦɨɠɧɨ ɩɨɫɪɟɞɫɬɜɨɦ ɤɨɧɬɟɤɫɬɧɨɝɨ ɦɟɧɸ ɢ ɜɵɛɨɪɚ ɩɭɧɤɬɚ Add. Ⱦɚɥɟɟ ɜɵɛɟɪɢɬɟ ɩɨɞɩɭɧɤɬ Property.

Ⱦɨɛɚɜɥɟɧɢɟ ɩɪɨɰɟɞɭɪɵ. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɩɪɨɰɟɞɭɪɵ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ ɢ ɜ ɩɨɹɜɢɜɲɟɦɫɹ ɤɨɧɬɟɤɫɬɧɨɦ ɦɟɧɸ ɜɵɛɟɪɢɬɟ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Procedure. Ⱦɥɹ ɩɟɪɟɯɨɞɚ ɤ ɨɩɪɟɞɟɥɟɧɢɸ ɩɪɨɰɟɞɭɪɵ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɷɥɟɦɟɧɬ ɢ ɜɵɡɜɚɬɶ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɜɵɛɢɪɚɟɬɫɹ ɩɭɧɤɬ Go to definition.

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

-77-

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

ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ

 

 

Ɍɚɛɥɢɰɚ 5.15

 

 

ɋɜɨɣɫɬɜɚ ɩɪɨɰɟɞɭɪɵ

 

 

Ɉɩɢɫɚɧɢɟ

ɋɜɨɣɫɬɜɨ

Override

 

Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɷɬɚ ɩɪɨɰɟɞɭɪɚ ɩɟɪɟɨɩɪɟɞɟɥɟɧɧɨɣ

Params

 

Ɉɩɪɟɞɟɥɹɟɬ ɫɩɢɫɨɤ ɮɨɪɦɚɥɶɧɵɯ ɩɚɪɚɦɟɬɪɨɜ ɩɪɨɰɟɞɭɪɵ

Virtual

 

Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɩɪɨɰɟɞɭɪɚ ɜɢɪɬɭɚɥɶɧɨɣ

Visibility

 

Ɉɩɪɟɞɟɥɹɟɬ ɞɢɪɟɤɬɢɜɭ ɜɢɞɢɦɨɫɬɢ ɩɪɨɰɟɞɭɪɵ

ȼ ɬɚɛɥ

.

5.15 ɩɪɟɞɫɬɚɜɥɟɧɵ ɫɜɨɣɫɬɜɚ, ɤɨɬɨɪɵɟ ɦɨɠɧɨ ɧɚɫɬɪɨɢɬɶ

ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ ɞɥɹ ɩɪɨɰɟɞɭɪɵ.

Ⱦɨɛɚɜɥɟɧɢɟ ɮɭɧɤɰɢɢ. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɮɭɧɤɰɢɢ ɜ ɤɥɚɫɫ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ. ɉɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Function ɢɥɢ ɧɚɠɚɬɶ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + M. ɋɜɨɣɫɬɜɚ ɮɭɧɤɰɢɢ, ɤɨɬɨɪɵɟ ɦɨɠɧɨ ɧɚɫɬɪɨɢɬɶ ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.16.

Ɍɚɛɥɢɰɚ 5.16

 

ɋɜɨɣɫɬɜɚ ɮɭɧɤɰɢɢ

 

Ɉɩɢɫɚɧɢɟ

ɋɜɨɣɫɬɜɨ

Override

Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɷɬɚ ɮɭɧɤɰɢɹ ɩɟɪɟɨɩɪɟɞɟɥɟɧɧɨɣ

Params

Ɉɩɪɟɞɟɥɹɟɬ ɫɩɢɫɨɤ ɮɨɪɦɚɥɶɧɵɯ ɩɚɪɚɦɟɬɪɨɜ ɮɭɧɤɰɢɢ

Returns

Ɉɩɪɟɞɟɥɹɟɬ ɬɢɩ ɜɨɡɜɪɚɳɚɟɦɨɝɨ ɡɧɚɱɟɧɢɹ ɮɭɧɤɰɢɢ

Virtual

Ɉɩɪɟɞɟɥɹɟɬ, ɹɜɥɹɟɬɫɹ ɥɢ ɮɭɧɤɰɢɹ ɜɢɪɬɭɚɥɶɧɨɣ

Visibility

Ɉɩɪɟɞɟɥɹɟɬ ɞɢɪɟɤɬɢɜɭ ɜɢɞɢɦɨɫɬɢ ɮɭɧɤɰɢɢ

Ɍɩɢɟɛɨɣɠ ɩɭɨɩɳɠɨɣɤ ɧɠɡɟɮ ɥɦɛɬɬɛɧɣ

Ⱥɫ ɫ ɨ ɰ ɢ ɚ ɰ ɢ ɹ. Ɇɟɠɞɭ ɞɜɭɦɹ ɤɥɚɫɫɚɦɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɨɬɧɨɲɟɧɢɟ ɚɫɫɨɰɢɚɰɢɢ, ɟɫɥɢ ɦɟɠɞɭ ɷɬɢɦɢ ɤɥɚɫɫɚɦɢ ɟɫɬɶ ɫɜɹɡɶ. ɍ ɚɫɫɨɰɢɚɰɢɢ ɭɤɚɡɵɜɚɸɬɫɹ ɪɨɥɢ ɢ ɦɨɳɧɨɫɬɢ.

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

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

ɱɟɧɢɟ ɞɥɹ ɫɜɨɣɫɬɜɚ Client Cardinality ɢ/ɢɥɢ ɞɥɹ ɫɜɨɣɫɬɜɚ Supplier Cardinality.

Ⱦɥɹ ɭɫɬɚɧɨɜɥɟɧɢɹ ɪɨɥɟɣ ɡɚɩɨɥɧɢɬɟ ɫɜɨɣɫɬɜɚ Client Role ɢ/ɢɥɢ Supplier Role ɫɨɨɬɜɟɬɫɬɜɟɧɧɨ.

Ⱥɝ ɪ ɟ ɝ ɚ ɰ ɢ ɹ. Ɇɟɠɞɭ ɞɜɭɦɹ ɤɥɚɫɫɚɦɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɨɬɧɨɲɟɧɢɟ ɚɝɪɟɝɚɰɢɢ, ɟɫɥɢ ɨɞɢɧ ɨɛɴɟɤɬ ɨɞɧɨɝɨ ɤɥɚɫɫɚ ɜɤɥɸɱɚɟɬ ɜ ɫɟɛɹ ɨɛɴɟɤɬɵ ɞɪɭɝɨɝɨ

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

-78-

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

ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ

ɤɥɚɫɫɚ. Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɬɢɩɚ ɚɫɫɨɰɢɚɰɢɢ «ɚɝɪɟɝɚɰɢɹ» ɭɤɚɠɢɬɟ ɜ ɫɜɨɣɫɬɜɟ ɚɫɫɨɰɢɚɰɢɢ Type ɡɧɚɱɟɧɢɟ Aggregation.

ɇ ɚ ɫ ɥ ɟ ɞ ɨ ɜ ɚ ɧ ɢ ɟ. Ɇɟɠɞɭ ɤɥɚɫɫɚɦɢ ɭɫɬɚɧɚɜɥɢɜɚɟɬɫɹ ɨɬɧɨɲɟɧɢɟ ɧɚɫɥɟɞɨɜɚɧɢɹ, ɟɫɥɢ ɨɞɢɧ ɤɥɚɫɫ ɹɜɥɹɟɬɫɹ ɛɚɡɨɜɵɦ (ɪɨɞɢɬɟɥɶ), ɚ ɜɬɨɪɨɣ – ɞɨɱɟɪɧɢɦ (ɩɨɬɨɦɤɨɦ). ɉɪɢ ɷɬɨɦ ɞɨɱɟɪɧɢɣ ɤɥɚɫɫ ɧɚɫɥɟɞɭɟɬ ɫɜɨɣɫɬɜɚ ɢ ɦɟɬɨɞɵ ɪɨɞɢɬɟɥɶɫɤɨɝɨ ɤɥɚɫɫɚ ɢ ɪɟɚɥɢɡɭɟɬ ɫɜɨɢ ɫɨɛɫɬɜɟɧɧɵɟ.

Ⱦɥɹ ɭɫɬɚɧɨɜɤɢ ɨɬɧɨɲɟɧɢɹ ɧɚɫɥɟɞɨɜɚɧɢɹ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ ɜɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɤɨɦɩɨɧɟɧɬ Generalization ɢ ɭɫɬɚɧɨɜɢɬɟ ɷɬɭ ɫɜɹɡɶ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ.

ɉ ɪ ɢ ɦ ɟ ɪ ɫ ɨ ɡ ɞ ɚ ɧ ɢ ɹ ɤ ɥ ɚ ɫ ɫ ɨ ɜ

ɋɨɡɞɚɧɢɟ ɤɥɚɫɫɨɜ ɢ ɨɬɧɨɲɟɧɢɣ ɦɟɠɞɭ ɧɢɦɢ ɫɥɨɹ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ

ȼ ɤɚɱɟɫɬɜɟ ɩɪɢɦɟɪɚ ɫɨɡɞɚɧɢɹ ɨɬɧɨɲɟɧɢɣ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ ɜɨɡɶɦɟɦ ɤɥɚɫɫɵ ɫɥɨɹ ɨɛɴɟɤɬɧɨ-ɪɟɥɹɰɢɨɧɧɨɝɨ ɨɬɨɛɪɚɠɟɧɢɹ (ɪɢɫ. 5.2).

Ⱦɥɹ ɫɨɡɞɚɧɢɹ ɷɬɢɯ ɤɥɚɫɫɨɜ ɧɟɨɛɯɨɞɢɦɨ ɜɵɩɨɥɧɢɬɶ ɫɥɟɞɭɸɳɢɟ ɞɟɣɫɬ-

ɜɢɹ:

1.ɋɨɡɞɚɬɶ ɧɨɜɵɣ ɦɨɞɭɥɶ. Ⱦɥɹ ɷɬɨɝɨ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ ɜɵɛɟɪɢɬɟ File o

New o Unit – Delphi for Win32.

2.ɋɨɯɪɚɧɢɬɟ ɟɝɨ, ɜɵɛɪɚɜ ɜ ɝɥɚɜɧɨɦ ɦɟɧɸ File o Save ɢɥɢ ɧɚɠɚɜ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + S, ɭɤɚɡɚɜ ɩɪɢ ɷɬɨɦ ɢɦɹ ɦɨɞɭɥɹ ClassConnection.

3.ȼɵɛɟɪɢɬɟ ɜ ɜɟɪɯɧɟɦ ɩɪɚɜɨɦ ɨɤɧɟ ɜɤɥɚɞɤɭ Model View. ɇɚɣɞɢɬɟ ɬɚɦ ɬɨɥɶɤɨ ɱɬɨ ɫɨɡɞɚɧɧɵɣ ɦɨɞɭɥɶ ɢ ɞɜɚ ɪɚɡɚ ɳɟɥɤɧɢɬɟ ɩɨ ɧɟɦɭ ɥɟɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɤɢ. Ɉɤɧɨ Borland Studio ɛɭɞɟɬ ɢɦɟɬɶ ɜɢɞ, ɩɪɟɞɫɬɚɜɥɟɧɧɵɣ ɧɚ ɪɢɫ. 5.6.

4.ɉɟɪɟɬɚɳɢɬɟ ɜ Ɋɚɛɨɱɭɸ ɨɛɥɚɫɬɶ ɩɭɧɤɬ Class ɢɡ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧ-

ɬɨɜ.

5.ɉɟɪɟɢɦɟɧɭɣɬɟ ɬɨɥɶɤɨ ɱɬɨ ɫɨɡɞɚɧɧɵɣ ɤɥɚɫɫ. Ⱦɥɹ ɷɬɨɝɨ ɳɟɥɤɧɢɬɟ ɨɞɢɧ ɪɚɡ ɩɨ ɡɚɝɨɥɨɜɤɭ ɤɥɚɫɫɚ ɢ ɜɜɟɞɢɬɟ ɧɨɜɨɟ ɧɚɡɜɚɧɢɟ, ɥɢɛɨ ɜɵɛɟɪɢɬɟ ɤɥɚɫɫ ɧɚ

Ɋɚɛɨɱɟɣ ɨɛɥɚɫɬɢ ɢ ɧɚɫɬɪɨɣɬɟ ɫɜɨɣɫɬɜɚ Name ɜ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ. ɇɚ-

ɡɨɜɟɦ ɬɨɥɶɤɨ ɱɬɨ ɫɨɡɞɚɧɧɵɣ ɤɥɚɫɫ TConnection.

6.Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɫɜɨɣɫɬɜɚ ɧɭɠɧɨ ɳɟɥɤɧɭɬɶ ɩɨ ɤɥɚɫɫɭ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ. ɉɪɢ ɷɬɨɦ ɩɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɧɟɦ ɜɵɛɟɪɢɬɟ ɩɭɧɤɬ Add, ɚ ɡɚɬɟɦ ɩɭɧɤɬ Property – ɩɨɹɜɢɬɫɹ ɧɨɜɨɟ ɩɨɥɟ. Ⱦɥɹ ɟɝɨ ɩɟɪɟɢɦɟɧɨɜɚɧɢɹ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɨɹɜɢɜɲɟɟɫɹ ɫɜɨɣɫɬɜɨ ɢ ɳɟɥɤɧɭɬɶ ɩɨ ɧɟɦɭ ɨɞɢɧ ɪɚɡ – ɩɨɹɜɢɬɫɹ ɩɨɥɟ ɜɜɨɞɚ, ɜ ɤɨɬɨɪɨɦ ɦɨɠɧɨ ɭɤɚɡɚɬɶ ɧɚɡɜɚɧɢɟ ɢ ɬɢɩ ɫɜɨɣɫɬɜɚ. ɉɨ ɭɦɨɥɱɚɧɢɸ ɩɨɥɹ ɫɨɡɞɚɸɬɫɹ ɫ ɞɨɫɬɭɩɨɦ ɤ ɡɚɩɢɫɢ ɢ ɱɬɟɧɢɸ ɱɟɪɟɡ ɩɪɨɰɟɞɭɪɵ. ȿɫɥɢ ɷɬɨ ɧɟ ɧɭɠɧɨ, ɦɨɠɧɨ ɜɪɭɱɧɭɸ ɨɬɪɟɞɚɤɬɢɪɨɜɚɬɶ ɫɜɨɣɫɬɜɚ ɜ ɪɟɞɚɤɬɨɪɟ ɤɨɞɚ. ɋɨɡɞɚɞɢɦ ɫɜɨɣɫɬɜɚ ɫɨɝɥɚɫɧɨ ɬɚɛɥ. 5.5.

7.Ⱦɨɛɚɜɶɬɟ ɩɪɨɰɟɞɭɪɵ ɜ ɫɨɨɬɜɟɬɫɬɜɢɢ ɫ ɬɚɛɥ. 5.6. Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɩɪɨɰɟɞɭɪɵ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɤɥɚɫɫɭ ɢ ɜ ɩɨɹɜɢɜɲɟɦɫɹ ɤɨɧɬɟɤɫɬɧɨɦ ɦɟɧɸ ɜɵɛɟɪɢɬɟ ɩɭɧɤɬ Add ɢ ɩɨɞɩɭɧɤɬ Procedure.

8.Ⱦɥɹ ɞɨɛɚɜɥɟɧɢɹ ɮɭɧɤɰɢɢ ɜ ɤɥɚɫɫɟ ɳɟɥɤɧɢɬɟ ɩɪɚɜɨɣ ɤɧɨɩɤɨɣ ɦɵɲɢ ɩɨ ɧɟɦɭ. ɉɨɹɜɢɬɫɹ ɤɨɧɬɟɤɫɬɧɨɟ ɦɟɧɸ, ɜ ɤɨɬɨɪɨɦ ɧɭɠɧɨ ɜɵɛɪɚɬɶ ɩɭɧɤɬ Add

ɢɩɨɞɩɭɧɤɬ Function ɢɥɢ ɧɚɠɚɬɶ ɫɨɱɟɬɚɧɢɟ ɤɥɚɜɢɲ Ctrl + M.

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

-79-

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

ȿɩɜɛɝɦɠɨɣɠ ɨɩɝɩɞɩ ɧɩɟɮɦɺ ɝ ɪɫɩɠɥɭ

Ɉɫɬɚɥɶɧɵɟ ɤɥɚɫɫɵ ɫɨɡɞɚɸɬɫɹ ɚɧɚɥɨɝɢɱɧɨ. Ⱦɚɥɟɟ ɭɫɬɚɧɨɜɢɦ ɧɚɫɥɟɞɨɜɚ-

ɧɢɟ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ TExecuteObject ɢ TDBObject.

1.Ⱦɥɹ ɭɫɬɚɧɨɜɥɟɧɢɹ ɨɬɧɨɲɟɧɢɹ ɧɚɫɥɟɞɨɜɚɧɢɹ ɭ ɤɥɚɫɫɚ TExecuteObject ɧɭɠɧɨ ɧɚɣɬɢ ɤɥɚɫɫ TDBObject ɜɨ ɜɤɥɚɞɤɟ Model View ɢ ɩɟɪɟɧɟɫɬɢ ɧɚ ɞɢɚɝɪɚɦɦɭ ɤɥɚɫɫɚ TExecuteObject. ɇɚ ɞɢɚɝɪɚɦɦɟ ɩɨɹɜɢɬɫɹ ɫɫɵɥɤɚ ɧɚ ɤɥɚɫɫ.

2.ȼɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɩɭɧɤɬ Generalization.

3.ɓɟɥɤɧɢɬɟ ɦɵɲɤɨɣ ɩɨ ɤɥɚɫɫɭ TExecuteObect.

4.ɓɟɥɤɧɢɬɟ ɦɵɲɤɨɣ ɩɨ ɤɥɚɫɫɭ TDBObject.

Ⱦɚɥɟɟ ɭɫɬɚɧɨɜɢɦ ɚɫɫɨɰɢɚɰɢɸ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ TDBObject ɢ TTransactionObject.

1.Ⱦɥɹ ɧɚɫɬɪɨɣɤɢ ɚɫɫɨɰɢɚɰɢɢ ɦɟɠɞɭ ɤɥɚɫɫɚɦɢ TDBObject ɢ TTransactionObject ɧɭɠɧɨ ɩɟɪɟɧɟɫɬɢ ɤɥɚɫɫ TDBObject ɧɚ ɞɢɚɝɪɚɦɦɭ ɤɥɚɫɫɚ TTransactionObject.

2.ȼɵɛɟɪɢɬɟ ɧɚ ɩɚɧɟɥɢ ɢɧɫɬɪɭɦɟɧɬɨɜ ɩɭɧɤɬ Association.

3.ɓɟɥɤɧɢɬɟ ɩɨ ɤɥɚɫɫɭ TDBObject.

4.ɓɟɥɤɧɢɬɟ ɩɨ ɤɥɚɫɫɭ TTransactionObject.

5.ȼ Ɉɛɥɚɫɬɢ ɢɧɫɩɟɤɬɨɪɚ ɭɫɬɚɧɨɜɢɬɟ ɭ ɫɜɨɣɫɬɜɚ Type ɡɧɚɱɟɧɢɟ Aggregation.

ɋɨɡɞɚɧɢɟ ɤɥɚɫɫɨɜ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ

ɋɬɪɭɤɬɭɪɚ ɤɥɚɫɫɨɜ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ ɩɪɟɞɫɬɚɜɥɟɧɚ ɧɚ ɪɢɫ. 5.7.

Ʉɥɚɫɫ TDataPrepare ɹɜɥɹɟɬɫɹ ɛɚɡɨɜɵɦ ɤɥɚɫɫɨɦ ɫɥɨɹ ɛɢɡɧɟɫ-ɥɨɝɢɤɢ. ɉɨɥɹ ɤɥɚɫɫɚ ɩɪɟɞɫɬɚɜɥɟɧɵ ɜ ɬɚɛɥ. 5.1, ɫɜɨɣɫɬɜɚ ɤɥɚɫɫɚ – ɜ ɬɚɛɥ. 5.2. Ⱦɚɧɧɵɣ ɤɥɚɫɫ ɢɦɟɟɬ ɜɢɪɬɭɚɥɶɧɵɟ ɦɟɬɨɞɵ, ɩɪɢɜɟɞɟɧɧɵɟ ɜ ɬɚɛɥ. 5.3.

Ʉɥɚɫɫɵ, ɩɨɪɨɠɞɟɧɧɵɟ ɨɬ ɤɥɚɫɫɚ TDataPrepare. ȼ ɷɬɢɯ ɤɥɚɫɫɚɯ ɧɟɨɛɯɨ-

ɞɢɦɨ ɩɟɪɟɨɩɪɟɞɟɥɢɬɶ ɜɫɟ ɜɢɪɬɭɚɥɶɧɵɟ ɦɟɬɨɞɵ ɤɥɚɫɫɚ TDataPrepare ɢ ɫɨɡɞɚɬɶ ɫɜɨɣɫɬɜɚ ɫɨɝɥɚɫɧɨ ɬɚɛɥ. 5.17, ɬɚɛɥ, 5.18, ɬɚɛɥ. 5.19.

TDataPrepare

 

 

 

 

 

 

 

 

TBook

 

 

TStudentBook

 

TStudents

 

 

 

 

 

 

 

 

Ɋɢɫ. 5.7. ɋɬɪɭɤɬɭɪɚ ɤɥɚɫɫɨɜ ɫɥɨɹ «Ȼɢɡɧɟɫ-ɥɨɝɢɤɚ»

Ɍɚɛɥɢɰɚ 5.17

 

ɋɜɨɣɫɬɜɚ ɤɥɚɫɫɚ TBook

 

Ɉɩɢɫɚɧɢɟ

ɋɜɨɣɫɬɜɨ

Author: string

Ⱥɜɬɨɪ ɤɧɢɝɢ

Name: string

ɇɚɡɜɚɧɢɟ ɤɧɢɝɢ

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

-80-

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