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

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ СОПРОВОЖДЕНИЯ ДЕЯТЕЛЬНОСТИ ОБРАЗОВАТЕЛЬНЫХ УЧРЕЖДЕНИЙ

УДК 004.9 ББК Ч420.253

К.И. Хусаинова, И.В. Ильин

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ДЛЯ ИНФОРМАЦИОННОГО СОПРОВОЖДЕНИЯ ДЕЯТЕЛЬНОСТИ СТУДЕНЧЕСКОГО ПРОФСОЮЗНОГО КОМИТЕТА ВУЗА

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

Введение

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

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

Жизненный цикл программного обеспечения

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

© Хусаинова К.И., Ильин И.В., 2018

[2, 3, 5]. Совокупность этих этапов называют последовательностью этапов жизненного цикла ПО. Под жизненным циклом ПО подразумевают временной интервал от начального момента принятия решения о необходимости создания ПО до момента его вывода из эксплуатации.

Структуру, определяющую последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении жизненного цикла, называют моделью жизненного цикла (ЖЦ) ПО. Модель зависит от масштаба, сложности проекта и специфики условий, в которых система создается и функционирует. В зависимости от потребностей проекта выбирается соответствующая модель ЖЦ ПО [5]: каскадная, F-образная, инкрементная, итерационная, спиральная др. На практике модели ЖЦ редко используются в чистом виде. В рамках одной или нескольких моделей создаются различные методологии, которые ускоряют процесс разработки и внедрения проекта.

При разработке проекта в исследовании применялась методология RAD («Rapid Application Development», от англ. «быстрая разработка приложений»), которая является разновидностью инкрементной и водопадной модели. Под концепцией RAD подразумевается, что сложный проект декомпозируют на мини-проекты, тем самым обеспечивается высокая скорость разработки и адаптируемость проекта к изменяющимся требованиям. Технологию RAD применяют, когда выполнение проекта необходимо провести в сжатые сроки, нечетко определены требования к разрабатываемому ПО, возможны варианты разбиения проекта на функциональные компоненты и не требуется высокая вычислительная сложность ПО.

Этапы разработки методологии RAD [6] (рис. 1):

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

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

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

4. Переключение - операции по конверсии данных, тестированию, переходу на новую систему и внедрения в организацию.

Рис. 1. Модель быстрой разработки приложений (RAD) [6]

Технологии разработки веб-приложений

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

Методологию разработки веб-приложений можно разделить на несколько категорий [11]:

• технологии, реализующие логику веб-приложений на стороне сервера;

• подходы, основанные на программировании или скриптах, применение каркасов веб-приложений и шаблонов проектирования (паттерны).

При разработке проекта в исследовании использовалась концепция проектирования ModelView-Controller и объектно-ориентированный PHP-фреймворк Yii Framework 2.0. Использование паттерна Model-View-Controller (MVC, Модель-Представление-Контроллер) подразумевается, что бизнес-логика (модель) отделяется от ее визуализации (представления) (рис. 2). За счет подобного разделения повышается возможность повторного использования кода и изменения, вносимые в один из компонентов, оказывают минимально возможное воздействие на другие компоненты. Фреймворк Yii предоставляет генераторы и готовые решения для интерфейса, объектно-ориентирован и позволяет использовать библиотечные PHP-функции, в том числе для работы с базами данных.

Рис. 2. Архитектура MVC [8]

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

Языки и среды программирования для разработки мобильных приложений

С каждым годом количество смартфонов в мире растет. Так, продажи смартфонов в РФ по итогам 2017 г. в натуральном выражении выросли на 6 % по отношению к 2016 г. и составили 28,4 миллиона аппаратов [10]. Увеличивается и количество приложений, разработанных под конкретную ОС. Отсюда встает вопрос о необходимости наличия мобильной версии информационной системы.

Что касается технологий разработки подобных мобильных систем, то для каждой платформы существует собственный, нативный, язык программирования, например, для Android -это Java или Kotlin, для iOS - Objective-C или Swift, для Windows Phone - C# [1]. Все перечисленные языки программирования имеют свой набор технологий и фреймворков. Преимущество использования нативных языков заключается в том, что разработанные на их основе приложения работают быстрее, в полной мере позволяют использовать все возможности и особенности операционной системы. Недостаток такого подхода в том, что под каждую мобильную платформу необходимо создавать отдельные приложения (рис. 3), у которых часть функциональных возможностей в большинстве случаев будет одинаковой. В том числе такая разработка требует участия команды программистов под каждую платформу и занимает больше времени, в отличие от кроссплатформенного подхода.

