мета - підвищення читабельності і ясності алгоритму (і програми), більш високої продуктивності програмістів і спрощення налагодження. У відповідності з цим принципом для побудови будь-якого алгоритму (програми) потрібні три типові блоку:
. Функціональний. Використовується для представлення лінійних алгоритмів. Описується мовою графічних символів наступним чином:
2. Циклічний. Використовується для представлення циклічних алгоритмів. Описується мовою графічних символів одним із двох способів:
3. Конструкція прийняття довічного рішення. Застосовується для представлення алгоритмів, що розгалужуються. Описується мовою графічних символів наступним чином:
При вирішенні нашої курсової роботи ми будемо дотримуватися модульного методу проектування.
Вся наша програма складатиметься з декількох модулів, у кожній з яких буде своя функція. Це дозволить простіше відслідковувати помилки, а також кожен модуль буде працювати незалежно від наявності помилок в інших частинах програми (модулях).
Далі пріведениблое-схеми модулів.
4.2 Блок-схеми функцій
. Введення БД з txt файлу
. Збереження поточної БД в txt файл
3. Виведення поточної БД на екран
. Додавання нового рядка з даними в БД
. Видалення рядки з БД
. Cортіровка БД за номерами поїздів
7. Інформація про потяг за його номером
8. Пошук поїздів по першій букві пункту призначення
9. Пошук поїздів за кількістю місць
4.3 Метод тестування
Тестування - дуже важливий і трудомісткий етап процесу розробки програмногозабезпечення, так як правильне тестування дозволяє виявити переважна большінствоошібок, допущених при складанні програм.
Процес розробки програмного забезпечення передбачає три стадії тестування: автономне, комплексне і системне, кожна з яких відповідає завершеніюсоответствующей Здебільшого Системи.
Розрізняють два підходи до формування тестів: структурний і функціональний. Кожен ізуказанних підходів має свої особливості і області застосування.
Структурний тестування.
Структурний тестування називають також тестуванням з маршрутами raquo ;, так як в етомслучае тестові набори формують шляхом аналізу маршрутів, передбачених алгоритмом.
Під маршрутами при цьому розуміють послідовності операторів програми, коториевиполняются при конкретному варіанті вихідних даних.
В основі структурного тестування лежить концепція максимально повного тестірованіявсех маршрутів програми. Так, якщо алгоритм програми включає розгалуження, то при одномнаборе вихідних даних може бути виконана послідовність операторів, реалізующаядействія, які передбачає одна гілка, а при другому - інша. Відповідно, для програм будуть існувати маршрути, що розрізняються обраним при ветвленііваріантом.
Вважають, що програма перевірена повністю, якщо за допомогою тестів вдається осуществітьвиполненіе програми по всіх можливих маршрутах передач управління. Однак нетрудновідеть, що навіть у програмі середнього рівня складності число неповторюваних маршрутовможет бути дуже велика, і, отже, повне або вичерпне тестірованіемаршрутов, як правило, неможливо.
Структурний підхід до тестування має ряд недоліків. Так тестові набори, побудовані за даною стратегії:
§ не виявляється пропущених маршрутів;
§ не виявляються помилок, що залежать від оброблюваних даних, наприклад, в операторі if (a - b) lt; eps - пропуск функції абсолютного значення abs проявиться тільки, якщо а lt; b;
§ не дають гарантії, що програма правильна, наприклад, якщо замість сортування спаданням реалізована сортування за зростанням.
Для формування тестів програму представляють у вигляді графа, вершини которогосоответствуют операторам програми, а дуги представляють можливі варіанти передачіуправленія.
Функціональне тестування.
Одним із способів перевірки програм є тестування з керуванням за даними або попрінціпу чорного ящика raquo ;. У цьому випадку програма розглядається як чорний ящик raquo ;, і цельютестірованія є з'ясування обставин, в яких поведінка програми не соответствуетспеціфікаціі.
Для ви...