Научная статья на тему 'ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ ОБЪЕМОВ ПРОДАЖ ТОРГОВОЙ ОРГАНИЗАЦИИ'

ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ ОБЪЕМОВ ПРОДАЖ ТОРГОВОЙ ОРГАНИЗАЦИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
верификация программного обеспечения / прогнозирование / методика испытаний / анализ данных / software verification / forecasting / testing methodology / data analysis

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шабунин Сергей Владимирович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Шабунин Сергей Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

VERIFICATION OF SOFTWARE FOR THE SYSTEM OF FORECASTING SALES VOLUMES OF A TRADE ORGANIZATION

The article considers the issues of creation and verification of software intended for the system of forecasting sales volumes of automobile batteries of a trading organization. The possibility of forecasting based on an artificial neural network is shown. The system was tested according to the developed methodology intended to assess the quality and accura-cy of the presented forecasting tools. The results of checking the automated functions of constructing a forecast schedule are presented.

Текст научной работы на тему «ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ ОБЪЕМОВ ПРОДАЖ ТОРГОВОЙ ОРГАНИЗАЦИИ»

Кобенко Вадим Юрьевич, д-р техн. наук, профессор, Россия, Омск, Омский государственный технический университет

ALGORITHM AND METHOD FOR PROCESSING SEMI-STRUCTURED INFORMATION ON TECHNOLOGICAL VIOLATIONS IN ELECTRICAL NETWORKS WITH VOLTAGE 0,4...10 KV OF USING REGULAR EXPRESSIONS

A.S. Sabelnikov, N.A. Serebryakov, S.O. Khomutov, E.G. Andreeva, A.M. Paramonov, V.Yu. Kobenko, A.P. Naumenko

The results of a study on the development of an algorithm for extracting valuable information from semi-structured data contained in spreadsheets with inconsistent formatting are presented. An algorithm for extracting semi-structured data is proposed, which involves preliminary data analysis to determine the positioning of valuable data and identify patterns in their arrangement. Regular expressions were developed for extracting valuable data. The algorithm and method for extracting information about technological violations in electrical grid infrastructure objects using generative artificial intelligence tools, as well as its software implementation, have been realized. The obtained data hold practical significance for the planning of technical maintenance and major repairs.

Key words: technological violations, data extraction, semi-structured data, regular expressions, electrical energy transmission.

Sabelnikov Aleksandr Sergeyevich, postgraduate, sabkvd@gmail. com, Russia, Barnaul, Polzunov Altai State Technical University,

Serebryakov Nikolay Aleksandrovich, candidate of technical sciences, dotsent, na [email protected], Russia, Barnaul, Polzunov Altai State Technical University,

Khomutov Stanislav Olegovich, doctor of technical sciences, professor, head of department, kho-mutovso@altgtu. ru, Russia, Barnaul, Polzunov Altai State Technical University,

Andreeva Elena Grigoryevna, doctor of technical sciences, professor, lenandr02@yandex. ru, Russia, Omsk, Omsk State Technical University,

Paramonov Aleksandr Mikhailovich, doctor of technical sciences, professor, amparamonov@mail. ru, Russia, Omsk, Omsk State Technical University,

Kobenko Vadim Yuryevich, doctor of technical sciences, professor, kobra [email protected] Russia, Omsk, Omsk State Technical University,

Naumenko Aleksandr Petrovich, doctor of technical sciences, professor, apnaumenko@omgtu. ru Russia, Omsk, Omsk State Technical University

УДК 004.032.26

DOI: 10.24412/2071-6168-2024-10-257-258

ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ ПРОГНОЗИРОВАНИЯ ОБЪЕМОВ

ПРОДАЖ ТОРГОВОЙ ОРГАНИЗАЦИИ

С.В. Шабунин

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

Ключевые слова: верификация программного обеспечения, прогнозирование, методика испытаний, анализ

данных.