Рис. 3. Нативная разработка [1]

Существуют и кроссплатформенные подходы к разработке мобильных приложений [1, 7]:

• создание обертки для разных платформ (например, на С++);

• использование специальных технологий кроссплатформенной разработки (например, Xamarin).

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

Главный принцип второго подхода, лежащий в основе кроссплатформенных решений, -разделение кода на две части:

• кроссплатформенную, которая расположена в виртуальном окружении и имеет ограниченный доступ к возможностям целевой платформы через специальный «мост» (рис. 4).

• нативную, которая обеспечивает инициализацию приложения, управление жизненным циклом и имеет полный доступ к системным API [ 1].

• Кроссплатформенные приложения, как правило, имеют нативную часть, иначе необходимая ОС не сможет их запустить. Платформы iOS, Android и Windows UWP (Universal Windows Platform) предоставляют необходимые API для работы кроссплатформенных фрейм-ворков:

• WebView - используется в гибридных приложениях и представляет собой среду выполнения веб-приложений;

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

• OpenGL ES (или DirectX) - используется в играх или приложениях для прорисовки интерфейса;

• UI-подсистема - отвечает за нативный пользовательский интерфейс приложения.

Рис. 4. Мост для связи между кроссплатформенной и нативной частью [1]

Разработано множество технологий для кроссплатформенной разработки мобильных приложений, но с архитектурной точки зрения все они аналогичны наиболее популярным Apache Cordova, ReactNative, Xamarin.Forms и Qt [1].

