явлення всіх помилок у програмі, використовуючи керування за даними, необходімовиполніть вичерпне тестування, т. е. тестування на всіх можливих наборах даних. Длятех же програм, де виконання команди залежить від попередніх їй подій, необходімопроверіть і всі можливі послідовності. Очевидно, що проведення ісчерпивающеготестірованія для переважної більшості випадків неможливо. Тому зазвичай виконують розумне або прийнятне тестування, яке обмежується прогонами програми нанебольшом підмножині всіх можливих вхідних даних. Цей варіант не дає гарантііотсутствія відхилень від специфікацій.
Правильно вибраний тест повинен зменшувати, причому більш ніж на одиницю, число другіхтестов, які повинні бути розроблені для забезпечення необхідної якості програмногозабезпечення.
Ми будемо використовувати саме цей спосіб тестування, так як він менш трудомісткий, ніж метод білого ящика (структуний аналіз).
5. Створення програми
. 1 Дерево функцій
5.2 Послідовність створення програми
Ми проаналізували і досліджували задачу курсової роботи, вибрали метод проектування алгоритму, визначили функції і можливості, які надаватиме програма. Тепер можна приступити безпосередньо до розробки програми та її модулів.
5.3 Сценарій діалогу програми
№ вершини графаОперація0Запуск программи1Меню программи2Созданіе файла3Вивод таблиці на екран4Сохраненіе таблиці в файл5Добавленіе запісі6Удаленіе запісі7Сортіровка за номерами поездов8Інформація про поезде9Поіск поїздів по першій букві пункту назначенія10Поіск поїздів за кількістю мест11Завершеніе роботи програми
Висновок
У цій роботі була розроблена програма, що дозволяє працювати з базою даних TRAIN у відповідності з поставленими вимогами. Програма включає в себе процедури, що забезпечують виконання всіх поставлених завдань для роботи з базою даних. Головне меню програми дозволяє забезпечити доступ до функцій програми і до відомостей, що зберігаються в базі даних TRAIN .
За допомогою класу статичних масивів ефективно використовувалася пам'ять, необхідна для роботи програми. Проведене тестування показало працездатність програми і відповідність її вимогам завдання на курсовий проект.
Додаток 1
Опис розроблених функцій
Назва функцііНазначеніе функцііvoidoutputfile () Збереження поточної БД в txt файлvoidinputfile () Введення БД з txt файлаvoidadd () Додавання нового рядка з даними в БДvoiddeletetrain () Видалення рядки з БДvoidoutput () Висновок поточної БД на екранvoidsort_np () Сортування за номерами поездовvoidpoisk_no () Інформація про поїзді по його номеруvoidpoisk_pb () Пошук поїздів по первой букві пункту назначеніяvoidpoisk_km () Пошук поїздів за кількістю місць
Опис глобальних змінних
struct train char po [l] char pnl [l] int km intnp-структура TRAIN -пункт відправлення -пункт призначення -кількість місць -номер поїзда
Додаток 2
Лістинг програми
# include lt; iostream.h gt;
# include lt; fstream.h gt;
# include lt; string.h gt;
# include lt; stdlib.h gt;
# include lt; conio.h gt;
# include lt; iomanip.h gt;
# include lt; vcl gt; l=30; train
{charpo [l], pn [l]; int km, np; }; N=100;
{private: train x [N] ;: n; (); (); add (); (); output (); _ np (); _ no (); _ pb (); _ km ();
}; main ()
{trai a; .n=0; j; (1)
{cout lt; lt; 1. Zagruzka is faila. N raquo ;; lt; lt; 2. Vivodnaekran. N raquo ;; lt; lt; 3. Sokhranenietablici v fail. N raquo ;; lt; lt; 4. Dobavleniezapisi. N raquo ;; lt; lt; 5. Udaleniezapisi. N raquo ;; lt; lt; 6. Sortirovkaponomerampoezdov. N raquo ;; lt; lt; 7. Vivodinformacii o poezdepo ego nomeru. N raquo ;; lt; lt; 8. Poiskpoezdovpo 1 bukvepunktanaznacheniya. N raquo ;; lt; lt; 9. Poiskpoezdovpokolichestvumest. N raquo ;; lt; lt; 10. Vixod. N n raquo ;; lt; lt; Vashvibor (1% 10): raquo ;; gt; gt; j; (j)
{case 1: a.inputfile (); break; 2: a.output (); break; 3: a.outputfile (); break; 4: a.add (); break; 5: a.deletetrain (); break; 6: a.sort_np (); break; 7: a.poisk_no (); break; 8: a.poisk_pb (); break; 9: a.poisk_km (); break; 10: cout lt; lt; Konecprogrammi. raquo ;; getc...