МОДЕЛИРОВАНИЕ ПРОГРАММНОИНФОРМАЦИОННОГО НАВИГАТОРА ДЛЯ РЫБОЛОВОВ-ЛЮБИТЕЛЕЙ

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

УДК 004.4

DOI: 10.18413/2518-1092-2022-7-1-0-2

Бушуев М.В. Абрамова О.Ф.

МОДЕЛИРОВАНИЕ ПРОГРАММНО-ИНФОРМАЦИОННОГО НАВИГАТОРА ДЛЯ РЫБОЛОВОВ-ЛЮБИТЕЛЕЙ

Волжский политехнический институт (филиал) ФГБОУ ВО "Волгоградский государственный технический университет", ул. Энгельса, д. 42а, г. Волжский, Волгоградская область, 404121, Россия

e-mail: ant.eon@mail.ru, oxabra@yandex.ru

Аннотация

В статье выявлены и описаны основные проблемы в области любительского рыболовства: проблема хранения и поиска мест для рыбной ловли, проблема недостатка электронных справочников для рыболовов, проблема несоблюдения рыболовами-любителями законодательных ограничений. Предложены пути решения проблем с помощью создания программной системы. Спроектирована диаграмма вариантов использования системы на основании рассмотренных проблем. Проблема поиска мест для рыбной ловли рассмотрена более подробно. Предложены два пути решения проблемы поиска мест: с помощью анализа деятельности рыболовов-любителей и с помощью прогнозирования клева. Описана архитектура программной системы - используется клиент-серверная архитектура и паттерн проектирования MVC. Поскольку система состоит из модулей, представлена компонентная диаграмма архитектуры, определен список внутренних и внешних модулей, описаны внешние модули, среди которых имеются интерфейсы прикладного программирования (API). Определена модель базы данных системы, определены хранимые данные.

Ключевые слова: проектирование ПО; любительское рыболовство; виды рыб; улов Для цитирования: Бушуев М.В., Абрамова О.Ф. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022. - С. 19-26. DOI: 10.18413/2518-1092-20227-1-0-2

Bushuev M.V. Abramova O.F.

MODELING OF SOFTWARE AND INFORMATION NAVIGATOR FOR AMATEUR ANGLERS

Volga Polytechnic Institute (branch) Volgograd State Technical University, 42a Engelsa St., Volzhsky, Volgograd region, 404121, Russia

e-mail: ant.eon@mail.ru, oxabra@yandex.ru

Abstract

The article identifies and describes the main problems in the field of recreational fishing: the problem of storing and finding places for fishing, the problem of the lack of electronic guides for fishermen, the problem of non-observance of legislative restrictions by amateur fishermen. The ways of solving problems by means of creating a software system are proposed. A diagram of the use cases of the system was designed based on the problems discussed. The problem of finding places for fishing is considered in more detail. Two ways of solving the problem of finding places are proposed: by analyzing the activity of amateur fishermen and by predicting the bite. The architecture of the software system is described - the client-server architecture and the MVC design pattern are used. Since the system consists of modules, a component architecture diagram is presented, a list of internal and external modules is defined, external modules are described, among which there are application programming interfaces (API). The model of the system database is defined, the stored data is defined. Key words: software design; recreational fishing; types of fish; catch

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

For citation: Bushuev M.V., Abramova O.F. Modeling of software and information navigator for amateur anglers // Research result. Information technologies. - T.7, №1, 2022. - P. 19-26. DOI: 10.18413/2518-1092-2022-7-1-0-2

ВВЕДЕНИЕ

Любительская рыбная ловля - один из самых популярных видов досуга среди населения России [1]. Людей, занимающихся любительской рыбной ловлей, называют рыболовами-любителями или рыбаками. В настоящий момент в сфере любительского рыболовства имеется множество проблем, которые можно решить с помощью использования программных решений [2].

Одной из таких проблем является поиск новых мест для рыбной ловли. Найти новые места достаточно сложно, поскольку новое место должно обладать высокой активностью рыб и находиться в том субъекте страны, в котором находится рыболов. Рыболова-любителя могут интересовать только те места, в которых обитают интересующие его виды рыб. Поиск мест усложняется и тем, что существует большое количество законодательных ограничений на рыбную ловлю в определенных водоемах [3]. Ни в одном из современных приложений для рыболовов-любителей нет функции поиска подходящих мест для рыбной ловли.

