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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.10.2017
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

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

Модуль взаимодействия с социальными сетями используется для реализации взаимодействия в целом. При обращении к социальной сети этот модуль переводит процесс управления на модуль взаимодействия с соответствующей социальной сетью.

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

Модуль сбора данных запускает сканирование групп с некоторой периодичностью и собирает данные. Затем данные поступают в модуль анализа, и часть данных сохраняется в базе данных. Блок-схема алгоритма анализа данных представлена на рисунке 5.2.

Рисунок 5.2-Блок-схема алгоритма анализа данных

Сначала производится исследование показателя "Количество онлайн пользователей" методом корреляционного анализа.

Далее аналогичная операция производится над показателями публикаций: "Лайки", "Репосты", "Комментарии" и "Просмотры".

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

. (5.1)

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

Затем аналогичное исследование выполняется для показателя "Виральность".

На следующем этапе устанавливается функциональная зависимость показателя "Эффективность публикации" от показателей "Онлайн" и "Виральность" на прогнозируемом промежутке семи дней методом регрессионного анализа.

После этого выполняется сохранение полученных результатов в базе данных и завершение анализа. Следующий анализ группы будет выполняться через шесть часов.

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

, (5.2)

где Y(t) - значение показателя "Виральность" в момент времени t, L(t) - "Лайки", R(t) - "Репосты", C(t) - "Комментарии", V(t) - "Просмотры". Для показателя "Эффективности публикации" выбрана следующая зависимость:

, (5.3)

где E(t) - значение показателя "Эффективность публикации" в момент времени t, Y(t) - "Виральность", O(t) - "Онлайн".

Метод корреляционного анализа подразумевает проверку существования функциональной зависимости исследуемого параметра от времени. Блок-схема алгоритма анализа данных методом корреляционного анализа представлена на рисунке 5.3.

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

Иначе проверяем гипотезу о том, что коэффициент корреляции значимо отличается от нуля (то есть существует взаимосвязь между величинами). Для этого рассчитывается значение тестовой статистики и проверяется условие о том, что оно больше табличного значения коэффициента Стьюдента t(0,95, ?), равного 1,96. Если условие неверно, то функция возвращает отрицательный результат. Иначе функция возвращает положительный результат.

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

Рисунок 5.3-Блок-схема алгоритма анализа данных методом корреляционного анализа

Метод анализа временных рядов необходим для сглаживания ряда и прогнозирования будущих значений. Блок-схема алгоритма анализа данных методом временных рядов представлена на рисунке 5.4.

Рисунок 5.4-Блок-схема алгоритма анализа данных методом временных рядов

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

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

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

5.3 Тестирование и оценка надежности программного продукта

Тестирование выполняется исходя из предположения, что у некоторого пользователя подключены группы с идентификаторами 3, 4 и 8, а также пользователь имеет ключ доступа "a4112sfda".

5.3.1 Структурное тестирование

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

№ п.п.

Текст функции

1

public async Task<object> Remove(Models.Api.DefaultRequest query, int? id)

1

{

1

SetCrossDomain();

1

query.SetDBContext(dbContext);

1

if (!await query.CheckAccess())

2

{

2

return new ApiResults().ErrorResult(ApiResults.Action.Api, "access_token_invalid");

2

}

3

var group = dbContext.Groups.Where(g => g.Id == id && g.Uid == query.GetUserId()).FirstOrDefault();

3

if (group == null)

4

{

4

return new ApiResults().ErrorResult(ApiResults.Action.Api, "group_not_found");

4

}

5

dbContext.Groups.Remove(group);

5

if (await dbContext.SaveChangesAsync() == 0)

6

{

6

return new ApiResults().ErrorResult(ApiResults.Action.Api, "error_saving_data");

6

}

7

var scanLastPoint = dbContext.ScanLastPoint.Where(s => s.Gid == id).FirstOrDefault();

7

if (scanLastPoint != null && scanLastPoint.Gid == id)

8

{

8

await scanLastPoint.ClearTable();

8

}

9

foreach (var scanPrevPoint in dbContext.ScanPrevPoint.Where(s => s.Gid == id))

10

{

10

await scanPrevPoint.ClearTable();

10

}

11

dbContext.ScanPosts.RemoveRange(dbContext.ScanPosts.Where(s => s.Gid == id));

11

dbContext.Schedules.Remove(new Schedule() { Gid = (int)id });

11

var gid = (uint)id;

11

await ScanPostPoint.ClearTable(gid);

11

await ScanPostsData.ClearTable(gid);

11

await Schedule.ClearTable(gid);

11

await ScheduleGraph.ClearTable(gid);

11

await dbContext.SaveChangesAsync();

12

return new ApiResults().SuccessResult();

13

}