При разработке проекта мобильной версии информационной системы использовалась технология Xamarin.Forms. Она обладает рядом преимуществ: бесплатность, производительность приложений близка к нативным ЯП, используется единый стек технологий для всех платформ, для написания логики приложений используется один язык программирования (C#), предоставляется возможность быстрой разработки прототипов приложений, которые в дальнейшем могут развиваться в сложные приложения.

Функционал разработанного программного обеспечения для информационного сопровождения профсоюзного комитета вуза

Пользовательская часть ИС разработана на основе комплекса веб-технологий (рис. 5). На главной странице располагается «карусель» из изображений с актуальной на текущий мо-

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

В разделах «Студенту», «Общежитие», «Об организации», «Команда» содержатся статичные страницы, на которых размещена следующая информация [9]:

• стипендиальное обеспечение (виды и размеры стипендий);

• социальное обеспечение (жилье, социальные гарантии, здоровье);

• общежития ПГГПУ (предоставление мест, обязанности сторон);

• информация об организации и описание направлений деятельности;

• список работников профкома и их контактная информация.

Объявления и новости Студенту Общежитие Об огранизации Команда Задай вопрос

Ж * ©

Профсоюзная организация студентов ПГГПУ

Адрес

ул Пушкина, 44

Время работы гм-лт с 9 00 до 18 00

Телефон

♦7(342)238-63-35 ♦7 (342)212-12-01

< > Се«аня Месяц медеяя

июнь 2018

4 5 6 7 в в 10 J 11 12 13 14 IS 16 17 18 19 20 21 22 23 24

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

Рис. 5. Интерфейс клиентской части веб-приложения

В разделе «Объявления и новости» (рис. 6) из группы профсоюзной организации в социальной сети «ВКонтакте» автоматически дублируются новости и объявления. Благодаря такому решению субъекты, которые не имеют аккаунта в социальной сети, обладают возможностью быть в курсе событий.

Синхронизация новостной ленты сообщества «Профком студентов ПГГПУ» и новостной ленты веб-ресурса реализуется с помощью API «Вконтакте». API ВКонтакте - это интерфейс, который позволяет получать информацию из базы данных vk.com с помощью http-запросов к специальному серверу. Ниже приведена часть программного кода подключения к API ВКонтакте.

<head>

<script src="https://vk.com/js/api/openapi.js?152"

</head>

<div id="vk groups" overflow:hidden;"> // Определение стилей </div>

VK.Widgets.Group("vk groups", {mode: 4, wide: 2, no_cover: 1, width: "800", height: "1024", color3: '4D485C'}, 16274172);

</script>

Рис. 6. Раздел «Объявления и новости»

В теге заголовка страницы осуществляется подключение к Open api (система, которая позволяет авторизовывать пользователей ВКонтакте, получать доступ к личной информации пользователей, а также встраивать виджеты для отображения данных о сообществе или для комментирования материалов). В рамках подключения к Open api создается приложение, которое позволяет использовать на любом веб-ресурсе все текущие методы API ВКонтакте. В блоке <div> указаны стили для виджета, а именно overflow, который управляет отображением содержания блочного элемента, если оно не полностью помещается или выходит за пределы заданных размеров. Также блоку <div> задан уникальный идентификатор «vk_groups». Для работы с сообществами (группами) необходимо подключить VK.Widgets.Group. Метод VK. Widgets . Group принимает три параметра:

• element_id - идентификатор элемента, который будет являться контейнером для блока сообщества;

• options - опции блока с виджетом. В данном случае используются поля: mode - режим отображения (например, режим 3 подразумевает отображение только участников сообщества, а 4 - «стену» сообщества), wide - расширенный режим (отображение кнопки «Мне нра-

вится»), no_cover - отображение обложки сообщества, width - ширина блока в пикселях, height - высота блока в пикселях, color - цвет кнопок в формате RGB; • group_id - идентификатор сообщества.

В разделе «Задай вопрос» реализуется обращение к работникам профкома (рис. 7), для чего необходимо указать адрес электронной почты, ФИО, факультет, группу и сообщение обращения. Если пользователь авторизован, то все поля, кроме текста обращения, заполняются автоматически. Также авторизованный пользователь может просматривать ранее отправленные обращения. Если студент не вошел в систему, то поле email является обязательным.

Рис. 7. Форма для обращения к работникам профкома

На каждой странице пользовательского приложения справа расположен календарь событий, в котором отмечаются ближайшие мероприятия (рис. 8). При наведении манипулятора «мышь» на событие появляется всплывающая подсказка (рис. 9).

Рис. 8. Календарь событий

Рис. 9. Всплывающая подсказка при наведении

Если пользователь подписан на какое-то событие, например, на первомайскую демонстрацию, то он получает уведомление об этом в своем профиле. В контекстном меню пользователя (рис. 10) отображается количество полученных уведомлений. При нажатии на данный пункт меню происходит переход на страницу с уведомлениями (рис. 10) и пользователю отображаются

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

А

Главная Уведомления

Управление подписками Очистить

I Уведомления © Оншйн-платежи Мои заявления Настройки

Вы йти

Билеты в театр "Балет Евгения Панфилова" 19.06.2013 В:00 - 21.0Б.2018 17:00

ДК. им Гагарина. Спектакль "Бабы. Год 1945"

Заселение в общежитие 31.08.2018 9:00 -31.08.2018 18:00

Заселение в общежитие осуществляется только при ОТСУТСТВИИ ЗАДОЛЖЕННОСТИ. Для заселения необходимы следующие документы:

1 Обходной лист;

2 Профсоюзный билет;

3 Договор и свидетельство о временной регистрации;

4 Фотографию для нового пропуска (3x4).

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

Рис. 10. Контекстное меню пользователя и фрагмент формы с уведомлениями

Вход в ИС осуществляется с помощью модального окна (рис. 11). При вступлении студента в профсоюзную организацию ему выдается одноразовый логин и пароль для входа.

Рис. 11. Модальное окно Процесс авторизации состоит из следующих этапов:

1. Пользователь заполняет необходимые поля на форме и нажимает кнопку «войти».

2. При нажатии кнопки «войти» происходит проверка введенных данных:

• если введенные данные не совпадают с имеющимися в базе данных (БД), то система сообщит об этом пользователю (рис. 12);

Рис. 12. Форма авторизации

• если введенные данные совпадают с имеющимися в БД, то производится проверка статуса активации учетной записи и существования адреса электронной почты студента в базе;

• если учетная запись не активирована и адреса электронной почты нет в БД, то пользователя перенаправляют на страницу активации аккаунта (рис. 13);

• если аккаунт не активирован и адрес электронной почты есть в БД, то пользователя перенаправляют на страницу восстановления пароля (рис. 14).

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

Пожалуйста, введите Ваш адрес электронной почты. Email

Отравить

Рис. 13. Форма активации аккаунта

Рис. 14. Форма восстановления пароля

3. После того как пользователь прошел все этапы проверки, происходит загрузка главной страницы ИС.

Раздел «Профиль пользователя» состоит из пяти подразделов: уведомления, онлайн-платежи, заявления, настройки и выход из профиля. Уведомления отображаются, если студент является должником по оплате профвзносов или по оплате общежития, и если в календаре появилось мероприятие, на которое он подписался (например, поход в театр).

Раздел «Подача заявлений онлайн» представляет собой процедуру заполнения специальной формы. Рассмотрим работу сервиса онлайн-заявлений на примере заявления о предоставлении места в общежитии (рис. 15).

Рис. 15. Форма заявления о предоставлении места в общежитии

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

Рис. 16. Форма заявления о выселении из общежития

В разделе «Мои заявления» отображаются все поданные заявления (их можно просматривать и редактировать, если они еще не были рассмотрены председателем профбюро).

В разделе «Настройки профиля» пользователям доступно управление подписками на уведомления, подключение социальных сетей (для осуществления авторизации без ввода логина и пароля) (рис. 17а), смена пароля (рис. 17б), адреса электронной почты (рис. 17в) и логина (рис. 17г). В том числе можно указать ссылку (URL) на фотографию, для того чтобы работникам профкома было проще идентифицировать пользователя.

Настройки профиля

Настройка Изменить пароль Изменить адрес электрона

Получать уведомления о мероприятиях на почту

Получать уведомления с задолженностях на почту

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

Например http://placehold.it/128x128

Вход через социальные сети

ЧС ВКонтакте ПОДКЛЮЧИТЬ

Яндекс

подключить

Рис. 17а. Раздел «Настройки профиля». Настройка уведомлений, параметров авторизации и добавление URL на фотографию

Рис. 17б. Раздел «Настройки профиля». Смена пароля

Настройки профиля

Настройка Изменить пароль Изменить Пароль

Настройки профиля

Настройка Изменить пароль Изменить

Пароль

D

Логин

Рис. 17в. Раздел «Настройки профиля». Смена адреса электронной почты

Рис. 17г. Раздел «Настройки профиля». Смена логина

Все изменения в контенте обрабатываются контроллером ИБегСоп^оЫег. Для каждого раздела создаются экземпляры соответствующей модели, данные загружаются в модель, проходят валидацию, и если ошибок в заполнении данных нет, изменения сохраняются и для пользователя выводится уведомление в виде йавЬ-сообщения (рис. 18).

Рис. 18. Flash-сообщение об успешном изменении данных

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

public function actionProfile

{ // Создаем экземпляры моделей для каждой вкладки:

$resetPassword = new ResetPassword(); // Экземпляр модели «Смена пароля»

// Загружаем данные в модель, осуществляем их валидацию и сохраняем изменения:

if

{

// Если всё прошло успешно, выводим flash-сообщение

Yii::$app->session->setFlash('success', 'Изменения сохранены.');

}

// Загружаем представление user/profile и передаем обработанные данные моделей:

return $this->render('profile', [

'password' => $resetPassword,

]);

}

Функционал онлайн-платежей (рис. 19) осуществляются средствами сервиса Ян-декс.Касса и в ИС доступны только для авторизованных пользователей. Платежный агрегатор обеспечивает безопасность проведения оплаты и сохранность персональных данных. Для осуществления платежа студенту необходимо выбрать название платежа, ввести номер группы и ФИО, а также сумму для оплаты.

Название платежа

Профсоюзные взносы v

Номер группы

843

ФИО плательщика

Иванов Иван Иванович

Сумма

Р

Заплатить visa ф© яндас

Рис. 19. Форма для платежа «Профсоюзные взносы»

Административная часть ИС представляет собой административную панель (рис. 20), в которой содержатся информационные блоки и модули управления. Данный модуль доступен только работникам профкома.

Рис. 20. Форма административной панели

Для быстрого доступа к наиболее важным разделам реализовано «боковое меню» (рис. 21). Также в «боковом меню» содержатся разделы, которые не отображены на главной странице, например, управление доступом.

Ф Профком ПГГПУ

т<х1ега!ог

РЯГУЛТЁ Л Главная

А Студенты V

О&цежитие V

Е) Учет ППОС

