АННОТАЦИЯ 3
Перечень условных обозначений 3
Введение 4
1 Работа с требованиями 5
1.1 Пожелания заказчика 5
1.2 Работа с методикой эксперимента 6
1.3 Актуальность в области STEM-образования 9
1.4 Функциональные требования 10
1.5 Нефункциональные требования 11
1.6 Модель предметной области 11
2 Проектирование 14
2.1 Дерево шагов 14
2.2 Структура приложения 17
2.3 Архитектурный подход слоя представления 19
3 Реализация 21
3.1 Связь с физическими устройствами 21
3.2 Конструктор эксперимента 21
3.3 Выполнение блоков 23
3.4 Методика эксперимента 25
3.4.1 Структура 25
3.4.2 Чтение и запись 26
3.5 История экспериментов 28
3.6 Shortcuts 29
3.7 Новые функциональные возможности на графиках 31
4 Тестирование 38
4.1 Unit-тесты 38
4.2 Интеграционные тесты 39
4.3 UI-тесты 40
4.4 Аналитика и крашлитика 41
4.5 Создание «шаблонных» экспериментов 44
Заключение 47
Список использованных источников и литературы 48
Приложение A 51
«Цифровая химическая лаборатория» - мобильное приложения для операционной системы Android, позволяющее проводить различные химические эксперименты прямо на смартфоне пользователя. Это достигается путем подключения физических устройств, находящихся на месте проведения эксперимента к смартфону на базе операционной системы Android через USB или Bluetooth. Помимо этого, присутствует возможность изменения конфигурации устройств, например, температуру электрической плиты, что позволяет использовать смартфон как единый управляющий орган в месте проведения эксперимента.
Предыдущая версия позволяла проводить только заготовленные виды экспериментов, но на практике могут возникнуть сценарии, которые отличаются от формального описания эксперимента, которые необходимо выполнить для получения результата. Такие ситуации могут возникнуть как из-за особенностей оборудования, так и из-за специфики самого эксперимента.
В новой версии приложения заказчик захотел расширить список поддерживаемых экспериментов. Конкретным желанием была способность выполнения нужных шагов в определяемом порядке. Для такой функциональной особенности также понадобилась возможность импорта и экспорта шагов для ускорения и увеличения гибкости работы на других смартфонах.
Другим пожеланием заказчика стала модернизация работы с графиками эксперимента «Титрование», позволяющая получать целевую величину не алгоритмическим способом, а в ручном режиме путем редактирования графика.
Цель работы: модернизировать Android-приложение «Цифровая химическая лаборатория». Для выполнения цели были поставлены следующие задачи:
1) формализация требований заказчика;
2) проектирование конструктора эксперимента;
3) разработка конструктора эксперимента;
4) модернизация работы с графиком эксперимента «Титрование»;
5) тестирование приложения.
В результате проделанной работы было модернизировано Android-приложение «Цифровая химическая лаборатория», был поддержан новый тип эксперимента, настроена логика импорта и экспорта методики эксперимента. Реализован конструктор эксперимента для составления произвольной последовательности шагов. Помимо этого, модернизирована работа с графиком эксперимента «Титрование», позволяющая редактировать состояние графика касанием экрана с моментальным отображением изменений. Для поддержки качества приложения были внедрены инструменты аналитики и обработки критических ошибок.
На данный момент система проходит апробацию заказчиком, продолжается тестирование и валидация новых функциональных возможностей. В будущем планируется создание и внедрение общего ресурса обмена JSON-файлами с методиками экспериментов, добавление еще одного типа эксперимента.
В ходе работы был получен опыт создания древовидной структуры с часто меняющимися узлами, взаимодействия с полиморфной сериализацией, обработки различных жестов на одном экране и реализации реактивности на линейном графике.