Тип работы:
Предмет:
Язык работы:


МОДЕРНИЗАЦИЯ ANDROID-ПРИЛОЖЕНИЯ «ЦИФРОВАЯ ХИМИЧЕСКАЯ ЛАБОРАТОРИЯ»

Работа №179741

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы61
Год сдачи2025
Стоимость4600 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
9
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 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-файлами с методиками экспериментов, добавление еще одного типа эксперимента.
В ходе работы был получен опыт создания древовидной структуры с часто меняющимися узлами, взаимодействия с полиморфной сериализацией, обработки различных жестов на одном экране и реализации реактивности на линейном графике.



1. Химическая кинетика : методические указания, изд. 2-е / сост.: B. A. Колпаков,
C. B. Романенко. - издательство ТПУ - Томск, 2004. - 24 с. - URL:
https://portal.tpu.rU/SHARED/a/ANL/work2/Tab1/Tab/chem kinet 2 prn.pdf (дата
обращения 10.02.2025).
2. Что такое STEM-образование // Умназия - [Б. М.], 2024 - URL: https://umnazia.ru/blog/all-articles/chto-takoe-stem-obrazovanie (дата обращения 10.12.2024).
3. Рефакторинг с использованием шаблонов / Дж. Кириевски. — М. : ООО «И.Д. Вильямс», 2006. — 400 с. (дата обращения 20.02.2025).
4. Паттерн Репозиторий // Metanit - [Б. м.], 2015. - URL:
https://metanit.com/sharp/articles/mvc/11.php (дата обращения 12.03.2025).
5. Jetpack Compose // DeveloperAndroid. - [Б. м.], 2025. - URL:
https://developer.android.com/develop/ui/compose (дата обращения 12.03.2025).
6. Jetpack Compose: The Android Developer Roadmap - Part 5 // Getstream.io, Inc - [Б. М.], 2024 - URL: https://getstream.io/blog/android-developer-roadmap-part-5/ (дата обращения 20.03.2025).
7. Develop Android apps with Kotlin // DeveloperAndroid - [Б. М.], 2025 - URL: https://developer.android.com/kotlin (дата обращения 20.03.2025).
8. Model-View-Intent on Android // Hannes Dorfmann - [Б. М.], 2016 - URL: https://hannesdorfmann.com/android/model-view-intent (дата обращения 17.04.2025).
9. ViewModel overview // DeveloperAndroid. - [Б. м.], 2025. - URL:
https://developer.android.com/topic/libraries/architecture/viewmodel (дата
обращения 17.04.2025).
10. Sealed classes and interfaces // Kotlinlang - [Б. М.], 2024 - URL: https://kotlinlang.org/docs/sealed-classes.html (дата обращения 18.04.2025).
11. StateFlow // Koltinlang - [Б. М.], 2024 - URL:
https://kotlinlang.org/api/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/- state-flow/ (дата обращения 20.04.2025).
12. Programming Android with Kotlin / Pierre-Olivier Laurence, Amanda Hinchman- Dominguez, G. Blake Meike, Mike Dunn. - Sebastopol: O’Reilly Media, Inc., 2022. - 339 p.
13. Coroutines and channels - tutorial // Kotlinlang - [Б. М.], 2022 - URL: https://kotlinlang.org/docs/coroutines-and-channels.html (дата обращения 21.04.2025).
14. Serialization // Kotlinlang - [Б. М.], 2024 - URL:
https://kotlinlang.org/docs/serialization.html (дата обращения 23.04.2025).
15. Save data in a local database using Room // DeveloperAndroid - [Б. М.], 2018 - URL: https://developer.android.com/training/data-storage/room (дата обращения 24.04.2025).
..39


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