Одной из важных задач проектирования систем прогнозирования объемов продаж автомобильных аккумуляторных батарей (ААБ) [1-3]. является обеспечение стабильности процесса продаж и оптимальное количество продукции на складах торгующей организации. Высокие требования к проектируемой системы обусловлены рисками, связанными с влиянием рыночных условий оптовой торговли и избыточными расходами на хранение продукции. Сложность разрабатываемого программного обеспечения (ПО) приводит к увеличению ошибок в нем, что приводит, что приводит к серьезным последствиям при эксплуатации ПО [4-5].

Основным подходом к обеспечению качества ПО для систем прогнозирования является верификация, которая включает проверку функциональности и соответствия установленным требованиям. Верификация охватывает как поиск ошибок в расчетах, так и анализ их причин, а также сопоставление прогнозов с реальными данными. Верификация программного кода важна для обеспечения корректности написания и точности численных алгоритмов. Проверка вычислений гарантирует качество вычислительной модели и позволяет выявить возможные численные ошибки. Системы прогнозирования обрабатывают большие объемы данных, включая объемы продаж ААБ, метеоданные и информацию о сезонных потребителях [6-10].

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

Системы прогнозирования обрабатывают большие объемы данных, которые включают в себя данные об объеме продаж ААБ, метеоданных и данных сезонных потребителей продукции.

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

На начальном этапе верификации формируются требования к ПО, составляется методика испытаний, перечень реализуемых функций и решаемых задач. К требованиям к системе прогнозирования объемов продаж ААБ относятся:

Реализация импорта данных в формате CSV в базу данных системы.

Обучение модели прогнозирования с использованием алгоритмов искусственной нейронной сети (ИНС) на основе загруженных данных.

Расчет прогнозов с визуализацией данных в виде графиков и предоставлением информации в табличном формате. Для системы прогнозирования объемов продаж ААБ к системе предъявляются требования:

1.Реализация импорта данных в формате CSV (Comma-Separated Values) в базу данных системы.

2.Обучение модели прогнозирования с использованием алгоритмов искусственной нейронной сети (ИНС) на основе загруженных данных.

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

Описание разрабатываемой системы. Для прогнозирования объемов продаж ААБ использовались данные от торговой фирмы «Николь», крупнейшего поставщика ААБ в Сибирском федеральном округе. Исходный массив данных включает объемы продаж, метеоданные и информацию о покупках сезонных потребителей.

Процесс прогнозирования состоит из следующих этапов:

1. Загрузка данных.

2. Обучение модели:

Применение скрипта для предобработки метеоданных.

Использование алгоритма обучения ИНС на подготовленных данных.

3. Расчет прогнозных значений: проверка стабильности и воспроизводимости результатов при использовании тех же данных.

4. Визуализация данных: построение графиков прогнозов.

5. Взаимодействие с пользователем: создание интерфейса для взаимодействия с системой и визуализации результатов.

Функциональная схема прогнозирования представлена на рис. 1. Пользователь, используя программный интерфейс, загружает данные (метеоданные, ретроспективные данные о продажах и информацию о сезонных покупках). Загруженные данные предобрабатываются: проверка на наличие пропусков (интерполяция) и выбросов (метод IQR), преобразование в формат Python для анализа и моделирования, а также определение значимых параметров (метод SHAP).

Создание модели прогнозирования на основе ИНС приводит к получению прогнозных значений объемов продаж ААБ.

ПРОГРАММНЫЙ ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

Выбор целевой функции

Вывод

таблицы

результатов

Вывод прогнозного графика

База данных технологических параметров

Метеоданные

Данные сезонных потребителей

данные объема продаж AAR_

Выгрузка ■ обработанных данных

КОМПЛЕКС ПРОГНОЗИРОВАНИЯ

Рис. 1. Схема системы прогнозирования

258

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

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

Таблица 1

Состав^ПО системы прогнозирования объемов продаж ААБ_

№,п/п Наименование файла Тип файла Выполняемые функции

1 Preprocessing. py Файл сценария / Python/ Предобработка исходных данных

2 Normalization. py Файл сценария / Python/ Нормализация входных параметров

3 Config.py Файл сценария / Python/ Хранение настраиваемых констант

4 Model forecast ry Файл сценария / Python/ Обучение модели, создание прогноза, построение прогнозного графика