Управление доступом V [в] Статичные страницы V ЕШ Календарь событий V

Рис. 21. Боковое меню административной панели 64

Рассмотрим назначение основных модулей административной части. Так, модули «Общежитие», «Сироты», «Инвалиды» и «Профсоюз» выводят общее количество проживающих во всех общежитиях, количество сирот и инвалидов, а также количество членов профсоюзной организации.

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

В целях обеспечения безопасности персональных данных студентов в соответствии с №152-ФЗ «О персональных данных» вся личная информация подлежит процедуре шифрования при добавлении в базу данных. Доступ к информации предоставляется только работникам профсоюзной организации, безопасное соединение между браузером пользователя и сервером гарантируется протоколом SSL (Secure Sockets Layer). При обращении в профком каждый студент подписывает согласие на обработку персональных данных.

Модуль «Общежитие» содержит информацию об общежитиях ПГГПУ (название, адрес, тип, ФИО коменданта, номер телефона) и комнатах, а также о студентах. Функционал позволяет формировать регламентированную отчетность о проживающих в общежитии, количестве свободных мест и т.д.

Модуль « Учет ППОС» (первичная профсоюзная организация студентов) включает в себя информацию об уплаченных или неуплаченных членских взносах в профком студентов, предоставляет список членов профсоюза. Также функционал позволяет вносить информацию об использованных студентом привилегиях (абонемент в кино, бассейн, получение материальной помощи и др.), тем самым можно отследить активность члена профсоюза или быстро принять решение, о предоставлении льгот. Функционал позволяет формировать отчеты.

