Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Програмна реалізація алгоритмів управління

Читайте также:
  1. Quot;Практика маркетингу" допоможе вам краще зрозуміти стратегію загального управління якістю в маркетингу.
  2. Аналіз показників ефективності апарату управління підприємства
  3. Витрати на управління та обслуговування будівельного виробництва
  4. Від Органу управління майном Керівник
  5. ВОЛОДИМИРЕЦЬКА РАЙОННА ДЕРЖАВНА АДМІНІСТРАЦІЯ УПРАВЛІННЯ ОСВІТИ, МОЛОДІ ТА СПОРТУ
  6. Економічна психологія управління
  7. Елементи системного підходу до управління та фінансування соціальної сфери

 

 

Базовим шаблоном проектування в архітектурі розробленого програмно-математичногозабезпечення являється (з деякими упущенням) MVC (model-view-controller).

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

ComPort – клас, що відповідає за взяємодію з віртуальним Com портом ЦЕОМ оператора до якої підключається БПЛА. Основними методами являються:

- public ComPort(String port) – конструктор, що створює з’єднання;

- public void write(String query) - метод запису в ComPort;

- public void close() - метод, що закриває з’єднання з портом;

 

 

Рис. 4.5. UML діаграма класів моделі. 

ComPort – клас, що відповідає за взяємодію з віртуальним Com портом ЦЕОМ оператора до якої підключається БПЛА. Основними методами являються:

- public ComPort(String port) – конструктор, що створює з’єднання;

- public void write(String query) - метод запису в ComPort;

- public void close() - метод, що закриває з’єднання з портом;

ComObserver – інтерфейс Com порта. Необхідний для реалізації шаблона проектування Observer.

DronesUpdateObserver - інтерфейс стеження за оновленнями інформації про БПЛА. Необхідний для реалізації шаблону проектування Observer.

BaseStation - клас, що представляє собою базову станцію. У цьому класі агрегована інформація про всі БПЛА.

Основними методами є:

- public void setComPort (String portName) - метод в якому відбувається створення об'єкта класу ComPort;

- public void onComReceive (String receiveString) - перевизначений метод інтерфейсу ComObserver. Цей метод викликається об'єктом ComPort, коли в порт надійшли нові дані. У ньому відбувається обробка даних;

- public void addDronesUpdateListener (DronesUpdateObserver obs) - метод, який стежить за оновленнями інформації про БПЛА. Необхідний для зв'язку з апаратом;

Drone - клас, що представляє собою окремо взятий БПЛА. Єдиною завданням цього класу є зберігання інформації про конкретно взятому БПЛА.

Основними полями є:

- private int id - унікальний ідентифікатор БПЛА, що співпадає з унікальним ідентифікатором пристроїв передачі на борту БПЛА;

- private ArrayList <DroneState> droneStates - список всіх об'єктів класу DroneState для конкретного БПЛА.

DroneState – класс, що представляє собою стан конкретного БПЛА в деякий момент часу.

Основними полями є:

- private float latitude - інформація про широту БПЛА;

- private float longitude - інформація про довготу БПЛА;

- private byte state - інформація про стан БПЛА;

- private byte job - інформація про завдання, що виконується БПЛА;

- private Date date - тимчасова мітка.

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

 

Рис. 4.6. UML диаграма класів View.

DronesUpdateObserver - інтерфейс спостерігача за оновленнями інформації про БПЛА.

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

Основним методом є:

- Public void onDronesUpdate () - метод, який викликає BaseStation при оновленні інформації про групу БПЛА;

WindowPanel - базовий клас для всіх панелей програми.

MainWindow - клас, успадкований від класу WindowPanel. Являє собою головну (стартову) панель програми. У ньому міститься панель вкладок, в якій містяться всі інші панелі програми.

Основними полями є:

- private DronesTablePanel dronesTablePanel - посилання на об'єкт класу DronesTablePanel;

- private TerminalPanel terminalPanel - посилання на об'єкт класу TerminalPanel;

- private DronePanel dronePanel - посилання на об'єкт класу DronePanel.

DronesTablePanel - клас, успадкований від класу WindowPanel. Являє собою панель для відображення таблиці з поточним станом БПЛА.

Основними методами є:

- private void setDronesTable () - метод, який отримує дані про групу з моделі і таблицю;

- public void redraw () - метод що оновлює відображення таблиці при оновленні інформації про БПЛА.

DronePanel - клас, успадкований від класу WindowPanel. Являє собою панель для відображення інформації про конкретний БПЛА.

Основними методами є:

- public DronePanel (final Manager manager, JFrame frame, final Drone drone, final MainWindow mainWindow) - конструктор, отримує дані про конкретний БПЛА з моделі;

- public void redraw () - метод що відповідає за відображення таблиці при оновленні інформації про конкретний БПЛА.

TerminalPanel - клас, успадкований від класу WindowPanel. Являє собою панель для відображення всієї інформації, що надходить в Com порт. Необхідний для налагодження та при виникненні позаштатної ситуації.

Основними методами є:

- public TerminalPanel (final Manager manager, JFrame frame) - конструктор, що містить всі необхідні елементи;

- public void onComReceive (String receiveString) - перевизначений метод інтерфейсу ComObserver. Викликаються при надходженні нової інформації в Com порт. 

 

 


Дата добавления: 2015-12-07; просмотров: 69 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.011 сек.)