ПО в составе КИС предназначено для автоматизации процесса проведения наземных
испытаний бортовой аппаратуры дистанционного Зондирования Земли (сбора и сброса информации).
Тематика в части ПО и код приведенный в репозиториях несекретна!
Программное обеспечение КИС:
- Обеспечивает настройку и взаимодействие функциональных блоков КИС при наземных испытаниях.
- Осуществляет обработку и отображение телеметрии с целью анализа работоспособности космического аппарата.
- Управляет вычислительным процессом обработки входной информации.
- Осуществляет ведение базы данных мониторинга работоспособности аппаратуры.
- Работает под управлением ОС Windows.
КИС в части ПО предоставляет возможности по планированию работы,
имитации исходных данных, приему и анализу выходных данных аппаратуры.
Присутствует возможность производить вставку и выборку результатов
испытаний в базу данных с помощью программы мониторинга и управляющего модуля соответсвенно.
Платформа: OC Windows
При проектировании применены метод модуляризации и иерархической декомпозиции программы.
Структура ПО КИС включает следующие программные модули:
- управляющий модуль;
- циклограмма формирования плана исптаний;
- модуль имитации тестовых данных;
- модуль анализа телеметрической информации;
- модуль мониторинга испытаний;
- модуль имитации пункта приема;
- база данных.
Схема взаимодействия фукнциональных модулей в составе контрольно-испытательной системы:
использовались следующие средства разработки:
- C++/Qt 5.15.2 (backend);
- QML (frontend);
- JavaScript (frontend);
- СУБД PostgreSQL 10.
При проектировании архитектуры применены принципы объектно-ориентированного программирования SOLID.
Архитектура ПО КИС в нотации UML (диаграмма-классов):
Диаграмма архитектуры включает основные классы:
- ManagerGUI, QML Observer, CPP Observer, Timer (управляющий модуль);
- Cyclegramma (модуль циклограммы);
- LogicImit, InputData (модуль имитации);
- LogicAnalyze, ImitReciever (модуль анализа);
- Monitoring (модуль мониторинга).
При разработке макетов интерфейсов пользователя применялись:
- Парадигма реализации (методология "Дизайн, ориентированный на пользователя");
- Парадигма идей (Метофарическая и идиоматическая методологии).
Макет интерфейса пользователя управляющего модуля:
Макет интерфейса объекта "Таблица":
Макет интерфейса модуля мониторинга в части отображения объекта испытания:
Наглядная анимация выпадающего списка:
Для тестирования модулей лучшим вариантом является принцип нисходящего тестирования, так как:
- структура ПО имеет иерархическую декомпозицию;
- разработка и реализация алгоритмов велась по принципу "сверху-вниз".
По иерархическому порядку модули занимают следующие уровни:
- управляющий модуль;
- модуль имитации тестовых данных и ППО, модуль анализа;
- модуль мониторинга;
- взаимодействие с внешними интерфейсами и сторонними программными модулями.
Для тестирования COM-портов рекомендуется использовать стороннее ПО:
- Advanced Virtual COM Port;
- Advanced Serial Port Terminal.
В рамках проекта просчитана сложность реализованных алгоритмов по времени (количество операций) и памяти (количество выделяемой памяти):
Название модуля | Сложность алгоритма по времени | Сложность алгоритма по памяти |
---|---|---|
Менеджер управления | O(n) | O(n) |
Тестовые данные | O(1) | O(1) |
Анализ | O(n) | O(1) |
Циклограмма | O(n^2) | O(n) |
Мониторинг | O(n) | O(n) |
В рамках проекта просчитан объем передаваемой информации по сети, а также с помощью сторонней программы Wireshark определен фактический объем передаваемых TCP/IP:
Название модуля | Мониторинг | Менеджер управления |
---|---|---|
Менеджер управления (client) | (64) 30 байт | — |
Мониторинг (server) | — | (132) 36 байт |
Если у вас возникли сложности или вопросы, создайте обсуждение в данном репозитории или напишите на электронную почту libese581@gmail.com.