Малюнок 2.4. Тріада прагматичності програм



 

Основні відношення в цій тріаді наступні:

· прагматика (програма–користувач),

· обчислюваність (програма–процес виконання),

· інтерфейс (процес виконання–користувач).

Відзначимо, що хоча на перших етапах розвитку понять програмування введені відношення є абстрактними та бідними, при подальшій конкретизації вони розгортаються до дуже важливих та багатих відношень. Так, відношення обчислюваності є предметом теорії алгоритмів, якій присвячено чимало книжок. Інше відношення "користувач – процес обчислення". Його можна називати по-різному: (людино–машинний) інтерфейс, діалог. Це відношення деталізується як в монографіях, так і в державних стандартах. Можна виокремлювати різні рівні абстракції, пов’язані з цим відношенням. Наприклад:

1. Найбільш абстрактним буде вивчення відношення  "користувач – процес обчислення " – в абстракції від програм та проблем.

2. Більш конкретним буде вивчення цього відношення з урахуванням особливостей програм.

3. Ще більша конкретність з’явиться при урахуванні особливостей програм та проблем і т.д.

На кожному рівні абстракції є свої специфічні особливості відношення інтерфейсу. Наприклад, на першому рівні можна врахувати сприйняття користувачем кольорів монітору, швидкість набору символів на клавіатурі. На другому рівні можна врахувати кількість інформації, що видається програмою, спосіб розміщення цієї інформації на моніторі і таке інше. На третьому рівні додатково враховуються особливості проблеми, скажімо, чи вимагає проблема реакції у реальному часі.

Звичайно, є і багато інших конкретних рівнів.

 

2.3.3 Тріада основних понять програмування

 

Перейдемо до наступного кроку розвитку. Цей крок полягає в тому, щоб розкрити відношення адекватності. Це відношення розкривається в процесі створення, породження програм. Цей аспект називається генетичним аспектом програм. На цьому кроці з'являється поняття, що поєднує поняття програми та проблеми. Таким поняттям буде програмування (як процес), яке повинно зв'язати разом проблему і відповідну їй програму. Таким чином, побудовано нову тріаду розвитку: проблема (теза) – програма (антитеза) – процес програмування (синтез). Цю тріаду назвемо тріадою основних понять програмування, бо саме в ній вперше з'являється поняття програмування (тут терміни програмування та процес програмування розглядаємо як синоніми, проте будемо часто вживати саме термін процес програмування, щоб підкреслити динамічний характер програмування). Крім того, термін "основні" тут використаний для того щоб підкреслити, що суть програмування полягає саме в створенні необхідної єдності проблеми предметної області і програми, що використовується для розв’язання цієї проблеми.  

Поняття основної тріади програмування пов'язані певними співвідношеннями (малюнок 2.5). Так, поняття програмування та проблеми з'єднує відношення орієнтованості процесу програмування на розв'язок певної проблеми (проблемно-орієнтованість). Що ж стосується взаємодії понять програми та програмування, то тут виділимо два відношення:

· відношення генетичності програм (відношення програма – процес програмування)

· відношення експлікативності процесу програмування (відношення процес програмування – програма).

Для розкриття основної ідеї цих відношень, розглянемо приклади.

Припустимо, що ви хочете купити мобільний телефон. Серед різних параметрів, які визначають ваш вибір, буде і параметр, пов’язаний з виробником телефону, тобто яка фірма і на якому заводі виробила телефон. Якщо це – бренд (на сучасному етапі – Nokia, Samsung, Motorola), то ви маєте більше довіри до якості телефону. Цей приклад демонструє важливість генетичного аспекту. Те саме стосується і генетичності програм: якщо програма (програмна система) розроблена відомою фірму, яка використовує гарні технології розробки програм, то слід очікувати, що така програма буде більш надійною та ефективною, ніж програма, створена фірмою-одноденкою.

 Відношення процесу програмування до програми буде конкретизовано як відношення уточнюваності (експлікативності процесу програмування).

Щоб зрозуміти, що означає це відношення, треба розглянути, як процес програмування пов'язаний з програмою. Спочатку про програму нічого не відомо (ні її розмір, ні кількість операторів і таке подібне). Програма виступає як чорна скринька, наповнення якої з'явиться пізніше. На наступних кроках процесу програмування промальовується деяка структура програми, її частини і т. д. Програма поступово уточнюється. Процес цих уточнень і задає відношення експлікативності.

Зробимо термінологічне зауваження: інколи вживають терміни "деталізація", "конкретизація", "декомпозиція". В англомовній літературі часто вживається термін "refinement", одним із смислів якого є уточнення.

 

 


Дата добавления: 2019-02-13; просмотров: 225; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!