КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Відлагодження і тестування
Цей етап рішення задачі вимагає частих контактів з ЕОМ. Спілкування користувачів з ЕОМ залежить від режимів проходження програм через машину, які забезпечує операційна система (ОС): пакетна (конвеєрна) обробка і інтерактивна обробка (діалог). Дуже рідко програма після першого введення в комп'ютер (незалежно від режиму обробки в ОС) починає видавати бажані результати, оскільки спроектовані фахівцем структура даних, алгоритм і програма зазвичай містять помилки. Їх треба виявити, усвідомити і виправити. Процес виявлення і виправлення всіх помилок в програмі, допущених на попередніх етапах рішення задачі, а також процес встановлення факту правильного функціонування програми в ЕОМ, називається відлагодженням програми. Основне завдання відлагодження − якнайшвидша локалізація всіх помилок при мінімальних витратах машинного часу. Цей процес вельми трудомісткий, такий, що вимагає великої розумової напруги; витрати машинного часу можуть бути значними. Відлагодження є дуже важливим етапом рішення задачі на ЕОМ, тому даний процес повинен бути наперед продуманий і ретельно спланований. Процес відлагодження складається з наступних основних кроків: 1) перевірка синтаксичної правильності тексту програми; 2) автономне відлагодження частин програми; 3) комплексне відлагодження програми і алгоритму в цілому. Синтаксичний контроль тексту програми виконує Автономне відлагодження служить для перевірки роботи алгоритму. Для спрощення відлагодження програм підвищеної складності їх доцільно розчленовувати на незалежні частини (модулі, сегменти). Мови високого рівня дозволяють транслювати і відлагоджувати такі автономні частини окремо, до об'єднання їх в загальну програму. При відлагоджуванні частин програми спочатку перевіряються лінійні ділянки, тобто послідовності операторів мови без циклів і переходів, потім логіка, тобто вибір потрібної гілки алгоритму у разі альтернатив, управління числом повторень в циклах, безумовні переходи і т.п. Для проведення автономного відлагодження необхідно підготувати набір контрольних прикладів − тестів відлагодження, які слугують зразками для порівняння з машинними результатами. Тести обчислюються традиційним способом, тобто вручну із залученням таблиць спеціальних математичних функцій (наприклад, функцій Бесселя, Ханкеля). З точки зору об'єму обчислень тести повинні бути по можливості простими і в той самий час вони повинні забезпечувати перевірку всіх логічних особливостей алгоритму. Комплексне відлагодження полягає в перевірці правильності виконання всіх автономних частин програми, зв'язаних в єдине ціле за допомогою головної (ведучої) програми. Перевіряються правильність виклику всіх програмних одиниць і обмін даними між ними, а також операції введення і виведення інформації в програмі. Автономне відлагодження дозволяє виявити основну масу помилок (близько 80%). Проте витрати часу на пошук кожної помилки, що залишилася, у великих програмах з складною логічною структурою може зростати в 10-20 разів. Тому загальна трудомісткість відлагодження програм може бути в кілька разів вища за трудомісткість автономного відлагодження Автономне і комплексне відлагодження істотно спрощуються, якщо у використовуваній системі програмування є набір спеціальних відлагоджуючих, тестуючих і редагуючих програм. Завершує комплексне відлагодження розрахунок (прогін) одного-двох контрольних варіантів модельованого на ЕОМ дослідницького завдання, конкретні рішення для яких відомі або легко прогнозуються. Основне завдання тепер – переконатися в повній працездатності і ефективності чисельного методу (дискретній моделі). Звичайні наступні види помилок: неповний облік діапазонів змінних, неправильна оцінка точності початкових, проміжних даних і одержуваних результатів обробки; невірний облік кореляції між різними змінними; неадекватне визначення формалізованих умов в постановці завдання і т.д. Таким чином, процес усунення подібних помилок можна трактувати як уточнення, деталізацію і доопрацювання початкової постановки завдання. У ряді випадків корисним прийомом виявлення помилок в чисельному алгоритмі є організація контролю фізичного сенсу одержуваних результатів, для чого в завдання доцільно вводити непрямі перевірки або умови, яким повинні задовільняти результати рішення. Ці умови, що безпосередньо в програмі не використовуються, відображають деякі додаткові зв'язки між шуканими величинами. Наприклад, до таких умов відносяться: обмеження на суму нев'язок правих частин при рішенні систем рівнянь алгебри; точність виконання деяких інтегральних співвідношень (законів збереження маси, енергії, імпульсу) при рішенні рівнянь математичної фізики різницевими методами і т.д. У разі порушення таких умов слід припинити обчислення і зайнятися пошуком помилок в алгоритмі або вибраному чисельному методі. Якщо метод і алгоритм виявляться малоефективними (наприклад, повільна збіжність ітерацій, чисельна нестійкість, часті звернення до зовнішньої пам'яті або повільного друку), доведеться зайнятися питаннями їх поліпшення, оптимізації, а іноді і корінної заміни.
Дата добавления: 2014-11-25; Просмотров: 3096; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |