Материал: Разработка автоматизированной системы

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

.4.2 Требования к функциям

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

.4.3 Требования к видам обеспечения

Из требований к видам обеспечения можно выделить требования к ресурсам сервера и к программному обеспечению.

Требованиями к ресурсам сервера являются:

) минимальный размер оперативной памяти 2 ГБ;

) минимальный размер жесткого диска 32 ГБ;

) минимальная пропускная способность сетевого канала 100 МБ/с.

Требованиями к программному обеспечению служат:

) web-сервер Nginx;

) платформа.Net Core;

) интерпретатор PHP;

) базы данных MySQL и Tarantool.

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

3. Автоматизация проектирования визуальной модели системы

.1 Построение диаграммы вариантов использования

Диаграмма вариантов использования описывает функциональное назначение системы или то, что система должна делать. Проектируемая программная система представляется в форме вариантов использования, с которыми взаимодействуют действующие лица или актеры. Актер - любая сущность, которая взаимодействует с системой извне. Вариант использования применяется для описания сервисов, которые система предоставляет актеру [7]. Диаграмма вариантов использования представлена на рисунке 3.1.

Рисунок 3.1-Диаграмма вариантов использования

В таблице 3.1 представлено описание главного раздела "Расписание публикаций".

Таблица 3.1-Главный раздел "Расписание публикаций"

Вариант использования

Расписание публикаций

Актеры

Пользователь

Цель

Получение оптимального расписания публикаций

Краткое описание

Пользователь выбирает группу для получения информации об оптимальном расписании публикаций

Тип

Базовый


В таблице 3.2 рассмотрен раздел "Типичный ход событий", в котором раскрывается последовательность действий в разрабатываемой системе. Это позволяет подробно рассмотреть действия актеров и соответствующий им отклик системы.

Таблица 3.2-Раздел "Типичный ход событий"

Действия актера

Отклик системы

Пользователь проходит авторизацию с помощью почты и пароля Исключение №1: введены неверные почта или пароль

Открывается главная страница сайта

Пользователь проходит авторизацию с помощью социальных сетей

Открывается главная страница сайта

Пользователь подключает группу Исключение №2: пользователь не является администратором группы Исключение №3: группа уже подключена

Информация о группе сохраняется в базе данных

Пользователь просматривает расписание для группы Исключение №4: группа не добавлена

Происходит вывод информации об оптимальном расписании публикаций


В таблице 3.3 представлен раздел "Исключения".

Таблица 3.3-Раздел "Исключения"

Действия актера

Отклик системы

Исключение №1: введены неверные почта или пароль

Пользователь проходит авторизацию с помощью почты и пароля

Система предлагает ввести корректные данные

Исключение №2: пользователь не является администратором группы

Пользователь подключает группу

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

Исключение №3: группа уже подключена

Пользователь подключает группу

Система оповещает пользователя о том, что группа уже подключена

Исключение №4: группа не добавлена

Пользователь просматривает расписание для группы

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

.2 Построение диаграммы последовательности

Диаграмма последовательности используется для моделирования процесса обмена сообщениями между объектами. На данной диаграмме изображаются объекты, которые участвуют во взаимодействии, ключевым моментом тут является динамика взаимодействия объектов во времени. Также на диаграмме присутствует линия жизни объекта, которая служит для обозначения периода, в течение которого объект существует в системе и может участвовать во всех ее взаимодействиях. На диаграмме также имеется фокус управления, он применяется для выделения активности объектов [8]. Диаграмма последовательности представлена на рисунке 3.2.

Рисунок 3.2-Диаграмма последовательности

На диаграмме последовательности рассмотрен процесс сканирования группы. Котроллер TimerController выполняет методы GetGroupStats и GetGroupUsers класса VKApi. Этот класс, в свою очередь, выполняет метод GetRequest класса HttpRequests. После получения информации контроллер переводит фокус управления на контроллер SaveDataController, который структурирует данные, заносит информацию в базу данных и возвращает фокус управления.

.3 Построение диаграммы классов

Диаграмма классов используется для моделирования статической структуры классов системы и связей между ними. Классом называется множество объектов, обладающих одинаковой структурой, поведением и отношением с объектами из других классов. В секциях указывается имя класса, атрибуты и методы [7]. Диаграмма классов представлена на рисунке 3.3.