Проблемой является и хранение уже имеющихся у рыболова-любителя мест для рыбной ловли. Большинство рыболовов при хранении мест полагаются только на свою память, что ведет к потере части мест для рыбной ловли. Для каждого места необходимо знать его местоположение и обитающие в нем виды рыб, рыболову-любителю трудно постоянно помнить эти сведения.

Помимо хранения мест, рыболову необходимо хранить и уловы в этих местах. Хранение уловов, сделанных в конкретном месте, позволяет рыболову делать выводы об активности определенных видов рыб в определенное время для этого места. В большинстве современных приложений для рыболовов нет привязки уловов к определенному месту.

Стоит отметить и проблему малого количества электронных справочников видов рыб и водоемов, предназначенных специально для рыболова. Помимо того, что подобных справочников мало, в них отсутствует много информации, которая была бы полезна рыболовам-любителям. Так, в справочниках видов рыб не хватает информации об особенностях ловли рыб и о рекомендуемом снаряжении. В справочниках водоемов отсутствует информация о конкретных местоположениях водоемов и обитающих в них видов рыб. Ни в одном из электронных справочников не учитываются законодательные ограничения. Вылов видов рыб, входящих в красную книгу, строго запрещен законом. Также запрещена рыбная ловля в водоемах, относящихся к определенным заповедникам или природным паркам [4].

ОСНОВНАЯ ЧАСТЬ

Для решения вышеперечисленных проблем предлагается создать многофункциональную программную систему [7]. Общая диаграмма вариантов использования системы приведена на рисунке 1.

В системе предусмотрены следующие роли: гость, обычный пользователь, модератор. Гость рассматривается как незарегистрированный пользователь [6]. Гость имеет возможность просматривать справочники и осуществлять поиск мест для рыбной ловли, причем двумя способами. Пользователю доступны те же возможности, что и гостю, но, помимо этого, пользователь может хранить информацию о собственных наживках, уловах и местах для рыбной ловли. Модератор необходим для редактирования справочников и определения областей карты, в которых запрещена рыбная ловля.

В системе имеются справочник видов рыб и справочник водоемов. В справочнике водоемов учтена вся информация, необходимая для рыболова-любителя, такая как особенности нереста, питания, ловли рыб, необходимые наживки и приманки. В справочнике водоемов отображается местоположение каждого водоема на карте и список видов рыб, обитающих в каждом из водоемов. Водоемы и виды рыб, на которые наложены законодательные ограничения, выделяются

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

среди остальных. Кроме того, в них не отображаются блоки информации, необходимых для рыболова-любителя. Так, для водоемов, в которых запрещена рыбная ловля, не отображается список обитающих видов рыб.

Для хранения собственных мест для рыбной ловли пользователю предоставлена интерактивная карта, на которой он может оставлять отметки, которые и обозначают места. Пользователь может настроить вид карты - изменить масштаб, изменить способ отображения (например, на спутниковый). Для каждой отметки отображается список уловов, которые были совершены пользователем в этой отметке.

Для хранения собственных уловов пользователю предоставлен его личный журнал уловов. В данный журнал пользователь может добавлять новые уловы, изменять информацию об уже имеющихся уловах. Для каждого улова указывается уникальное название, вид пойманной рыбы, место, в котором был совершен улов, дата и время улова. Дополнительно пользователь может указать изображение рыбы и вес улова. При добавлении улова нельзя указать вид рыбы, вылов которого запрещен законом. Список уловов можно фильтровать по интересующим пользователя полям, причем можно производить фильтрацию по нескольким полям одновременно.

Система

Рис. 1. Общая диаграмма основных вариантов использования системы Fig. 1. General diagram of the main use cases of the system

В системе имеется возможность поиска мест для рыбной ловли. На выбор пользователя предоставлено два способа поиска мест: первый способ основан на анализе деятельности рыболовов-любителей, зарегистрированных в системе, второй способ основан на прогнозировании клева.

Поиск мест осуществляется на основании выбранных пользователем параметров. Для первого способа поиска в качестве параметров поиска обязательно указывается субъект страны, в котором проживает рыболов-любитель, и срок отбора уловов (например, за последние две недели). Дополнительно можно указать конкретный вид рыбы, в таком случае список рекомендованных мест будет составлен на основании количества уловов по указанному виду рыбы. Для второго способа поиска обязательно указывается субъект, вид рыбы, дата и время.

