Екатеринбург
2019
РЕФЕРАТ
5
6
СОДЕРЖАНИЕ
ВВЕДЕНИЕ..............................................................................................................7
1 ПРОБЛЕМАТИКА...............................................................................................9
2 ПРОЕКТИРОВАНИЕ.........................................................................................11
3 ТЕХНИЧЕСКОЕ ЗАДАНИЕ.............................................................................31
3.1.1 Наименование.........................................................................................31
3.2.1 Назначение..............................................................................................33
7
4 РАЗРАБОТКА.....................................................................................................62
5 ВЕРИФИКАЦИЯ................................................................................................84
6 ВАЛИДАЦИЯ.....................................................................................................86
ЗАКЛЮЧЕНИЕ.....................................................................................................91
ПРИЛОЖЕНИЕ А.................................................................................................95
ПРИЛОЖЕНИЕ Б..................................................................................................96
ПРИЛОЖЕНИЕ В.................................................................................................97
8
ВВЕДЕНИЕ
10
1 ПРОБЛЕМАТИКА
11
Рисунок 1.1 – Пример нерационального использования почасового
потребления электроэнергии предприятия
12
2 ПРОЕКТИРОВАНИЕ
13
финансовых операций
Окончание таблицы 2.1
14
интересы или потребности, которые должны быть удовлетворены
для того, чтобы проект стал эффективным и успешным.
На основе оценки влияние и важности стейкхолдеров была выбрана
стратегия работы со стейкхолдерами. Выбор стратегии работы со
стейкхолдерами – определение принципов вмешательства каждого из
стейкхолдеров в проект и способов управления его действиями. На практике
существует четыре стратегии управления стейкхолдерами.
Стратегии управления описаны в матрице, представленной на рисунке
2.1.
15
потребности. Рекомендуется использовать принцип партнерства в
коммуникации при ведении переговоров по проекту с этой группой.
2. Консультанты – второстепенные стейкхолдеры. Необходимо
привлекать их в качестве специалистов и согласовывать с ними
только важные стратегические решения по проекту.
3. Поддержка – второстепенные стейкхолдеры. Данная группа обязана
быть ознакомлена со всеми значимыми решениями по проекту
несмотря на то, что она не принимает прямого участия в этих
решениях. При этом рекомендуется эту группу вовлекать в
обсуждение допустимых проблем и заручаться у нее
вспомогательной поддержкой по ключевым решениям.
4. Временные работники – второстепенные стейкхолдеры.
Необходимо исключительно привлекать текущую группу к
выполнению требуемых задач, не погружая ее в детали проекта и
используя самый низкий уровень информирования. Стратегия
"игнорирование".
Оценка степени важности стейкхолдеров и возможностей повлиять на
успех проекта приведена в таблице 2.2.
16
СХ Разработчик/Программист Поддержка Внутренний
4
СХ Специалист по Поддержка Внутренний
5 построению
промышленных сетей
17
Требование формулировались относительно самой системы или ее
частей. Принципиальная разница заключается в том, что потребность должна
оставаться актуальной вне зависимости от Вашей целевой системы.
В результате переговоров и переписок удалось сформировать
потребности стейкхолдеров системы, которые представлены в таблице 2.3.
19
Исходя из этого можно утверждать, что качественно разработанный
документ требований позволит избежать ненужных переделок уже готовой
системы, снизить стоимость и скорость непосредственно разработки и
тестирования, не допустить расползания границ проекта и, наконец, добиться
большей удовлетворенности заказчиков.
В данном проекте используется верхнеуровневая структура документа
требований (рисунок 2.3), которая определяется структурой требований,
выявление которых является необходимым условием успешного
проектирования автоматизированной системы.
25
Важно представить использующую систему до внедрения
разрабатываемой нами целевой системы. Это необходимо для того, чтоб
определить, как будут преобразовываться входные потоки в выходные.
Функциональная диаграмма представлена на рисунке 2.4.
26
Рисунок 2.5 – Функциональная диаграмма использующей системы с
интегрированной в нее целевой системой
27
Рисунок 2.6 – Структурная схема системы
28
Рисунок 2.7 – Функциональная модель системы оптимизации
потребления электроэнергии. (Ф- функции, С – связи)
29
Если для 3-6 ЦК стоимость электроэнергии устанавливается
индивидуально для каждого часа месяца, следовательно, необходимо
определить самые выгодные часы потребления и принять в расчет
максимальное электропотребление именно в эти часы [10].
А если знать часы пикового потребления своей энергосбытовой
компании в своем же регионе, то на предприятии можно получить самую
дешевую стоимость электроэнергии.
Значит, для потребителей 3-6 ЦК необходимо создать единую систему,
позволяющую определять выгодные часы потребления электроэнергии и
часы пиковой нагрузки, а также, предоставлять информацию по тарифам
энергосбытовым компаниям в регионе клиента.
Разрабатываемая система представляет из себя веб-решение. Для
получения индикаторов работы по энергосбытовым компаниям возможно
использовать микро-сервис, который будет получать данные по всем
регионам Росси в реальном времени. В качестве сервиса предсказания может
использоваться модель машинного обучения. Для взаимодействия с системой
используется веб сайт, состоящий из новостного портала, личного кабинета
пользователя, кабинет администрации (панель управления системой).
Для возможности автоматизации процесса управления нагрузкой на
предприятии клиента используется автоматизированная система контроля и
учёта энергоресурсов (АСКУЭ) [11]. Взаимодействие разрабатываемой
системы с АСКУЭ клиента осуществляется по защищенному протоколу
передачи данных (Т2.6, Т2.7).
Ключевые особенности концепции системы:
1. Веб сайт могут быть реализованы средствами языков
программирования и фреймворками JavaScript, Laravel, VueJS
(альтернативный вариант реализации программной системы – Java).
2. В качестве сервиса сбора и прогнозирования данных используется
модуль Python с библиотеками машинного обучения.
3. В качестве главного хранилища используется база данных MySQL.
30
4. Для реализации кэшей, брокеров сообщений используется Redis:
резидентная система управления базами данных класса NoSQL с
открытым исходным кодом.
При принятии данной концепции минимальные требования к
окружению заказчика составят:
PHP >= 7.1.0;
PDO расширение для PHP;
MCrypt расширение для PHP;
OpenSSL (расширение для PHP);
Mbstring (расширение для PHP);
Tokenizer (расширение для PHP);
XML (расширение для PHP);
Composer (getcomposer.org);
Python >= 3.6;
Redis – система управления базами данных класса NoSQL.
Концепция системы представлена рисунке 2.8.
31
Рисунок 2.8 – Концепция работы системы оптимизации потребления
электроэнергии
32
3 ТЕХНИЧЕСКОЕ ЗАДАНИЕ
3.1.1 Наименование
34
В таблице 3.1 приведены сокращения, определения и обозначения.
3.2.1 Назначение
35
ИС «СОПЭ» предполагается использовать на базе ООО «Энерго-март -
федеральная розничная энергосбытовая компания, задействованных в
исполнении вышеперечисленных процессов.
37
подсистема уведомления;
подсистема взаимодействия с АСКУЭ.
4. Портальная часть (Web) ИС узла СОПЭ.
Модуль ведения базы данных непосредственной из WEB интерфейса
административной панели.
Модуль позволяет выполнять стандартные действия для работы с БД
CRUD (Создание чтение обновление удаление) по средствам веб интерфейса.
Администрирования БД.
Данная подсистема обеспечивает функции для взаимодействия и
администрирования баз данных «СОПЭ», а также отвечает за целостность
данных. Решения систем управления базами данных в области по хранению и
обработке данных должны использоваться как основания для
функциональности данной подсистемы.
Подсистема информационного ввода и вывода.
Подсистема информационного ввода и вывода используется для
осуществления функций взаимодействия с данными БД, а также
осуществляет процессы, связанные с правами доступа к БД.
Подсистема для импорта и экспорта данных.
Подсистема необходима для осуществления функций преобразования
данных «СОПЭ» и должна обеспечивать:
1. Осуществлять импорт данных и настроек включая данные БД.
2. Осуществлять экспорта данных и настроек включая данные БД.
Модуль назначения и администрирования доступа.
Модуль назначения и администрирования доступа осуществляет
разделение прав доступа групп с возможностью назначение группе и
отдельному пользователю индивидуальных полномочий и времени их
действия на доступ к данным системы.
По умолчанию необходимо выделить 3 группы пользователей (Т4.5):
1. Администраторы – обладают полными правами доступа и имеют
доступ ко всем ресурсам системы.
38
2. Редакторы – обладают ограниченным доступом. Политика доступа
позволяет выполнять редактирование контента сайта.
3. Пользователи – обладают ограниченным доступом. После
регистрации все пользователи прикрепляются к данной группе.
Политика доступа позволяет редактировать личные данные профиля
и просматривать системные данные о электропотреблении только
для своего региона, указанного при регистрации.
Модуль сбора данных и структурирования о фактических пиковых
часах для субъектов Российской Федерации.
Модуль осуществляет сбор и структурирование данных с портала
администратора торговой системы оптового рынка.
Модуль сбора и структурирования данных о индикаторах работах для
субъектов Российской Федерации.
Модуль осуществляет сбор и структурирование данных с портала
системного оператора Единой энергетической системы
Модуль прогнозирования временных рамок максимальных пиковых
часов для субъектов Российской Федерации.
Модуль осуществляет прогнозирование временных рамок, в которые
ожидается максимальное электропотребления отдельного региона
Российской федерации.
39
Основным протоколом для поддержки прима и передачи данных
должен являться: HTTP/HTTPS. Используемый системой
специализированный компьютер или специализированное оборудование, на
котором размещается исполняемый код системы, должен иметь подключение
по протоколам TCP/IP.
Обеспечение системы должно иметь функции для совместимости на
информационном уровне данных с другими IT системами. Информационная
коллегиальность должна обеспечивается на уровне стандартов форматов
данных SQL, Json.
Функции экспорта и импорта должны быть обозначены на этапе
внедрения системы (Т4.4).
41
Операции по обслуживанию системы исполняются службами,
ответственными за сопровождение, информационными отделами заказчика,
назначенными в штате или нанятые по договору заказчика.
Квалификация и компетенции администрирующих лиц в функциях и
особенностях системы утверждаются на стадии проектирования
эксплуатационной документации (Т1.5).
42
3.3.5 Требования, предъявляемые к технической эстетике и эргономике
43
должно быть реализовано отображение на экране только тех
возможностей, которые доступны определенному пользователю в
соответствии с его функциональной ролью в системе;
должна быть реализована возможность работы с системой при двух
мониторной конфигурации дисплеев (как пример, для некоторых
заказчиков).
Требования унификации, предъявляемые к страницам
пользовательского интерфейса:
для проектирования страниц должен использоваться идентичный
графический дизайн, который имеет единый стиль отображения
основных элементов управления и навигации;
для отображения в разделах интерфейса операций (добавление
информационной сущности, редактирование поля данных и т.п.),
должны использоваться схожие управляющие (навигационные)
элементы;
реакция на взаимодействие с элементами дизайна страниц (смена
фокуса, нажатие кнопки) должны реализовываться идентично для
одинаковых групп элементов;
нужна стандартизация с формами и страницами графического
интерфейса, которые используют в базовом или системном ПО, а
также с ПО аналогичные назначения.
44
2. Электропитание от сети напряжением 220В с частотой 50 Гц. По
определениям электроэнергии системы первичного электропитания
должны соответствовать ГОСТ 13109–87, ГОСТ Р50628–93 и МЭК–
555–2.
3. Защита аппаратных компонентов системы, носителей данных,
резервирование ресурсов и текущее обслуживание осуществляется
техническими и организационными средствами, которые
предусмотрены в структуре площадки, предоставленной
Заказчиком.
Согласно п. Т4.5.
45
новостями и документами, а также с метаданными и другими
опубликованными данными СОПЭ.
Роль взаимодействует с подсистемой Подсистема предоставления
доступа к информационным ресурсам СОПЭ.
46
базы данных. Кроме того, оператор выполняет функции, которые связаны с
обработкой запросов на предоставление данных.
3.4.1.6 Эксперт-аналитик
47
составной частью функций пользователей системы. Системные процедуры
группируются в соответствии с их назначением:
занесение данных;
поиск данных;
редактирование записей БД;
анализ данных;
предоставление данных.
48
4. Запись данных в соответствующей раздел БД с указанием
временной отметки.
50
1. Предоставление данных (прогнозы, индикаторы, фактические
данные).
2. Предоставления отчетных данных о фактическом потреблении и
значении пиковых часов (Т8.2, Т8.3, Т3.4).
3. Поиск данных.
4. Просмотр данных.
5. Просмотр и изменение личных параметров пользователя в
собственном кабинете.
51
Подсистема должна позволять производить конвертацию (импорт и
экспорт) и в следующие форматы:
SQL;
JSON;
CSV.
Данные БД при импорте/экспорте должны представляться в
общедоступных форматах.
53
3.3.3.2.3 Общие требования к информационному наполнению
54
3.3.3.4 Требования к программному обеспечению
55
3.3.3.5 Требования к техническому обеспечению
56
№ Параметр/Характеристика Минимальное значение
1. Архитектура Intel
Окончание таблицы 3.5
57
3.3.3.7 Требования к методическому обеспечению
58
Согласование и
утверждение ТЗ
Этап 2
Технический Разработка проектных Документирование 15.02.19-
проект решений по системе и технического 15.03.19
ее частям проекта согласно
Разработка разделу 3.3.3.6 ТЗ
документации на ИС, ее
подсистемы и модули
Разработка базы Проектирование Физическая БД 15.03.19-
данных системы архитектуры 15.04.19
физической БД,
проектирования
структуры таблиц,
моделей объектно-
реляционных
отображений и их
взаимосвязей
Подготовка материалов
для наполнения БД.
Наполнения таблиц
начальными данными
Разработка Создания подсистем Модуль 15.03.19-
модуля сбора, прогнозирования 15.04.19
прогнозировани структурирования и данных
я данных прогнозирования
информационными
продуктами.
Проведение
тестирования и
60
испытаний
Проведение опытной
эксплуатации
Этап 4
Сопровождение Выполнение действий в Проекты 15.04.19-
ИС положении о административных 31.12.19
гарантийных и технических
обязательствах. регламентов,
Правка нормативных других
документов, ТЗ и ТП. нормативных
правовых
документов.
Описание процессов
деятельности
Информационное обеспечение
системы
Схема организационной
структуры заказчика
62
3 Описание комплекса технических и
вычислительных средств
4 Схема функциональной структуры Обобщенная архитектура
«СОПЭ»
Функциональная структура
«СОПЭ»
5 Описание функций программных Описание алгоритмов
модулей «СОПЭ» функциональных модулей
6 Описание программных решений
7 Описание информационного
обеспечения
63
4 РАЗРАБОТКА
64
Целевую систему можно разделить на три взаимодействующих между
собой модуля, модульная структура разрабатываемой системы представлена
на рисунке 4.1.
65
Схема взаимодействия пользователя с WEB составляющей системы
представлены на рисунке 4.2.
66
4.2.1 Модели web-приложения
67
БД, а также задаются соединение по умолчанию. Примеры настройки
подключений находятся в этом же файле.
В разрабатываемой системе используется 25 таблиц, диаграмма их
связей представлена на рисунке 4.4.
68
обработкой HTTP-запросов логику в отдельный класс. Контроллеры хранятся
в папке app/Http/Controllers.
Список контроллеров системы приведен в таблице 4.2.
69
нейросетевая библиотека, написанная на языке Python [19]. Она представляет
собой надстройку над фреймворками Deeplearning4j, TensorFlow и Theano.
Модуль прогнозирования реализован командой опытных инженеров во
главе с Романом Мальцевым. Также были изучены и использованы метрики
и визуализации для возможности ведения правильного анализа данных и
оценки результатов.
70
При регистрации пользователь системы указывает свое имя, email,
пароль. Также указывается один из семидесяти пяти субъектов РФ.
Указанный субъект закрепляется за пользователем и становится неизменным
при редактировании настроек. Так возможно избежать неправомерной
ситуации, когда один пользователь (владелец одного аккаунта) имеет данные
по всем субъектам РФ.
После регистрации пользователю предоставляется уведомление о
необходимости подтвердить указанный при регистрации Email. В результате
успешного подтверждения, пользователь получает доступ к своему личному
кабинету, путем авторизации через отправку логину и пароля через web-
форму.
Личный кабинет пользователя позволяет выполнять следующие
действия.
1. Изменения личных данных. В разделе настройки, пользователь
может изменить пароль, название своей кампании или настроить
политику отправки уведомлений. Скриншот раздела «Настройки»
представлен на рисунке 4.6.
71
2. Выбор плана подписки. В разделе подписка пользователь может
выбрать и оплатить один из трех платных решений. После оплаты
пользователь получает расширенный функционал системы на срок,
соответствующий выбранному плану.
3. Получение отчетных данных и индикаторов работы. Легитимный
пользователь, с активной подпиской получает возможность
просматривать следующие категории данных:
прогнозы пиковых часов;
фактические данные пиковых часов;
температура в ОЭС;
план генерации и потребления;
факт генерации и потребления.
Пример отображения индикаторов представлен на рисунке 4.7.
72
автоматического маневрирования нагрузкой электрической энергии
компании.
5. Просмотр документации и руководство пользователя.
73
Рисунок 4.8 – Пример настройки прав доступа
75
Полный список доступных для взаимодействия ресурсов и
возможности редактирования приведен в приложении В.
77
Рисунок 4.13 – Пример главной страницы приложения
78
Рисунок 4.14 – Пользовательский интерфейс личного кабинета
80
После проведения развертывания приложения с удаленных
репозиториев были произведены миграции таблиц базы данных, а также
наполнение их начальными значениями. По окончанию работ были
произведены автоматические тесты работоспособности системы.
Все авторотационные данные были переданы заказчику.
82
Для проверки доступности АС «Стоматология» с рабочего места
пользователя нужно выполнить следующие действия:
открыть Google Chrome, для этого необходимо кликнуть по ярлыку
«Google Chrome» на рабочем столе или вызвать из меню «Пуск»;
ввести в адресную строку Google Chrome адрес сайта и нажать
«Переход»;
убедиться, что в окне открылся сайт «СОПЭ».
В случае если сайт «СОПЭ». не запускается, то следует обратиться в
службу поддержки.
В случае обнаружения ошибок при работе «СОПЭ», не описанных
ниже в текущем разделе, нужно обращаться к сотруднику подразделения
технической поддержки ДИТ (HelpDesk) либо к ответственному
Администратору «СОПЭ».
83
учетная запись не имя пользователя или
числится. пароль, по средствам
его сброса.
Рекомендуемая литература:
1. Грешилов А.А. Математические методы построения прогнозов /
А.А. Грешилов, В.А. Стакун, А.А. Стакун. — М.: Радио и связь,
1997. — 112 с.
2. Дрейпер Н. Прикладной регрессионный анализ. Множественная
регрессия / Н. Дрейпер, Г. Смит. — 3-е изд. — М.: Диалектика, 2007.
— 912 с.
84
Рисунок 4.16 – Представление руководства пользователя системы в личном
кабинете
85
5 ВЕРИФИКАЦИЯ
87
6 ВАЛИДАЦИЯ
88
Павел Онохов ИП Batyukov Программист
89
Окончание таблицы 6.2
90
разработки
92
ЗАКЛЮЧЕНИЕ
94
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
95
11 Коммерческая электроэнергетика. Словарь-справочник. – М.: Энас.
В.В. Красник, 2006.
12 Хорошев А.Н. Введение в управление проектированием
механических систем: Учебное пособие. – Белгород, 1999. – 372 с.
13 Системная и программная инженерия. Словарь-справочник, ДМК
Пресс, 2010. – 280 с.
14 Laravel - русскоязычное комьюнити [Электронный ресурс]. – Режим
доступа: http://laravel.su/, свободный (дата последнего посещения 25.05.19).
15 Дейт К. Дж. Введение в системы баз данных / К. Дж. Дейт. – 8-е
изд. – М.: Вильямс, 2006. – 1328 с.
16 Дрейпер Н. Прикладной регрессионный анализ. Множественная
регрессия / Н. Дрейпер, Г. Смит. – 3-е изд. – М.: Диалектика, 2007. – 912 с.
17 Eloquent ORM [Электронный ресурс]. – Режим доступа:
https://laravel.ru/docs/v5/eloquent свободный (дата последнего посещения
25.05.19).
18 Keras [Электронный ресурс]. – Режим доступа:
https://www.tensorflow.org/guide/keras?hl=ru свободный (дата последнего
посещения 25.05.19).
19 The Syslog Protocol [Электронный ресурс]. – Режим доступа:
https://tools.ietf.org/html/rfc5424, свободный (дата последнего посещения
25.05.19).
20 Синицын С. В., Налютин Н. Ю. Верификация программного
обеспечения. М.:БИНОМ, 2008, 368 c.
21 Systems and software engineering – System life cycle processes
[Электронный ресурс]. – Режим доступа:
https://www.iso.org/standard/63711.html, свободный (дата последнего
посещения 25.05.19).
96
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
97
Рисунок Б.1 – Отзыв пользователя системы (ОАО «КОМПАС-Store»)
98
ПРИЛОЖЕНИЕ В
99