Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 18

Автор Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ ΠœΠ΅ΠΉΠ΅Ρ€

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

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ понятиС допускаСт мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Π—Π΄Π΅ΡΡŒ Ρ‚Π°ΠΊΠΈΠΌ понятиСм Π±Ρ‹Π»ΠΎ "публикация" ("publication"), Π° Π΅Π³ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ Π±Ρ‹Π»ΠΈ: ΠΊΠ½ΠΈΠ³Π° (book), ΠΆΡƒΡ€Π½Π°Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ (journal article), Ρ‚Ρ€ΡƒΠ΄Ρ‹ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ (conference proceedings); Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ:

[x]. Π’ систСмС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ: понятиС Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ (figure), с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ (polygon), ΠΎΠΊΡ€ΡƒΠΆΠ½ΠΎΡΡ‚ΡŒ (circle), эллипс (ellipse), ΠΎΡ‚Ρ€Π΅Π·ΠΎΠΊ (segment) ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ основныС Π²ΠΈΠ΄Ρ‹ Ρ„ΠΈΠ³ΡƒΡ€.

[x]. Π’ тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅: понятиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (user command), с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊ вставка строки (line insertion), ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строки (line deletion), ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ символа (character deletion), глобальная Π·Π°ΠΌΠ΅Π½Π° (global replacement) ΠΎΠ΄Π½ΠΎΠ³ΠΎ слова Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

[x]. Π’ компиляторС для языка программирования: понятиС языковой конструкции (language construct), с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π° (instruction), Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (expression), ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° (procedure).

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

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ЕдинствСнного Π’Ρ‹Π±ΠΎΡ€Π°

Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° систСма ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ мноТСство Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ², ΠΈΡ… ΠΏΠΎΠ»Π½Ρ‹ΠΉ список Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ извСстСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ систСмы.

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ список Π²Ρ‹Π±ΠΎΡ€Π° Π±Ρ‹Π» извСстСн лишь ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, обСспСчиваСт ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ измСнСниям: ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² понадобится произвСсти ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³ΠΎ модуля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится эта информация - Ρ‚Π°ΠΊΠΎΠ²Π° ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ СдинствСнного Π²Ρ‹Π±ΠΎΡ€Π°. А всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π² частности - Π΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, смогут ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ позволят ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ благодаря Π΄Π²ΡƒΠΌ мСтодичСским ΠΏΡ€ΠΈΠ΅ΠΌΠ°ΠΌ, связанным с наслСдованиСм: ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ (polymorphism) ΠΈ динамичСским связываниСм (dynamic binding). Однако ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ здСсь ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ обсуТдСния нСдостаточно; эти мСтодичСскиС ΠΏΡ€ΠΈΠ΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ лишь Π² контСкстС всСго ΠΌΠ΅Ρ‚ΠΎΠ΄Π° наслСдования. (Π‘ΠΌ. "ДинамичСскоС связываниС" лСкция 4)

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ЕдинствСнного Π’Ρ‹Π±ΠΎΡ€Π° нуТдаСтся Π΅Ρ‰Π΅ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… коммСнтариях:

[x]. Π’ соотвСтствии с этим ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ, список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ извСстСн ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ. Из Ρ†Π΅Π»Π΅ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ программирования слСдуСт, Ρ‡Ρ‚ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΉ этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ; Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅, Ρ‡Ρ‚ΠΎ Сю Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ±Π»Π°Π΄Π°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. НСвозмоТно ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ссли ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ списка всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄, для графичСской ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ - списка всСх Ρ‚ΠΈΠΏΠΎΠ² Ρ„ΠΈΠ³ΡƒΡ€, для компилятора - списка всСх языковых конструкций.

[x]. Подобно Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ, обсуТдСнным Π² этой Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ЕдинствСнного Π’Ρ‹Π±ΠΎΡ€Π° касаСтся распрСдСлСния Π·Π½Π°Π½ΠΈΠΉ (distribution of knowledge) Π² систСмС ПО. Π­Ρ‚ΠΎΡ‚ вопрос являСтся Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈ поискС Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹Ρ…, ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΡŒΠ½ΡƒΡŽ, Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ПО, слСдуСт ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ строго ΠΎΠ±Π΄ΡƒΠΌΠ°Π½Π½Ρ‹Π΅ шаги ΠΏΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡŽ объСма ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, доступной ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ. По Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ общСствСнными организациями, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ это ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ знания (need-to-know): Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ доступ ΠΊ любой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая Π½Π΅ являСтся бСзусловно Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для Π΅Π³ΠΎ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π³ΠΎ функционирования.

[x]. МоТно Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ЕдинствСнного Π’Ρ‹Π±ΠΎΡ€Π° ΠΊΠ°ΠΊ прямоС слСдствиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚-Π—Π°ΠΊΡ€Ρ‹Ρ‚. ΠžΠ±ΡΡƒΠ΄ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΉ Π² свСтС рисунка, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… модулях: A это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, содСрТащий ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ описаниС Ρ‚ΠΈΠΏΠ° PUBLICATION; ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ B, C это ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, зависящиС ΠΎΡ‚ исходного списка Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²; A' это ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½Π°Ρ вСрсия A, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰Π°Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ - тСхничСскиС ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ (technical reports). (Π‘ΠΌ. Π²Ρ‚ΠΎΡ€ΠΎΠΉ рисунок Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ "ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚-Π—Π°ΠΊΡ€Ρ‹Ρ‚")