5 Index.js Файл сценария / javaS-cript/ Запуск клиентской части приложения

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

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

Для каждой процедуры проверки определена методика испытаний, которая включает следующие этапы: Подготовка тестовых данных: На этом этапе разрабатываются наборы данных, которые отражают реальные сценарии использования системы. Тестовые данные должны включать как стандартные, так и крайние случаи, чтобы полностью оценить функциональность. Тесты проводятся в контролируемой среде, где все условия воспроизводимы. Каждый тест фиксирует результаты выполнения, что позволяет детально анализировать поведение системы. После завершения тестирования результаты сравниваются с ожидаемыми значениями. Критерии оценки включают как функциональные требования (например, точность прогнозов), так и нефункциональные характеристики (такие как производительность системы и обработка ошибок).

Таким образом, верификация системы не только обеспечивает соответствие функциональным требованиям, но и гарантирует надёжность и стабильность работы приложения в различных условиях. Этот комплексный подход позволяет выявить потенциальные проблемы на ранних этапах, что значительно снижает риски в процессе эксплуатации системы.Для обучения модели используется набор данных полученный от торговой фирмы «Николь» крупнейшего поставщика автомобильных аккумуляторных батарей в Сибирском федеральном округе и представленные массивом, состоящих из объемов продаж аккумуляторных батарей (Омская обл.) за период 01.09.2021 по 01.12.2023 и представлен в виде файла в формате CSV, с ограничением времени обучения. Производится сравнение прогнозных значений объемов продаж ААБ с фактическими. Далее произведена процедура проверки корректности системы на основании процедур из таблицы 2. Результаты построения графика Результаты построения графика демонстрируют полное соответствие заявленным требованиям оценки.

Таблица 2

Процедура проверки и методика испытаний ПО_

Процедура проверки Методика испытаний Критерий оценки/ожидаемый результат

1.1 Проверка импорта данных в базу данных системы Проверить работоспособность подсистемы импорта данных и внесение в базу данных а) выбрать путь к файлу формата сзг; б) проверить совпадение формата; в)загрузить данные в систему При совпадении формата (шаг б) загрузка данных в базу данных (шаг в). При несовпадении формата-оповещение пользователю о невозможности загрузить файл.

1.2 Проверка возможности подсистемы коррекции значимых параметров Проверить систему на правильное выполнение алгоритма коррекции значимых параметров а) ввести значения значимых параметров на вход системы б) контролировать выполнение процедуры проверки условия необходимости коррекции на экране монитора в) проверить выполнение коррекции параметров в отладочном окне программы; Коррекция значимых параметров на заданный коэффициент.