Принцип работы алгоритма поиска мест первым способом заключается в вычислении

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

общего количества уловов для каждого водоема. Исходными данными для алгоритма поиска мест являются записи об уловах в журналах уловов всех пользователей системы. Результатом работы алгоритма является список рекомендованных мест для рыбной ловли, то есть список водоемов, отсортированный по общему количеству уловов. Диаграмма последовательности для функции поиска мест для рыбной ловли путем анализа журналов уловов пользователей изображена на рисунке 2.

Рис. 2. Диаграмма последовательности функции "Поиск мест для рыбной ловли" Fig. 2. Diagram of the sequence of the function "Finding places for fishing"

Рыболова-любителя интересуют места с высоким качеством клева рыб. Наибольшее влияние на клев рыбы оказывают погодные характеристики, такие как температура воды, сила и направление ветра, время суток, облачность, наличие осадков [5]. Поскольку можно спрогнозировать значения погодных характеристик в определенное время, поэтому и можно спрогнозировать клев рыбы в определенное время. Получить значения погодных характеристик в заданный момент времени позволяет API сервиса "Яндекс.Погода".

Принцип работы алгоритма поиска мест вторым способом заключается в вычислении прогноза клева для каждого водоема по выбранному пользователем виду рыбы и указанной дате и времени. Прогноз клева измеряется в процентах. Исходными данными в данном случае являются оптимальные значения погодных характеристик для указанного вида рыбы, которые задаются модератором. В качестве результата выдается список рекомендованных мест для рыбной ловли, то есть список водоемов, отсортированный по проценту прогноза клева. Для каждого водоема указывается качество клева (низкое или высокое). Диаграмма последовательности для функции поиска мест для рыбной ловли путем прогнозирования клева изображена на рисунке 3.

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

Рис. 3. Диаграмма последовательности функции "Прогнозирование клева" Fig. 3. Diagram of the sequence of the function "Bite prediction"

Программная система использует клиент-серверную архитектуру. Архитектура использует популярный шаблон проектирования MVC (Model View Controller). На каждый внутренний модуль приходится клиентский слой (Views), серверный слой (Controllers), и слой данных (Models)[11]. Клиентский слой представляет собой интерфейс пользователя - HTML страницы, выводимые веб-браузером. С данного слоя отправляются HTTP/HTTPS запросы на серверный слой. Серверный слой содержит всю логику приложения и именно на данном слое происходит обработка запросов клиентов. Серверный слой состоит из различных контроллеров, которые в свою очередь состоят из функций. Каждой функции соответствует запрос с клиентского слоя. Слой данных представлен различным моделями, т.е. классами системы. В модели загружаются данные из базы данных для последующей обработки в контроллерах, расположенных в серверном слое.

Компонентная диаграмма системы изображена на рисунке 4. Система состоит из 8 внутренних модулей и 3 внешних модулей. К внутренним модулям системы относятся: модуль прогнозирования клева, модуль погодных характеристик, модуль справочника видов рыб, модуль справочника локаций (водоемов), модуль карты с отметками, модуль личного снаряжения, модуль поиска мест для рыбной ловли, модуль журнала уловов. К внешним модуля относятся API сервисов "Яндекс.Карты" и "Яндекс.Погода", а также база данных системы. Некоторые модули системы взаимодействуют между собой [9]. Так, модуль поиска мест для рыбной ловли использует данные модуля журнала уловов.

API сервиса "Яндекс.Карты" используется для отображения местоположения каких-либо объектов в системе (например, отображение местоположения определенного водоема в справочнике водоемов). В полной мере API задействовано в модуле карты с отметками. Благодаря многофункциональности данного API пользователь может настраивать отображение карты, строить маршруты, измерять расстояние между точками карты [10].

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

API сервиса "Яндекс.Погода" необходим для полного функционирования модуля прогнозирования клева. Поскольку прогнозирование клева основано на реакции того или иного вида рыбы на значения погодных факторов, необходимо иметь эти значения на определенный момент времени. Данное API позволяет получать значения большого числа погодных факторов, как на текущий момент, так и на последующие семь дней [11].

Рис. 4. Компонентная диаграмма системы Fig. 4. Component diagram of the system

Стоит отметить, что приложение не рассчитано на очень большое количество пользователей (больше 10000), поскольку API сервисов имеют ограничения на количество пересылаемых запросов [12].