Рисунок 3.3-Диаграмма классов

Диаграмма классов отображает часть системы, которая выполняет сканирование групп в социальных сетях. Класс HttpRequests хранит методы для работы с GET- и POST-запросами. Класс SocialAPI является родительским классом для IGApi, VKApi и OKApi. Он реализует список методов, необходимых для взаимодействия системы с социальной сетью. Классы IGApi, VKApi и OKApi описывают методы получения данных из социальных сетей Instagram, Вконтакте и Одноклассники соответственно. TimerController является главным модулем, который с некоторой периодичностью запускает сканирование групп по очереди. Для каждой группы в зависимости от социальной сети создается соответствующий класс сканирования. SaveDataController принимает данные и преобразует их в удобную для просмотра и хранения форму. GroupsDataPoints является таблицей базы данных, в которой хранится информация о сканировании.

.4 Построение диаграммы компонентов

Диаграмма компонентов используется для моделирования иерархии компонентов системы. Она отображает физические модули программного кода. Также данная диаграмма позволяет определить архитектуру разрабатываемой системы, устанавливая зависимости между программными элементами. Основными графическими элементами программы являются компоненты, интерфейсы и зависимости между ними. Диаграмма обеспечивает переход от логических представлений к конкретной реализации проекта в виде программного кода [8]. Диаграмма компонентов представлена на рисунке 3.4.

Диаграмма компонентов показывает зависимость программных элементов друг от друга. При внешнем запросе по протоколу http сервер Nginx перенаправляет запросы на ASP.Net приложение, которое может вызвать компонент SocialNetworksAPI для получения информации из социальных сетей и делать запросы к базе данных. Компонент ScannerTimer выполняет запросы к базе данных для получения списка сканируемых групп и добавляет их во внутреннюю очередь. Для каждой группы идет обращение к компоненту SocialNetworksAPI для получения информации. После получения информации компонент записывает ее в базу данных.

Рисунок 3.4-Диаграмма компонентов

.5 Методы анализа данных

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

.5.1 Анализ временных рядов

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

Существует две основные цели анализа временных рядов: определение природы ряда и прогнозирование, т.е. предсказание будущих значений временного ряда по настоящим и прошлым значениям. Обе цели требуют, чтобы модель ряда была определена и более или менее формально описана. Как только модель определена, с ее помощью можно интерпретировать рассматриваемые данные. Затем можно экстраполировать ряд на основе найденной модели, т.е. предсказать его будущие значения [10].

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

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

Авторегрессионная модель (АР-модель) - модель временных рядов, в которой значения временного ряда в данный момент линейно зависят от предыдущих значений этого же ряда. Общий вид модели авторегрессии:

, (3.1)

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

Если АР-модель имеет первый  или второй порядок , то она приобретает соответственно следующий вид [11]:

, (3.2)

. (3.3)

3.5.2 Корреляционный анализ

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

а) измерение степени связности (тесноты, силы, строгости, интенсивности) двух и более явлений;

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

в) обнаружение неизвестных причинных связей.

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

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

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

Рисунок 3.5-Диаграмма рассеяния

Показатель, который характеризует силу связи и ее направление, называется линейный коэффициент корреляции Пирсона. Коэффициент корреляции рассчитывается по формуле:

 (3.4)

где  - коэффициент корреляции, х и у - коррелируемые ряды,  и  - средние значения.

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

Для проверки достоверности коэффициента корреляции необходимо сравнить его с вычисляемой средней ошибкой. Средняя ошибка коэффициента корреляции вычисляется по формуле:

 (3.5)

где  - коэффициент корреляции, n - число наблюдений.

Коэффициент корреляции считается достоверным, если он в три раза превышает свою среднюю ошибку. Иначе необходимо увеличить число наблюдений [12].

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

Первая гипотеза: коэффициент корреляции значимо отличается от нуля (т.е. взаимосвязь между величинами существует). Тестовая статистика рассчитывается по формуле:

. (3.6)

Затем полученное значение сравнивается с табличным значением коэффициента Стьюдента. Если тестовая статистика больше табличного значения, то коэффициент значимо отличается от нуля. Из формулы (3.6) видно, что чем больше измерений n, тем лучше.

Вторая гипотеза: отличие между двумя коэффициентами корреляции значимо. Тестовая статистика вычисляется по формуле: