Кол-во баллов за заслуги | Кол-во балов |
0 | 1 |
1-3 | 2 |
4-10 | 3 |
11-20 | 4 |
Более 20 | 5 |
В результате получится
Кол-во лет на прошлой должности | Заслуги | Стаж | Возраст | Ранг прошлой должности | |
Кандидат №1 | 3 | 3 | 4 | 2 | 3 |
Кандидат №2 | 2 | 3 | 5 | 2 | 2 |
Кандидат №3 | 1 | 1 | 2 | 5 | 1 |
Далее строим матрицы попарных сравнений заданных кандидатов для каждого фактора как отношение выставленных баллов (т.е по 1му фактору кандидат 1 предпочтительнее кандидата 2 в 3/2=1,5 раз) и рассчитываем вектор собственных чисел (они же приоритеты кандидата по заданному фактору) описанным выше способом
1. Кол-во лет на прошлой должности
Кандидат №1 | Кандидат №2 | Кандидат №3 | w | |
Кандидат №1 | 1 | 3/2 | 3 | 0,5 |
Кандидат №2 | 2/3 | 1 | 2 | 0,33 |
Кандидат №3 | 1/3 | 1/2 | 1 | 0,17 |
2. Заслуги
Кандидат №1 | Кандидат №2 | Кандидат №3 | w | |
Кандидат №1 | 1 | 3/3 | 3/1 | 0,43 |
Кандидат №2 | 3/3 | 1 | 3/1 | 0,43 |
Кандидат №3 | 1/3 | 1/3 | 1 | 0,14 |
3. Стаж
Кандидат №1 | Кандидат №2 | Кандидат №3 | w | |
Кандидат №1 | 1 | 4/5 | 4/2 | 0,37 |
Кандидат №2 | 5/4 | 1 | 5/2 | 0,45 |
Кандидат №3 | 2/4 | 2/5 | 1 | 0,18 |
4. Возраст
Кандидат №1 | Кандидат №2 | Кандидат №3 | w | |
Кандидат №1 | 1 | 2/2 | 2/5 | 0,22 |
Кандидат №2 | 2/2 | 1 | 2/5 | 0,22 |
Кандидат №3 | 5/2 | 5/2 | 1 | 0,56 |
5. Ранг прошлой должности
Кандидат №1 | Кандидат №2 | Кандидат №3 | w | |
Кандидат №1 | 1 | 3/2 | 3/1 | 0,5 |
Кандидат №2 | 2/3 | 1 | 2/1 | 0,33 |
Кандидат №3 | 1/3 | 1/2 | 1 | 0,17 |
В итоге чтобы подсчитать рейтинг каждого кандидата необходимо вычислить сумму произведений собственных чисел кандидатов на собственные числа соответствующих факторов
Рассмотрим расчет на примере приоритета 1го кандидата
Кол-во лет на прошлой должности (w=0, 262) | Заслуги(0,046) | Стаж(0,1) | Возраст(0,06) | Ранг прошлой должности(0,52) | Обобщенный приоритет (П) | |
Кандидат №1 | 0,5 | 0,43 | 0,37 | 0,22 | 0,5 | 0,46 |
Кандидат №2 | 0,33 | 0,43 | 0,45 | 0,22 | 0,33 | 0,33 |
Кандидат №3 | 0,17 | 0,14 | 0,18 | 0,56 | 0,17 | 0,19 |
Итак, по проведенным расчетом на заданную должность по заданным факторам лучше всего подходит Кандидат №1 (приоритет 0,46)
2.2.5 Доказательство корректности алгоритма
Под корректностью алгоритма здесь понимается, что:
− алгоритм завершает работу за конечное время;
− если решение существует, то алгоритм находит правильное решение.
Что касается первого пункта, то алгоритм является линейным, в ним отсутствуют критические участки, поэтому он выполняется за конечное время.
О правильности решения судить невозможно, так как алгоритм является эвристическим.
Вывод: алгоритм поддержки принятия решения по подбору персонала корректен.
Оценка погрешности вычислений
Погрешность результата вычислений состоит из δн – неустранимой погрешности, δм – погрешности метода и δв – вычислительной погрешности:
Значение δв зависит от вычислительной платформы. Для решения задачи использовалась платформа Intel Pentium-1800/MS Windows XP Professional SP2. Значение
.Неустранимая погрешность вычисляется по формуле:
где N – число значащих цифр величины.
Вычислительной погрешностью можно пренебречь, так неустранимая погрешность вводимых исходных данных на несколько порядков выше, чем точность ЭВМ.
Погрешность вычислений определяется погрешностью деления, погрешностью умножения и погрешностью округления. Погрешность
. => ; ; .2.2.6 Проектные решения по пользовательскому интерфейсу
Пользователю посредством спроектированного интерфейса предоставляются возможность решения следующих задач:
− редактирование БД;
− поиск в БД;
− расчет приоритетов кандидатов на должность.
Перечень функций пользовательского интерфейса
–обеспечение возможности добавления сотрудника (Ф1);
–обеспечение возможности удаления сотрудника (Ф2);
–обеспечение возможности добавления должности (Ф3);
–обеспечение возможности удаления должности (Ф4);
–обеспечение возможности поиска в БД (Ф5);
–обеспечение возможности вывода свободных должностей (Ф6);
–обеспечение возможности расчета приоритетов кандидатов на выбранную должность (Ф7);
–обеспечение возможности назначения кандидата на выбранную должность (Ф8).
Устойчивые состояния программного интерфейса
С0–ожидание действия пользователя по вызову окна поиска, окна редактирования, по визуализации свободных должностей или по закрытию программы;
С1− ожидание действия пользователя по запуску функции подбора сотрудников на выбранную должность (расчета приоритетов) или по закрытию окна визуализации свободных должностей;
С2− ожидание действия пользователя по назначению выбранного сотрудника на исходную должность или по закрытию окна со списком кандидатов
С3− ожидание действия пользователя по поиску сотрудников в БД, очистки полей поиска или закрытию окна поиска;
С4− ожидание действия пользователя по добавлению или удалению должности или сотрудника, по добавлению информации о заслугах или закрытию окна редактирования БД.
Перечень действий пользователя:
Д0–запуск приложения;
Д1–вызов окна поиска;
Д2–осуществление поиска;
Д3–очистка полей с условиями для поиска;
Д4–закрытие окна поиска;
Д5–вызов окна редактирования БД;
Д6–удаление выбранной должности;
Д7–удаление выбранного сотрудника;
Д8–добавление должности;
Д9–добавление сотрудника;
Д10–добавление информации о заслуге;
Д11–закрытие окна редактирования;
Д12–вызов окна визуализации свободных должностей;
Д13–закрытие окна визуализации свободных должностей;
Д14–подбор сотрудников на выбранную должность(расчет приоритетов);
Д15–закрытие окна визуализации кандидатов;
Д16–назначение выбранного кандидата на исходную должность.
Таблица 2.4. – Таблица переходов ПИ в устойчивые состояния
Переход | Событие | Действия субъекта | Форма | Объект | Субъект | Методы |
P0 | Запуск приложения | Д0 | Форма 1 | Form1 | User | FormOpen (Form1) |
P1 | Нажатие на пункт меню | Д1 | Форма 1 | Form1, mainmenu1 | User | FormOpen (Form4) |
P2 | Нажатие на кнопку | Д4 | Форма 4 | Form4 | User | Formclose(Form4) |
P3 | Нажатие на пункт меню | Д5 | Форма 1 | Form1, mainmenu1 | User | FormOpen (Form5) |
P4 | Нажатие на кнопку | Д11 | Форма 5 | Form5 | User | Formclose(Form5) |
P5 | Нажатие на пункт меню | Д12 | Форма 1 | Form1, mainmenu1 | User | FormOpen (Form2) |
P6 | Нажатие на кнопку | Д13 | Форма 2 | Form2 | User | Formclose(Form2) |
P7 | Нажатие на кнопку | Д14 | Форма 2 | Form2.button1 | User | FormOpen (Form3) |
P8 | Нажатие на кнопку | Д15, Д16 | Форма 3 | Form3.button2Form3.button1 | User | Formclose(Form3) |
Описание сценария работы пользовательского интерфейса представлено на рисунке 2.6
Рисунок 2.6 − Сценарий работы ПИ
Пользователю предоставляются для управления кнопки – объекты пользовательского интерфейса.
Для предоставления данных возможностей предусмотрены следующие формы (таблица 2.5).
Таблица 2.5. – Спецификация форм пользовательского интерфейса
Форма | Спецификация | Объект |
Form1 | Главная форма приложения | − DBGrid1;− Mainmenu1; |
Form2 | Форма визуализации свободных должностей | − DBGrid1;−Button1; |
Form3 | Форма назначения подобранных кандидатов на должность | − Listbox1;−Button1;−Button2; |
Form4 | − DBGrid1;−Button1;−Button2;− Edit1;− Edit2;− Combobox1;− Combobox2; | |
Form5 | − DBGrid1;− DBGrid2;− Edit1;− Edit2;− Edit3;− Edit4;− Edit5;− Edit6;− Edit7;− Edit8;− Edit9;−Button1;−Button2;−Button3;−Button4;−Button5;− Combobox1;− UpDown1;− UpDown2;− UpDown3; |
В таблице 2.6 представлена информация о назначении вышеописанных объектах, а именно их предназначение.