База данных централизованная - все данные располагаются в одном хранилище. Используется реляционная модель базы данных, поскольку такая модель обладает гибкой структурой, благодаря которой возможно простое добавление разделов информации в справочниках и увеличение числа погодных факторов, учитываемых при прогнозировании клева [8]. Помимо этого, реляционная модель обеспечивает высокую производительность при большом количестве сложных запросов, которые используются при поиске мест для рыбной ловли. В базе данных хранятся как общие данные, так и данные для каждого пользователя. Общие данные включают в себя сведения о видах рыб и водоемах. Для каждого вида рыбы хранится большое количество информации: общая информация, биологические данные, пути к изображениям (на каждый вид рыбы приходится несколько изображений), информация для рыболова, оптимальные значения факторов прогноза клева. Для каждого водоема хранится название, географическая информация, список обитающих видов рыб, координаты местоположения на карте. Хранилище пользователя включает в себя записи журнала уловов, наживки, отметки на карте (места для рыбной ловли). К каждой отметке пользователя привязан свой набор уловов. Для наживок автоматически ведется подсчет уловов, которые сделал пользователь.

ЗАКЛЮЧЕНИЕ

Таким образом, представленная система позволит решить одни из самых значимых проблем в области любительского рыболовства - проблему поиска мест для рыбной ловли, проблему

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

хранения уже имеющихся мест, проблему недостатка электронных справочников для рыболовов, проблему несоблюдения рыболовами-любителями правил рыболовства. Главными преимуществами системы являются функция прогнозирования клева и функция поиска мест для рыбной ловли, аналогов данных функции практически нет ни в одном современном приложении для рыболовов-любителей. Весомым преимуществом является и контроль соблюдения рыболовом-любителем законодательных ограничений в области любительского рыболовства.

Список литературы

1. Брагина, Т.М. К вопросу о любительском рыболовстве в водохранилищах степной зоны Евразии / Т.М. Брагина, Е.М. Саенко // Вопросы рыболовства. - 2018. - Т. 19. - № 4. - С. 465-477.

2. Утробина, Е.С. Мобильная картография для охотников и рыболовов / Е.С. Утробина, И.П. Кокорина // Интерэкспо Гео-Сибирь. - 2018. - № 1. - С. 171-178.

3. Влияние любительского рыболовства на состояние водных биологических ресурсов Цимлянского водохранилища / Н.В. Куценко, В.А. Чухнин, АН. Науменко, А.А. Филипенко // Водные биоресурсы и среда обитания. - 2020. - Т. 3. - № 2. - С. 49-55. - DOI: 10.47921/2619-1024_2020_3_2_49.

4. Раковец, Н.А. Проблемы правового регулирования использования и охраны водных биологических ресурсов (любительского рыболовства) / Н. А. Раковец // Молодой исследователь Дона. - 2019. - № 3(18). -С. 134-137.

5. Зеленецкий, Н.М. Влияние изменений температурного режима Рыбинского водохранилища за 50-летний период на численность и рост рыб / Н.М. Зеленецкий, Т.А. Зеленецкая, Д.А. Дмитриева // Труды Карельского научного центра Российской академии наук. - 2017. - № 9. - С. 46-57.

6. Абсатаров, Р.Н. Исследование деятельности сервисного центра компьютерной техники и анализ осуществимости автоматизации бизнес-процессов / Р.Н. Абсатаров, О.Ф. Абрамова // Научное обозрение. Технические науки. - 2020. - № 5. - С. 5-10.

7. Васильев, С.С. Исследование и анализ проблем в области автоматизации бизнес-процессов отдела снабжения / С.С. Васильев, О.Ф. Абрамова, АС. Адамов // Форум молодых ученых. - 2017. - № 5(9). -С.382-392.

8. Кадыркулова, Н.К. Анализ эффективности СУБД при разработке базе данных в среде ГИС-технологий / Н.К. Кадыркулова, Б. Аширбек Кызы, А. Изабеков // Вестник Жалал-Абадского государственного университета. - 2019. - № 1(40). - С. 62-66.

9. Негодин, В.А. Интеграция картографических сервисов в собственные веб-приложения / В.А. Негодин // Форум молодых ученых. - 2019. - № 8(36). - С. 194-197.

