Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Математики 1 курс 2 семестр.doc
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
1.8 Mб
Скачать

7. Аналіз результатів роботи програми

Отримавши результати роботи програми необхідно провести їх верифікацію - перевірку відповідність здоровому глузду та передбачуваному прогнозу. Після цього, коли немає сумніву в правильності результатів, вони мають бути інтерпретовані (тобто пояснені в термінах предметної галузі задачі, що розв’язувалась).

Для ефективного вирішення всіх зазначених проблем необхідно постійно підтримувати зв'язок із замовником завдання.

8. Корисні технологічні правила програмування

Технологія програмування - це правила, користування якими гарантує розробку якісного програмного продукту. Найкориснішими з цих правил є:

  • Проектування зверху вниз - задача за змістом розбивається на частини (допоміжні задачі). Якщо є необхідність, для кожної частини цей процес може бути повторений, доки складність кінцевих задач не задовольнить програміста.

  • Модульне програмування - кожну з вищезазначених кінцевих задач рекомендується оформити одним окремим програмним модулем (процедура, функція, бібліотека, метод), розробивши форму зв’язку між ними для повного розв’язання поставленої задачі.

  • Структурне кодування - для розробки будь-якої програми достатніми є три алгоритмічні структури (конструкції): лінійна (поступове виконання дій одна за одною у порядку запису), розгалужена (виконання однієї з кількох альтернатив), циклічна (повторення дій).

Часто (головним чином початківцям у програмуванні) рекомендують користуватися KISS-принципом (Keep It Single Stupid) - треба робити програму якомога простішою; це полегшить вам (та можливо іншим) справу пошуку/виправлення помилок і модифікації.

Необхідно пам’ятати й про такі правила:

Коментування. Рекомендується докладно коментувати (пояснювати) в програмі призначення окремих дій (операторів) та цілих блоків.

Вибір ідентифікаторів. Ідентифікатори (імена) об’єктів програми (констант, змінних, функцій, процедур та ін.) треба обирати близькими до реальної назви відповідного об’єкта.

Дружній інтерфейс та термінологічне середовище. Програма повинна вести з користувачем коректний (з виконанням норм ввічливості) діалог, пояснювати свої дії, коригувати дії користувача; під час діалогу має використовуватися лише термінологія, зрозуміла користувачу та не використовуватися термінологія розробника.

Засоби допомоги та реклама. Програма має допомагати користувачу (давати довідки), наприклад, після натискання на стандартну для такої функції клавішу F1. Запуск програми повинен супроводжуватися рекламною заставкою, що відображує сутність та можливості програмного засобу, а також відомості про автора.

Захист від некоректного введення. Введену користувачем інформацію програма повинна перевіряти на коректність (належність множині припустимих для введення даних) та давати можливість користувачу виправити можливі помилки введення.

Стійкість програми. Програма не повинна втрачати працездатність (переривати або аварійно закінчувати роботу) ні за яких умов (навіть, якщо дії користувача некоректні).

Запитання для контролю та самоконтролю

  1. У чому полягає технологічний ланцюжок розв’язування прикладної задачі з використанням комп’ютера? Які дії виконуються на кожному етапі?

  2. Що таке технологія програмування?

  3. Які головні засади технології структурного програмування?

  4. Виконання яких вимог при розробці програми забезпечують її якість, надійність та ефективність?

  5. Для чого потрібне тестування програм? Які методи тестування програм найчастіше використовуються?

  6. Що розуміють під моделлю задачі?

  7. Як обрати мову програмування для реалізації алгоритму?

  8. У чому полягає сутність процесу відладки програми?

  9. Які існують прості корисні правила розробки програми?

  10. Що таке постановка задачі?

  11. Як ефективно представити алгоритм?

  12. Які існують вимоги до «дружності» інтерфейсу програми?

  13. Що таке недосконалості програми? Які вони бувають, на що впливають?

  14. Що визначає поняття алгоритмічної складності?

  15. Яке існує правило для вибору типів даних для об’єктів задачі?

  16. Що означає коректність постановки задачі?