[x]. МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ этот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΠΊΠ°ΠΊ ΡΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Бкрытия Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ-поставщиков, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ A ΠΈ A', стрСмится ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ (ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ списка Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ понятия) ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ

[x]. Π’Ρ‹Π±ΠΎΡ€ Π½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅ΠΉ структуры модуля являСтся ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ Ρ†Π΅Π»Π΅ΠΉ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ.

[x]. ΠœΠΎΠ΄ΡƒΠ»ΠΈ слуТат ΠΊΠ°ΠΊ для Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ свСрху Π²Π½ΠΈΠ·), Ρ‚Π°ΠΊ ΠΈ для Π΅Π³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ (снизу-Π²Π²Π΅Ρ€Ρ…).

[x]. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊΠ°ΠΊ ΠΊ спСцификации ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ПО.

[x]. Π’ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния; Ρ€Π°Π·Π½Ρ‹Π΅ трСбования ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСкомпозиция (ΡΡ‚ΠΈΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ проСктирования свСрху-Π²Π½ΠΈΠ·) ΠΈ композиция (ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ использованию ΠΌΠ΅Ρ‚ΠΎΠ΄Π° снизу-Π²Π²Π΅Ρ€Ρ…).

[x]. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ количСством ΠΈ Ρ„ΠΎΡ€ΠΌΠΎΠΉ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ модулями являСтся основой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

[x]. Для долгосрочной цСлостности структур ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ систСмы трСбуСтся скрытиС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ нСобходимости строгого раздСлСния интСрфСйса ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

[x]. Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ доступ освобоТдаСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ знания Π²Ρ‹Π±ΠΎΡ€Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… прСдставлСний, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² модулях-поставщиках.

[x]. Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ являСтся Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, благодаря знанию Π΅Π³ΠΎ интСрфСйса, модулями-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ.

[x]. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ являСтся Ρ‚Π°ΠΊΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ.

[x]. Для эффСктивного руководства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ слСдуСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ. Но Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π΅ Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ возмоТности.

[x]. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ЕдинствСнного Π’Ρ‹Π±ΠΎΡ€Π° прСдписываСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ распространСниС ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±ΠΎ всСх Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ понятия.

БиблиографичСскиС замСчания

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ проСктирования, извСстном ΠΊΠ°ΠΊ "структурноС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅" [Yourdon 1979], особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ придаСтся ваТности использования ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… структур. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±Ρ‹Π» основан Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ "сцСплСния" ΠΈ "связности" ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Но нСявно Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠ΅ прСдставлСниС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² структурном ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π±Ρ‹Π»ΠΎ основано Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ понятии ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ»ΠΎ Ρ€Π°ΠΌΠΊΠΈ обсуТдСния. ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ доступа Π±Ρ‹Π» ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ (ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "унифицированная ссылка") Π² Ρ€Π°Π±ΠΎΡ‚Π΅ [Geschke 1975]. ΠŸΡ€ΠΈ обсуТдСнии ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ доступа упоминался язык Algol W, ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ языка Algol 60 ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ языка Pascal (Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±Ρ‹Π»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ интСрСсныС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ²ΡˆΠΈΠ΅ΡΡ Π² Pascal'Π΅), Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Π’ΠΈΡ€Ρ‚ΠΎΠΌ ΠΈ Π₯ΠΎΠ°Ρ€ΠΎΠΌ, ΠΈ описанный Π² Ρ€Π°Π±ΠΎΡ‚Π΅ [Hoare 1966].

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π±Ρ‹Π»ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π² Π΄Π²ΡƒΡ… ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… Дэвида ΠŸΠ°Ρ€Π½Π°ΡΠ° [Parnas 1972] [Parnas 1972a].

БрСдства управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ измСнСниями Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… модулях, исходя ΠΈΠ· ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ списка зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ модулями, основаны Π½Π° концСпциях сСрвисной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Make, ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ для Unix [Feldman 1979]. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ сСрвисныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ - Π° ΠΈΡ… имССтся ΠΌΠ½ΠΎΠ³ΠΎ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… срСдств - сущСствСнно Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ основных ΠΈΠ΄Π΅ΠΉ.

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π½ΠΈΠΆΠ΅ ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠΉ прСдлагаСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для количСствСнной ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, сформулированных Π² этой Π»Π΅ΠΊΡ†ΠΈΠΈ. НСкоторыС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, относящиСся ΠΊ ОО-ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ, содСрТатся Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ… ΠšΡ€ΠΈΡΡ‚ΠΈΠ½Ρ‹ МиндТинс (Christine Mingins) [Mingins 1993] [Mingins 1995] ΠΈ Π‘Ρ€Π°ΠΉΠ°Π½Π° Π₯СндСрсон-БСллСрса (Brian Henderson-Sellers) [Henderson-Sellers 1996a].

УпраТнСния

Π£3.1 ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² языках программирования

РассмотритС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Π΅ структуры Π² любом Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΌ Π²Π°ΠΌ языкС программирования ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚Π΅, насколько ΠΎΠ½ΠΈ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚ критСриям ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ, ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ Π² этой Π»Π΅ΠΊΡ†ΠΈΠΈ.