Современные информационные технологии/3.
Программное обеспечение
Попова М. В.
Національний технічний
університет України
"Київський політехнічний
інститут", Україна
СППР в приймальній комісії ВНЗ.
Формування списка рекомендованих на основі автоматичного розв’язання задачі з
пріоритетами
Зарахування на перший курс є важливою частиною життєвого циклу ВНЗ. Так формується контингент, який в подальшому впливає на рейтинг навчального закладу. Згідно з правилами прийому до Національного технічного університету "Київський політехнічний інститут" [1], формування списку рекомендованих відбувається з урахуванням пріоритетів напрямів, які абітурієнт визначає самостійно під час подачі заяви на вступ, що дає можливість рекомендувати до зарахування більше людей на кожній „хвилі”.
На даний час в приймальній комісії НТУУ «КПІ» [3] є засіб для розрахунку списка рекомендованих з урахуванням пріоритетів на першій «хвилі» рекомендацій, представлений модулем «Конкурс» автоматизованої системи «Приймальна комісія» [4]. Робота з даним засобом можлива лише за участі оператора, до того ж його не можна назвати простим у використанні, що вимагає значного навантаження членів приймальної комісії і може викликати помилки та призвести до порушення процедури оголошення результатів.
Тому розробка підсистеми автоматичного розв’язання задачі з пріоритетами є актуальною задачею.
Для вирішення даної задачі необхідно:
– Проаналізувати порядок роботи приймальної комісії
– Розробити архітектуру системи вирішення задач з пріоритетами
– Реалізувати систему вирішення задач з пріоритетами
Рейтинговий список вступників формується за категоріями в такій послідовності:
– вступники, які мають право на зарахування поза конкурсом;
– вступники, рекомендовані до зарахування за результатами співбесіди;
– учасники міжнародних олімпіад;
– вступники, які зараховуються за конкурсом.
У межах кожної зазначеної категорії рейтинговий список впорядковується:
– за конкурсним балом від більшого до меншого;
– з урахуванням права на першочергове зарахування при однаковому конкурсному балі у порядку додержання підстав для його набуття.
При однаковій кількості балів в межах однієї категорії розглядається право на першочергове зарахування.
Право на першочергове зарахування до НТУУ «КПІ» мають:
– особи, яким відповідно до Закону України «Про охорону дитинства» надане таке право;
– особи, яким відповідно до Закону України «Про основи соціальної захищеності інвалідів в Україні» надане таке право;
– особи, яким відповідно до Указу Президента України від 21.02.2002 № 157 «Про додаткові заходи щодо посилення турботи про захисників Вітчизни, їх правового і соціального захисту, поліпшення військово-патріотичного виховання молоді» надане таке право;
– особи, яким відповідно до Указу Президента України від 12.09.2007 № 849 «Про рішення Ради національної безпеки і оборони України від 4 вересня 2007 року «Про основні напрями фінансового забезпечення заходів щодо підвищення життєвого рівня населення у 2008 році» надане таке право;
– випускники старшої школи (повна загальна середня освіта), нагороджені золотою або срібною медаллю, при вступі на основі повної загальної середньої освіти;
– випускники системи довузівської підготовки НТУУ «КПІ», які мають вищий підсумковий рейтинг;
– вступники, які мають більшу кількість балів з профільних предметів.
Зазначене право надається за інших рівних умов за черговістю, визначеною у правилах прийому [1]. Після формування рейтингового списку відбувається надання рекомендації згідно з обраними пріоритетами.
У випадку, якщо кількість місць на спеціальності за першим пріоритетом вичерпана, абітурієнт може бути рекомендований на другий свій пріоритет, якщо і за другим – то на третій, інакше – не рекомендується на поточній хвилі. Якщо абітурієнт може бути рекомендований поза конкурсом і він не рекомендований на поточній хвилі на пільгові місця, то на поточній „хвилі” він бере участь у загальному конкурсі.
Зарахування відбувається в три «хвилі». На кожній «хвилі» абітурієнти отримують рекомендацію відповідно до рейтингу. У випадку виконання умов вступу, а саме – вчасного надання оригіналів документів, рекомендовані будуть зараховані, інакше – втрачають право вступу на даний напрям. При цьому, складністю є те, що абітурієнт, рекомендований на свій другий або третій пріоритет, продовжує участь в конкурсі. Таким чином, якщо вищий у рейтинговому списку студент відмовляється від участі в конкурсі на факультеті, то рекомендації часто зсуваються. Це можна побачити на наступному прикладі: припустимо, є 5 абітурієнтів, які подали заявку на факультет з трьома спеціальностями з загальною кількістю місць 4, по 1 – на спеціальність Спец.1 та спеціальність Спец.2 та 2 місця на спеціальність Спец.3. Кількість місць зазначено в дужках. Їх побажання щодо спеціальностей в таблиці 1, в якій абітурієнти розташовано по рейтингу (від більшого до меншого).
Таблиця 1.
|
Абітурієнт |
Пріор. 1 |
Пріор. 2 |
Пріор. 3 |
|
Аб1 |
Спец.1 |
Спец.2 |
|
|
Аб2 |
Спец.1 |
Спец.2 |
Спец.3 |
|
Аб3 |
Спец.1 |
Спец.2 |
Спец.3 |
|
Аб4 |
Спец.2 |
Спец.1 |
Спец.3 |
|
Аб5 |
Спец.3 |
Спец.1 |
|
Після проведення розрахунків на першій „хвилі” було надано рекомендації до зарахування, як показано в таблиці 2.
Таблиця 2 – Приклад розподілення рекомендацій за пріоритетами на першій „хвилі”
|
Абітурієнт |
Пріор. 1 |
Пріор. 2 |
Пріор. 3 |
Спец.1(1) |
Спец.2(1) |
Спец.3(2) |
|
Аб1 |
Спец.1 |
Спец.2 |
|
1 |
|
|
|
Аб2 |
Спец.1 |
Спец.2 |
Спец.3 |
|
2 |
|
|
Аб3 |
Спец.1 |
Спец.2 |
Спец.3 |
|
|
3 |
|
Аб4 |
Спец.2 |
Спец.1 |
Спец.3 |
|
|
3 |
Припустимо, що абітурієнт Аб1 відмовився від участі в конкурсі (не виконав умови рекомендації). Тоді після перерахунку, з урахуванням відмови абітурієнта Аб1, список рекомендованих на другій „хвилі” набуває такого вигляду (табл. 3).
Таблиця 3 – Приклад розподілення рекомендацій на другій „хвилі”
|
Абітурієнт |
Пріор. 1 |
Пріор. 2 |
Пріор. 3 |
Спец.1(1) |
Спец.2(1) |
Спец.3(2) |
|
Аб1 |
Спец.1 |
Спец.2 |
|
0 |
0 |
0 |
|
Аб2 |
Спец.1 |
Спец.2 |
Спец.3 |
1 |
|
|
|
Аб3 |
Спец.1 |
Спец.2 |
Спец.3 |
|
2 |
|
|
Аб4 |
Спец.2 |
Спец.1 |
Спец.3 |
|
|
3 |
|
Аб5 |
Спец.3 |
Спец.1 |
|
|
|
1 |
Видно, що абітурієнт Аб2 отримав рекомендацію за першим своїм пріоритетом, Аб3 – за другим, Аб4 на другій „хвилі” рекомендований за третім своїм пріоритетом. Аб5 отримав рекомендацію на свій перший пріоритет.
З розглянутого прикладу видно, що зміни відбуваються не тільки на тому напрямі, на якому відбулася „відмова” абітурієнта, але і на інших. В разі великої кількості заяв та наявності декількох напрямків на одному факультеті/інституті „відмова” одного абітурієнта може призводити до декількох десятків змін у списку рекомендованих.
Для усунення цих проблем була розроблена програмна реалізація підсистеми, що автоматично обраховує списки рекомендованих на кожній «хвилі». В якості даних використовуються знеособлені дані [2] з АС «Приймальна комісія».
Для
зберігання вище зазначених даних і для роботи підсистеми формування списків
рекомендованих до зарахування, необхідно ввести такі таблиці:
Таблиця
«wavesystem» – таблиця сутності, в якій зберігається вся інформація про
абітурієнтів, отримана шляхом імпорту з загальної бази університету.
Розглянемо
поля таблиці:
id –
ідентифікатор студента в рамках таблиці (первинний ключ);
student_id
– ідентифікатор студента в системі «Приймальна комісія»;
last_name
– прізвище абітурієнта;
middle_name
– по батькові абітурієнта;
first_name
– ім’я абітурієнта;
anketa_prefix
– префікс анкети абітурієнта;
anketa_number
– номер анкети;
is_doc_original
– маркер наявності оригіналу документа про освіту абітурієнта;
electronniy_vstup
– маркер чи заява була зроблена через систему «Електронний вступ»;
marks_avg
– середній бал атестата абітурієнта;
category_id
– категорія абітурієнта (посилання на таблицю dict_student_category);
summ
– сума балів за профільні предмети ЗНО;
mnemonika
– мнемонічне представлення пільг абітурієнта;
prior1_spec_id
– ідентифікатор спеціальності, вибраної під першим пріоритетом (посилання на
таблицю dict_speciality);
prior2_spec_id
– ідентифікатор спеціальності, вибраної під другим пріоритетом (посилання на
таблицю dict_speciality);
prior3_spec_id
– ідентифікатор спеціальності, вибраної під третім пріоритетом (посилання на таблицю
dict_speciality);
region_id
– ідентифікатор області, родом з якої абітурієнт (посилання на таблицю
dict_region);
status_id
– статус абітурієнта в контексті системи (посилання на таблицю dict_status);
refused
– маркер чи відмовився абітурієнт від вступу на даний факультет;
faculty_id
– ідентифікатор факультету (посилання на таблицю dict_faculty);
resultat
– поле, що містить інформацію про те, на яку спеціальність рекомендований
абітурієнт.
Необхідною
таблицею є «acceptance» вона використовується лише під час роботи процедури і
описує рекомендацію абітурієнта на певну спеціальність. Потім ця інформація
переноситься в поле «resultat» таблиці «wavesystem». Для нової хвилі таблиця
очищується.
Містить
наступні поля:
student_id
– ідентифікатор абітурієнта (первинний ключ, посилання на таблицю wavesystem);
faculty_id
– ідентифікатор факультету (первинний ключ, посилання на таблицю dict_faculty);
speciality_id
– ідентифікатор спеціальності (первинний ключ, посилання на dict_speciality);
status_id
– статус рекомендації.
Крім
цього, в процедурі використовується таблиця «Temp». В ній зберігається поточна
кількість місць для кожної спеціальності даного факультету для визначеної
категорії.
Містить
наступні поля:
speciality_id
– ідентифікатор спеціальності
fpp –
( скорочення від «faculty plan places») – кількість зайнятих місць
Також
необхідними для роботи підсистеми є таблиці-словники: це dict_speciality,
dict_faculty, dict_faculty_plan та dict_student_category. Кожна з них містить в
собі можливі варіанти для значень полів таблиці wavesystem. Таким чином
використання посилання з таблиці з даними абітурієнтів на таблиці-словники (з
допомогою зовнішнього ключа) забезпечує однозначне співставлення можливих
значень з абітурієнтами. Такий підхід є більш раціональним використанням
ресурсів серверу БД, так як збереження для кожного абітурієнта лише
ідентифікатора необхідного значення є значно економнішим ніж зберігання самого
значення замість. Також це є гарантом однозначності даних, оскільки при такому
підході неможливо ввести некоректні значення в відповідні поля таблиці.
Розглянемо
«dict_speciality», котра містить значення можливих спеціальностей
Вона
складається з наступних полів:
speciality_id
– ідентифікатор спеціальності (первинний ключ);
speciality_name
– назва спеціальності
speciality_code
– унікальний код спеціальності
Таблиця
«dict_faculty» містить словник факультетів, доступних в університеті.
Факультети представляються двома полями:
faculty_id
– ідентифікатор факультету у таблиці (первинний ключ);
faculty_name
– назва факультету
Ці
дві вищезазначені таблиці пов’язані таблицею зв’язку «faculty_speciality».
Таблиця
«dict_faculty_plan» містить інформацію про розмір набору на різних факультетах.
Саме до цієї таблиці вносяться зміни у разі змін в плані набору для деяких
спеціальностей. Відповідно, і випадку збільшення кількості пільгових місць,
змінюється значення поля «faculty_plan_privilege» для даної спеціальності, або
«faculty_plan_state» якщо мова йде про бюджетні місця державного замовлення.
Таблиця
«dict_student_category» містить словник можливих категорій абітурієнтів.
Для
реалізації логіки підсистеми використовували зберігаємі процедури через їх основну
перевагу над іншими засобами реалізації, а саме – безпосередня близькість до
даних, зо значно зменшує час роботи підсистеми.
Основними
процедурами є процедура формування списка рекомендованих «recommendation» та
процедура перегляду цього списку «viewRecommended», вхідним параметром для обох
процедур є ідентифікатор факультету.
Розглянемо
більш детально процедуру формування списка рекомендованих.
Вона включає в себе процедури
надання рекомендацій для пільгових категорій і для категорій конкурсного
відбору. При цьому, спочатку надаються рекомендації для абітурієнтів, що
належать до пільгових категорій. Рекомендована спеціальність вноситься в поле
«resultat» таблиці «wavesystem» і потім запускається процедура надання
рекомендацій для категорій конкурсного відбору з подальшим внесенням даних в
поле «resultat» для тих абітурієнтів, у яких немає рекомендації на поточній
хвилі.
Тобто, для пільгових категорій і для загального конкурсу надання рекомендації відбувається окремо: спочатку для поза конкурсників, потім для загального конкурсу. При цьому враховуються пріоритети абітурієнта для обраних спеціальностей. У випадку, якщо кількість місць на спеціальності за першим пріоритетом вичерпана, він може бути рекомендований на другий свій пріоритет, якщо і за другим – то на третій, інакше – не рекомендується на поточній хвилі. Якщо це студент, що може бути рекомендований поза конкурсом і він не рекомендований на поточній хвилі на пільгові місця, то бере учать у загальному конкурсі на поточній хвилі. Це і реалізується такою черговістю виклику відповідних процедур.
Тестування системи відбувалося шляхом
порівняння автоматично сформованих системою списків з результатами офіційно
опублікованого списку першої
«хвилі» для факультетів НТУУ «КПІ». Приклад одного з напрямів представлений на
рисунку 1.
Рисунок 1 – Порівняння списків для напряму „Економічна кібернетика”
Тестування розробленої системи підтвердило повну збіжність результатів.
Розроблена
система для автоматичного вирішення задачі з пріоритетами становить інтерес для
цілого ряду факультетів та інститутів НТУУ «КПІ», що приймають на навчання за
3-ма та більше напрямками. Система дозволяє значно зменшити навантаження на
членів відбіркових комісій під час обрахунку списків рекомендованих, уникнути
помилок, що можливі за „ручного” обрахунку, та надає додаткові дані секретарям
відбіркових комісій щодо перспектив вступу відповідних абітурієнтів для їх
подальшого інформування.
Система
потребує супроводження в зв’язку із змінами, що відбуваються з правилами
прийому до ВНЗ України та Національного
технічного університету України «Київський політехнічний інститут».
1.
Правила прийому до Національного
технічного університету України «Київський політехнічний інститут» в 2013
році. – Режим доступу: http://kpi.ua/rule. –
Дата доступу : 02.06.2013.
2.
Закон
України Про захист персональних даних.
– Режим доступу : http://zakon4.rada.gov.ua/laws/show/2297-17.
– Дата доступу : 01.06.2013.
3. Методичні вказівки з організації роботи відбіркових комісій при здійсненні прийому на перший курс університету / Можаровський В. М., Литвиненко П. Л., Орлюк М. В., Мудрак Ю.М., Яблонський П. М.- Київ: НТУУ «КПІ»,2004. – 60 с.
4. Офіційний сайт розробників АС „Приймальна комісія”. – Режим доступу : http://www.osvita.net. – Дата доступу : 01.04.2013.