Файл: Проектирование реализации бизнес-процесса «Управление персоналом» (Характеристика существующих бизнес –процессов).pdf
Добавлен: 22.05.2023
Просмотров: 293
Скачиваний: 3
СОДЕРЖАНИЕ
1 Глава. Аналитическая часть 1.1. Выбор комплекса задач автоматизации
1.2. Характеристика существующих бизнес –процессов
1.3. Характеристика документооборота, возникающего при решении задачи
1.4. Обоснование проектных решений по информационному и программному обеспечению
2 глава. Проектная часть 2.1. Информационная модель и её описание
2.2. Характеристика нормативно-справочной, входной и оперативной информации
2.3. Характеристика результатной информации
2.5. Характеристика базы данных
2.6. Структурная схема пакета (дерево вызова программных модулей), описание программных модулей
В таблица «Этапы работ с кандидатом» хранится информация о прохождении интервью кандидатами по этапам: идентификатор этапа, идентификатор кандидата, тип взаимодействия, что сделано и результат прохождения этапа.
Таблица «Кадровый план» содержится информация о кадровых данных компании: идентификатор подразделения, идентификатор должности, идентификатор филиала, количество плановых ставок, количество занятых ставок.
В таблице «Вакансии» содержится идентификатор вакансии, идентификатор подразделения, идентификатор должности, идентификатор филиала, дата открытия, дата закрытия, требования, обязанности. Условия.
А таблице «Резюме» содержится список резюме кандидатов, а именно идентификатор резюме, идентификатор филиала, идентификатор вакансии, дата.
В таблице «Прием кандидата» содержится информация о всех принятых на работу кандидатов: идентификатор кандидата, идентификатор кадрового
плана, дата, идентификатор филиала, идентификатор должности, идентификатор подразделения, комментарий, количество ставок.
Теперь рассмотрим физическую реализацию базы данных, она приведена на рисунке 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 представлен интерфейс программы.