і програми (За деякими оцінками, більше 20%). p> Витрати ці можна істотно знизити, якщо запропонувати програмісту автоматизований спосіб підготовки засобів контролю.
Нижче ми розглянемо фільтрацію - автоматизований процес, запобігає проникненню перешкод в програму. Виділяючи цей процес з інших контролюючих процесів, ми виходимо з тези необхідності якомога більш раннього виявлення помилки. Крім того, ми вважаємо, що контроль повинен бути керованим з боку програміста, інакше кажучи, програміст сам повинен визначати, що треба контролювати і коли треба контролювати. Ми можемо тільки видати відповідні рекомендації. h4> Технології фільтрації
Назвемо фільтрацією величини Х з програми Р автоматизований процес, запобігає проникненню некоректних значень величини Х в програму Р. Цей процес включає перевірку коректність значення величини Х і реакції на некоректність такого значення. Програмні засоби, що реалізують процес фільтрації назвемо фільтрами. Істотним для фільтра в застосуванні до практичного програмування є його орієнтація на специфікацію контрольованої величини, що включає в себе ареал величини і опис реакцій на некоректність значення цієї величини.
Ареал. Будь-яка програма орієнтована на явно чи неявно заданий безліч значень своїх вхідних величин (область визначення, безліч допустимих значень). Коли програма використовується спільно з іншими програмами (у системі, в комплексі), це безліч значень може виявитися більш конкретним, більш вузьким.
Ареалом величини Х з програми Р називається безліч значень, які можуть бути присвоєні Х, виходячи з призначення та умови застосування програми Р.
Визначення підкреслює, що різні умови застосування програми можуть визначати різні ареали величини.
Поняття ареалу поширюється не тільки на вхідні величини, але і на змінні, і на результуючі. Зауважимо, що для однієї і тієї ж величини Х в різних місцях програми можуть бути задані різні ареали. p> Реакція на некоректність контрольованої величини може бути різною:
В· повідомлення про помилку;
В· заміна некоректного значення стандартним значенням;
В· заміна найближчим (за деяким критерієм) значенням;
В· звернення до підпрограми користувача;
В· припинення обчислень і т.д.
У будь-якому випадку реакція на некоректність повинна бути передбачена заздалегідь при складанні специфікації величини.
Фільтр - стандартизоване засіб, автоматично настроюється на специфікацію (точніше, на ареал) фільтрованої величини. Налаштування ця може виконуватися як при використанні фільтра, так і при його побудові. Для того, щоб виконати фільтрацію, необхідно дізнатися:
В· ім'я фильтруемого об'єкта або значення об'єкта;
В· специфікацію об'єкта;
В· точку пуску фільтрації.
Реалізація фільтра залежить від того, на якому етапі визначається фактичне значення фільтрованої величини. Так, значення параметрів макрокоманди виз...