Файл: Проектирование реализации бизнес-процесса «Управление персоналом» (Характеристика существующих бизнес –процессов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 22.05.2023

Просмотров: 293

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Таблица «Кадровый план» содержится информация о кадровых данных компании: идентификатор подразделения, идентификатор должности, идентификатор филиала, количество плановых ставок, количество занятых ставок.

В таблице «Вакансии» содержится идентификатор вакансии, идентификатор подразделения, идентификатор должности, идентификатор филиала, дата открытия, дата закрытия, требования, обязанности. Условия.

А таблице «Резюме» содержится список резюме кандидатов, а именно идентификатор резюме, идентификатор филиала, идентификатор вакансии, дата.

В таблице «Прием кандидата» содержится информация о всех принятых на работу кандидатов: идентификатор кандидата, идентификатор кадрового

плана, дата, идентификатор филиала, идентификатор должности, идентификатор подразделения, комментарий, количество ставок.

Теперь рассмотрим физическую реализацию базы данных, она приведена на рисунке 12. Данная модель представлена для СУБД MySQL, все названия написаны английскими буквами, все атрибуты указаны со своими типами. Данная модель является реляционной моделью. Эта модель построена с помощью ERWIN.

Рисунок 14 – Физическая модель данных Приведем спецификацию основных таблиц базы данных.

Таблица 10

Техническая спецификация Candidate (Кандидаты)

Имя поля

Тип, размер

Описание

id_ Candidate

INT, счетчик

Уникальный идентификатор

кандидата, первичный ключ

FIO

Varchar, 250

Фамилия, имя, отчество кандидата

Source

Varchar, 50

Источник информации (сайт

кадровой службы, рассылка)

Totals

Varchar, 20

Итоговый результат

Comment

Varchar, 100

Рабочий комментарий

Таблица 11

Техническая спецификация StaffingPlan (Кадровый план)

Имя поля

Тип, размер

Описание

id_ StaffingPlan

INT, счетчик

Уникальный идентификатор строки

кадрового плана, первичный ключ

id_ unit

FK, INT

Уникальный идентификатор

подразделения, внешний ключ

id_ branch

FK, INT

Уникальный идентификатор

филиала, внешний ключ

id_position

FK, INT

Уникальный идентификатор

должности, внешний ключ

NumberBets

Float

Количество ставок

NumberClosed

Float

Количество занятых ставок


Таблица 12

Техническая спецификация Branch (Филиал)

Имя поля

Тип, размер

Описание

id_ branch

INT, счетчик

Уникальный идентификатор

филиала, первичный ключ

Name

Varchar, 50

Наименование филиала

INN

Char, 12

ИНН филиала

KPP

Char, 10

КПП филиала

OGRN

Char, 10

ОГРН филиала

Adress

Varchar, 150

Адрес филиала

Остальные спецификации будет приведены в приложении А.

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

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

Model-view-controller (MVC) - разделение прикладную логику и данные от представления. Model-view-controller (MVC, «Модель-представление- поведение», «Модель-представление-контроллер») — схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента так, что модификация одного из компонентов оказывает минимальное воздействие на остальные. Данная схема проектирования часто используется для построения архитектурного каркаса, когда переходят от теории к реализации в конкретной предметной области.

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

Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.

Представление, вид (англ. View). Отвечает за отображение информации (визуализация). Часто в качестве представления выступает форма (окно) с графическими элементами.

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


Важно отметить, что как представление, так и контроллер зависят от модели. Однако модель не зависит ни от представления, ни от контроллера. Тем самым достигается назначение такого разделения: оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели. На рисунке 15 представлена схема MVC.

Рисунок 15 – Модель MVC

Такая же структура будет характерна структуры разрабатываемой информационной системы. На рисунке 14 представлена структурная схема пакета документов. Узловой узел HR (управление персоналом) состоит из подкаталогов: controller, model, service, дополнительно каталог mapper, в котором содержаться запросы к базе данных.

Опишем более подробно состав пакета модулей. Каталог «service»:

  • CandidateManager – класс обработки данных кандидата, полученных из запроса.
  • HhResumeFetcher – класс загрузки резюме из сайтов кадровых служб.
  • HttpService – класс обработки полученных данных из класса HhResumeFetcher.
  • ResumeFetcher – класс отправки данных для сохраения резюме в базу.

отправления данных resumeMapper для

класс

- ResumeManager –

обработки.

Каталог model и mapper имеют аналогичную структуру, назначение

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

Поэтому приведен содержание каталога model, аналогичный ему файл есть в каталоге mapper, только с добавлением слова mapper.

В таблице 13 приведено соответствие файлов каталогов. Таблица 13

Соответствие файлов каталогов

Каталог

model

Аналогичный файл в

каталоге mapper

Назначение файлов

Mapper

BranchMapper

Обработка филиалов компании

(добавление, удаление, вывод списка)

Candidate

CandidateMapper

Обработка кандидатов (добавление,

удаление, вывод списка)

Department

DepartmentMapper

Обработка подразделений компании

(добавление, удаление, вывод списка)

Onboarding

OnboardingMapper

Прием кандидатов на работу

Position

PositionMapper

Обработка должностей компании

(добавление, удаление, вывод списка)

Resume

ResumeMapper

Обработка резюме (добавление,

удаление, вывод списка)

Stage

StageMapper

Обработка этапов работы (добавление,

удаление, вывод списка)

Vacancy

VacancyMapper

Обработка вакансий компании

(добавление, удаление, вывод списка)

WorkforcePlan

WorkforcePlanMapper

Работа с кадровым планом (добавление,

удаление строк, вывод отчета)


HR

controller model service mapper

ControllerException

Handler

Branch

CandidateManager

BranchMapper

MainController

Candidate

HhResumeFetcher

CandidateMapper

Department

HttpService

DepartmentMapper

Onboarding

ResumeFetcher

OnboardingMapper

OnboardingStage

ResumeManager

OnboardingStageM

Position PositionMapper

Resume

ResumeMapper

Stage

StageMapper

Vacancy VacancyMapper

WorkforcePlan WorkforcePlanMap

Рисунок 16 – Структурная схема пакетов документов

Каталог «controller»:

  • ControllerExceptionHandler – контроллер начальной страницы, авторизации.
  • MainController – главный контролер, в котором содержаться классы по приемке и обработке данных из базы данных.

Так как контроллер MainController является основным связующим звеном между логикой приложения и отображением, приведен некоторые программные его коды и их взаимодействия с model и mapper

Приведем фрагмент кода для демонстрации работы моделей для филиалов. Попробуем это сделать согласно ГОСТу 19.401-78 ЕСПД. «Текст программы».

//класс объявления филиала @GetMapping("/branches")

public List<Branch> getBranches() {

return branchMapper.getBranches();

}

// добавления филиала

// доступ адреса для клиента


@RequestMapping(value = "/branch", method = RequestMethod.PUT)

// получение ответа на добавление филиала @ResponseBody

public ResponseEntity addBranch(@RequestBody Branch

branch) {

branchMapper.addBranch(branch); return ResponseEntity.ok().build();

}

// получение ответа на удаление филиала @RequestMapping(value = "branch/{id}", method =

RequestMethod.DELETE)

