Модульна структура програми

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

Розмір модуля вимірюється числом містяться в ньому операторів або рядків. Модуль не повинен бути занадто маленьким або занадто великим. Маленькі модулі призводять до громіздкої модульної структурі програми і можуть не окупати накладних витрат, пов'язаних з їх оформленням. Великі модулі незручні для вивчення змін, вони можуть істотно збільшити сумарний час повторних трансляцій програми при налагодженні програми. Зазвичай рекомендуються програмні модулі розміром від кількох десятків до кількох сотень операторів.

Специфікація програмного модуля містить:

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

- функціональну специфікацію модуля (опис семантики функцій, які виконуються цим модулем по кожному з його входів).

У процесі розробки програми її модульна структура може по-різному формуватися і використовуватися для визначення порядку програмування і налагодження модулів, зазначених у цій структурі.

Модульна структура програми представлена ​​на (схема 1)

Схема 1.Модульная структура програми

Одним з методів, що поліпшують програму, є структурне програмування. Структурне програмування дозволяє організувати процес проектування і кодування так, щоб уникнути більшості помилок виявити тобто які вже допущені. Структурне програмування 3 складових:

Проектування зверху вниз.

Модульне програмування - це процес поділу програми на логічні частини. Використання модулів призводить до зниження складності. Модульну програму легше написати і протестувати.

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

Проектування зверху вниз має ієрархічну структуру і починається з короткого огляду завдання. Потім завдання розбивається на кілька дрібніших підзадач, які в свою чергу теж розбиваються на підзадачі. Процес розбиття триває до тих пір, поки підзадачі не стануть настільки простими, що кожній з них буде відповідати один модуль.

Визначимо деякі базові поняття об'єктно-орієнтованого програмування.

Об'єкти - деякі елементи, з яких будується програмне додаток.

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

Подія - це те, що відбувається в реальному часі і може викликати ті чи інші дії у відповідь.

Метод - спосіб, яким об'єкт може реагувати на ті чи інші події. Це процедура, яка визначена як частина класу і міститься в ньому.

Методи об'єктів мати будь-який з типів:

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

Делегування - то, що якийсь об'єкт може надати іншому об'єкту відповідати на деякі події. Така модель в деяких випадках значно спрощує програмування.

Середовище розробки Delphi орієнтована, перш за все, на створення програм для сімейства операційних систем Windows. При цьому велика увага приділяється можливості візуальної розробки додатків за допомогою великого набору готових компонентів, а в стандартну поставку Delphi входять основні об'єкти, які утворюють вдало підібрану ієрархію з 270 базових класів, що дозволяють уникнути ручного кодування. Ці компоненти охоплюють практично всі аспекти застосування сучасних інформаційних технологій.

В процесі побудови програми необхідно вибирати з палітри компоненти, на основі яких буде будуватися проект. Ще до компіляції видно результати своєї роботи. У цьому сенсі проектування в Delphi мало чим відрізняється від проектування в інтерпретує середовищі, однак після виконання компіляції отримуємо код, який виконується в 10-20 разів швидше, ніж той же, саме, зроблене за допомогою інтерпретатора. Cреда Delphi включає в себе повний набір візуальних інструментів для швидкісної розробки додатків (RAD - rapid application development), підтримує розробку користувальницького інтерфейсу.

Для розробки програми конструктора тестів використовувалися наступні компоненти Delphi7:

PageControl- дозволяє в ході проектування об'єднувати на одній формі кілька вкладок, які містять різні елементи управління. Доступ до кожної з вкладок здійснюється за допомогою корінців з назвами. Цей компонент використовувався в розробці програми тестування для створення декількох вкладок.

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

Image- призначений для відображення на формі графічних зображень за замовчуванням виводить на поверхню форми зображення представлених в bmp форматі. Для виведення зображень в jpg форматі необхідно в Деректіву uses підключити модуль JPEG. Після розміщення на формі компонента Image, він набирає вигляду виділеної прямокутної області

MainMenu- НЕ візуальний компонент delphi (місце розміщення якого на формі не має значення для користувача так як він побачить не сам компонент, а меню, з генерувати їм), призначений для виведення головного меню на формі

Memo- є вікном редагування багаторядкового тексту який можна завантажувати з файлу або зберігати введену інформацію в файл текстового формату

OpenDialog- НЕ візуальний компонент призначений для підтримки операції відкриття файлів здатний працювати з будь-якими типами файлів. При зверненні до цього компоненту викликається стандартне діалогове вікно відкриття файлу.