Затем используется потоковый граф для представления программы. Потоковый граф программы представлен на рисунке 5.5.

Рисунок 5.5-Потоковый граф программы

Затем рассчитывается цикломатическая сложность я тремя способами.

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

(5.4)

Используя формулу (5.4) получается:

Во втором способе цикломатическая сложность может быть вычислена по формуле:

(5.5)

где E - количество дуг, а N - количество узлов потокового графа.

По формуле (5.5) получается:

В третьем способе цикломатическая сложность рассчитывается по формуле:

(5.6)

где p - количество предикатных вершин в потоковом графе G.

По формуле (5.6) получается:

После того, как цикломатическая сложность вычислена, необходимо построить маршруты:

1) 1-2-13

2) 1-3-4-13

3) 1-3-5-6-13

4) 1-3-5-7-9-11-12-13

5) 1-3-5-7-8-9-10-9-10-9-10-9-11-12-13

6) 1-3-5-7-8-9-10-9-10-9-10-9-10-9-10-9-11-12-13

7) 1-3-5-7-8-9-10-9-10-9-10-9-10-9-10-9-10-9-10-9-11-12-13

8) 1-3-5-7-8-9-10-9-10-9-10-9-10-9-10-9-10-9-10-9-10-9-11-12-13

9) 1-3-5-7-8-9-10-9-10-9-10-9-10-9-10-9-10-9-10-9-10-9-10-9-11-12-13

Теперь необходимо построить тестовые варианты:

1) ИД: access_token = null,

id = 3

Ож Рез: ошибка с сообщением "ключ доступа не действителен";

2) ИД: access_token = "a4112sfda"

id = null

Ож Рез: ошибка с сообщением "необходимо задать параметр id";

3) ИД: access_token = "a4112sfda"

id = 5

Ож Рез: ошибка с сообщением "группа не найдена";

4) ИД: access_token = "a4112sfda"

id = 3

Ож Рез: сообщение "группа успешно отключена".

5.3.2 Функциональное тестирование

Функциональное тестирование было проведено с помощью метода эквивалентных разбиений. Классы эквивалентности представлены в таблице 5.1.

Таблица 5.1-Классы эквивалентности

Показатель

Правильный класс эквивалентности

Неправильный класс эквивалентности

Идентификатор подключенной группы

Числа 3, 4, 8

Числа, отличные от 3, 4, 8

Ключ доступа

Строка "a4112sfda"

Строка, отличная от a4112sfda"

Количество публикаций в сутки

Числа от 10 до 50

Числа меньше 10, больше 50

Минимальное время между

публикациями

Числа от 10 до 60

Числа меньше 10, больше 60

Для проверки правильности предположения о поведении программы при столкновении с определенным классом эквивалентности нужно представить тестовые наборы, которые соответствуют каждому классу.

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

Таблица 5.2-Классы эквивалентности

Показатель

Входные данные для тестирования

Предполагаемый результат

Результат тестирования

Идентификатор подключенной группы

3

Разрешается выполнять действия над группой

+

Идентификатор подключенной группы

5

Сообщение "группа не подключена"

+

Ключ доступа

a4112sfda

Разрешается выполнять действия

+

Ключ доступа

asf455yhf3

Сообщение "ключ доступа не действителен"

+

Количество публикаций в сутки

25

Сохраняется указанное значение

+

Количество публикаций в сутки

91

Сообщение "значение должно быть от 10 до 50"

+

