Дипломная (вкр): Разработка клиентского модуля автоматизированного рабочего места специалиста по работе с персоналом

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

8.   group_id - в это поле хранится уникальный идентификатор типа пользователя. Пользователь может быть одного из трёх типов: специалист, администратор, кандидат;

9.   is_active - поле, показывающее статус регистрации пользователя. «1» - если пользователь подтвердил регистрацию переходом по ссылке в письме, «0» - если пользователь не закончил регистрацию, такие пользователи через некоторое время удаляются;

10. last_login - данное поле показывает, когда пользователь заходил в систему последний раз;

11. failed_login_count - поле является счётчиком, который регистрирует количество ошибочных вводов логина и/или пароля. Если значение этого поля больше или равно значению поля max_failed_login, то пользователь блокируется до разблокировки администратором. В чате пользователь также помечается заблокированным, чтобы специалист мог быстро среагировать на проблему. Такая схема сделана для защиты аккаунтов пользователей от взлома перебором паролей.

12. is_banned - поле показывает заблокирован ли пользователь;

13. reg_date - в этом поле хранится дата регистрации пользователя в системе;

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

В таблице hrw_direction хранятся направления, в которых могут работают специалисты. Таблица состоит из двух полей:

1.   id - в поле хранится уникальный идентификатор направления, по которому можно напрямую обратиться к нужном направлению;

2.   title - данное поле хранит в себе наименование направления;

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

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

2.   title - поле хранит в себе заголовок группы;

В таблице hrw_page_template хранятся шаблоны оформления, которые используются при формировании страницы. Таблица из трёх полей:

1.   id - в поле хранится уникальный идентификатор шаблона, по которому можно напрямую обратиться к нужному;

2.   title - поле хранит заголовок шаблона;

3.   filename - в данном поле находится имя файла, в котором находится шаблон.

В таблице hrw_page_user_connections хранятся права доступа групп пользователей, к определённым группам страниц. Таблица состоит из 3 полей:

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

2.   page_group_id - в данном поле хранится идентификатор группы страниц, к которым имеют доступ пользователи по идентификатору из поля user_group_id;

В таблице hrw_settings хранятся клиент-серверные настройки, которые определяют поведение всего сервиса. Таблица состоит из 4 полей:

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

2.   name - поле хранит имена настроек, по которым можно получать или изменять необходимые значения;

3.   title - в данном поле находится заголовки настроек;

4.   value - это поле хранит значения настроек;

В таблице hrw_user_direction_connections хранится информация о том, в каких направлениях может работать специалист. Таблица состоит из 3 полей:

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

2.   spec_id - поле хранит идентификатор пользователя, который является специалистом;

3.   direction_id - в этом поле хранится идентификатор, который определяет, по каким направлениям может работать специалист.

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

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

2.   title - поле хранит в себе заголовок группы;

Таблица hrw_cand_file хранит в себе данные о файлах, которые заливал кандидат и состоит из 5 полей:

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

2.   cand_id - данное поле содержит уникальный идентификатор кандидата, которому принадлежит файл;

3.   name - в этом поле находится имя файла;

4.   type - это поле хранит тип файла, например, текстовый или графический;

5.   filename - в этом поле хранится физическое имя файла, под которым он хранится на жёстком диске.

В таблице hrw_spec_file хранятся записи о файлах, принадлежащих специалистам. Таблица состоит из 6 полей:

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

2.   parent_id - поле хранит идентификатор каталога, которому принадлежит файл;

3.   is_dir - в данном поле хранится информация, которая определяет каталог или файл выбранный объект;

4.   name - в этом поле хранится имя файла;

5.   type - это поле хранит тип загруженного файла, например, текстовый или изображение;

6.   filename - в этом поле хранится физическое имя файла, под которым он хранится на жёстком диске.

В таблице hrw_message хранятся все сообщения, которыми обмениваются специалисты и кандидаты. Таблица состоит из 5 полей:

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

2.   sender_id - поле хранит в себе идентификатор отправителя сообщения;

3.   receiver_id - в этом поле хранится идентификатор получателя;

4.   text - в данном поле находится, непосредственно, текст сообщения;

5.   date - хранит в себе дату и время отправления.

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

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

