Разработка информационной системы корпоративного тестирования сотрудников со встроенным блоком графоаналитического представления результатов | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 января, печатный экземпляр отправим 8 января.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №50 (392) декабрь 2021 г.

Дата публикации: 09.12.2021

Статья просмотрена: 449 раз

Библиографическое описание:

Абрамов, В. Е. Разработка информационной системы корпоративного тестирования сотрудников со встроенным блоком графоаналитического представления результатов / В. Е. Абрамов. — Текст : непосредственный // Молодой ученый. — 2021. — № 50 (392). — С. 13-16. — URL: https://moluch.ru/archive/392/86571/ (дата обращения: 21.12.2024).



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

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

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

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

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

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

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

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

Архитектура «клиент-сервер» характеризуется наличием по крайне мере двух взаимодействующих, самостоятельных процессов — клиента и сервера. Процессы, осуществляющие некоторую службу, например, службу базы данных или файловой системы, называются серверами, а процессы, запрашивающие службы у серверов посредством посылки запроса и последующего ожидания ответа от сервера, называются клиентами. Фактически эти процессы — программное обеспечение, которое установлено на разных вычислительных машинах и взаимодействующее между собой через вычислительную сеть посредством сетевых протоколов, но они могут быть расположены также и на одной машине. [4] Схема взаимодействия представлена на рисунке 1.

Архитектура клиент — сервер

Рис. 1. Архитектура клиент — сервер

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

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

Трехуровневая архитектура клиент-серверного взаимодействия

Рис. 2. Трехуровневая архитектура клиент-серверного взаимодействия

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

Серверная часть приложения использует язык программирования PHP и фреймворк Lumen.

PHP — распространённый интерпретируемый язык общего назначения с отрытым исходным кодом. PHP специально сконструирован для веб-разработки, его код может внедряться непосредственно в HTML документ. Язык является крайне простым в освоении, позволяет создавать сложные динамические приложения с высокой скоростью разработки. Изначально язык имел ярко — выраженную функциональную направленность, в более поздних версиях чувствуется сильное влияние объектно-ориентированной модели языка Java. PHP является динамически слабо типизированным языком, однако в более поздних версиях языка был введен контроль типов, что значительно снизило риск возникновения ошибок в момент исполнения программы. Взаимодействие между сервисами осуществляется по протоколу HTTP с использованием пакета Guzzle.

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

Клиентская часть приложения использует JavaScript и библиотеку React с пакетами для организации маршрутизации пользователей и обеспечение сохранения общего состояния приложения (Redux). React — библиотека, разработанная Facebook, для создания пользовательских интерфейсов. React основан на использовании компонентов и инкапсуляций. Для обеспечения клиентской логики достаточно описать то, как части пользовательского интерфейса приложения выглядят в разных состояниях. Соответственно при изменении состояния, происходит изменение самого компонента. Таким образом React исключает непосредственное взаимодействие с DOM деревом, в отличие от jQuery, самостоятельно обновляя или загружая необходимые компоненты и данные.

Сохранение и управление данными осуществляется с использованием MySQL — наиболее распространённой в сфере веб-технологий реляционной системой управления базами данных, разработанная и поддерживаемая корпорацией Oracle. Частое применение данной СУБД обусловлено свободной лицензией (данная СУБД распространяется под лицензией GNU GPL 2), лёгкостью установки и простотой использования.

С целью обеспечения работы микросервисной архитектуры используется Docker контейниризация. Docker — это проект с открытым исходным кодом для автоматизации развертывания приложений в виде переносимых автономных контейнеров, выполняемых в облаке или локальной среде. Проксирование HTTP запросов осуществляется с использованием веб — сервера Nginx. Сервер работает в операционной системе Linux CentOs. Обработка серверного языка осуществляется отдельным сервисом php-fpm с динамическим регулированием количества доступных дочерних процессов. Для разработки клиентской части приложения дополнительно использовалась технология Webpack, позволяющая производить автоматическую сборку клиентской части приложения.

Функционально система представлена двумя модулями — панель администратора и пользовательская часть.

Пользовательская часть состоит из 3-х сервисов:

  1. Сервис аутентификации и авторизации
  2. Сервис тестов (включает группы, ответы и вопросы к тестам)
  3. Аналитический сервис

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

Декомпозиция процессов приложения в соответствии с методологией IDEF0 представлена на рисунке 3.


Декомпозиация процессов работы приложения в соответствии с методологией IDEF0

Рис. 3. Декомпозиация процессов работы приложения в соответствии с методологией IDEF0


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

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

Литература:

  1. Колбасова Л. О. «Профессиональная компетентность в современном социальном пространстве» // Вестник оренбургского государственного университета — 2009. № 7(101). — С.26–31; URL: https://elibrary.ru/item.asp?id=12987149 (дата обращения: 18.03.2021).
  2. Бозаджиев В. Л. Профессиональные компетенции как интегральные качества специалиста // Успехи современного естествознания. — 2007. — № 5. — С. 40–44; URL: http://www.natural-sciences.ru/ru/article/view?id=11094 (дата обращения: 12.03.2021).
  3. Долинина О. Н., Печенкин В. В., Файфель Б. Л., Кузнецова К. Д. Эффективные алгоритмы. — Саратов: Амирит, 2020. — 230 с. ISBN 978–5–00140–526–9
  4. Герберт Шилдт. " Java 8. Полное руководство 9-е издание» 2015г.
Основные термины (генерируются автоматически): PHP, HTTP, клиентская часть приложения, программное обеспечение, аналитический сервис, информационная система, информационная система тестирования, клиент-серверное взаимодействие, микросервисная архитектура, пользовательская часть.


Похожие статьи

Проектирование информационной системы интернет-магазина

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

Формализация требований для средств разработки и обучения нейронных сетей

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

Исследование методов автоматического программирования с применением искусственного интеллекта

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

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

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

Проектирование программного обеспечения на базе экспертной системы «Выявление психологических отклонений»

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

Информационные технологии в электроэнергетике

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

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

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

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

В статье рассматриваются инструменты управления проектами и преимущества интеграции Jira и GitLab для команд разработчиков программного обеспечения.

Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки

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

Автоматизированное проектирование средств и систем управления

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

Похожие статьи

Проектирование информационной системы интернет-магазина

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

Формализация требований для средств разработки и обучения нейронных сетей

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

Исследование методов автоматического программирования с применением искусственного интеллекта

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

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

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

Проектирование программного обеспечения на базе экспертной системы «Выявление психологических отклонений»

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

Информационные технологии в электроэнергетике

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

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

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

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

В статье рассматриваются инструменты управления проектами и преимущества интеграции Jira и GitLab для команд разработчиков программного обеспечения.

Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки

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

Автоматизированное проектирование средств и систем управления

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

Задать вопрос