Минимальное время между публикациями

30

Сохраняется указанное значение

+

Минимальное время между публикациями

5

Сообщение "значение должно быть от 10 до 60"

+

5.3.3 Оценка надежности программного средства

Для оценки надежности программного средства была применена модель Коркорэна. В данной модели не используются параметры времени тестирования, а учитывается только результат N испытаний, в которых выявлено Ni ошибок i-го типа.

По этой модели оценивается вероятность безотказного выполнения ПС на момент оценки:

(5.7)

где k - известное число ошибок, N - общее число прогонов, N0 - число безотказных выполнений программы.

Вероятность появления ошибки рассчитывается по формуле:

, (5.8)

где бi - вероятность выявления ошибок i-го типа при тестировании [17].

При выполнении 150 тестов, 8 из них завершились с ошибками. Ошибки программы по категориям и вероятности их появления представлены в таблице 5.3.

Таблица 5.3-Таблица ошибок программы

Тип ошибки

Вероятность появления ошибки бi

Число появления ошибок Ni при испытании

Ошибки вычислений

0,09

3

Логические ошибки

0,26

4

Ошибки ввода-вывода

0,16

2

Ошибки манипулирования данными

0,18

5

Ошибки сопряжения

0,17

0

Ошибки определения данных

0,08

4

Ошибки в БД

0,06

0

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

.

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

6. Компьютерная реализация системы

6.1 Назначение системы

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

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

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

Рисунок 6.1-Страница добавления группы

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

После завершения сканирования и получения некоторых данных, запускается анализ данных. Затем на основе собранных и проанализированных данных представляется график эффективности публикации на ближайшую неделю. График показывает вероятность того, что публикация, сделанная в это время, будет иметь максимальное значение показателей и данную публикацию просмотрит наибольшее число подписчиков. На рисунках 6.2-6.4 показана страница "Расписание" при выборе разных дней недели.

Рисунок 6.2-Страница "Расписание" для среды

Рисунок 6.3-Страница "Расписание" для пятницы

Рисунок 6.4-Страница "Расписание" для воскресенья

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

Также пользователь может настроить отображение сканируемых данных на главной странице. Пользователь может настраивать главную страницу с помощью виджетов. Каждый виджет имеет соответствующие настройки и вид. Выбор доступных виджетов представлен на рисунке 6.5.

Рисунок 6.5-Список доступных виджетов на главной странице

После выбора одного из виджетов открывается окно настроек. В нем предлагается выбрать группу, для которой будут собираться данные и дополнительные настройки, в зависимости от выбранного виджета. Окно настройки виджета "График подписок" представлено на рисунке 6.6.

После добавления нескольких виджетов главная страница может выглядеть, как представлено на рисунке 6.7.

Рисунок 6.6-Окно настройки виджета "График подписок"

Рисунок 6.7-Вид главной страницы после настройки виджетов

Заключение

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

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

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

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

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

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

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

Список использованных источников

1. Бурко, Р.А. Социальные сети в современном обществе / Р.А. Бурко, Т.В. Терёшина // Молодой ученый. 2014. - №7. - С. 607-608.

2. Мингазов, И.М. Социальные сети как инструмент продвижения / И.М. Мингазов, В.Н. Макашова // Сборник научных трудов - Магнитогорск: МГТУ, 2015. - Т.1.

3. Ермолова, Н. Продвижение бизнеса в социальных сетях Facebook, Twitter, Google+ / Н. Ермолова - Москва: Альпина паблишер, 2014. - 365 с.

4. Халилов, Д. Маркетинг в социальных сетях / Д. Халилов - Москва: Манн, Иванов и Фербер, 2013. - 376 с.

5. Базенков, Н.И. Обзор информационных систем анализа социальных сетей / Н.И. Базенков, Д.А. Губанов - Москва: ИПУ РАН, 2013. - 37 с.

6. Коршунов, А.В. Анализ социальных сетей: методы и приложения / А.В. Коршунов - Москва: ИСП РАН, 2013. - 17 с.

7. Леоненков, А.В Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose / А.В. Леоненков - Москва: БИНОМ, 2006. - 319 с.

