значно більш простим взаємодія між різними учасниками бізнес-процесів. Популярність BpWin дає можливість узгоджувати функціональні моделі в електронному вигляді. Використання цього програмного комплексу дозволяє ефективно забезпечити всі аспекти моделювання інформаційних систем.
. 1 Налагодження програми
При написанні даного додатка допускалися різні помилки. Всі помилки можна розділити на такі види:
. Синтаксичні помилки викликаються порушенням синтаксису мови, вони виявляються й усуваються при компіляції програми. Їх виявляє компілятор, видаючи повідомлення і вказуючи в тексті програми місце, де виникла помилка. Наприклад,
Sheet.Range [ AX20 ]:=
Form6.ADOQuery1.FieldByName ('Фінансовий_орган) .AsString;
Допущена помилка - в записі операції відсутній апостроф ( '). При її виявленні в ході компіляції буде видано відповідне повідомлення.
. Логічні помилки є наслідком реалізації неправильного алгоритму і проявляються при виконанні програми. Їх наявність зазвичай не призводить до видачі користувачеві будь-яких повідомлень або припинення роботи всього програми, проте програма буде працювати некоректно і видавати невірні результати. Наприклад,
if not DBGrid2.DataSource.DataSet.Eof.DataSource.DataSet.Delete;
У даному шматку коду допущена помилка - не вірно задано логічне умова, в результаті чого не буде виконуватися видалення даних з бази. Необхідно дану помилку виправити, додавши знак логічної операції then.
. Динамічні помилки виникають, якщо в програмі тобто не заповнені поля даних.
Тут під час виконання програми можлива поява помилки, пов'язаної з базою даних.
Як правило, логічні і динамічні помилки знаходяться і виправляються після проведення тестів з використанням контрольних прикладів.
Для пошуку конкретної помилки використовувалися можливості компілятора Delphi, що володіє наступними вбудованими командами:
1) команда Step Over (Крок з обходом) наказує виконання одного рядка коду програми з обходом процедур (процедура виконується як єдиний модуль);
2) команда Trace Into (Трасування до) наказує виконання одного рядка коду програми із заходом в процедури і їх подальшим порядковим виконанням;
) команда Run To Cursor (Виконання до курсору) задає виконання завантаженої програми до місця розміщення курсора.
Також використовувалися можливості Delphi для контролювання виразів:
) Вікно Watch дозволяє ввести необхідне вираження і проконтролювати його значення після запуску програми.
2) Вікно Modify дозволяє не тільки переглядати значення виразу, змінної, але і змінювати його. Дана опція застосовувалася в тому випадку, коли під час виконання програми по кроках була виявлена ??помилка, проте необхідно було подальше виконання програми без переривання.
Весь процес налагодження можна розділити на ряд послідовних етапів:
a. Визначення дій (ситуацій), після яких виникає помилка.
b.Іспользуя контрольні точки і покрокове виконання програми, визначення точного місця виникнення помилки в початковому тексті программи..Определеніе причини ошібкі..Ісправленіе помилки.
. 2 Захист порушення цілісності програми і даних
Захист від помилок застосовувалася в різних частинах програми.
Захист від помилок виражалася в контролі небезпечного фрагмента програми, якщо ж виникає ймовірність появи будь-якої помилки, то програма виходить з небезпечної процедури або пропускає небезпечний фрагмент коду, попередньо повідомивши користувачеві про помилку у вигляді інформаційного вікна. Наприклад, якщо при заповненні розшифровки не заповнена сама заявка, то при оновленні даних виводиться повідомлення про помилку: Не вдається знайти рядок для оновлення. Деякі значення могли бути змінені з часу останнього читання. Програма вимагає заповнення полів заявки.
Малюнок 20 - Помилка в проекті
Так само, якщо що заносяться в базу дані мають повторювані значення індексу, ключових полів або зв'язків, то виводиться повідомлення про помилку наступного виду:
Малюнок 21 - Помилка при повторенні індексів, ключових полів або зв'язків
. 3 Характеристика програми
Програма включає 19 модулів, сумарний розмір вихідного тексту становить 720 рядків (8,19 МБ). У таблиці 2.7 представлені модулі...