1.3 Проверка алгоритмов обучения и прогнозирования. Верификация корректности графиков прогнозов 1. Подготовка данных для тестирования: а) подготовить тестовый набор данных, который включает в себя разнообразные сценарии использования системы, включая граничные значения и типичные случаи использования; б) загрузить тестовые данные в систему; в) запустить процесс обучения модели с использованием тестовых данных; г) оценить время, затраченное на обучение и использование ресурсов системы. 2. Тестирование алгоритма прогнозирования: а) Используя обученную модель, выполнить прогнозирование на другом наборе тестовых данных, который не использовался при обучении; б) записать результаты прогноза 3. Проверка корректности графиков прогноза: а) используя результаты прогноза построить графики; б) с помощью скриптов проверить, что график корректно отображает график прогноза; 1. Критерии оценки для обучения модели: а) модель должна обучаться в пределах установленного времени; б) ресурсы системы используются без перегрузок; в) ошибка прогнозирования должна соответствовать заданным требованиям (не выше 5%) 2. Критерии оценки для прогнозирования: а) время выполнения прогноза не должно превышать установленные лимиты; б) результаты прогноза должны быть стабильны и воспроизводимы при повторном использовании тех же данных. 3. Критерии оценки для графиков прогноза: а) графики должны точно отображать данные прогноза; б) графики должны соответствовать стандартам отображения: правильное использование цветов, метод, легенд и т.д. в) ошибки в графиках (неверные значения или

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

1.4 Проверка корректного чтения и использования констант из файла конфигурации 1. Проверка наличия файла конфигурации и его доступности. 2. Проверка корректности формата конфигурации. 3. Тестирование чтения констант из файла конфигурации. 4. Проверка правильности использование констант в основном коде программы. 5. Проверка обработки ошибок при отсутствии файла конфигурации или некорректном формате. 1. Файл конфигурации должен существовать и быть доступным для чтения. 2. Формат файла конфигурации должен быть корректным. 3. Константы должны успешно читаться из файла конфигурации и использоваться в программе. 4. При изменении констант в файле конфигурации изменения должны отражаться в поведении программы без необходимости изменения кода. 5. Обработка ошибок должна быть реализована таким образом, чтобы программа продолжала работать при возникновении проблем с файлом конфигурации.

1.5 Проверка успешного запуска клиентской части приложения. Проверка корректности отображения интерфейсов. 1. Запуск клиентской части приложения с помощью файла 2. Проверка корректности отображения всех элементов пользовательского интерфейса. 3. Проверка корректности работы интерактивных элементов: отправка форм, обработка кликов по кнопкам, обновление данных без перезагрузки страницы. 4. Проверка интерактивности интерфейса: проверка корректного отображения на различных устройствах и разрешения экранов. 5. Проверка работы ошибок: загрузка страницы при наличии ошибок в коде, обработки ошибок ввода данных. 1. Клиентская часть приложения должна успешно запускаться с помощью файла lnd.ex.js. 2. Весь пользовательский интерфейс должен отображаться корректно. 3. Все интерактивные элементы должны работать согласно ожидаемому поведению. 4. При возникновении ошибок приложение должно корректно обрабатывать их и сообщать об этом пользователю.

На рисунке 2 представлен интерфейс программы с результатами прогнозирования объемов продаж и сравнение с фактическими. Интерфейс программы выполнен в минималистическом стиле и позволяет использовать загрузку данных в формате CSV.

г ^

Загрузить файл

Data Урув, руб Та Vw Ф

01.09.2023 415 219,40 34 1 98

02.09.2023 82 309,81 25 12 95

03.09.2023 196 068,63 28 6 94

04.09.2023 209 155,92 29 5 94

05.09.2023 88 259,44 23 10 90

06.09.2023 29 530,00 20 4 90

Рис. 2. Графический интерфейс ПО

В результате получена гистограмма, представлена на рис. 3, показывающая точность прогнозной модели.

450000

400000

350000

300000

Щ 250000 о.

> 200000 150000 100000 50000

о

12 3 4 5 6 7

Дни недели

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

■ Фактический объем продаж ■ Прогнозный объем продаж

Рис. 3. Прогнозирования объемов продаж автомобильных аккумуляторных батарей

Средняя ошибка прогнозирования составила Еп =4%, это обусловлено тем что в преддверии повышения спроса на аккумуляторные батареи (понижение температуры окружающей среды) торгующая организация проводила искусственную стимуляцию продаж за счет предоставления своим покупателям дополнительных скидок и отсрочек платежа за повышенный объем покупки продукции. Отсутствие данного фактора снизило бы ошибку до £п =2,54%.

Проверенные функции показали, что предложенная методика испытаний позволяет эффективно оценивать качество и функциональность ПО для системы прогнозирования. Разработанная методика испытаний позволила провести комплексную верификацию системы и подтвердить ее соответствие заданным параметрам.

Заключение. В результате проведенного исследования была разработана методика испытаний системы прогнозирования объемов продаж ААБ на основе искусственной нейронной сети, которая позволила проверить и подтвердить эффективность полученных результатов. Эта методика обеспечила верификацию программного обеспечения и подтвердила его соответствие установленным требованиям. Результаты испытаний показали, что модель прогнозирования демонстрирует высокую точность, что подтверждает ее практическую применимость и надежность.

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

1. Васильев А.А. Методы и модели прогнозирования объема продаж в маркетинге // Известия Тульского государственного университета. Экономические и юридические науки. 2021. № 2. С. 213-216.

2. Reynolds C.F. A Distributed Behavioral Model / C.F Reynolds, Herds, and Schools // Computer Graphics. 1987. Vol. 21. no. 4. P. 25-34.

3. Гратинский В.А., Новиков Е.М., Захаров И.С. Экспертная оценка результатов верификации инструментов верификации моделей программ // Труды ИСП РАН. 2020. Т.32, № 5. С. 7-20.

4. Kennedy J. Particle swarm optimization / J. Kennedy, R.C. Eberhart // International Conference on Neural Networks (ICNN'95). Perth, WA, Australia. 1995. P. 1942-1948.

5. Shi Y. A modified particle swarm optimizer / Y. Shi, R. Eberhart // IEEE International Conference on Evolutionary Computation. Anchorage, AK, USA. 1998. P. 69-73.

6. Анушина Е.С. Прогнозирование временных рядов на основе интеллектуальных вычислительных технологий // Информатика и системы управления. 2009. №1(19). С. 84-90.

7. Pham D.T. The Bees Algorithm - A Novel Tool for Complex Optimisation Problems / D.T. Pham, A. Ghan-barzadeh, E. Kof, S. Otri , S. Rahim, M. Zaidi. 2005. 40 p.

8. Soman S.S., Zareipour H., Malik O., Mandal P. A review of wind power and wind speed forecasting methods with different time horizons // North American Power Symposium. 2010.

9. Denisova L.A. A mathematical model of a digital control system with variable parameters // Automation and Remote Control. 2012. Vol. 73 (11). P. 1895-1901.

10. Денисова Л.А. Математическая модель цифровой системы регулирования с переменными параметрами // Автоматизация в промышленности. 2011. №9. С. 45-48.

Шабунин Сергей Владимирович, аспирант, [email protected], Россия, Омск, Омский государственный технический университет

VERIFICA TION OF SOFTWARE FOR THE SYSTEM OF FORECASTING SALES VOLUMES OF A TRADE

ORGANIZATION

S.V. Shabunin

The article considers the issues of creation and verification of software intended for the system of forecasting sales volumes of automobile batteries of a trading organization. The possibility offorecasting based on an artificial neural network is shown. The system was tested according to the developed methodology intended to assess the quality and accuracy of the presented forecasting tools. The results of checking the automated functions of constructing a forecast schedule are presented.

Key words: software verification, forecasting, testing methodology, data analysis.

Shabunin Sergey Vladimirovich, postgraduate, AgranomMotor@yandex. ru, Russia, Omsk, Omsk State Technical

University

УДК 004.032.26

DOI: 10.24412/2071-6168-2024-10-261 -262

РАЗРАБОТКА И ВЕРИФИКАЦИЯ СИСТЕМЫ КРАТКОСРОЧНОГО ПРОГНОЗИРОВАНИЯ ЭЛЕКТРОПОТРЕБЛЕНИЯ РЕСУРСОСНАБЖАЮЩЕГО ПРЕДПРИЯТИЯ

А.В. Блохин

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

Ключевые слова: электропотребление, краткосрочный прогноз, машинное обучение, верификация программного обеспечения, анализ данных, тестирование программного обеспечения

В условиях современных энергосистем одной из ключевых задач является обеспечение стабильности распределения и потребления электроэнергии. Особенно это актуально для участников Оптового рынка электрической энергии и мощности (ОРЭМ) [1-5]. ОРЭМ представляет собой рынок, на котором заключаются сделки по купле-продаже электрической энергии и мощности в рамках контрактов, заключенных между производителями, потребителями и посредниками [6-8]. Участники ОРЭМ обязаны предоставлять точные прогнозы по объёмам электропотребления, поскольку это напрямую влияет на баланс между генерацией и потреблением, а также на установление справедливых тарифов [9].

Нарушения в прогнозировании электропотребления могут привести к негативным последствиям для всей энергосистемы: перегрузкам сети, дисбалансу между производством и потреблением, и даже к аварийным ситуациям [10-13]. Кроме того, точные прогнозы необходимы для расчета резервов мощности, снижения операционных затрат

261

i Надоели баннеры? Вы всегда можете отключить рекламу.