8. Трофимов, С.А. CASE-технологии. Практическая работа в Rational Rose / С.А. Трофимов - Москва: Бином-Пресс, 2002. - 288 с.

9. Поручиков, М.А. Анализ данных / М.А. Поручиков - Самара: СамГУ, 2016. - 88 с.

10. Сажин, Ю.В. Анализ временных рядов и прогнозирование / Ю.В. Сажин, А.В. Катынь, Ю.В. Сарайкин - Саранск: Мордовский университет, 2013. - 192 с.

11. Лукашин, Ю.П. Адаптивные методы краткосрочного прогнозирования временных рядов / Ю.П. Лукашин - Москва: Мир, 2003. - 415 с.

12. Харченко, М.А. Корреляционный анализ: Учебное пособие для ВУЗов / М.А. Харченко, Л.М. Носилова - Воронеж: ВГУ, 2008. - 31 с.

13. Гайдышев, И.П. Анализ и обработка данных: специальный справочник / И.П. Гайдышев - Санкт-Петербург: Питер, 2001. - 752 с.

14. Барковский, С.С. Многомерный анализ данных методами прикладной статистики: Учебное пособие / С.С. Барковский, В.М. Захаров, А.М. Лукашов, А.Р. Нурутдинова - Казань: КГТУ, 2010. - 126 с.

15. Маклаков, С.В. BPwin и ERwin: CASE-средства для разработки информационных систем / С.В. Маклаков - Москва: Диалог-МИФИ, 1999. - 256 с.

16. Сибилев, В.Д. Моделирование и проектирование баз данных. Учебное пособие для вузов / В.Д. Сибилев - Томск: ТУСУР, 2002. - 144 с.

17. Воронин, А.А. Надежность информационных систем: Учебное пособие / А.А. Воронин, Б.И. Морозов - Санкт-Петербург: СПбГТУ, 2001. - 89 с.

Размещено на Allbest.ru


Подобные документы

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Анализ информационной системы "Бурятия.INFO". Построение функциональной модели "Как надо", диаграммы прецедентов, диаграммы последовательности действий, диаграммы классов. Разработка программного приложения в интегрированной среде Intellij IDEA.

    дипломная работа [1,3 M], добавлен 13.04.2014

  • Описание предметной области, определение функциональных требований к системе и построение диаграммы потока данных. Построение модели "сущность-связь", описание сущностей и атрибутов модели. Построение реляционной базы данных и описание ее таблицы.

    курсовая работа [624,5 K], добавлен 30.05.2019

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

    курсовая работа [381,8 K], добавлен 01.06.2009

  • Оценка предметной области: концептуальные требования; выявление информационных объектов и связей между ними; построение базы данных. Описание входных и выходных данных информационной системы "Магазин компьютерной техники". Анализ диаграммы прецедентов.

    курсовая работа [294,8 K], добавлен 13.04.2014

  • Информационный анализ и выявление основных сущностей предметной области и их основных свойств. Построение концептуальной модели (модель сущность-связь). Определение логической модели реляционной базы данных. Решение задач средствами проектирования СУБД.

    курсовая работа [3,0 M], добавлен 25.11.2013

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

    курсовая работа [2,9 M], добавлен 22.01.2015

  • Модели данных в управлении базами данных. Концептуальные модели данных. Роль баз данных в информационных системах. Реляционная модель данных. Определение предметной области. Построение модели базы данных для информационной системы "Домашние животные".

    курсовая работа [1,9 M], добавлен 19.04.2011

  • Анализ предметной области. Обеспечение качества проектной документации. Построение инфологической (концептуальной) модели предметной области. Проектирование физической структуры базы данных. Разработка интерфейса, организация ввода и поиска данных.

    курсовая работа [2,5 M], добавлен 10.01.2016

  • Разработка автоматизированной системы кредитования банка: концептуальная модель предметной области. Построение инфологической и даталогической модели средствами MySQL; таблицы и схемы базы данных; формулировка запросов для отображения данных их таблиц.

    курсовая работа [8,7 M], добавлен 18.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.