Дипломная работа: Прилад прийому та обробки метеорологічних даних

util.BadEvent – клас-обробчик стандартних помилок, що можуть виникнути під час роботи програми;

obj.Module – сруктура даних, що відображає роботу (інкапсулює у собі набір властивостей та методів) модуля прийому;

obj.WeatherData – структура даних, що відображає набір метеоданих, та містить методи по роботі з ними.

1.3 Структура програми з описом її складових частин. Головний поток програми

В java немає таких пойнять як “запис” у pascal, або “структура” в C, тут використовується найбільш широке, зручніше та узагальнююче пойняття –клас.

Для найкращого розуміння роботи та взаємодії класів, розглянемо графічну схему зв’язку класів – UML-діаграму класів (рис. 1.3.1).



Рис. 1.3.1 UML-діаграма класів програми.

Головним класом програми є клас MainFrame, який догружатиме у процесі роботи усі інші класи. Розглянемо його роботу, починаючи з методу main.

Розглянемо головний робочий цикл програми, головний поток.

Конструкція JFrame frame = getMainFrame(); використовується для запобігання запуску на данному ПК ще одної аналогічної програми, що зашкодить її нормальній роботі.

При наступному визові

frame = getMainFrame();

frame.show();

Ще одно вікно не відкриється. Ми будемо працювати з тим же самим вікном.

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

завантажується конструктор класу;

завантажується необхідний драйвер для роботи з портами вводу/виводу com.sun.comm.Win32Driver.

відбувається перевірка наявності на ПК портів вводу/виводу, серед списку необхідних відбувається пошук необхідного нам lpt-порта, якщо такого в системі не знайдено, програма видає помилку та припиняє свою роботу;

утворюються два потоки на читання/запис у lpt-порт. У даному випадку потоками можна вважати специфічні вказівники на області пам’яті (регістри), яки відповідають зміст даних у lpt-порті;

проводиться ініціалізація утилітарних класів, що відповідають за прийом та передачу даних Receiver та Transmitter, при цьому слід зауавжити, що клас Receiver запускається у окремому потоку, що забезпечує безперервний опит стану lpt-порта;

задаються розміри вхідних та вихідних програмних буферів для запису/зчитування даних;

установлюється програма-володар порта, яка займає порт на весь час роботи з ним;

відбувається графічна ініціалізація програми;

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

а) Користувач натискає кнопку „Список активних модулей”. Визивається функція readModulesFromFile(). При цьому відбувається наступний порядок дій:

- очищується модель списку модулей;

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

- заповнюється модель списку модулей.

б) Користувач нажимає кнопку „опитати модуль”, задавши попередньо значення номеру опитуємого модуля. Викликається метод askModule(Integer moduleNumber). При цьому відбувається наступний порядок дій:

К-во Просмотров: 358
Бесплатно скачать Дипломная работа: Прилад прийому та обробки метеорологічних даних