SaveDialog- НЕ візуальний компонент призначений для підтримки операції збереження файлів здатний працювати з будь-якими типами файлів. При зверненні до цього компоненту викликається стандартне діалогове вікно збереження файлу.

Label- призначений для показу тексту на формі нашої програми, що не буде змінюються протягом роботи програми. Текст напису компонента Label можна змінити, але робиться це тільки программно.Текст, які відображаються в компоненті, визначаються значенням властивості Caption. Він прописується в процесі проектування або задається програмно під час виконання програми

Timer- невізуальний компонент, який може розміщуватися в будь-якому місці форми. Він має дві властивості, що дозволяють їм управляти: Interval - інтервал часу в мілісекундах іEnabled - доступність. Властивість Interval задає період спрацьовування таймера. Через заданий інтервал часу після попереднього спрацьовування, або після програмної установки властивості Interval, або після запуску програми, якщо значення Interval встановлено під час проектування, таймер спрацьовує, викликаючи подія OnTimer. У обробнику цієї події записуються необхідні операції.

ТЕСТУВАННЯ І відкладання

Тестування - це динамічний контроль програми, тобто перевірка правильності програми при її виконанні на комп'ютері.

При розробці програм найбільш трудомістким є етап налагодження і тестування програм. Мета тестування, тобто випробування програми, полягає у виявленні наявних в програмі помилок. Мета налагодження полягає у виявленні та усуненні причин помилок.

Налагодження програми починають з складання плану тестування. Такий план повинен уявляти собі будь-який програміст. Складання плану спирається на поняття про джерела і характер помилок. Основними джерелами помилок є недостатньо глибоке опрацювання моделі або алгоритму розв'язання задачі; порушення відповідності між схемою алгоритму або записом його на алгоритмічній мові і програмою, записаною на мові програмування; невірне уявлення вихідних даних на програмному бланку; неуважність при наборі програми і вихідних даних на клавіатурі пристрою введення.

З огляду на різноманітність джерел помилок, при складанні плану тестування класифікують помилки на два типи: 1 - синтаксичні; 2 - семантичні (смислові).

Синтаксичні помилки - це помилки в запису конструкцій мови програмування (чисел, змінних, функцій, виразів, операторів, міток, підпрограм).

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

В ході тестування були виявлені помилки: програма неправильно відлічувала час дане користувачеві для відповіді на питання, помилка виявилася в тому що через неуважність вказано невірно змінну, до виправлення код виглядав так:

procedure TForm3.Timer1Timer (Sender: TObject);

if TimeToAnswer = 0 then

if not Assigned (Form2) then

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

Програмний продукт тестувався кілька разів, все помилки, виявлені на даний момент, виправлені.

Останньою складовою процесу програмування є документування. Воно включає широкий спектр описів, що полегшують процес програмування. Призначена для користувача документація програми пояснює користувачам, як вони повинні діяти, щоб використовувати цю програму.

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

АІС «Конструктор тесту» призначена для створення тестів, для очного підсумкового контролю якості засвоєння теоретичного матеріалу, набутих знань і практичних навичок учнів у навчальних закладах з дисциплін належать до інформаційних технологій.

Головна форма (рис. 1) являє собою меню де вибираєш між конструктором і тестом.

Модульна структура програми

Мал. 1. Первісна форма

При натисканні на вкладку конструктор, відкривається форма, де можна відкрити, зберегти, створити і редагувати обраний вами тест (рис. 2).

Модульна структура програми

Мал. 2. Конструктор

При натисканні на вкладку тест відкривається форма, де можна пройти тестування за обраним вами тестом (рис. 3).

Модульна структура програми

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

Інтерфейс програми дозволяє без особливих труднощів користуватися їй як досвідченому, так і починаючому користувачеві ПК, тому вона може застосовуватися в навчальних закладах.

Для створення програми були вивчені теоретичні матеріали з дисциплін, що належать до інформаційних технологій і матеріали з програмування.

В результаті була створена програма тестування знань для контролю якості засвоєння теоретичного матеріалу і практичних навичок учнів в навчальних закладах.

У процесі виконання курсової роботи були здійснені наступні завдання:

- закріпилися і заглибилися теоретичні знання;

- придбані практичні навички при розробці програмного продукту;

В результаті проведеної роботи були досягнуті всі завдання, поставлені перед початком курсової роботи.

Схожі статті