Мультиплатформенная система опросов

УДК 004.91

С. А. Ляшева, М. П. Шлеймович, А. П. Кирпичников, Д. Е. Еремеев

МУЛЬТИПЛАТФОРМЕННАЯ СИСТЕМА ОПРОСОВ

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

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

Keywords: database, logical database model, conceptual database model.

In this paper presents the developed multi-platform system surveys according to customer's requirementsconsisting of a module and the Respondent's personal account. The system has to perform such functions as polling of the selected respondents, data storage about the users of the system, storage of replies to polls, and the implementation of the access rights of users to the system.

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

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

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

2. возможность настраивать фильтрацию респондентов (страна, город, возраст, и т.д.);

3. возможность предоставлять площадки для опроса респондентов;

4. простой и понятный интерфейс для прохождения опроса;

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

Поэтому было принято решение выполнить проектирование мультиплатформенной системы опросов.

Для выполнения поставленных требований необходимо было провести следующую работу:

1) изучить предметную область для базы данных, выделить основные понятия (сущности) и их связи;

2) изучить инструментальные средства для разработки встраиваемых модулей (Android, iOS, веб-сайты);

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

4) осуществить логическое проектирование базы данных (БД), в ходе которого провести нормализацию отношений и построить схему логической модели системы;

5) выполнить физическое проектирование базы данных;

6) разработать модули для операционных систем: "Android", "iOS" и веб-сайтов.

В настоящее время существуют уже готовые программные продукты такие как:

- Survio - это онлайн-инструмент для создания анкет. Этот инструмент позволяет создавать анкету с профессиональным оформлением (бесплатно). Survio принадлежит чешской компании Survio s.r.o. Проект был запущен в апреле 2012 года [1].

- Adit Testdesk - это программа для тестирования. С ее помощью можно:

- создавать тест или опрос, достаточно быстро и легко;

- выводить результаты в удобной форме;

- анализировать полученные данные;

- проводить текстовые опросы;

- вставлять в тесты картинки, видео- или аудиозаписи, флеш-анимацию. С помощью этой программы при создании тестов можно изменять внешний вид вопросов и устанавливать разные варианты ответов: от простого "да/нет" до произнесения определенных слов [2].

- Средство создания онлайн-опросов SurveyMonkey с помощью предварительных шаблонов опросов позволяет создавать свои опросы различных видов. В нем предусмотрены и реализованы:

- более 15 типов вопросов;

- возможность вставлять логотипы и бренды пользователя;

- логические правила перехода между страницами и вопросами и их пропуска;

- мобильное приложение;

-возможность интеграции с такими партнерами как MailChimp, Eventbrite и многие другие [3].

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

Основными задачами разработанной системы являются:

- создание, изменение, обработка и хранение данных, в актуальном состоянии, о опросах;

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

- осуществление поиска информации в БД по критериям, выбор которых соответствует объему вводимой в базу данных информации;

- формирование различных отчетов на основе информации хранимой в базе данных [4].

Пользователи и их функционал

Пользователями системы являются:

- девелопер - разработчик (владелец) приложений и сайтов, предоставляющий свои площадки для опросов;

- ресёчер - создает опросы;

- респондент - пользователь, которого опрашивают.

Девелопер может выполнять следующие функции:

- добавлять сайт для опросов;

- добавлять приложение для опросов;

- создавать опросы;

- просматривать баланс своего счета;

- просматривать свои финансовые операции;

- задавать параметры для опросов;

- просматривать результаты опросов;

- выводить заработанные средства;

- просматривать детальную статистику опросов;

- добавлять или изменять свои личные данные.

Ресёчер может выполнять следующие функции:

- создавать опросы;

- задавать параметры для опросов;

- просматривать свои финансовые операции;

- добавлять или изменять свои личные данные;

- просматривать результаты опросов.

Респондент может выполнять следующие

функции:

- соглашаться или отказаться от опроса;

- пройти опрос.

Требования к надежности системы

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

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

- при ошибках в работе аппаратных средств (кроме носителей данных и программ) восстановление функции системы возлагается на ОС;

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

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

В БД должны содержаться:

1. Распространение опроса:

- количество пройденных опросов;

- статус;

- количество прохождений опроса (платных);

- распространение (платное, бесплатное).

2. Параметры приложения:

- название;

- платформа (сайт или мобильное приложение);

- категория;

- иконка;

- имя девелопера.

3. Данные о пользователях:

- тип пользователя (девелопер или ресёрчер);

- название компании;

- имя;

- телефон;

- e-mail;

- логин;

- пароль.

4. Логика опросов:

- выполнить действие;

- параметр действия;

- текущий вопрос;

- ответ на вопрос.

5. Вопросы к опросам:

- текст;

- тип вопроса;

- флаг разрешения выбрать вариант ответа;

- флаг случайного порядка ответов;

- флаг обязательного заполнения;

- флаг временного исключения вопроса из списка.

6. Хранение информации о респонденте и результате опроса:

- 1р-адрес;

- пол;

- возраст;

- страна;

- регион;

- город;

- тип устройства;

- операционная система;

- браузер.

7. Опросы:

- название опроса;

- статус;

- пользователь (его создавший);

- дата начала;

- дата окончания.

Определение типов связей между сущностями

1. РАСПРОСТРАНЕНИЕ и ОПРОС. Распространение опроса может быть платным и бесплатным. Распространения имеют ограниченное количество прохождений и счетчик успешных прохождений опроса.

2. ПОЛЬЗОВАТЕЛЬ и ОПРОС. Каждый пользователь имеет определенные права доступа. Пользователь может создавать неограниченное число запросов и назначать определенные настройки для каждого опроса.

