Главная страница
Навигация по странице:

  • 2.2. Вибір засобів реалізації

  • 3. МОДЕЛЮВАННЯ ТА ПРОЕКТУВАННЯ 3.1. Структура програмного додатку

  • 3.2. Структурно-функціональне моделювання процесу

  • 3.3. Моделювання діаграми варіантів використання

  • 3.4. Проектування бази даних

  • 4. ПРАКТИЧНА РЕАЛІЗАЦІЯ ПРОЕКТУ 4.1 Програмна реалізація

  • 4.2 Використання програмного додатку

  • 4.3 Адміністрування сайту

  • СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

  • ДОДАТОК А. ПЛАНУВАННЯ РОБІТ 1 ІДЕНТИФІКАЦІЯ МЕТИ ІТ-ПРОЕКТУ 1.1. Загальна інформація про проект

  • 1.2. Деталізація мети методом SMART

  • Інформаційні технології проектування


    Скачать 4.71 Mb.
    НазваниеІнформаційні технології проектування
    Дата25.05.2022
    Размер4.71 Mb.
    Формат файлаpdf
    Имя файлаmaster_thesis_Ivanchenko.pdf
    ТипПрограма
    #549885
    страница2 из 4
    1   2   3   4
    2. ПОСТАНОВКА ЗАДАЧІ ТА МЕТОДИ ДОСЛІДЖЕННЯ
    2.1. Мета та задачі дослідження
    Мета роботи – розробка інформаційної системи для створення тестових завдань, проведення тестувань та формування списків висококваліфікованих фахівців за результатам цих тестів.
    Основними задачами при створенні інформаційної системи оцінювання знань в області тестування програмного забезпечення є:
     дослідження предметної області;
     формування технічного завдання;
     вибір методів розробки;
     тестування та перенесення сайту на хостинг;
     розробка самої інформаційного системи;
     моделювання роботи системи.
    Інформаційна система оцінювання знань – це он-лайн платформа для роботодавців та кандидатів, що знаходяться у пошуку роботи. При реєстрації в системі користувач матиме можливість обрати тип акаунта. HR-менеджер матиме можливість створювати тести за допомого конструктора, робити публікації на сторінці та збирати статистику й результати з даних тестів.
    Головна сторінка сайту – це сторінка з короткою інформацією про дану
    інформаційну систему. Кожен авторизований користувач може виконати підписку на оновлення іншого користувача. На сторінці новин відображаються публікації користувачів, на яких оформлена підписка. Також присутнє оповіщення про нові тестування. Функціонал тестування змінюється в залежності від типу акаунту. Кандидат може перегляди пройдені тести та тести, що були додані до бажаних для проходження в майбутньому.
    Роботодавець може створювати тести. На сторінці редагування тесту можна редагувати як запитання тесту, так і час його проведення чи іншу інформацію

    16 про тест. На сторінці з інформацією про користувача є можливість перегляду та редагування власних постів та створення нових.
    Перелік головних функцій даної інформаційної системи:
    1. реєстрація як «Кандидат» чи «HR»;
    2. авторизація на сайті;
    3. налаштування особистого кабінету;
    4. оформлення підписки на оновлення іншого користувача;
    5. перегляд оновлень та постів;
    6. створення постів;
    7. перегляд та проходження тестування;
    8. створення тесту за допомогою конструктора;
    9. налаштування створеного тесту;
    10. перегляд історії пройдених тестів та результатів;
    11. додавання тестів до «Бажаних» для проходження їх в подальшому;
    12. листування з іншими користувачами через чат-повідомлення в реальному часі.
    2.2. Вибір засобів реалізації
    Розробка інформаційної системи поділяється на розробку візуальної частини, функціональна частина. Для сучасної front-end розробки використовують: HTML, CSS, JavaScript, Vue.js.
    Vue.js на даний момент розвитку, прогресивний фреймворк для
    JavaScript, який використовується для побудови звичних веб-інтерфейсів та односторінкових додатків. Не тільки для веб-інтерфейсів, Vue.js також використовується як для розробки настільних ПК, так і для мобільних додатків з фреймворком Electron [13]. Розширення HTML і база JS швидко зробили Vue улюбленим інтерфейсним інструментом, про що свідчать прийняття таких гігантів, як Adobe, Behance, Alibaba, Gitlab та Xiaomi.

    17
    Назва фреймворку - Vue - на англійській мові таке саме фонетичне, як і view. Не дивно, що воно відповідає традиційній архітектурі Model-View-
    Controller (MVC). Простіше кажучи - це інтерфейс користувача програми / веб- сайту, а основна бібліотека Vue.js за замовчуванням фокусує шар представлення. Не дивлячи на це, MVC не означає, що даний фрейворк не можна використовувати з іншим архітектурним підходом, як відома архітектура на основі компонентів (CBA), що використовується в React.
    Головні переваги та недоліки даного обраного фреймворку розглянуто в таблиці 2.1.
    Таблиця 2.1 – Переваги та недоліки
    Vue.js

    Переваги
    Недоліки
    1
    Не великий розмір проекту при релізі
    Мовний бар'єр
    2
    Віртуальний рендеринг
    і продуктивність DOM
    Складність реактивності
    3
    Реактивне двостороннє прив'язка даних
    Відсутність досвідчених розробників
    4
    Інтеграційні можливості та гнучкість
    5
    Стисла документація
    Фреймфорк з відкритим кодом Vue може допомогти додати до існуючої програми інтерактивність. Оскільки Vue заснований на JavaScript, його можна легко інтегрувати в будь-який проект за допомогою JS. Більше того, він сумісний з багатьма внутрішніми технологіями та фреймворками, такими як
    Laravel, Express, Rails та Django [14].
    Навіть враховуючи мінуси Vue.js, його все одно можна використовувати у великих проектах. Більшість питань розглядаються в документації, тож це питання пошуку.

    18
    У той же час, для розробки back-end частини буде використовуватися такі технології як PHP, MySQL, Laravel. Це одна з найвидатніших архітектур
    PHP, яка відповідає моделі Model-View-Controller або моделі MVC.
    Безкоштовний фреймворк з відкритим кодом був розроблений Тейлором
    Отуеллом і був запущений ще в 2011 році.
    Laravel - одна з найвидатніших фреймворків на сьогоднішній день, і завдяки мові програмування на стороні сервера PHP вона дозволяє розробникам зосередитись на основних засадах, завдяки простим варіантам масштабування та швидкій розробці з кодами, якими легко керувати.
    Однією відмінною перевагою, яку розробники отримують від використання Laravel, є той факт, що він включає всі новітні функції PHP.
    Якщо ви думаєте про те, щоб спробувати Laravel, знайте, що ви зможете використати найкращі речі, які зараз може запропонувати PHP [15]. Такі функції, як простори імен, перекриття, анонімні функції, інтерфейси та коротший синтаксис масиву.
    Laravel має власний інтегрований інтерфейс командного рядка. Artisan дозволяє розробникам створювати скелетні коди. Він також контролює систему баз даних, тому розробникам не потрібно виконувати рутинні завдання програмування. Artisan також є чудовим інструментом, коли йдеться про створення, а також підтримку простих файлів MVC з відповідними налаштуваннями.
    Говорячи про недоліки даної системи у порівнянні з іншими фреймворками, такими як Ruby on Rails та Django, Laravel має обмежену вбудовану підтримку завдяки своїй невеликій вазі. Цю проблему можна вирішити за допомогою сторонніх інструментів, і ви можете якнайшвидше повернутися до шляху.
    Загалом у платформ PHP є кілька питань щодо версій із довгостроковою підтримкою, і Laravel іноді отримує критику через це. Це правда, що оновлення можуть спричинити незначні проблеми, однак, при належній увазі розробники можуть згладити процес.

    19
    Загалом, Laravel має свої власні плюси і мінуси, як і будь-який інший фреймворк. Однак можна з упевненістю сказати, що в більшості випадків
    Laravel зі своїми PHP-функціями та простими принципами забезпечить все, що потрібно розробникам для створення красивих та функціональних веб- програм.

    20
    3. МОДЕЛЮВАННЯ ТА ПРОЕКТУВАННЯ
    3.1. Структура програмного додатку
    Клієнт-серверна архітектура стає популярною завдяки динамічному розвитку всесвітньої глобальної мережі Інтернет і зберіганню значної частини інформації на серверах в базах даних.
    До певного моменту на систему управління базами даних (СУБД) покладалися лише завдання зберігання даних і організація доступу до них.
    З розвитком технологій до складу СУБД розробники стали включати новий компонент - процедурну мову програмування. З її допомогою в СУБД стало можливим створювати процедури для обробки даних, які можна викликати повторно. Такі процедури називаються збереженими процедурами.
    Наявність процедур дало можливість здійснювати деяку частину обробки даних на сервері.
    Клієнт-серверна архітектура дозволяє розвантажити мережу і підтримувати несуперечливість даних за рахунок їх централізованої обробки. Однак, мови збережених процедур не пристосовані для повноцінної реалізації бізнес-логіки. Тому бізнес-логіка в клієнт-серверних
    інформаційних системах, як і раніше, реалізується на клієнтських комп'ютерах (рис.3.1).

    21
    Рисунок 3.1 – Архітектура інформаційної системи
    3.2. Структурно-функціональне моделювання процесу
    Першим кроком при моделюванні інформаційної системи необхідно побудувати контекстну діаграму IDEF0 і діаграму декомпозиції IDEF1 контекстної діаграми IDEF0. Це наочно демонструє структуру необхідної
    інформації для підтримки роботи функцій системи. Дані діаграми проектуються, насамперед, для розробників, щоб полегшити проектування функцій і розуміння залежностей даних до тих чи інших функцій системи
    Першим кроком в моделюванні інформаційної системи була побудова контекстної діаграми IDEF0. Контекстна діаграма має рівень A-0 – це найвищий рівень абстракції для даного завдання. На рівні A-0 весь процес розглядається як функціональний блок з усіма відповідними робочими та керуючими об'єктами.
    Центральним елементом моделі IDEF0 з точки зору роботодавця є функція «Організація процесу тестування», яка на схемі відображається у

    22 вигляді функціонального блоку – прямокутника., а центральним елементом моделі IDEF0 з точки зору претендента є функція «Тестування
    Претендентів».
    Згідно з методологією функціонального моделювання контекстної діаграми IDEF0 для роботи були визначені наступні дані, які зображуються на діаграмі стрілками:
    − вхідні дані: інформація про користувачів;
    − вихідні дані: список претендентів, список тестів та статистика відповідей;
    − дані управління: перелік тестів, функції системи, час виконання проекту;
    − дані механізмів: користувач, інформаційна система, технічне забезпечення.
    Графічні зображення контекстних діаграм IDEF0 для даного проекту з точки зору роботодавця і претендента, представлені на рисунках 3.2 – 3.3.
    Рисунок 3.2 – Контекстна діаграма IDEF0 з точки зору роботодавця

    23
    Рисунок 3.3 – Контекстна діаграма IDEF0 з точки зору претендента
    Для формалізації процесів були розроблені і діаграми декомпозиції
    IDEF1 (для роботодавців та претендентів) контекстних діаграм IDEF0.
    Діаграма декомпозиції детально описує функцію обробки нульового рівня. Тому функціональний блок рівня A-0 розкладається на набір взаємопов'язаних підфункцій. В даному проекті було спроектовано дві діаграми декомпозиції для розподілення функціональних можливостей: роботодавця та претендента. Кожен крок на діаграмах IDEF1 демонструє функції роботи сайту для кожної ролі від авторизації до отримання результатів. А також, діаграми IDEF1 відображають всі залежності, необхідні для роботи на кожному кроці.
    Діаграми декомпозиції IDEF1 для роботодавців та претендентів показують, насамперед, залежність авторизованого користувача до кожного кроку.
    Роботодавець має блоки створення тесту, збір даних та отримання списку претендентів. Ці кроки залежать від функцій системи, переліку тестів та часу виконання тесту (вказується при створенні тесту, в результатах

    24 тестування, а також в списку претендентів, як додаткова інформація про результати тесту).
    Претендент має блоки пошук тестів, тому що користувач, насамперед, виконує пошук бажаного тесту, а потім проходження тесту та отримання результатів. Проходження та результати тестів залежать від часу виконання тесту.
    Всі блоки залежать від технічного забезпечення, роботи системи та ролі користувача.
    Графічні зображення діаграм декомпозиції IDEF1 (для роботодавців та претендентів) контекстної діаграми IDEF0 представлені на рисунках 3.4 – 3.5.
    Рисунок 3.4 –Діаграма IDEF1 з точки зору роботодавця

    25
    Рисунок 3.5 – Діаграма IDEF1 з точки зору претендента
    3.3. Моделювання діаграми варіантів використання
    В уніфікованій мові об'єктно-орієнтованого моделювання (UML) діаграма варіантів використання інформаційної системи узагальнює деталі користувачів інформаційної системи та моделює функціональність системи за допомогою акторів та варіантів використання. Варіанти використання - це набір дій, послуг та функцій, які система повинна виконувати.
    Для даної інформаційної системи оцінювання знань була розроблена проста діаграма варіантів використання, яка не показує деталей її використання, а лише узагальнює деякі взаємозв'язки між акторами та варіантами використання ними цієї інформаційної системи. (рис.3.6).

    26
    Рисунок 3.6 – Діаграма варіантів використання
    Розглянемо детальніше акторів діаграми:
    − адміністратор: має доступ до загальних даних на сайті із можливістю редагувати її;
    − hr-спеціаліст: головна відмінність – створення тестів.
    − кандидат: проходження тестування та слідкування оновлень.
    Розглянемо детальніше варіанти використання:
    − авторизація: авторизація на сайті;
    − реєстрація: реєстрація нового користувача на сайті;

    27
    − редагування інформації на сайті: користувач може редагувати
    інформацію на особистій сторінці;
    − налаштування особистого кабінету: зареєстрованому користувачеві відкриті можливості налаштування сторінки;
    − оформлення підписки: можлива підписка на іншого користувача;
    − листування: обмін повідомленнями з іншими користувачами;
    − створення постів: створення інформаційних постів на сторінці;
    − створення тесту: користувач типу «Роботодавець» може створювати тести;
    − перегляд оновлень: перегляд новин та підписок;
    − перегляд та проходження тесту: проходження створених тестів;
    − перегляд історії пройдених тестів: роботодавець може переглядати, хто та з яким результатом пройшов тест.
    3.4. Проектування бази даних
    Етап планування бази даних (БД) передбачає розробку загального стратегічного плану, який дозволить ефективно реалізувати етапи життєвого циклу БД. По-перше, розробка бази даних до даної інформаційної системи повинна вирішувати такі питання:
    − аналіз існуючих інформаційних систем;
    − доцільність створення нової інформаційної системи;
    − обсяг робіт і ресурсів, вартість проекту;
    − розробка методології збору даних, визначення їх формату;
    − визначення послідовності проектування і реалізації застосувань.
    Процес проектування БД являє собою послідовність переходів від неформального мовного опису інформаційної структури предметної області до формалізованого опису об'єктів предметної області в термінах деякої

    28 моделі. Проектування БД складається з таких етапів як системний аналіз предметної області, концептуальне, логічне та фізичне проектування.
    Завдяки фреймворку Laravel ми не створюємо SQL-запити до БД, а використовували готову бібліотеку «Laravel query builder», що спрощує роботу з запитами (не потрібно створювати власні) (рис. 3.7).
    Рисунок 3.7 – Приклад готових запитів до БД з бібліотеки «Laravel query builder»
    На основі зібраної інформації створимо ERD діаграму інформаційної системи (Entity-Relationship model, тобто модель «сутність - зв'язок») (рис.3.8) та створимо детальний опис даних (табл.3.1).

    Рисунок 3.8 – ERD діаграма інформаційної системи

    30
    Таблиця 3.1 – Опис таблиць бази даних

    Таблиця
    Поле
    Зміст
    Тип
    Ключі Обмеження
    1 account account_id
    Ідентифікатор аккаунта
    INTEGER
    PK
    Не пустий email
    Електронна пошта
    VARCHAR(100)
    Не пустий password
    Пароль від аккаунта
    VARCHAR(100)
    Не пустий account_status_id
    Ідентифікатор статусу аккаунта
    INTEGER
    FK
    Не пустий country_id
    Ідентифікатор країни
    INTEGER
    FK
    Не пустий name
    Ім’я користувача
    VARCHAR(100)
    Не пустий surname
    Прізвище користувача
    VARCHAR(100)
    Не пустий position
    Посада HR менеджера
    VARCHAR(100) date
    Дата народження
    DATE
    Не пустий description
    Коротка інформація (резюме)
    TEXT photo
    Фото аккаунта
    VARCHAR(100) sex
    Стать користувача аккаунта
    BOOLEAN
    Не пустий registration_date
    Дата реєстрації
    DATE
    Не пустий
    2 account_status account_status_id
    Ідентифікатор статусу аккаунта
    INTEGER
    PK
    Не пустий account_status_title
    Назва статусу
    VARCHAR(100)
    Не пустий
    3 country country_id
    Ідентифікатор країни
    INTEGER
    PK
    Не пустий country_name
    Назва країни
    VARCHAR(100)
    Не пустий
    4 post post_id
    Ідентифікатор посту блога
    INTEGER
    PK
    Не пустий account_id
    Ідентифікатор аккаунта
    INTEGER
    FK
    Не пустий post_text
    Текст посту
    TEXT
    Не пустий post_date
    Дата написання посту
    DATE
    Не пустий
    5 file_question file_id
    Ідентифікатор файлу
    INTEGER
    PK
    Не пустий file_path
    Посилання на файл
    VARCHAR(100)
    Не пустий questiont_id
    Ідентифікатор завдання
    INTEGER
    FK
    Не пустий

    31

    Таблиця
    Поле
    Зміст
    Тип
    Ключі Обмеження
    6 file_post file_id
    Ідентифікатор файлу
    INTEGER
    PK
    Не пустий file_path
    Посилання на файл
    VARCHAR(100)
    Не пустий post_id
    Ідентифікатор поста
    INTEGER
    FK
    Не пустий
    7 question questiont_id
    Ідентифікатор завдання
    INTEGER
    PK
    Не пустий test_id
    Ідентифікатор тесту
    INTEGER
    FK
    Не пустий question_typet_id
    Ідентифікатор типу завдання
    INTEGER
    FK
    Не пустий title
    Назва завдання
    VARCHAR(100)
    Не пустий description
    Опис завдання
    TEXT
    8 test test_id
    Ідентифікатор тесту
    INTEGER
    PK
    Не пустий test_title
    Назва тесту
    VARCHAR(100)
    Не пустий test_description
    Опис тесту
    TEXT date_start
    Початок тесту
    DATETIME
    Не пустий date_end
    Кінець тесту
    DATETIME
    9 test_result test_id
    Ідентифікатор тесту
    INTEGER
    FK
    Не пустий account_id
    Ідентифікатор аккаунта
    INTEGER
    FK
    Не пустий result
    Результат
    INTEGER
    Не пустий
    10 variant_answer variant_answer_id
    Ідентифікатор варіанту відповіді
    INTEGER
    PK
    Не пустий variant_answer_text
    Текст варіанту відповіді
    VARCHAR(100)
    Не пустий questiont_id
    Ідентифікатор завдання
    INTEGER
    FK
    Не пустий
    11 question_type question_type_id
    Ідентифікатор типу завдання
    INTEGER
    PK
    Не пустий type_name
    Назва типу завдання
    VARCHAR(100)
    Не пустий
    12 answer answer_id
    Ідентифікатор відповіді
    INTEGER
    PK
    Не пустий answer_text
    Текст відповіді
    VARCHAR(100)
    Не пустий questiont_id
    Ідентифікатор завдання
    INTEGER
    FK
    Не пустий
    13 follower account_id
    Ідентифікатор аккаунта
    INTEGER
    FK
    Не пустий follower_account_id Ідентифікатор аккаунта на який підписаний користувач
    INTEGER
    FK
    Не пустий

    32

    Таблиця
    Поле
    Зміст
    Тип
    Ключі Обмеження
    14 Info info_key
    Ключ запису
    VARCHAR(100) PK
    Не пустий value
    Значення
    TEXT
    Не пустий

    33
    4. ПРАКТИЧНА РЕАЛІЗАЦІЯ ПРОЕКТУ
    4.1 Програмна реалізація
    Інформаційна система оцінювання знань в області тестування програмного забезпечення була реалізована у вигляді SPA-додатків (Single Page Application), тобто інформаційна система розміщена на одній сторінці, яка завантажує одночасно весь код разом із завантаженням самої сторінки. Це дозволяє при переході на інші сторінки не перезавантажувати їх. Це здійснено за допомогою фреймфорка Vue.js та бібліотеки маршрутизації «Vue Router».
    При створенні інформаційної системи серверна частина була розроблена за допомогою фреймворка Laravel версії 7.3 (рис. 4.1).
    Рисунок 4.1 – Фреймворк Laravel, версія 7.3
    Система має декілька типів користувачів системи. А саме – адміністратор, роботодавець та кандидат. При реєстрації можна обрати між «Кандидат» та
    «Роботодавець».

    34
    Для реєстрації необхідно заповни обовязкові поля даними, які система буде використовувати в подальшому. Реєстрація відбувається за допомогою API- запитів на сервер до БД з використанням бібліотеки “Passport” (рис. 4.2).
    Рисунок 4.2 – Таблиці БД, які використовує бібліотека “Passport”
    Роботодавець може створювати власні тести, з трьома різними типами відповідей: написати відповідь текстом, обрати один чи де-кілька чек-боксів, та вказати правильну послідовність.
    Випадаючий список (Drag and Drop) реалізовано на стороні front-end за допомогою фреймворка vue.js і його бібліотеки «Vuedraggable» (рис.4.3).

    35
    Рисунок 4.3 – Використання бібліотеки «Vuedraggable» (фреймворк vue.js)
    В інформаційній системі реалізована функція пошуку, який здійснюється за ключовими словами.
    Також, в системі реалізована складна функція чату з безліччю кімнат.
    Листування ведеться в режимі реального часі. Все листування зберігається в БД.
    Чат реалізовано за допомогою бібліотеки «Larasocket», яка відповідає за отримання, обробку та відправлення повідомлень у відповідь.
    Також, для роботи чату, ми використовували канали «Слухачі» в режимі реального часу. Кожен чат ведеться по окремому каналу (рис.4.4).
    Рисунок 4.4 – Канали чата для роботи в режимі реального часу

    36
    Для того, щоб повідомлення, яке прийшло, було автоматично додано до чату, використано інструмент «Laravel Echo», який спрощує найнеобхідніші і найважчі аспекти побудови складних взаємодій WebSockets (рис. 4.5).
    Для функціонування чату в особистому кабінеті Larasocket отримується ключ «token».
    Рисунок 4.5 – Інструмент «Laravel Echo» для відображення повідомлень в режимі реального часу
    Для безпеки користувачів, навіть адміністратор сайту, не може в БД переглядати паролі користувачів. Для кодування паролів використовується стандартна бібліотека «Laravel» і функція «Hash», яка створює хеш паролі, використовуючи сильний, незворотний алгоритм хешування (рис 4.6).

    37
    Рисунок 4.6 – Функція Hash для кодування паролів користувачів
    Розглянемо розподіл функціоналу детальніше в табл.4.1.
    Таблиця 4.1 – Функціонал за групами користувачів

    Користувач
    Можливості користувача
    1 Адміністратор
    Перегляд загальної інформації;
    Підтримка сайту;
    Блокування користувачів;
    Перевірка контенту.
    2 Кандидат
    Створення посту;

    38

    Користувач
    Можливості користувача
    Перегляд інформації про іншого користувача;
    Оформлення підписки на інших користувачів;
    Листування з іншими користувачами;
    Проходження тестування;
    Додавання тестів до «Бажаних» для проходження їх в подальшому;
    Перегляд історії пройдених тестів та їх результатів;
    Написання повідомлення адміністратору;
    Виконувати фільтрацію та пошук на сайті.
    3 Роботодавець
    Створення посту;
    Перегляд інформації про іншого користувача;
    Оформлення підписки на інших користувачів;
    Листування з іншими користувачами;
    Створення тесту за допомогою конструктора;
    Перегляд результатів тестування за тим чи іншим створеним тестом;
    Редагування та налаштування створеного тесту;
    Написання повідомлення адміністратору;
    Виконувати фільтрацію та пошук на сайті.
    Для детального представлення інтерфейсу інформаційної системи тестування та комунікації розглянемо табл.4.2.

    39
    Таблиця 4.2 – Опис сторінок додатку

    Назва
    Опис сторінки
    1 Головна сторінка Сторінка з короткою інформацією про дану
    інформаційну систему.
    2 Реєстрація
    Сторінка для реєстрації користувача. Користувач повинен ввести такі дані для створення аккаунту на даному сервісі:
    − Ім’я;
    − Прізвище;
    − Електронна пошта;
    − Пароль;
    − Дата народження;
    − Стать;
    − Тип аккаунту (HR / Кандидат).
    3 Авторизація
    Сторінка для авторизації. Користувач повинен ввести такі дані:
    − Електронна пошта;
    − Пароль.
    4 Підписки
    Кожен авторизований користувач може виконати підписку на оновлення іншого користувача.
    5 Новини
    На даній сторінці відображаються публікації користувачів, на яких оформлена підписка.
    Також присутнє оповіщення про нові тестування.
    6 Тестування
    Функціонал змінюється в залежності від типу аккаунту.
    Кандидат – перегляд пройдених тестів та тестів, що були додані до бажаних для проходження в

    40

    Назва
    Опис сторінки
    майбутньому. Користувач може переглянути результати пройдених тестів.
    Рекрутер чи HR – створені тести. Також користувач може перейти до конструктора тесту.
    7 Конструктор тесту
    Конструктор для створення тесту. Користувач може додати будь-яку кількість запитань.
    Типи запитання:
    − Одна відповідь;
    − Декілька відповідей;
    − Власна відповідь;
    − Співвідношення;
    − Порядкові відповіді.
    8 Налаштування створеного тесту
    Сторінка для редагування уже створеного тесту. На даній сторінці можна редагувати як запитання, так і час проведення чи іншу інформацію.
    9 Особистий кабінет
    Сторінка з інформацією про користувача. На даній сторінці є можливість перегляду власних постів та створення нових.
    10 Налаштування аккаунту
    Сторінка для редагування основної інформації про користувача та додаткове її налаштування.
    11 Листування
    Невід’ємний засіб зв’язку між підприємствами, партнерами та клієнтами. Отже, дана сторінка допоможе підтримати ділове листування.

    41
    4.2 Використання програмного додатку
    Робота інформаційної системи оцінювання знань в області тестування програмного забезпечення представлена на рисунках 4.7 – 4.34.
    Головна сторінка інформаційної системи складається з навігаційних конопок та опису переваг (рис. 4.7).
    Рисунок 4.7 – Головна сторінка інформаційної системи
    Вікно реєстрації має поля для обовязкового заповнення. Якщо ці поля не заповнені система підсвічує їх красною рамкою. Також, реєстрація не відбувається, якщо не відмічено чек-бокс «Продовжуючи відвідування сайту, ви погоджуєтесь на обробку Ваших особистих персональних даних відповідно до

    42
    Закону України «Про захист персональних даних» від 01.06.2010 р. № 2297-VІ»
    (рис. 4.8).
    Рисунок 4.8 – Сторінка реєстрації

    43
    Рисунок 4.9 – Обовязкові поля для заповнення
    Після реєстрації або авторизації користувача на головній сторінці зявляються навігаційні посилання (рис. 4.10).
    Рисунок 4.10 – Навігаційні посилання після реєстрації або авторизації користувача
    На вкладці «Про нас» вказана додаткова інформація про сайт (рис. 4.11).

    44
    Рисунок 4.11 – Пункт меню «Про нас»
    За посиланням «Новини» знаходяться статті та останні новини з життя сайту
    (рис.4.12).
    Рисунок 4.12 – Пункт меню «Новини»

    45
    За посиланням «Тести» відкривається перелік створених роботодавцями тестів. У претендента є можливість обрати тест і пройти його (рис. 4.13).
    Рисунок 4.13 – Пункт меню «Тести»
    Після обрання тесту і натискання кнопки «Пройти» буде показано детальний опис тесту (рис. 4.14)..
    Рисунок 4.14 – Початок проходження тесту

    46
    В правому верхньому куті зявляється таймер часу, який відображає скільки часу залишилося до закінчення тестування.
    Тест може мати три різних видів відповідей:
    − написати відповідь у текстове поле;
    − обрати правильну відповідь зі списку;
    − проставити правильну послідовність (рис. 4.15).
    Рисунок 4.15 – Приклад тесту (проставити правильну послідовність)
    Після завершення тесту у вспливаючому віконці – повідомленні буде відображено результат проходження даного тесту (рис. 4.16).

    47
    Рисунок 4.16 – Результат тестування (повідомлення)
    Результати тестування будуть відображені в акаунті в меню Мої тести
    (рис.4.17).
    Рисунок 4.17 – Результат тестування на сторінці

    48
    Обравши пройдений тест є можливість переглянути деталі проходження тесту або видалити його (рис. 4.18).
    Рисунок 4.18 – Детальний результат обраного тестування
    В особистому кабінеті у Роботодавців є можливість створення свого нового тесту. Потрібно спочатку створити тест та задати обмеження часу на його виконання
    (рис. 4.19).
    Рисунок 4.19 – Створення нового тесту

    49
    Після чого потрібно створити завдання для тесту (скласти запитання).
    Запитання у тесті можно як додавати, так і видаляти (рис. 4.20).
    Рисунок 4.20 – Додавання запитань до тесту
    В відповідях зі списку можуть бути використані ілюстрації (рис. 4.21).
    Рисунок 4.21 – Відповідь типу «Список відповідей»

    50
    Рисунок 4.22 – Відповідь типу «Текстове поле»
    Рисунок 4.23 – Відповідь типу «Правильна послідовність»
    Після створення тесту він буде відображатися на особистій сторінці роботодавця (рис. 4.24 – 4.25).

    51
    Рисунок 4.24 – Особиста сторінка роботодавця
    Рисунок 4.25 – Особисто сторінка претендента (головна)
    На сайті реалізована функція «Підписатися». Щоб підписатися на інший аккаунт необхідно зайти на той акаунт і натиснути кнопку «Підписатися»
    (рис.4.26).

    52
    Рисунок 4.26 – Функція «Підписатися»
    Акаунт, на який підписалися, отримає повідомлення, що на ньго підписалися. В акаунті, який підписався будє відображено його підписки в меню
    «Мої підписки» (рис. 4.27).

    53
    Рисунок 4.27 – Особисто сторінка користувача (підписки)
    На сайті реалізована функція «Написати», завдяки якій можно спілкуватися між зареєстрованими акаунтами за допомогою чат-повідомлень в реальному часі
    (рис. 4.28).

    54
    Рисунок 4.28 – Функція «чат-повідомлення в реальному часі»
    Особиста сторінка має зручну навігацію. В пункті меню «Налаштування»
    існує можливість переглянути та змінити публічну та приватну інформацію
    (рис.4.29).

    55
    Рисунок 4.29 – Особисто сторінка користувача (налаштування)
    Під новинами або статтями є можливість залишати коментарі (рис. 4.30).

    56
    Рисунок 4.30 – Функція «Коментувати»
    4.3 Адміністрування сайту
    Адміністратор сайту має такі можливості як:
    − Перегляд загальної інформації на сайті;
    − Підтримка сайту;
    − Блокування користувачів;
    − Перевірка загального контенту.

    57
    Дані функції представлені на рисунках 4.31-4.37.
    Рисунок 4.31 – Авторизація
    Рисунок 4.32 – Редагування загального контенту

    58
    Рисунок 4.33 – Редагування контенту (користувачі)
    Рисунок 4.34 – Редагування контенту (тести)

    59
    Рисунок 4.35 – Редагування контенту (новини)
    Рисунок 4.36 – Редагування контенту (безпека)
    Інформаційна система оцінювання знань адаптована під мобільні пристрої
    (рис.4.37).
    Рисунок 4.37 – Адаптація інформаційної системи під мобільні пристрої

    60
    ВИСНОВКИ
    Нинішній рік, а також пандемія COVID-19, серйозно змінили багато речей,
    і в тому числі вимоги до функціонування ринку праці. Раптово з’явилися виклики
    і додаткові можливості для бізнесу та трудового життя загалом. І хоча процес тотальної цифровізації (з англ. digitalization) почався задовго до пандемії, тепер він набуває небачених масштабів. В умовах, що змінилися, бізнес почав активно готуватися до нової реальності.
    В ході виконання дипломної роботи була розроблена інформаційна система оцінювання знань в області тестування програмного забезпечення.
    Дана інформаційна система дозволяє створювати тестові завдання роботодавцями, проводити тестування претендентів, підбирати фахівців при працевлаштуванні та спілкуватися за допомогою чат-повідомлень в реальному часі.
    Користуючись даною інформаційною системою, HR спеціалісти мають можливість аналізувати рівень знань при отриманні результатів тестів.
    Претенденти на вакантні посади мають можливість пройти тестування, отримати результати та фідбек від роботодавця.
    Результатом проведеної дипломної роботи є створена інформаційна система оцінювання знань в області тестування програмного забезпечення.
    Задачі щодо програмної розробки були вирішені за допомогою сучасних технологій, а саме фреймворків з відкритим кодом Vue.js та Laravel.
    Об‘єктом дослідження даної роботи є оцінювання знань претендентів на вакантні посади через їх тестування.
    Предметом дослідження є інформаційна система для оцінювання знань в області тестування програмного забезпечення.

    61
    Практичне значення дипломної роботи полягає в розробленій
    інформаційній системі оцінювання знань, яка полегшує для роботодавців процес відбору претендентів для подальшої співбесіди на вакантні посади. Інформаційна система миттєво надає HR–менеджерам результати, чи має претендент необхідні знання на вакантну посаду, що збільшує швидкість знаходження потрібних співробітників.
    Окрім оптимізації процесу найму створена інформаційна система оцінювання знань забезпечує покращення досвіду спілкування з кандидатами, порівняно з нетехнічними дискусіями, які занадто часто проводяться під час першої співбесіди.

    62
    СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
    1. Коронавірус змінив світ [Електронний ресурс] – Режим доступу до ресурсу: https://glavcom.ua/economics/finances/koronavirus-zminiv-svit-fahivtsi- nazvali-p-jat-prioritetiv-dlja-biznesu-majbutnogo-710477.html
    (дата звернення:
    02.09.2020).
    2. Працевлаштування в 2020: які труднощі чекають українців
    [Електронний ресурс]

    Режим доступу до ресурсу: https://www.rbc.ua/rus/styler/trudoustroystvo-ukraine-2020-kakie-trudnosti-
    1584256591.html
    (дата звернення: 02.09.2020).
    3. Труднощі пошуку: що заважає претендентам знаходити роботу мрії, в роботодавцям - потрібних кандидатів [Електронний ресурс] – Режим доступу до ресурсу: https://www.work.ua/ru/news/ukraine/816/
    (дата звернення: 02.09.2020).
    4. Стратегічне управління, управління портфелями, програмами та проектами. [Електронний ресурс]. – 2016. – Режим доступу до ресурсу: http://pm.khpi.edu.ua/article/download/2413-3000.2016.1174.17/57227.
    (дата звернення: 25.10.2020).
    5. Careers in Human Resource Management [Електронний ресурс]. – 2020. – https://www.shrm.org/membership/student-resources/pages/careersinhrm.aspx
    (дата звернення: 02.09.2020).
    6. Aptitude test: What you can expect in an interview process [Електронний ресурс]. – 2017. – https://www.michaelpage.co.uk/advice/career-advice/job- interview-tips/aptitude-test-interview-process
    (дата звернення: 25.10.2020).
    7. What Does a Human Resources Manager, Generalist, or Director Do?
    [Електронний ресурс]. – 2018. – https://www.thebalancecareers.com/what-does-a- human-resources-manager-do-1918551
    (дата звернення: 25.10.2020).

    63 8. How to Test Developers’ Coding Skills Before Hiring [Електронний ресурс]. – 2018. – https://www.codingame.com/work/blog/tech-recruiting/test- developers-skills-before-hiring/
    (дата звернення: 25.10.2020).
    9. Interview
    Mocha
    [Електронний ресурс].

    2020.
    – https://www.interviewmocha.com/pre-employment-testing/coding-tests
    (дата звернення: 25.10.2020).
    10. Interview Mocha Review [Електронний ресурс]. – 2020. – https://reviews.financesonline.com/p/interview-mocha/
    (дата звернення: 25.10.2020).
    11. Aptitude
    Test Practice
    [Електронний ресурс].

    2019.
    – https://www.assessmentday.co.uk
    (дата звернення: 25.10.2020).
    12. Google
    Форм
    [Електронний ресурс].

    2020.
    – https://www.google.com/intl/ru_ua/forms/about/
    (дата звернення: 25.10.2020).
    13. The Good and the Bad of Vue.js Framework Programming [Електронний ресурс]. – 2020. – https://www.altexsoft.com/blog/engineering/pros-and-cons-of-vue- js/
    (дата звернення: 25.10.2020).
    14. Advantages and disadvantages of the laravel framework [Електронний ресурс].

    2020.
    – https://www.popwebdesign.net/popart_blog/ en/2020/03/advantages-and-disadvantages-of-the-laravel-framework/
    (дата звернення: 25.10.2020).
    15. Pros and Cons of Laravel [Електронний ресурс]. – 2020. – https://nimapinfotech.com/blog/pros-and-cons-of-laravel/
    (дата звернення:
    25.10.2020).
    16. Батенко Л. П. Управління проектами: Навч. посібник. / Л. П. Батенко,
    О. А. Загородніх, В. Ліщинська. – Київ: КНЕУ, 2003. – 231 с. 62 Грей К.
    17. Управление проектами: Практичекое руководство/Пер. с англ. / К.
    Грей, Э. Ларсон., 2003. – 528 с. 63 18. Локк Д. Основы Управления Проектами / Пер. с англ. / Д. Локк., 2004.
    – 253 с.

    64 19. Что такое PDM-система [Електронний ресурс] – Режим доступу до ресурсу: http://pdm.in.ua/?page_id=142
    (дата звернення: 02.09.2020)
    20. Діаграма Ґанта [Електронний ресурс] – Режим доступу до ресурсу: https://uk.wikipedia.org/wiki/Діаграма_Ґанта
    (дата звернення: 02.09.2020)
    21. SMART [Електронний ресурс] // Вікіпедія – Режим доступу до ресурсу: https://uk.wikipedia.org/wiki/SMART#cite_note-1
    (дата звернення: 02.09.2020)
    22. Оцінка життєздатності проекту [Електронний ресурс] – Режим доступу до ресурсу: https://pidruchniki.com/74414/ekonomika/otsinka_zhittyezdatnosti_proektu
    (дата звернення: 02.09.2020)
    23. Воронин, А.В. Использование кластерного анализа для выбора локальных стратегий [Текст] / А.В. Воронин // Проблемы и перспективы управления экономикой и маркетингом в организации. – №1. – 2001.
    24. Рідкокаша А.А., Голдер К.К. Основи систем штучного інтелекту.
    Навчальний посібник. Черкаси, "ВІДЛУННЯ – ПЛЮС", 2002. – 240 с.
    25. Discovering Knowledge in Data: An Introduction to Data Mining, Jan 2005
    – 190-201 с. 21. Chiang, C.L, (2003) Statistical methods of analysis, World Scientific.
    ISBN 981-238-310-7 – 274 с.
    26. Bootstrap документація – [Електронний ресурс]. – Режим доступу: https://bootstrap-4.ru/docs/4.3.1/getting-started/introduction/
    (дата звернення:
    25.10.2020).

    65
    ДОДАТОК А. ПЛАНУВАННЯ РОБІТ
    1 ІДЕНТИФІКАЦІЯ МЕТИ ІТ-ПРОЕКТУ
    1.1. Загальна інформація про проект
    У сучасному світі все більш актуальним стає питання пошуку роботи. Все частіше постає питання в чому ж камінь спотикання при пошуку роботи в області тестування програмного забезпечення і підходящих кандидатів. Виявилося, що думки роботодавців та шукачів багато в чому схожі, але є і протиріччя.
    Так, наприклад, більшість претендентів стверджують, що головною проблемою при пошуку роботи є відсутність відповідних вакансій. У той час як роботодавці більшою мірою відзначають бажання потенційних кандидатів отримувати більше, ніж їм пропонують.
    Виходить, ідеальне рішення проблем пошуку роботи та працівників - бути чесніше при складанні резюме і вакансій.
    Дана інформаційна система – це платформа для HR та кандидатів, що знаходяться у пошуку роботи. Головна ідея сайту – перевірка кандидатів, що шукають роботу, на рівень знань для тієї чи іншої вакансії.
    HR матиме можливість створювати тести за допомогою конструктора, робити публікації на сторінці та збирати статистику й результати з даних тестів.
    1.2. Деталізація мети методом SMART
    Для деталізації мети був використаний метод SMART, при якому відповівши на п'ять простих запитань, можна швидко розкрити поставлену мету
    ІТ-проекту та підвести до певного очікуваного результату від цього проекту.

    66
    Метод SMART є сучасним підходом до визначення цілей і постановки завдань
    [11]. Детальніше інформацію за кожним з пунктів розглянуто у таблиці А.1.1.
    Таблиця А.1.1 – Конкретизація мети проекту за SMART методом
    1   2   3   4


    написать администратору сайта