АННОТАЦИЯ 3
перечень условных обозначений 4
Введение 6
1 Анализ требований 8
1.1 Функциональные требования к системе 8
1.2 Нефункциональные требования к системе 9
1.3 Формализация требований 9
1.4 Модель предметной области 11
1.5 Диаграмма компонентов 12
2 Выбор и обзор характеристик инструментов разработки серверной
части 14
2.1 ASP.NET Core 5.0 14
2.2 ASP.NET Web API 14
3 Проектирование и модификация серверной части 16
3.1 Пакет Models (модели) 16
3.2 Пакет Services 17
3.3 Пакет Controllers 17
3.4 Работа с Firebase Cloud Messaging 19
3.5 Тестирование производительности 23
3.6 Результаты проектирования и модификации серверной части .... 27
4 Выбор и обзор характеристик инструментов разработки Android-
приложения 29
4.1 Kotlin 29
4.2 Kotlin Coroutines 30
4.3 Retrofit 30
4.4 DataStore 31
4.5 Hilt 31
4.6 Picasso 32
4.7 Firebase Cloud Messaging 32
5 Проектирование и разработка Android-приложения 33
5.1 Проектирование Android-приложения 33
5.2 Разработка Android-приложения 40
5.3 Результаты проектирования и разработки Android-приложения . 55
Заключение 57
Отсок использованных источников и литературы 58
Приложение А. Внешний вид Android-приложения 60
Как показывает статистика, финансовыми инвестициями заинтересовывается все больше человек, а в последние годы приток новых инвесторов значительно вырос, только лишь за февраль 2023 года на биржу пришло больше полумиллиона новых физлиц, а общее число физлиц только лишь на Московской бирже составило 24 миллиона человек. [1] Но выросший приток новых инвесторов вместе с тем изменил и портрет рядового инвестора. Так, люди в молодом возрасте и не имеющие знаний в сфере инвестиций, стали большинством. [2]
Приход на рынок огромного числа новых неопытных участников рынка за последние 5 лет вылился в высокую востребованность легкодоступных вспомогательных инструментов для торговли. В этом можно легко убедиться, например, начали появляться и пользоваться спросом сервисы, предоставляющие профессиональную аналитику, торговых роботов и другие инструменты. [3]
Для решения проблемы отсутствия легкодоступных вспомогательных инструментов для торговли был разработан SaaS-продукт , работающий с одним из крупнейших в России брокеров - «Тинькофф Инвестиции» и реализующий алгоритм трейлинг-стоп, а также предоставляющий достаточную функциональность клиентского приложения для отслеживания позиций портфеля без необходимости всегда сверяться с клиентскими приложениями брокера. Основой продукта стало настольное приложение, которое благодаря интеграции с сервисами «Тинькофф Инвестиции» осуществляет торговлю ценными бумагами, позволяя пользователю получать всю возможную выгоду от сделок. Но, как показывает статистика [4], интернет-трафик с мобильных устройств заметно превосходит интернет- трафик с настольных устройств, при этом с каждым годом только растет. Проведя анализ, стало понятно, что хоть на данный момент и невозможно перенести работу алгоритма трейлинг-стоп на мобильные устройства, но стоит разработать мобильное приложение, которое будет дополнять настольное клиентское приложение, с помощью которого пользователь сможет настраивать параметры работы настольного клиентского приложения, осуществлять контроль за позициями портфеля, а также получать уведомления о сделках, совершенных настольным клиентским приложением.
Таким образом, целью данной работы является проектирование и разработка Android-приложения, с помощью которого пользователь сможет настраивать параметры работы настольного клиентского приложения, осуществлять контроль за позициями портфеля, а также получать уведомления о сделках, совершенных настольным клиентским приложением. Также потребуется доработать существующую серверную часть системы, внедрив новый функционал, необходимый для работы Android-приложения. Для реализации данной цели были определены следующие задачи:
1. Провести анализ требований к разрабатываемому Android- приложению и формализовать их.
2. Провести анализ требований к серверной части и формализовать их.
3. Спроектировать, доработать и протестировать серверную часть системы.
4. Спроектировать разрабатываемое Android-приложение.
5. Разработать Android-приложение.
Данная работа посвящена решению поставленных задач.
В ходе данной работы была доработана существующая сервисная часть системы автоматической торговли на бирже, а также спроектировано и разработано Android-приложение, которое в некоторой мере стало заменой мобильного терминала, через который можно контролировать свой портфель, приложение позволяет пользователю удаленно контролировать настройки работы системы и получать уведомления о сделках в реальном времени. Для этого были решены все поставленные задачи:
1. Проведен анализ поставленной задачи и на его основе разработаны и формализованы требования к Android-приложению и серверной части.
2. Спроектирована, доработана и протестирована серверная часть системы.
3. Спроектировано и разработано Android-приложение.
На момент начала работы система уже находилась в закрытом тестировании, после завершения разработки пользователи получили новый функционал и активно его используют.
Несмотря на то, что Android-приложение не является заменой настольного приложения ввиду технических ограничений мобильных устройств, оно предлагает функции, которые давно были необходимы пользователям, поэтому следующим этапом, необходимым для дальнейшего развития проекта в целом, является тщательный анализ полученного продукта посредством продолжения проведения закрытого тестирования со сбором обратной связи.
Разработанное Android-приложение функционирует согласно ожиданиям, а также допускает дальнейшее развитие функциональности и внедрение новых компонентов, что и планируется сделать