2.   user_id - поле хранит идентификатор пользователя, который подключается к определённой группе;

3.   cgroup_id - в данном поле хранится идентификатор группы, к которой подключается кандидат при входе в систему.

В таблице hrw_user_info хранится информация о выбранном кандидате. Таблица состоит из 6 полей:

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

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

3.   age - поле хранит возраст кандидата;

4.   education - в этом поле хранится информация об образовании кандидата;

5.   tel - в данном поле находится номер телефона кандидата;

6.   direction_id - это поле хранит уникальный идентификатор, который показывает, к какому направлению принадлежит кандидат.

В таблице hrw_user_note хранятся заметки специалистов о кандидатах. Таблица состоит из 6 полей:

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

2.   author_id - в этом поле хранится идентификатор создателя заметки;

3.   cand_id - данное поле хранит идентификатор кандидата, о котором создана заметка;

4.   title - поле хранит заголовок заметки;

5.   text - в это поле хранится содержимое заметки;

6.   date - в данное поле записывается дата создания заметки.

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

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

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

Основным способом диалога между специалистом и соискателем является обмен сообщениями. Все сообщения добавляются в таблицу hrw_message.

6. Разработка алгоритмов

АРМ является распределённой клиент-серверной системой, поэтому алгоритм работы построен на обмене данными, путём запроса-ответа (рис. 7).

Рисунок 7 - Взаимодействие модулей системы в общем виде

Также рассмотрим use case разработанной системы.

Рисунок 8 - Диаграмма использования разработанного программного продукта

На рисунках 9 и 10 представлена блок-схема алгоритма работы клиентского модуля. Как со стороны кандидата, так и специалиста кадров первое обращение к АРМ вызовет запрос клиентом страницы у сервера. В начале работы такой страницей станет форма авторизации пользователя в системе. Отдельно для кандидата существует страница с формой регистрации, заполнив которую он получает доступ к системе. Так же после регистрации на указанную почту кандидата придёт письмо с просьбой подтверждения регистрации и лишь после подтверждения кандидат будет окончательно зарегистрирован.

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

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

Рисунок 9, А - Блок-схема алгоритма работы клиентского модуля

Рисунок 9, Б - Блок-схема алгоритма работы клиентского модуля

Рисунок 10 - Блок-схема процесса инициализации

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

Опишем работу программы, представив ее формы и основные функции.

.1 Регистрация в системе

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

Рисунок 11 - страница регистрации и входа в сервис

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

.     кандидат - пользователь, который обладает самыми минимальными правами в системе. Регистрация этого пользователя производится самостоятельно;

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

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

Если пользователь ещё не зарегистрирован в системе, то ему необходимо зарегистрироваться. Для этого необходимо нажать на кнопку «Регистрация» (рис. 12), после чего пользователь попадёт на страницу регистрации (рис. 13), где кандидат может ввести всю необходимую информацию, такую, как: фамилия, имя, отчество, фотография и другое.

Рисунок 12 - страница регистрации пользователя

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

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

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

Рисунок 13 - основной интерфейс пользователя «Специалист»

Рассмотрим каждый элемент интерфейса специалиста более подробно.

.2 Модуль «Группы»

Данный элемент представлен на рис. 14.

Рисунок 14 - Модуль «Группы»

В данном модуле изначально есть три предустановленные группы, которые специалист не сможет изменить или удалить:

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

.     нераспределённые - здесь находятся все кандидаты, которых специалист ещё не успел распределить по группам;

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

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

Помимо предустановленных групп специалист может создавать свои группы, в которые он будет перемещать кандидатов для дальнейшей удобной работы с ними. Управление группами происходит с помощью трёх кнопок, которые позволяют создавать, изменять или удалять группы (рис. 15).

При создании или изменении группы есть возможность выбрать цвет её метки (рис. 15). Цветовые метки слева от названия группы сделаны для того, чтобы специалист мог быстро визуально ориентироваться по этим меткам, даже не читая названия групп.

Рисунок 15 - Интерфейс создания и изменения группы

Перемещение в группу осуществляется с помощью кнопки в правом нижнем углу панели кандидата в элементе «Список кандидатов» (рис. 16).

Источник: https://www.bibliofond.ru/detail.aspx?id=897123