Читайте также:
|
|
Базовим шаблоном проектування в архітектурі розробленого програмно-математичногозабезпечення являється (з деякими упущенням) 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 | Нарушение авторских прав