Модуль «Обработка заявлений» отображает заявления от студентов о вступлении или выходе из профсоюза, получении материальной помощи, предоставлении койко-места или выселении из общежития, получении повышенной академической стипендии, а также личные обращения студентов.

Модуль «Мероприятия» управляет календарем событий и отображением участников различных мероприятий (из числа студентов).

Модуль «Сироты» позволяет дополнить информацию о сиротстве студента, просмотреть полный список сирот и сформировать отчет.

Модуль «Инвалиды» позволяет дополнить информацию об инвалидности студента, просмотреть полный список инвалидов и сформировать отчет.

Модуль «Прочее» располагает инструментами управления метаданными ИС.

Помимо описанных выше модулей дополнительно имеются функциональные узлы «Студенты», «Общежитие», «Учет ППОС», «Календарь событий» и др.

Разработанная ИС доступна по адресу http://profkom.pspu.ru/. Мобильное приложение находится в стадии проектирования и будет реализовано после настройки всего функционала веб-приложения. Созданный программный продукт может быть использован не только в профкоме ПГГПУ, но и адаптирован для профсоюзной организации любого учебного заведения. Перспек-

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

Список литературы

1. Архитектуры ReactNative, Xamarin, PhoneGap и Qt [Электронный ресурс]. - URL: https://habr.com/company/microsoft/blog/340116/ (дата обращения: 30.03.2018).

2. Вендров А.М. CASE-технологии. Современные методы и средства проектирования информационных систем. - М.: Финансы и статистика, 2006. - 544 с.

3. Зараменских Е.П. Управление жизненным циклом информационных систем. - Новосибирск: Изд-во ЦРНС, 2014. - 270 с.

4. Информационное сопровождение деятельности [Электронный ресурс]. - URL: http://comagency.ru/pr-support-of-evets (дата обращения: 25.10.2017).

5. Модели жизненного цикла программного обеспечения [Электронный ресурс]. - URL: https://habrahabr.ru/post/111674/ (дата обращения: 09.02.2018).

6. Модель жизненного цикла RAD [Электронный ресурс]. - URL: https://commons.wiki media.org/w/index.php?curid=17833563 (дата обращения: 01.10.2017).

7. Настоящее и будущее решений для разработки кросс-платформенных мобильных гибридных приложений в корпоративной сфере [Электронный ресурс]. - URL: http://files. tautechnologies.com/Events/2016_10_CEE_SECR/TAU_Technologies_CEE_SECR_2016_RUS.pdf (дата обращения: 29.03.2018).

8. Паттерны MVC vs MVP vs MVVM [Электронный ресурс]. - URL: https://habr.com/ post/215605/ (дата обращения: 28.02.2018).

9. Положение о первичной профсоюзной организации студентов Пермского государственного гуманитарно-педагогического университета от 2 июня 2014 г. [Электронный ресурс]. -URL: http://pspu.ru/university/labor-organizations/profsojuznaja-organizacija-studentov/documenty (дата обращения: 19.09.2017).

10. РИА новости [Электронный ресурс]. - URL: https://ria.ru/technology/20180112/1512 485356.html (дата обращения: 19.06.2018).

11. Сенина А.А. Обзор основных современных технологий разработки веб-приложений // XIII Всероссийская научно-практическая конференция «Технологии Microsoft в теории и практике программирования». Технологии разработки и проектирования информационных систем. -Томск: Изд-во ТНИПУ, 2010. - Секция 6. - С. 233-235.