Разработка автоматизированной системы
Автоматизация проектирования визуальной модели системы. Построение диаграммы последовательности и классов. Информационный анализ предметной области и выделение информационных объектов. Построение логической модели данных. Программное обеспечение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.10.2017 |
Размер файла | 1,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Аналитический обзор
2. Предметная область автоматизации и постановка задачи
2.1 Предметная область автоматизации
2.2 Предпроектная стадия создания системы
2.3 Постановка задачи
2.4 Требования к разрабатываемой системе
2.4.1 Требования к системе в целом
2.4.2 Требования к функциям
2.4.3 Требования к видам обеспечения
3. Автоматизация проектирования визуальной модели системы
3.1 Построение диаграммы вариантов использования
3.2 Построение диаграммы последовательности
3.3 Построение диаграммы классов
3.4 Построение диаграммы компонентов
3.5 Методы анализа данных
3.5.1 Анализ временных рядов
3.5.2 Корреляционный анализ
3.5.3 Регрессионный анализ
3.6 Оценка трудоемкости разработки системы
4. Разработка информационного обеспечения системы
4.1 Информационный анализ предметной области и выделение информационных объектов
4.2 Построение логической модели данных
4.3 Описание таблиц базы данных
5. Разработка программного обеспечения системы
5.1 Описание программных средств
5.2 Алгоритм решения задачи
5.3 Тестирование и оценка надежности программного продукта
5.3.1 Структурное тестирование
5.3.2 Функциональное тестирование
5.3.3 Оценка надежности программного средства
6. Компьютерная реализация системы
6.1 Назначение системы
Заключение
Список использованных источников
Введение
Современное понимание социальных сетей заключается в онлайн-сервисе, который специализируется на построении и организации взаимоотношений между отдельными лицами или группами лиц при помощи обмена какой-либо информацией. В отличие от обычного интернет-сайта, в социальной сети есть онлайн-возможности создавать пользователю свой профиль с указанием реальных данных, добавлять друзей, вести закрытую переписку с любым из участников социальной сети, знакомиться, обмениваться информацией, вести собственный блог, который хорошо индексируется в поисковых системах.
Социальная сеть является уникальной возможностью для рекламодателя найти контакт, непосредственно, со своим клиентом. Ежедневно миллионы пользователей сети обмениваются своими впечатлениями о том или ином товаре или услуге. Поэтому любой пользователь социальной сети может улучшить или ухудшить рейтинг компании. автоматизация информационный программный
В руках опытного маркетолога социальные сети являются одним из самых эффективных инструментов рекламного продвижения продуктов и услуг. Для того чтобы реклама работала максимально эффективно, необходимо выбрать наиболее подходящий способ продвижения продукта и время публикации в социальной сети.
Целью выпускной квалификационной работы является разработка автоматизированной системы для анализа групп в социальных сетях и выбора оптимального расписания для публикаций.
Работа включает в себя шесть разделов, в каждом из них рассматриваются разные аспекты разработки автоматизированной системы.
В первом разделе представлен литературный обзор, в котором рассматриваются социальные сети как средство продвижения товаров и услуг, дается описание маркетинга в социальных медиа, а также описывается информационно-аналитическая поддержка работы с социальными сетями.
Во втором разделе описывается предметная область автоматизации. На предпроектной стадии создания системы проводится сбор и анализ материалов обследования. Осуществляется постановка задачи, а также разрабатывается функциональная структура автоматизированной системы, к которой определяются требования. Рассматриваются функции и виды обеспечения, которые должны быть реализованы в системе.
В третьем разделе осуществляется проектирование визуальной модели системы с помощью построения диаграммы вариантов использования, диаграммы последовательности, диаграммы классов и компонентов. Описываются методы анализа данных, а также проводится оценка трудоемкости разработки автоматизированной системы.
В четвертом разделе проводится информационный анализ предметной области и строится логическая модель данных. Также в данном разделе описываются таблицы разрабатываемой базы данных.
В пятом разделе производится разработка программного обеспечения системы. Для этого приводится описание программных средств, рассматриваются алгоритмы решения задач. Производится структурное и функциональное тестирование, а также оценка надежности программного средства.
В шестом разделе представляется компьютерная реализация системы.
1. Аналитический обзор
В настоящее время количество социальных сетей в Интернете и численность их участников растет с невероятной быстротой. Социальная сеть - это виртуальная сеть, являющаяся средством обеспечения сервисов, связанных с установлением связей между его пользователями, а также разными пользователями и соответствующими их интересам информационными ресурсами, установленными на сайтах глобальной сети [1].
Социальные сети сегодня уже посещает более чем две трети онлайн-аудитории во всем мире, и это четвертая по популярности онлайн-категория после поисковых порталов, информационных порталов и программного обеспечения, которая опережает даже электронную почту.
Использование онлайн-сообществ сегодня растет вдвое более быстрыми темпами, чем любой из четырех других секторов сети Интернета и в три раза быстрее, чем пользование Интернетом в целом. Социальные сети привлекают людей, преследующих различные цели: поддержание контакта со старыми знакомыми и поиск новых, в т. ч. обустройство личной жизни, поиск работы, продвижение своего бизнеса, профессиональное общение, обмен информацией и медиаконтентом с другими пользователями.
На сегодняшний день стратегия продвижения компании немыслима без маркетинга в социальных медиа. Практически все СМИ, компании стараются открыть свое представительство в социальных сетях. Социальные сети - это огромная площадка для продвижения продукта, которая при правильном под- ходе показывает весьма неплохие результаты. Компания, которая не включает SMM в планы по продвижению и раскрутке, упускает возможность привлечь целевую аудиторию, узнать ее потребности и заявить о себе среди большого числа пользователей социальных сетей [2].
Social Media Marketing - это новое направление в методах продвижения за все последние годы. Это направление помогает освоить интернет-аудиторию, которая представляет собой весь мир.
Благодаря социальным сетям люди ежедневно знакомятся с другими людьми, общаются со своими знакомыми, обмениваются информацией (в частности, мнением о товарах и услугах). Социальные сети применяются в подборе кадров для бизнеса, с помощью сетей осуществляется продвижение товаров, продуктов, услуг. Именно для продвижения в социальных сетях и были созданы SMM агентства [3].
Главная цель рекламной кампании в соцсетях - расширять сферу влияния бренда естественным способом. Лучшие помощники в этом - активные пользователи, которые создают собственный контент (репосты/ретвиты, отзывы) и формируют положительный образ компании [4].
Информационно-аналитическая поддержка работы с социальными сетями заключается в мониторинге и анализе социальных сетей, а также в прогнозировании и управлении.
Мониторинг включает в себя получение и структурирование первичных данных.
Анализ подразделяется на несколько этапов обработки первичных данных. Сначала происходит вычисление базовых показателей, которое позволяет отвечать на количественные вопросы. Затем выявляются статистические и структурные закономерности в данных, что позволяет понять природу исследуемой сети.
Прогноз возможен после идентификации математической модели информационного процесса. Возможно использование статистической модели и модели динамических процессов на графах.
Управление заключается непосредственно в оказании целенаправленных воздействий на социальную сеть для перевода информационных процессов в желаемое состояние [5].
Специалисты из исследовательских центров по всему миру используют данные социальных сетей для моделирования экономических, социальных, политических и других процессов от персонального до государственного уровня с целью разработки механизмов воздействия на эти процессы, а также создания инновационных аналитических и бизнес-приложений и сервисов.
Вместе с этим, при работе с социальными данными нужно принимать во внимание такие факторы, как нестабильность качества пользовательского контента (спам и ложные аккаунты), проблемы с обеспечением приватности личных данных пользователей при хранении и обработке, а также частые обновления пользовательской модели и функционала.
Для этого требуется постоянное совершенствования алгоритмов решения различных аналитических и бизнес-задач. Обработка социальных данных требует также разработки соответствующих алгоритмических и инфраструктурных решений, позволяющих учитывать их размерность.
На сегодняшний день большинство существующих алгоритмов, позволяющих эффективно решать актуальные задачи, не способны обрабатывать данные подобной размерности за приемлемое время. Поэтому возникает потребность в новых решениях, позволяющих осуществлять распределённую обработку и хранение данных без существенной потери качества результатов [6].
2. Предметная область автоматизации и постановка задачи
2.1 Предметная область автоматизации
Предметной областью данной работы является анализ групп в социальных сетях и выбор оптимального времени для публикаций. Пользователь добавляет группы из социальных сетей, для которых необходимо составить оптимальное расписание публикаций на каждый день недели. Программа выполняет сканирование выбранной группы для того чтобы получить необходимые данные для анализа. Анализ данных производится с помощью методов:
1) анализ временных рядов;
2) корреляционный анализ;
3) регрессионный анализ.
После того, как программа проанализирует собранные данные, составляется график эффективности и оптимальное расписание публикаций.
2.2 Предпроектная стадия создания системы
Проектирование автоматизированной системы для анализа групп в социальных сетях и выбора оптимального расписания для публикаций осуществляется с помощью метода системного обследования, т.к. он применяется для изучения всего объекта с целью разработки для него проекта информационной системы в целом.
По числу исполнителей, проводящих обследование, выбран метод индивидуального обследования, т.к. осуществляется одним проектировщиком.
По степени обхвата объекта используется метод сплошного обследования, т.к. охватывает все подразделения системы.
По степени одновременности выполнения работ этапов предпроектной стадии применяется метод параллельного обследования, т.е. одновременно со сбором данных происходит изучение материалов обследования.
Сбор материалов обследования для данной информационной системы осуществляется с помощью методов:
1) метод бесед и консультаций с руководителем. Были проведены беседы с руководителем выпускной квалификационной работы по вопросам, которые относятся к определению функций и задач, которые должна реализовывать ИС;
2) метод анализа операций. Было в отдельности рассмотрены все составные части работы необходимые для принятия решения;
3) метод анализа предоставленного материала. Были рассмотрены предоставленные методы группового принятия решения с математической точки зрения.
На основе собранного материала обследования о данном проекте составлена программа обследования, которая представлена в таблице 2.1.
Таблица 2.1-Программа обследования
№ п./п. |
Наименование вопроса |
Источник информации |
Получатель информации |
|
1 |
Цель функционирования объекта |
Руководитель ВКР |
Проектировщик |
|
2 |
Организационно-функциональная структура объекта |
Руководитель ВКР |
Проектировщик |
|
3 |
Состав объекта |
Руководитель ВКР |
Проектировщик |
|
4 |
Информация о методах анализа данных |
Интернет - ресурс |
Проектировщик |
|
5 |
Данные для анализа |
Интернет - ресурс |
Проектировщик |
Сбор данных делится на две части. В первой части выполняется сканирование списка пользователей, подписанных на группу. Сканирование выполняется каждый час, в базу данных записываются список пользователей, количество онлайн пользователей, список подписавшихся и отписавшихся пользователей. Для анализа будут использоваться данные о количестве онлайн пользователей. Списки подписавшихся и отписавшихся пользователей являются дополнительной информацией, которая необходима администраторам групп для работы с аудиторией.
Во второй части выполняется сбор данных о публикациях группы. В первую очередь в базу данных записывается информация о публикациях, которые были сделаны более двух недель назад, но не более месяца назад. Эти данные нужны для определения эффективности публикаций в различное время. Далее собираются данные о публикациях, которые были сделаны меньше, чем неделю назад. Эти данные необходимы для того, чтобы следить за динамикой эффективности публикаций, т.е. в какой период времени подписчики ведут себя наиболее активно.
2.3 Постановка задачи
Цель данной работы заключается в автоматизации сбора и анализа данных из социальных сетей и выбора оптимального времени для публикаций.
На основе изученной предметной области разработана функциональная структура системы, которая представлена на рисунке 2.1.
Автоматизированная система состоит из следующих блоков: Web-интерфейс, Web API, база данных, запуск сканирования по таймеру, сбор данных, анализ данных и преобразование результата.
Web API - это программный интерфейс приложения, который позволяет получать информацию из системы посредством выполнения специальных запросов.
С помощью web-интерфейса реализуется взаимодействие с web API и предоставляется возможность пользователю взаимодействовать с системой в удобной форме.
В базе данных хранится информация о пользователях, данные для работы с социальными сетями, данные, необходимые для анализа и результаты анализа.
Рисунок 2.1-Функциональная структура системы
Сбор данных осуществляется на основании списков пользователей, информации о публикациях и данных о подписчиках.
После сбора данных производится их анализ методами: анализа временных рядов, корреляционного анализа и регрессионного анализа.
В блоке преобразования результата происходит приведение собранных и проанализированных данные в удобную форму для вывода и хранения.
2.4 Требования к разрабатываемой системе
Требования к информационной системе можно разделить на требования к системе в целом, к функциям и видам обеспечения системы.
2.4.1 Требования к системе в целом
Общими требованиями являются простой и понятный интерфейс, надежность, возможность управления списком подключенных групп, просмотр статистики по группам и оптимального расписания публикаций, наличие руководства пользователя и документации по методам web API.
2.4.2 Требования к функциям
Автоматизированная система должна предоставлять пользователю функции управления списком подключенных групп, вывода статистики и оптимального расписания публикаций.
2.4.3 Требования к видам обеспечения
Из требований к видам обеспечения можно выделить требования к ресурсам сервера и к программному обеспечению.
Требованиями к ресурсам сервера являются:
1) минимальный размер оперативной памяти 2 ГБ;
2) минимальный размер жесткого диска 32 ГБ;
3) минимальная пропускная способность сетевого канала 100 МБ/с.
Требованиями к программному обеспечению служат:
1) web-сервер Nginx;
2) платформа.Net Core;
3) интерпретатор PHP;
4) базы данных MySQL и Tarantool.
Эксплуатационные характеристики компьютера определяются только наличием подключения к сети Internet и браузера, поддерживающего технологии HTML5 и CSS3.
3. Автоматизация проектирования визуальной модели системы
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: группа не добавлена |
||
Пользователь просматривает расписание для группы |
Система оповещает пользователя о том, что группа не подключена. |
3.2 Построение диаграммы последовательности
Диаграмма последовательности используется для моделирования процесса обмена сообщениями между объектами. На данной диаграмме изображаются объекты, которые участвуют во взаимодействии, ключевым моментом тут является динамика взаимодействия объектов во времени. Также на диаграмме присутствует линия жизни объекта, которая служит для обозначения периода, в течение которого объект существует в системе и может участвовать во всех ее взаимодействиях. На диаграмме также имеется фокус управления, он применяется для выделения активности объектов [8]. Диаграмма последовательности представлена на рисунке 3.2.
Рисунок 3.2-Диаграмма последовательности
На диаграмме последовательности рассмотрен процесс сканирования группы. Котроллер TimerController выполняет методы GetGroupStats и GetGroupUsers класса VKApi. Этот класс, в свою очередь, выполняет метод GetRequest класса HttpRequests. После получения информации контроллер переводит фокус управления на контроллер SaveDataController, который структурирует данные, заносит информацию в базу данных и возвращает фокус управления.
3.3 Построение диаграммы классов
Диаграмма классов используется для моделирования статической структуры классов системы и связей между ними. Классом называется множество объектов, обладающих одинаковой структурой, поведением и отношением с объектами из других классов. В секциях указывается имя класса, атрибуты и методы [7]. Диаграмма классов представлена на рисунке 3.3.
Рисунок 3.3-Диаграмма классов
Диаграмма классов отображает часть системы, которая выполняет сканирование групп в социальных сетях. Класс HttpRequests хранит методы для работы с GET- и POST-запросами. Класс SocialAPI является родительским классом для IGApi, VKApi и OKApi. Он реализует список методов, необходимых для взаимодействия системы с социальной сетью. Классы IGApi, VKApi и OKApi описывают методы получения данных из социальных сетей Instagram, Вконтакте и Одноклассники соответственно. TimerController является главным модулем, который с некоторой периодичностью запускает сканирование групп по очереди. Для каждой группы в зависимости от социальной сети создается соответствующий класс сканирования. SaveDataController принимает данные и преобразует их в удобную для просмотра и хранения форму. GroupsDataPoints является таблицей базы данных, в которой хранится информация о сканировании.
3.4 Построение диаграммы компонентов
Диаграмма компонентов используется для моделирования иерархии компонентов системы. Она отображает физические модули программного кода. Также данная диаграмма позволяет определить архитектуру разрабатываемой системы, устанавливая зависимости между программными элементами. Основными графическими элементами программы являются компоненты, интерфейсы и зависимости между ними. Диаграмма обеспечивает переход от логических представлений к конкретной реализации проекта в виде программного кода [8]. Диаграмма компонентов представлена на рисунке 3.4.
Диаграмма компонентов показывает зависимость программных элементов друг от друга. При внешнем запросе по протоколу http сервер Nginx перенаправляет запросы на ASP.Net приложение, которое может вызвать компонент SocialNetworksAPI для получения информации из социальных сетей и делать запросы к базе данных. Компонент ScannerTimer выполняет запросы к базе данных для получения списка сканируемых групп и добавляет их во внутреннюю очередь. Для каждой группы идет обращение к компоненту SocialNetworksAPI для получения информации. После получения информации компонент записывает ее в базу данных.
Рисунок 3.4-Диаграмма компонентов
3.5 Методы анализа данных
Анализом данных называется исследование, связанное с обсчетом многомерной системы данных, имеющей множество параметров. В ходе анализа данных исследователем производится совокупность действий с целью формирования определенных представлений о характере явления, описываемого этими данными. Как правило, для анализа данных используются различные математические методы [9].
3.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, тем лучше.
Вторая гипотеза: отличие между двумя коэффициентами корреляции значимо. Тестовая статистика вычисляется по формуле:
. (3.7)
Это значение также сравнивается с табличным значением коэффициента Стьюдента [13].
3.5.3 Регрессионный анализ
Регрессионный анализ - метод моделирования измеряемых данных и исследования их свойств. Основной особенностью регрессионного анализа является то, что при его помощи можно получить конкретные сведения о том, какую форму и характер имеет зависимость между исследуемыми переменными.
Основные этапы регрессионного анализа:
1) формулировка задачи;
2) определение зависимых и независимых (объясняющих) переменных;
3) сбор статистических данных;
4) формулировка гипотезы о форме связи (простая или множественная, линейная или нелинейная);
5) определение функции регрессии (заключается в расчете численных значений параметров уравнения регрессии);
6) оценка точности регрессионного анализа;
7) интерпретация полученных результатов. Полученные результаты регрессионного анализа сравниваются с предварительными гипотезами. Необходимо оценить корректность и правдоподобие полученных результатов;
8) предсказание неизвестных значений зависимой переменной.
При помощи регрессионного анализа возможно решение задачи прогнозирования и классификации. Прогнозные значения вычисляются путем подстановки в уравнение регрессии параметров значений объясняющих переменных.
Уравнение регрессии - математическая формула, применяемая к независимым переменным, чтобы лучше спрогнозировать зависимую переменную, которую необходимо смоделировать. Уравнение регрессии записывается в виде:
, (3.8)
где Y - зависимая переменная, - независимые переменные, - коэффициенты регрессии, - случайные ошибки [14].
3.6 Оценка трудоемкости разработки системы
Для оценки трудоемкости разработки системы используется методика на основе вариантов использования. Все действующие лица системы делятся на три типа: простые, средние и сложные. В таблице 3.4 представлены весовые коэффициенты действующих лиц.
Таблица 3.4-Весовые коэффициенты действующих лиц
Тип действующего лица |
Весовой коэффициент |
|
Простое |
1 |
|
Среднее |
2 |
|
Сложное |
3 |
В таблице 3.5 представлены типы действующих лиц для разрабатываемой системы.
Таблица 3.5-Типы действующих лиц
Действующее лицо |
Тип |
|
Пользователь |
Среднее |
Общий весовой показатель рассчитывается как произведение количества действующих лиц каждого типа на соответствующий весовой коэффициент. Формула для расчета:
(3.9)
Таким образом, общий весовой показатель количества действующих лиц по формуле (3.9) равен:
В таблице 3.6 представлено определение весовых коэффициентов вариантов использования.
Таблица 3.6-Весовые коэффициенты вариантов использования
Тип варианта использования |
Описание |
Весовой коэффициент |
|
Простой |
3 или менее транзакций |
5 |
|
Средний |
от 4 до 7 транзакций |
10 |
|
Сложный |
более 7 транзакций |
15 |
Далее в таблице 3.7 приведена сложность вариантов использования для разрабатываемой системы.
Таблица 3.7-Сложность вариантов использования для разрабатываемой системы
Вариант использования |
Тип |
|
Авторизация |
Средний |
|
Регистрация |
Средний |
|
Просмотр статистики |
Средний |
|
Просмотр оптимального расписания |
Средний |
|
Подключение групп |
Средний |
Для того чтобы вычислить общий весовой показатель необходимо умножить количество вариантов использования каждого типа на соответствующий весовой коэффициент. Используя формулу (3.9), получим:
Общий весовой показатель рассчитывается по формуле:
(3.10)
Используя формулу (3.10), получим:
В таблице 3.8 представлены показатели технической сложности.
Таблица 3.8-Показатели технической сложности проекта
Показатель |
Описание |
Вес |
|
Т 1 |
Распределенная система |
2 |
|
Т 2 |
Высокая пропускная способность |
1 |
|
Т 3 |
Работа конечных пользователей в режиме онлайн |
1 |
|
Т 4 |
Сложная обработка данных |
1 |
|
Т 5 |
Повторное использование кода |
1 |
|
Т 6 |
Простота установки |
0,5 |
|
Т 7 |
Простота использования |
0,5 |
|
Т 8 |
Переносимость |
2 |
|
Т 9 |
Простота внесения изменений |
1 |
|
Т 10 |
Параллелизм |
1 |
|
Т 11 |
Специальные требования к безопасности |
1 |
|
Т 12 |
Непосредственный доступ к системе со стороны внешних пользователей |
1 |
|
Т 13 |
Специальные требования к обучению пользователей |
1 |
В таблице 3.9 представлены показатели технической сложности для рассматриваемой системы.
Таблица 3.9-Показатели технической сложности для рассматриваемой системы
Показатель |
Вес |
Значение |
Значение с учетом веса |
|
T1 |
2 |
3 |
6 |
|
T2 |
1 |
2 |
2 |
|
T3 |
1 |
4 |
4 |
|
T4 |
1 |
4 |
4 |
|
T5 |
1 |
3 |
3 |
|
T6 |
0,5 |
3 |
1,5 |
|
T7 |
0,5 |
4 |
2 |
|
T8 |
2 |
1 |
2 |
|
T9 |
1 |
3 |
3 |
|
T10 |
1 |
3 |
3 |
|
T11 |
1 |
4 |
4 |
|
T12 |
1 |
4 |
4 |
|
T13 |
1 |
1 |
1 |
|
Сумма |
39,5 |
Техническая сложность проекта информационной системы вычисляется по формуле:
(3.11)
По формуле (3.11) получим:
В таблице 3.10 приведены показатели уровня квалификации разработчиков.
Таблица 3.10-Показатели уровня квалификации разработчиков
Показатель |
Описание |
Вес |
|
F1 |
Знакомство с технологией |
1,5 |
|
F2 |
Опыт разработки приложений |
0,5 |
|
F3 |
Опыт использования объектно-ориентированного подхода |
1 |
|
F4 |
Наличие ведущего аналитика |
0,5 |
|
F5 |
Мотивация |
1 |
|
F6 |
Стабильность требований |
2 |
|
F7 |
Частичная занятость |
-1 |
|
F8 |
Сложные языки программирования |
-1 |
Каждому показателю присваивается значение в диапазоне от 0 до 5.
Для показателей F1 - F4: 0 означает отсутствие, 3 - средний уровень, 5 - высокий уровень.
Для показателя F5: 0 означает отсутствие мотивации, 3 - средний уровень мотивации, 5 - высокий уровень мотивации.
Для показателя F6: 0 - это высокая нестабильность требований, 3 - средняя нестабильность требований, 5 - стабильные требования.
Для показателя F7: 0 означает отсутствие специалистов с частичной занятостью, 3 - средний уровень, 5 - все специалисты с частичной занятостью.
Для показателя F8: 0 - это простой язык программирования, 3 - средняя сложность языка программирования, 5 - высокая сложность языка программирования.
В таблице 3.11 представлены показатели уровня квалификации разработчиков для разрабатываемой системы.
Таблица 3.11-Показатели уровня квалификации разработчиков
Показатель |
Вес |
Значение |
Значение с учетом веса |
|
F1 |
1,5 |
4 |
6 |
|
F2 |
0,5 |
4 |
2 |
|
F3 |
1 |
4 |
4 |
|
F4 |
0,5 |
3 |
1,5 |
|
F5 |
1 |
5 |
5 |
|
F6 |
2 |
4 |
8 |
|
F7 |
-1 |
2 |
-2 |
|
F8 |
-1 |
4 |
-4 |
|
Сумма |
20,5 |
Уровень квалификации разработчиков вычисляется по формуле:
(3.12)
По формуле (3.12) получим:
С учетом показателей технической сложности (TCF) и уровня квалификации разработчиков (EF) окончательное значение указателя вариантов использования (UCP) определяется по формуле:
(3.13)
По формуле (3.13) получим:
Для того чтобы пересчитать величину UCP в человеко-часы необходимо определить количество человеко-часов, приходящихся на одну UCP. Этот показатель зависит от принятой на предприятии методики определения вариантов использования, квалификации разработчиков, используемых инструментальных средств, накопленного опыта производства ПО.
Предполагается использовать 15 человеко-часов в качестве начального значения на один UCP. Отсюда, общее количество человеко-часов на весь проект рассчитывается по формуле:
При сорокачасовой рабочей неделе - это составляет 15 недель разработки с учетом того, что над проектом работает один человек.
4. Разработка информационного обеспечения системы
4.1 Информационный анализ предметной области и выделение информационных объектов
Для построения информационно-логической модели данных был проведен информационный анализ предметной области, а также выделены информационные объекты.
В таблице 4.1 представлен набор информационных объектов, который был определен на основе анализа предметной области и требований к разрабатываемой системе.
Таблица 4.1-Информационные объекты
Название информационного объекта (ИО) |
Обозначение ИО |
Семантика ИО |
|
Пользователи |
User |
Содержит информацию о пользователях |
|
Социальные сети |
SocialNetwork |
Содержит информацию о подключенных социальных сетях |
|
Группы |
Group |
Содержит информацию о подключенных группах |
|
Данные последнего сканирования пользователей |
ScanLastPoint |
Содержит информацию о сканировании пользователей группы и о ее последнем состоянии |
|
Данные предыдущих сканирований пользователей |
ScanPrevPoint |
Содержит информацию о данных предыдущего сканирования пользователей группы |
|
Данные сканирования публикаций |
ScanPosts |
Содержит информацию о данных последнего сканирований постов |
|
Данные о сканировании последних публикаций |
ScanPostPoint |
Содержит информацию о публикациях, созданных менее недели назад |
|
Данные о сканировании публикаций |
ScanPostsData |
Содержит информацию о показателях публикаций, созданных более 2 недель назад |
|
Расписание публикаций |
Schedule |
Содержит информацию о расписании публикаций |
Представленные информационные объекты являются документами, описывающими предметную область. На основании этих документов, а также дополнительных сведений из описания предметной области необходимо определить роль реквизитов, содержащихся в документах.
Каждый пользователь имеет свой порядковый номер, от которого зависят почта и пароль.
Каждая подключенная социальная сеть имеет идентификатор, от которого зависят имя и фотография страницы пользователя, ключ доступа к социальной сети, идентификатор в социальной сети и пользователя, к которой привязана страница.
Каждая группа также имеет свой номер. От него зависят идентификатор, название и фотография станицы в социальной сети, а также пользователь, который добавил эту группу.
Данные последнего сканирования группы зависят от идентификатора группы и содержат информацию о времени предыдущего и следующего сканирований, количестве онлайн пользователей и списке подписанных пользователе на момент последнего сканирования.
Данные предыдущих сканирований групп зависят от идентификатора группы и даты сканирования, от которых зависят количество онлайн пользователей и списки отписавшихся и подписавшихся пользователей.
Данные сканирования публикаций зависят от группы и содержат информацию о датах сканирования (начала, последнего и следующего).
Данные о сканировании последних публикаций зависят от идентификатора группы, номера публикации в социальной сети и даты сканирования, а также содержат информацию о показателях публикаций. Учитываются публикации, созданные не более одной недели назад.
Данные о сканировании публикаций идентифицируются хэш-суммой, от которой зависят идентификатор группы, время публикации от начала недели и значения показателей публикаций.
Расписание публикаций зависит от номера группы, и хранит настройки расписания, даты предыдущего и следующего анализа и время от начала для публикаций.4.2 Построение логической модели данных
Для реквизитов, представленных в документах, необходимо установить их функциональную зависимость. Функциональная зависимость реквизитов представлена таблице 4.2.
После анализа предметной области с помощью функциональных связей необходимо установить ключевые и описательные реквизиты. Соответствие описательных и ключевых реквизитов представлено в таблице 4.3.
Таблица 4.3-Соответствие описательных и ключевых реквизитов
Описательные реквизиты |
Ключевые реквизиты |
Вид ключа |
Имя ИО, включающего реквизит |
|
1 |
2 |
3 |
4 |
|
Пользователи |
||||
SocEmail Password |
Id |
П.У. |
Пользователи |
|
Социальные сети |
||||
Uid Social Sid Main AccessToken Name Photo |
Id |
П.У. |
Социальные сети |
|
Группы |
||||
Uid SocNetwork SocNetworkId Gid Name Photo |
Id |
П.У. |
Группы |
|
Данные последнего сканирования пользователей |
||||
UsersCount Online NextScan Updated Users |
Gid |
П.У. |
Данные последнего сканирования пользователей |
|
Данные предыдущих сканирований пользователей |
||||
NewUsersCount LostUsersCount Online NewUsers LostUsers |
Gid Date |
С.У. |
Данные предыдущих сканирований пользователей |
|
Данные сканирования публикаций |
||||
NextScan PrevScan StartScan |
Gid |
П.У. |
Данные сканирования публикаций |
|
Данные о сканировании последних публикаций |
||||
LikesCount RepostsCount CommentsCount ViewsCount |
Gid PostId Date |
С.У. |
Данные о сканировании последних публикаций |
1 |
2 |
3 |
4 |
|
Данные о сканировании публикаций |
||||
Gid Time LikesCount RepostsCount CommentsCount ViewsCount |
Hash |
П.У. |
Данные о сканировании публикаций |
|
Расписание публикаций |
||||
PostsPerDay MinBetweenPosts NextScan PrevScan Times |
Gid |
П.У. |
Расписание публикаций |
В таблице 4.4. рассмотрены сгруппированные реквизиты по информационным объектам.
Таблица 4.4-Соответствие описательных и ключевых реквизитов
Реквизиты |
Признак ключа |
Имя ИО |
Семантика ИО |
|
1 |
2 |
3 |
4 |
|
Документ "Пользователи" |
||||
Id SocEmail Password |
П.У. |
Пользователи |
Содержит информацию о пользователях |
|
Документ "Социальные сети" |
||||
Id Uid Social Sid Main AccessToken Name Photo |
П.У. |
Социальные сети |
Содержит информацию о подключенных социальных сетях |
|
Документ "Группы" |
||||
Id Uid SocNetwork SocNetworkId Gid Name Photo |
П.У. |
Группы |
Содержит информацию о подключенных группах |
|
1 |
2 |
3 |
4 |
|
Документ "Данные последнего сканирования пользователей" |
||||
Gid UsersCount Online NextScan Updated Users |
Данные последнего сканирования пользователей |
Содержит информацию о сканировании групп |
||
Документ "Данные предыдущих сканирований пользователей" |
||||
Gid Date NewUsersCount LostUsersCount Online NewUsers LostUsers |
С.У. |
Данные предыдущих сканирований пользователей |
Содержит информацию о предыдущих результатах сканирования |
|
Документ "Данные сканирования публикаций" |
||||
Gid NextScan PrevScan StartScan |
П.У. |
Данные сканирования публикаций |
Содержит информацию о датах сканирования (начала, предыдущего и следующего) |
|
Документ "Данные о сканировании последних публикаций" |
||||
Gid PostId Date LikesCount RepostsCount CommentsCount ViewsCount |
С.У. |
Данные о сканировании последних публикаций |
Содержит информацию о показателях публикаций в различные моменты времени |
|
Документ "Данные о сканировании публикаций" |
||||
Hash Gid Time LikesCount RepostsCount CommentsCount ViewsCount |
П.У. |
Данные о сканировании публикаций |
Содержит информацию о показателях публикаций, начиная с начала недели |
|
Документ "Расписание публикаций" |
||||
Gid PostsPerDay MinBetweenPosts NextScan PrevScan Times |
П.У. |
Расписание публикаций |
Содержит информацию расписании публикаций |
После группировки реквизитов по информационным объектам необходимо установить связи между ними. Типы связей между информационными объектами представлены в таблице 4.5.
Таблица 4.5-Типы связей между информационными объектами
Номер связи отношений |
Главный ИО |
Подчиненный ИО |
Тип реального отношения |
|
1 2 3 4 5 6 7 8 |
Пользователи Пользователи Группы Группы Группы Группы Группы Группы |
Социальные сети Группы Данные последнего сканирования пользователей Данные предыдущих сканирований пользователей Данные сканирования публикаций Данные о сканировании последних публикаций Данные о сканировании публикаций Расписание публикаций |
1:M 1:M 1:M 1:M 1:M 1:M 1:M 1:M |
Логическая модель описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью. При построении логической модели используются три ее подуровня: диаграмма сущность-связь, модель данных, основанная на ключах и полная атрибутная модель.
Диаграмма сущность-связь включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности и связи между ними, которые удовлетворяют основным требованиям, предъявленным к информационной системе [15]. Диаграмма сущность-связь представлена на рисунке 4.1.
Рисунок 4.1-Диаграмма сущность-связь
Модель данных, основанная на ключах - это логическая модель, включающая описание всех сущностей и ключевых атрибутов, которые соответствуют предметной области. Целью этой модели является дальнейшая детализация модели сущность-связь и идентификация сущностей путем выбора ключевых атрибутов [16]. Модель данных, основанная на ключах, представлена на рисунке 4.2.
Рисунок 4.2-Модель данных, основанная на ключах
Полная атрибутивная модель включает в себя все сущности, атрибуты и является наиболее детальным представлением структуры данных. Эта модель представляет данные в третьей нормальной форме [15]. Полная атрибутивная модель представлена на рисунке 4.3.
Рисунок 4.3-Полная атрибутивная модель
4.3 Описание таблиц базы данных
При описании таблиц базы данных необходимо учесть наименование и обозначение атрибутов, признак ключа и формат поля. В таблице 4.6 представлено полное описание таблиц базы данных.
Таблица 4.6-Описание таблиц реляционной базы данных
Атрибут |
Признак ключа |
Формат поля |
||||
Обозначение |
Наименование |
Тип |
Длина |
Точность |
||
1 |
2 |
3 |
4 |
5 |
6 |
|
ИО "Пользователи" |
||||||
Id |
Идентификатор |
П.У. |
Числовой |
11 |
0 |
|
|
Email-адрес |
Строка |
70 |
|||
SocEmail |
Email-адрес, полученный из социальной сети |
Строка |
70 |
|||
Password |
Пароль |
Строка |
255 |
|||
1 |
2 |
3 |
4 |
5 |
6 |
|
ИО "Социальные сети" |
||||||
Id |
Идентификатор |
П.У. |
Числовой |
11 |
0 |
|
Uid |
Идентификатор пользователя |
Числовой |
11 |
0 |
||
Social |
Социальная сеть |
Строка |
2 |
|||
Sid |
Идентификатор пользователя в социальной сети |
Строка |
20 |
|||
Main |
Используется для авторизации |
Числовой |
1 |
0 |
||
AccessToken |
Ключ для работы с социальной сетью |
Строка |
150 |
|||
Name |
Имя страницы |
Строка |
100 |
|||
Photo |
Фото страницы |
Строка |
150 |
|||
ИО "Группы" |
||||||
Id |
Идентификатор |
П.У. |
Числовой |
11 |
0 |
|
Uid |
Идентификатор пользователя |
Числовой |
11 |
0 |
||
SocNetwork |
Социальная сеть |
Строка |
2 |
|||
SocNetworkId |
Идентификатор страницы владельца |
Числовой |
11 |
0 |
||
Gid |
Идентификатор группы в социальной сети |
Строка |
20 |
|||
Name |
Название группы |
Строка |
100 |
|||
Photo |
Ссылка на изображение |
Строка |
150 |
|||
ИО "Данные последнего сканирования пользователей" |
||||||
Gid |
Идентификатор группы |
П.У. |
Числовой |
11 |
0 |
|
UsersCount |
Количество подписанных пользователей |
Числовой |
11 |
0 |
||
Online |
Количество онлайн пользователей |
Числовой |
11 |
0 |
||
NextScan |
Дата следующего сканирования |
Дата/время |
||||
Updated |
Дата последнего сканирования |
Дата/время |
||||
Users |
Список идентификаторов подписанных пользователей |
Массив строк |
||||
ИО "Данные предыдущих сканирований пользователей" |
||||||
Gid |
Идентификатор группы |
С.У. |
Числовой |
11 |
0 |
|
Date |
Дата сканирования |
|||||
NewUsersCount |
Количество подписавшихся пользователей |
Числовой |
11 |
0 |
||
LostUsersCount |
Количество отписавшихся пользователе |
Числовой |
11 |
0 |
||
Online |
Количество онлайн пользователей |
Числовой |
11 |
0 |
||
NewUsers |
Список идентификаторов подписавшихся пользователей |
Массив строк |
||||
LostUsers |
Список идентификаторов отписавшихся пользователей |
Массив строк |
||||
1 |
2 |
3 |
4 |
5 |
6 |
|
ИО "Данные сканирования публикаций" |
||||||
Gid |
Идентификатор группы |
П.У. |
Числовой |
11 |
0 |
|
NextScan |
Дата следующего сканирования |
Дата/время |
||||
PrevScan |
Дата предыдущего сканирования |
Дата/время |
||||
StartScan |
Дата начала сканирования |
Дата/время |
||||
ИО "Данные о сканировании последних публикаций" |
||||||
Gid |
Идентификатор группы |
С.У. |
Числовой |
11 |
0 |
|
PostId |
Идентификатор публикации в социальной сети |
Строка |
30 |
|||
Date |
Дата сканирования |
Дата/время |
||||
LikesCount |
Количество "лайков" |
Числовой |
11 |
0 |
||
RepostsCount |
Количество "репостов" |
Числовой |
11 |
0 |
||
Comments-Count |
Количество "комментариев" |
Числовой |
11 |
0 |
||
ViewsCount |
Количество "просмотров" |
Числовой |
11 |
0 |
||
ИО "Данные о сканировании публикаций" |
||||||
Hash |
Хэш-сумма |
П.У. |
Строка |
200 |
||
Gid |
Идентификатор группы |
Числовой |
11 |
0 |
||
Time |
Время от начала недели |
Время |
||||
LikesCount |
Список показателей "лайки" |
Массив чисел |
||||
RepostsCount |
Список показателей "репосты" |
Массив чисел |
||||
Comments-Count |
Список показателей "комментарии" |
Массив чисел |
||||
ViewsCount |
Список показателей "просмотры" |
Массив чисел |
||||
ИО "Расписание публикаций" |
||||||
Gid |
Идентификатор группы |
П.У. |
Числовой |
11 |
0 |
|
PostsPerDay |
Количество публикаций в сутки |
Числовой |
3 |
0 |
||
MinBetweenPosts |
Минимальное время между публикациями |
Числовой |
3 |
0 |
||
NextScan |
Дата следующего анализа |
Дата/время |
||||
PrevScan |
Дата предыдущего анализа |
Дата/время |
||||
Times |
Список точек времени от начала недели |
Массив чисел |
5. Разработка программного обеспечения системы
5.1 Описание программных средств
Выбор программных средств при разработке зависит от технологий, которые будут использоваться в программе. Для реализации web-API желательно использование компилируемого кроссплатформенного языке со строгой типизацией. Для этого подойдет универсальная платформа разработки.Net Core и язык программирования C#. Для разработки на этом языке программирования использовался программное средство Microsoft Visual Studio.
Microsoft Visual Studio является мощнейшей интегрированной средой разработки, включающей в себя редактор исходного кода, возможности рефакторинга кода, встроенный отладчик, веб-редактор, редактор форм и дизайнер схемы баз данных. На данном программном продукте можно разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, а также web-сайты и - приложения. Редактор позволяет использовать языки программирования C#, C++, Visual Basic, F# и TypeScript.
Для реализации web-приложения желательно использовать привычные для их разработки языки программирования PHP и JavaScript. Т.к. в стандартном JavaScript не реализованы правила строгой типизации и традиционного объектно-ориентированного подхода, то для его замены можно взять язык программирования TypeScript. Этот язык разработан компанией Microsoft, позиционируемый как средство разработки web-приложений, расширяющий возможности JavaScript. TypeScript является обратно совместимым с JavaScript и компилируется в последний. Для разработки на языках программирования PHP и TypeScript использовались программные средства JetBrains PhpStorm и Visual Studio Code соответственно.
JetBrains PhpStorm представляет собой интегрированную среду разработки web-приложений на языке PHP. Особенностью данного программного средства является встроенный интеллектуальный редактор для HTML, CSS, PHP и JavaScript, с возможностью анализа кода, автоматизированными средствами рефакторинга кода и автодополнением кода программы. PhpStorm разработан на основе платформы IntelliJ IDEA, что позволяет устанавливать дополнительные сторонние плагины при работе с программой.
Visual Studio Code представляет собой простой редактор исходного кода для кроссплатформенной разработки web-приложений. Программа разработана компанией Microsoft и является бесплатной с открытым исходным кодом. В редакторе имеется встроенный отладчик, средства рефакторинга, автодополнение, а также удобные инструменты для работы с Git. Основные языки и технологии, поддерживаемые программой: JavaScript, TypeScript, C#, PHP, Docker, HTML, CSS.
Для автоматизации развертывания программного средства и удобного тестирования при разработке используется программное обеспечение Docker. С помощью данного программного средства можно собрать приложение со всеми зависимостями в контейнер, который может быть запущен на любой операционной системе, поддерживающей программное обеспечение Docker.
В качестве СУБД используются MySQL и Tarantool. MySQL - бесплатная кроссплатформенная реляционная СУБД. Она необходима для хранения данных, таких как пользователь, список подключенных групп и другие. Tarantool - бесплатная NoSQL СУБД, которая может хранить часть данных в оперативной памяти для более быстрого доступа. В случае переполнения лимита памяти, данные помещаются на жесткий диск и при необходимости оттуда загружаются в оперативную память. Tarantool используется для хранения данных большего объема. К таким данным относятся: результаты сканирования списка пользователей, результаты сканирования публикаций и другие.
Для администрирования СУБД MySQL используется программное обеспечение HeidiSQL. Оно является бесплатным и позволяет работать с СУБД через SSH-туннель. Данное программное средство поддерживает такие СУБД, как MySQL, Microsoft SQL Server и PostgreSQL.
Для ведения истории разработки и управления версиями используется программное средство Git.
5.2 Алгоритм решения задачи
В ходе проектирования автоматизированной системы была разработана структурная схема автоматизированной системы для анализа групп в социальных сетях и выбора оптимального расписания для публикаций. Схема приведена на рисунке 5.1.
Рисунок 5.1-Структурная схема программного обеспечения системы
Модульное программирование является одним из способов программирования, при котором вся программа разбивается на группу компонентов, называемых модулями. Каждый из них имеет свой контролируемый размер, четкое назначение и детально проработанный интерфейс с внешней средой.
Подобные документы
Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.
курсовая работа [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