10. Шарапов, Н.Р. Сравнительный анализ API наиболее популярных картографических сервисов / Н.Р. Шарапов // Вопросы науки и образования. - 2018. - № 13(25). - С. 27-28.

11. Гуляев, Д.И. Использование открытых ГИС и web-ГИС для экологического мониторинга / Д.И. Гуляев // Экология и безопасность жизнедеятельности: Сборник статей XVII Международной научно-практической конференции, Пенза, 21-22 декабря 2017 года. - Пенза: Пензенский государственный аграрный университет, 2017. - С. 42-44.

12. Кочитов, М.Е. Использование картографичного сервиса Яндекс.Карты для нанесения на карту торговых точек и других географических объектов / М. Е. Кочитов // Постулат. - 2020. - № 1(51). - С. 24.

References

1. Bragina, T.M. To the question of amateur fishing in reservoirs of the steppe zone of Eurasia / T.M. Bragina, E.M. Saenko // Issues of fishing. - 2018. - T. 19. - No. 4. - P. 465-477.

2. Utrobina, E.S. Mobile cartography for hunters and fishermen / E.S. Utrobina, I.P. Kokorina // Interexpo Geo-Siberia. - 2018. - No. 1. - P. 171-178.

3. Influence of amateur fishing on the state of aquatic biological resources of the Tsimlyansk reservoir / N. V. Kutsenko, V.A. Chukhnin, A.N. Naumenko, A.A. Filipenko // Aquatic bioresources and habitat. - 2020. -T. 3. - No. 2. - P. 49-55. - DOI: 10.47921 / 2619-1024_2020_3_2_49.

4. Rakovets, N.A. Problems of legal regulation of the use and protection of aquatic biological resources (amateur fishing) / N.A. Rakovets // Young researcher of the Don. - 2019. - No. 3 (18). - P. 134-137.

5. Zelenetsky, N.M. Effect of changes in the temperature regime of the Rybinsk reservoir over a 50-year period on the number and growth of fish / N.M. Zelenetsky, T.A. Zelenetskaya, D.A. Dmitrieva // Proceedings of the Karelian Scientific Center of the Russian Academy sciences. - 2017. - No. 9. - P. 46-57.

6. Absatarov, R.N. Research of the activity of the service center of computer technology and analysis of the

Бушуев М.В., Абрамова О.Ф.. Моделирование программно-информационного навигатора для рыболовов-любителей // Научный результат. Информационные технологии. - Т.7, №1, 2022

feasibility of automating business processes / R.N. Absatarov, O.F. Abramova // Scientific review. Technical science. - 2020. - No. 5. - P. 5-10.

7. Vasiliev, S.S. Research and analysis of problems in the field of automation of business processes in the procurement department / S.S. Vasiliev, O. Abramova, A.S. Adamov // Forum of young scientists. - 2017. -No. 5 (9). - P. 382-392.

8. Kadyrkulova, N.K. Analysis of the efficiency of a DBMS in the development of a database in the environment of GIS technologies / N.K. Kadyrkulova, B. Ashirbek Kyzy, A. Izabekov // Bulletin of Jalal-Abad State University. - 2019. - No. 1 (40). - P. 62-66.

9. Negodin, V.A. Integration of cartographic services into own web applications / V.A. Negodin // Forum of young scientists. - 2019. - No. 8 (36). - P. 194-197.

10. Sharapov, N.R. Comparative analysis of the API of the most popular cartographic services / N R. Sharapov // Problems of Science and Education. - 2018. - No. 13 (25). - P. 27-28.

11. Gulyaev, D.I. Use of open GIS and web-GIS for environmental monitoring / D.I. Gulyaev // Ecology and life safety: Collection of articles of the XVII International scientific-practical conference, Penza, December 21-22, 2017. - Penza: Penza State Agrarian University, 2017. - P. 42-44.

12. Kochitov, M.E. Using the Yandex. Maps for mapping retail outlets and other geographic objects / M.E. Kochitov // Postulate. - 2020. - No. 1 (51). - P. 24.

Бушуев Максим Витальевич, студент кафедры «Информатика и технология программирования» Абрамова Оксана Федоровна, доцент кафедры «Информатика и технология программирования»

Bushuev Maxim Vitalievich, Student of the Department of Informatics and Programming Technology Abramova Oksana Fedorovna, Associate Professor of the Department of Informatics and Programming Technology