public void deleteBranch(@PathVariable long id) { branchMapper.deleteBranch(id);

}

// доступ к Mapper для клиента @Mapper

public interface BranchMapper {

// запрос к базе данных на выборку филиалов @Select("SELECT * FROM BRANCH")

List<Branch> getBranches();

// запрос к базе данных на добавление записи филиалов

@Insert("INSERT INTO BRANCH (name, itn, iec, psrn, address) VALUES(#{name}, #{itn}, #{iec}, #{psrn}, #{address})")

void addBranch(Branch branch);

// запрос к базе данных на удаление записи филиалов @Delete("DELETE FROM BRANCH WHERE id = #{branchId}") void deleteBranch(long branchId);

}

Класс из файла Branch, получающий структуру полей для последующей передачи на сервис.

// публичный класс для филиала

public class Branch {

// объявление переменных

private long id; private String name; private long itn; private long iec; private long psrn; private String address;

// объявление методов класса

public long getId() { // получение id филиала return id;

}

public void setId(long id) { // назначение id филиала this.id = id;

}

public String getName() { // получение наименования филиала

return name;

}

public void setName(String name) { // назначение наименования филиала

this.name = name;

}

public long getItn() { // получение ИНН филиала return itn;

}

public void setс(long itn) { // назначение ИНН филиала this.itn = itn;

}

public long getIec() { // получение КПП филиала return iec;

}

public void setIec(long iec) { // назначение КПП филиала this.iec = iec;

}

public long getPsrn() { // получение ОГРН филиала return psrn;

}

public void setPsrn(long psrn) { // назначение ОГРН филиала

this.psrn = psrn;

}

public String getAddress() { // назначение адреса филиала return address;

}

public void setAddress(String address) {

// адреса филиала

this.address = address;

}

@Override

// преобразование и возвращение строки филиала public String toString() { public

return String.format("Branch{id=%d, name='%s', itn=%d, iec=%d, psrn=%d, address='%s'}", id, name, itn, iec, psrn, address);

}

}

Модель MVC позволяет гибко построить код программы, разделяя логику

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

2.8 Контрольный пример реализации проекта и его описание

Рассмотрим интерфейс программы.

При запуске программы отображается окно авторизации, приведенное на рисунке 17.

Рисунок 17 – Окно авторизации

На рисунке 18 представлен интерфейс программы.