3. ПОЛЬЗОВАТЕЛЬ и ПРИЛОЖЕНИЕ. Пользователь разработчик имеет приложение или

сайт. Каждое приложение имеет название, платформу (сайт или приложение), категорию и иконку.

4. ЛОГИКА и ВОПРОСЫ. Каждый опрос может иметь неограниченное количество логики. Логика содержит шаблон прохождения вопроса (пропуск вопроса, переход к следующему вопросу).

5. ВОПРОСЫ и ОПРОСЫ. Каждый вопрос имеет текст, тип вопроса.

6. РЕЗУЛЬТАТ и ОПРОСЫ. Результат содержит результаты опросов и данные о респонденте. Каждый респондент может пройти несколько опросов.

7. ВОПРОСЫ и РЕЗУЛЬТАТ. Вопрос может иметь один или несколько ответов.

8. ОПРОСЫ и ФИЛЬТРЫ. Каждый опрос имеет параметры и только определенных респондентов.

9. РЕЗУЛЬТАТ и ФИЛЬТРЫ. С фильтров информация о респонденте (IP-адрес, пол, возраст, страна и т.д.) поступает в результат и там хранится.

10. РЕЗУЛЬТАТ и ОТВЕТ. Передается не типовой ответ пользователя, который содержит текст.

11. ПОЛЬЗОВАТЕЛЬ и ОТВЕТ. В некоторых опросах у пользователя есть право выбрать свой вариант ответа, который заполняется текстом.

При проектировании и разработке необходимо максимально эффективно использовать закупленное и установленное ранее программное обеспечение (ПО) заказчика.

Базовой программной платформой для разработчика может являться любая ОС, с установленными Notepad++, Node.js, MongoDB.

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

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

- ресерчер работает в веб-версии;

- разработчик работает в веб-версии;

- респондент работает в веб-версии или в мобильном приложении с установленным SDK (Software Development Kit).

Для того чтобы начать работу с системой пользователь должен при помощи браузера зайти на страницу http://swayco.co/ и зарегистрироваться в системе или авторизоваться если он был зарегистрирован ранее (рис.1).

Как только пользователь авторизовался, он попадает в свой личный кабинет. На рис. 2 представлен кабинет девелопера. На первой вкладке отображается статистика заработанных денег.

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

Во вкладке «Мои опросы» мы можем просматривать состояние опросов, редактировать текущие опросы, добавлять новые опросы, удалять ненужные опросы.

Рис. 1 -Запуск программы

Рис. 2 - Личный кабинет девелопера

При добавлении опроса нужно выполнить следующие шаги:

- Шаг 1 - Добавление «Целевой аудитории». При добавлении цели необходимо указать Страна/Штат/Провинция, Возраст, Пол, Устройство (с которого будет работать пользователь), Операционная система и Браузер (установленные на устройстве пользователя);

- Шаг 2 - «Ввод вопросов»;

- Шаг 3 - «Ввод вопросов логики», т.е. вопросов вида «если вопрос ... и ответ ..., тогда ...»;

- Шаг 4 - «Размер выборки и ссылки».

Следующая вкладка в личном кабинете - это

«Транзакции». Здесь отображается баланс счета и все проведенные транзакции.

Сведения о пользователе представляются на вкладке «Управление аккаунтом».

В личном кабинете ресерчера меньше возможностей. Ресерчер может только добавлять опросы, просматривать свой баланс и редактировать личные данные.

На рис. 3 представлена оконная форма демонстрирующая работу встроенного блока опросов в приложение на операционной системе

О

Рис. 3 - Опрос на ОС "Ю8"

Следующая оконная форма демонстрирует работу встроенного блока опросов на веб-сайте (рис.4).

Рис. 4 - Опрос на веб-сайте

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

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

- опрос отобранных респондентов;

- хранения данных о пользователях системы;

- хранение ответов на пройденные опросы;

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

Литература

1. Survio // http://www.survio.com/ru/

2. Adit Testdesk// http://www.aditsoft.ru/products.php

3. SurveyMonkey// https://ru.surveymonkey.net/

4. Кирпичников А.П Система защищенного обмена документами между организациями / А.П.Кирпичников, С.А.Ляшева, М.П.Шлеймович, Р.М.Гимальдинов // Вестник технологического университета: Т. 18 №2; 2015. -С.296-304.

5. Кирпичников А.П. Автоматизированная система взаимодействия пользователей с базой данных посредством приложений для мобильных устройств / А.П.Кирпичников, С.А.Ляшева, М.П.Шлеймович, Д.Е.Еремеев // Вестник технологического университета: Т. 18. №3; 2015. - С.235-239.

© С. А. Ляшева - к.т.н., доцент кафедры прикладной математики и информатики КНИТУ-КАИ; e-mail: stellyash@mail.ru; М.П.Шлеймович - к.т.н., доцент кафедры автоматизированных систем обработки информации и управления КНИТУ-КАИ, А. П. Кирпичников - д. ф.-м. н., зав. каф. интеллектуальных систем и управления информационными ресурсами КНИТУ, email: kirpichnikov@kstu.ru; e-mail: shlch@mail.ru; Д. Е. Еремеев - студент КНИТУ-КАИ.

© S. A. Lyasheva - PhD, Associate Professor of the Department of Applied Mathematics & Informatics, KNRTU-KAI; e-mail: stellyash@mail.ru; M. P. Shleymovich - PhD, Associate Professor of the Department of Automated Information Processing Systems & Control, KNRTU-KAI, e-mail: shlch@mail.ru; A. P. Kirpichnikov - Dr. Sci, Head of the Department of Intelligent Systems & Information Systems Control, KNRTU, e-mail: kirpichnikov@kstu.ru; D. E. Eremeev - student KNRTU-KAI.