Інформаційні технології проектування
Скачать 4.71 Mb.
|
МIНIСТЕРСТВО ОСВIТИ I НАУКИ УКРАЇНИ СУМСЬКИЙ ДЕРЖАВНИЙ УНIВЕРСИТЕТ ЦЕНТР ЗАОЧНОЇ, ДИСТАНЦІЙНОЇ ТА ВЕЧІРНЬОЇ ФОРМ НАВЧАННЯ КАФЕДРА КОМП’ЮТЕРНИХ НАУК СЕКЦІЯ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ ПРОЕКТУВАННЯ КВАЛІФІКАЦІЙНА РОБОТА МАГІСТРА на тему: «Інформаційна система оцінювання знань в області тестування програмного забезпечення» за спеціальністю 122 «Комп’ютерні науки», освітньо-професійна програма «Інформаційні технології проектування» Виконавець роботи: студентка групи ІТ.мз-91с Іванченко Ірина Миколаївна Кваліфікаційну роботу захищено на засіданні ЕК з оцінкою _____________ « » грудня 2020 р. Науковий керівник к. т. н. Бойко О.В (підпис) Голова комісії Шифрін Д.М. (підпис) Засвідчую, що у цій дипломній роботі немає запозичень з праць інших авторів без відповідних посилань. Студент _________________ (підпис) Суми-2020 Сумський державний університет Центр заочної, дистанційної та вечірньої форм навчання Кафедра комп’ютерних наук Секція інформаційних технологій проектування Спеціальність 122 «Комп’ютерні науки» Освітньо-професійна програма «Інформаційні технології проектування» ЗАТВЕРДЖУЮ Зав. секцією ІТП В. В. Шендрик « » 2020 р. ЗАВДАННЯ на кваліфікаційну роботу магістра студентові Іванченко Ірина Миколаївна (прізвище, ім’я, по батькові) 1 Тема проекту Інформаційна система оцінювання знань в області тестування програмного забезпечення / Information System for Assessing Knowledge in the Field of Software Testing затверджена наказом по університету від «16» листопада 2020 р. №1773-III 2 Термін здачі студентом закінченого проекту «_07__» ___грудня__ 2020 р. 3 Вхідні дані до проекту Загальна інформація про тестування, Інформаційні системи-аналоги, Засоби реалізації веб-додатків__________________________ 4 Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити) ____Аналіз предметної області, Постановка задачі та методи дослідження, Моделювання інформаційної системи, Реалізація інформаційної системи_______________________________________________ 5 Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень) ____Інформаційна система, База Даних, Презентація____________ 6. Консультанти випускної роботи із зазначенням розділів, що їх стосуються: Розділ Консультант Підпис, дата Завдання видав Завдання прийняв Дата видачі завдання Керівник (підпис) Завдання прийняв до виконання (підпис) КАЛЕНДАРНИЙ ПЛАН № п/п Назва етапів випускного проекту Термін виконання етапів проекту Примітка 1. Ідентифікація ідеї проекту 01.09.2020 - 04.09.2020 2. Дослідження предметної області 07.09.2020 - 18.09.2020 3. Вибір методів та засобів розробки 21.09.2020 - 02.10.2020 4. Моделювання роботи інформаційної системи 05.10.2020 - 09.10.2020 5. Розробка шаблону сайту 12.10.2020 - 16.10.2020 6. Розробка Бази Даних 19.10.2020 - 30.10.2020 7. Розробка підсистеми тестування 02.11.2020 - 06.11.2020 8. Розробка особистих кабінетів роботодавця та претендента 09.11.2020 - 13.11.2020 9. Перенесення сайту на сервер 16.11.2020 - 20.11.2020 10. Тестування системи 23.11.2020 - 27.11.2020 Магістрант ________________ Іванченко І.М. Керівник роботи ________________ к. т. н. Бойко О.В. РЕФЕРАТ Тема кваліфікаційної роботи магістра «Інформаційна система оцінювання знань в області тестування програмного забезпечення». Пояснювальна записка складається зі вступу, 4 розділів, висновків, списку використаних джерел із 26 найменувань, додатків. Загальний обсяг роботи – 128 сторінок, у тому числі 61 сторінка основного тексту, 3 сторінки списку використаних джерел, 64 сторінки додатків. Кваліфікаційну роботу магістра присвячено розробці інформаційної системи оцінювання знань в області тестування програмного забезпечення. В роботі проведено пошук теоретичного характеру, що виконувався з метою визначення актуальності, необхідності та технічної можливості створення нової інформаційної системи. Проведено аналіз предметної області, шляхом виявлення проектної ідеї за наперед заданими критеріями проекту. Проведено порівняльний аналіз інформаційних систем-аналогів. Викладено загальний опис роботи майбутньої інформаційної системи. Обрано методи та засоби для розробки даної інформаційної системи. У роботі виконано планування змісту та структури робіт, поетапне моделювання процесу тестування, на основі розроблених моделей запропоновано відповідну інформаційну систему оцінювання знань, представлено архітектуру даної інформаційної системи, описано функціональні модулі, приведені приклади роботи. Результатом проведеної роботи є інформаційна система оцінювання знань в області тестування програмного забезпечення. Практичне значення роботи полягає у розробленні інформаційної системи, яка надає користувачеві – роботодавцю можливість створювати тести, користувачеві – претенденту пройти тестування, всім бажаючим спілкуватися через чат-повідомлення в реальному часі. Ключові слова: інформаційна система, web-додаток, тестування, html5, JavaScript, mysql, Vue.js, laravel. ЗМІСТ ВСТУП ............................................................................................................................................ 6 1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ......................................................................................... 8 1.1. Огляд останніх досліджень і публікацій ...................................................................... 8 1.2. Аналіз програмних продуктів ...................................................................................... 10 2. ПОСТАНОВКА ЗАДАЧІ ТА МЕТОДИ ДОСЛІДЖЕННЯ ................................................ 15 2.1. Мета та задачі дослідження ......................................................................................... 15 2.2. Вибір засобів реалізації ................................................................................................ 16 3. МОДЕЛЮВАННЯ ТА ПРОЕКТУВАННЯ .......................................................................... 20 3.1. Структура програмного додатку ................................................................................. 20 3.2. Структурно-функціональне моделювання процесу .................................................. 21 3.3. Моделювання діаграми варіантів використання ....................................................... 25 3.4. Проектування бази даних ............................................................................................. 27 4. ПРАКТИЧНА РЕАЛІЗАЦІЯ ПРОЕКТУ .............................................................................. 33 4.1 Програмна реалізація ........................................................................................................ 33 4.2 Використання програмного додатку ............................................................................... 41 4.3 Адміністрування сайту ..................................................................................................... 56 ВИСНОВКИ ................................................................................................................................. 60 СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ.................................................................................... 62 ДОДАТОК А. ПЛАНУВАННЯ РОБІТ ...................................................................................... 65 ДОДАТОК Б. КОД РЕАЛІЗАЗІЇ ІНФОРМАЦІЙНОЇ СИСТЕМИ ......................................... 79 6 ВСТУП У 2020 році пандемія Covid19 спричинила різкі зміни на ринку праці в багатьох сферах діяльності. По-перше, сьогодні майже 400 тисяч людей шукають роботу. Тож люди часом мусять опановувати нові спеціальності. По- друге, бізнес переходить на віддалену онлайн роботу, що викликає збільшення попиту не тільки на фахівців з програмування та розробки програмного забезпечення, а і тестувальників (QA engineer) [1]. Кількість позицій у галузі тестування комп'ютерних технологій сьогодні найбільша за останні три роки. При чому нова професія тестувальник програмного забезпечення – це професія, на яку можна відносно швидко перекваліфікуватися. Звичайно, будь-яке працевлаштування передбачає перевірку знань. Перевірка кваліфікації – це спосіб роботодавців оцінити здібності кандидата за допомогою різноманітних форматів тестування. Наприклад, тести на перевірку здатності виконувати мануальне тестування та реагувати на ситуації на роботі. Це включає вирішення проблем, встановлення пріоритетів та числові навички, серед іншого. Кандидати можуть вирішити практичні проблеми чи завдання наближені до них, з якими вони можуть зіткнутися в компанії [2]. Справжня вартість невдалого найму коштує роботодавцям великі кошти, тому що, коли найманий працівник не справляється зі своєю роботою, хороші працівники «згорають», компенсуючи це. На жаль, поганих працівників не завжди легко відразу помітити. На першій співбесіді HR можуть неякісно діагностувати претендентів, а коли це буде помічено, роботодавець вже витратить дорогоцінний час і гроші, як на невдалий найм, так і на пошук наступного претендента. Тому на сьогодні є актуальним полегшення процесу відбору майбутніх співробітників шляхом автоматизованого тестування знань, адже це спростить 7 і пришвидчить процедуру знаходження потрібних співробітників з великої кількості претендентів. Щоб збільшити відсоток вдалого найму необхідна інформаційна система оцінювання знань в області тестування програмного забезпечення. Ця система спростить відбір найкраще підготовлених початківеців-тестувальників, які не тільки мають необхідні знання, але і вже визначилися, в якій області тестування вони хочуть розвиватися (тестування desktop-додатків, веб- тестування, мобільне тестування, тестування ігор або інше). Розроблена інформаційна система будє представляти собою платформу для роботодавців та кандидатів. Головна ідея сайту – перевірити та оцінити знання претендентів на вакантні посади в області тестування програмного забезпечення. Допуск тільки підготовлених фахівців до наступних етапів співбесід збільшить швидкість знаходження висококваліфікованих фахівців, а головне – зекономить компанії багато часу та коштів. Метою даного дипломного проекту є створення інформаційної системи оцінювання знань в області тестування програмного забезпечення. Основними задачами дослідження при створенні даної інформаційної системи є: - аналіз існуючих аналогів; - формування загальних вимог до інформаційної системи; - побудова моделі роботи інформаційної системи; - обрання методів та засобів реалізації інформаційної системи; - розробка бази даних; - виконання програмної розробки та тестування розробленої інформаційної системи. 8 1. АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ 1.1. Огляд останніх досліджень і публікацій Управління людськими ресурсами - це термін, що використовується для опису комплексу завдань, спрямованих на ефективне управління працівниками організації, широко відомий як людські ресурси або людський капітал. Спеціалісти з управління персоналом здійснюють нагляд за управлінням людьми в організації, що включає компенсації, пільги, навчання та розвиток, персонал, стратегічне управління персоналом та інші функції [3]. Працівники з персоналу структурують кадрові програми для набору та утримання найкращих співробітників, роблячи компанію конкурентоспроможною з точки зору її привабливості для потенційних кандидатів, щоб вони вирішили прийняти посаду та залишатися працювати у роботодавця. У сучасному конкурентному середовищі управління людським капіталом надзвичайно важливо для збереження життєздатності на світовому ринку. Як результат, HR відіграє ключову роль у світі - адже люди справді єдине, що відрізняє один бізнес від іншого [4]. Організації можуть повторювати процеси, матеріали та структури інших успішних організацій, але лише талант організації робить її унікальною та відрізняє від усіх її конкурентів. Робота в HR потребує особливий тип людини, якій зручно вирішувати проблеми, вдосконалювати процеси, вимірювати досягнення, розробляти системи, мати справу з культурою організації та, головне, працювати з людьми. Спеціаліст, менеджер чи директор з персоналу виконує найрізноманітніші ролі в організаціях. Залежно від розміру організації, ці робочі місця з персоналу можуть нести відповідальність. У більших організаціях кадровий спеціаліст, менеджер та директор чітко визначили окремі ролі в управлінні персоналом. 9 Ці ролі поступово приносять більше повноважень та відповідальності в руках менеджера, потім директора і, врешті-решт, віце-президента, який може керувати декількома департаментами, включаючи адміністрацію, компенсації та навчання та розвиток співробітників. Директори з персоналу, а іноді і менеджери з персоналу, можуть очолювати декілька різних підрозділів, кожен з яких очолює функціональний або спеціалізований персонал, такий як менеджер з навчання, менеджер з питань компенсацій або менеджер з найму [5]. Працівники відділу кадрів є адвокатами як компанії, так і людей, які працюють у компанії. Отже, хороший HR-фахівець здійснює постійний баланс, щоб успішно задовольнити обидві потреби. Перевірка кваліфікації – це спосіб роботодавців оцінити здібності кандидата за допомогою різноманітних форматів тестування. Тести на здатність перевірять вашу здатність виконувати завдання та реагувати на ситуації на роботі. Це включає вирішення проблем, встановлення пріоритетів та числові навички, серед іншого [6]. Психометричні тести можна вибрати з декількома варіантами, й існує лише одна правильна відповідь, тоді ваш бал ставиться, а ваш рівень порівнюється з іншими кандидатами, які пройшли той самий тест, що і ви. Існують безкоштовні тести в Інтернеті, які ви можете взяти, щоб визначити, на які питання чекати, коли складаєте іспит. Розглянемо перевірку класифікації с точки зору підбору фахівців у ІТ сфері, на сам перед в області тестування програмного забезпечення. Оцінка навичок програмістів стала важливим кроком у будь-якому процесі технічного набору персоналу. Під час збору інформації було виявлено, що головною проблемою, з якою стикаються 60% рекрутерів під час найму розробників – знайти достатньо кваліфікованих кандидатів. Дійсно, більшість непрацездатних працівників у підборі технічних працівників зводиться до браку технічних навичок. 10 Різноманітні здібності можуть бути притаманні гарному спеціалісту, але технічні навички - це те, що можна оцінити найбільш точно. Розглянемо декілька способів перевірити розробників [7] перед наймом: − Портфоліо - найкращий спосіб для розробників продемонструвати свої навички кодування за допомогою особистих проектів та унікальний шанс справити тривале враження. Вони бувають різних форм і розмірів, починаючи від окремих веб-сторінок, для тих, хто шукає першу роль молодшого класу, до складних програмних проектів для старших та керівних заявників. − Інший вид – швидко перевірити репутацію розробників у Stack Overflow, а також їх найпопулярніші відповіді. Розробники можуть задавати та відповідати на запитання щодо будь-якого відношення до програмування, а активні учасники отримують бали та значки за свої відповіді та внески [6]. Сайт має багаті знання, і будь-який розробник буде користуватися ним щодня. Він ідеально підходить для вимірювання рівня знань кандидата та залучення його до спільноти розробників. − Тестування - один із найефективніших способів перевірити розробників перед наймом. Вони забезпечують перевірену модель виявлення та найму досвідчених розробників. Кандидати можуть вирішити практичні проблеми чи завдання наближені до них, з якими вони можуть зіткнутися в компанії. Наприклад, виявлення помилки в дефектному фрагменті коду або правильна синхронізація багато потокової програми, що дозволяє рекрутерам об'єктивно та ефективно вимірювати навички кандидата. 1.2. Аналіз програмних продуктів На даний момент часу існує безліч додатків чи сайтів для перевірки чи тестування кандидатів за різними напрямками. Розглянемо декілька з них та дізнаємося ті чи інші переваги та недоліки даних ресурсів. 1.2.1. CodinGame 11 Технічні рекрутери до менеджерів з персоналу можуть налаштовувати тести програмування на таких платформах, як CodinGame , вибираючи тестувати заявників на одній конкретній мові програмування або на декількох технологіях [8]. Код кандидатів автоматично аналізується, а рекрутери отримують показники ефективності, починаючи від володіння мовою і закінчуючи дизайном коду, читабельністю та надійністю. Після завершення випуск тесту можна завантажити та поділитися для легкого порівняння та включення до списку кандидатів. Окрім оптимізації процесу найму, ці тести також забезпечують покращений досвід роботи з кандидатами, порівняно з нетехнічними дискусіями, які занадто часто проводяться під час першого співбесіди. Тести програмування - це спосіб для рекрутерів показати розробникам, що вони технічно безпечні. Проблеми з кодуванням заощаджують вербувальникам багато часу, забезпечуючи наймитів з технічної сторони. Тести технічного програмування в Інтернеті корисно замінюють тести на папері чи дошці, даючи розробникам можливість продемонструвати свої вміння. 1.2.2. Interview Mocha Interview Mocha - це хмарне рішення для онлайн-оцінки, яке дозволяє компаніям відбирати та фільтрувати кандидатів шляхом попереднього працевлаштування та перевірки кваліфікації працівників [9]. Платформа охоплює широкий спектр навичок, включаючи SAP, бухгалтерський облік, технології здібностей, ІТ, ділові навички та інші попередньо побудовані та спеціальні тести. Доступно понад п’ятнадцять сотень готових оцінок навичок. Усі вони були підтверджені експертами з предметних питань у всьому світі. Завдяки цьому інтерв’ю Mocha може допомогти вашій компанії швидше знайти кандидатів, які підходять до роботи, і точно їх оцінити. 12 Процес скринінгу можна розбити на три простих кроки: виберіть бажаний тест, запросіть кандидатів одним клацанням миші та отримайте результати, як тільки вони закінчать. Ви можете скоротити час, який зазвичай витрачаєте на співбесіду з нерелевантними кандидатами. Відомо, що готові та індивідуальні тести Mocha скоротили час інтерв’ю на 40% і більше. Крім того, легко зробити і власний тест. Щоб додати власні запитання, вам не потрібні навички кодування. Ви можете вибрати різні типи запитань, такі як MCQ, Coding або LogicBox. Оскільки платформа заснована на Інтернеті, вам не доведеться турбуватися про вільні папери. Вся необхідна інформація буде знаходитись безпосередньо в інтерв’ю Mocha. Головний недолік даної системи – відсутність безкоштовної версії чи тестового періоду. На мою думку, кожному користувачу потрібен певний час на ознайомлення з додатком та вирішити, підходить система чи ні. Крім того, ціна початкового плану складає 150 доларів на місяць (щорічно сплачується) або 1800 доларів на рік [10]. У даний пакет послуг входить: − 2 користувачі; − 300 спроб тесту на рік; − Жодних спеціальних тестів. Інші пакети надають більше можливостей, але за вищу ціну, що не завжди підходить да компаній середнього розміру. Інтерв’ю Mocha – це необхідний інструмент для кожної HR-команди, але з деякими обмеженнями та певної складності використання. 1.2.3. Assessment Day З постійним зростанням популярності психометричного тестування при прийомі на роботу роль даних інформаційних систем стає все більш важливою. Зусилля, для досягнення успіху, зосереджені на наданні порад та експертних матеріалів для тестування. Дана система націлена на подальше підвищення прозорості та розуміння того, що може бути складним процесом оцінки. 13 На даному веб-сайті є окрема область, яка буде присвячена вашій організації та вашим студентам. Усі питання та відповіді на практичних тестах написані психометристами з досвідом роботи у великих міжнародних видавцях тестів, таких як SHL, Kenexa, Talent Q та TalentLens [11]. Студенти реєструються за допомогою електронної адреси університету. Після реєстрації їм надсилається електронне повідомлення, яке включає посилання для підтвердження облікового запису та пароль для входу. Кандидати не потребують участі співробітників університету, оскільки всі адміністратори, необхідні для реєстрації студентів, обробляються автоматично. Вартість буде змінюватися залежно від кількості та типу тестів, до яких ви хотіли б мати доступ ваші студенти. Тести мають ексклюзивний зміст - ті самі запитання не надаються на головному веб-сайті. 1.2.4. Google Forms Послуга Google Formsзазнала декількох оновлень за ці роки [12]. Функції включають, але не обмежуючись цим, пошук у меню, перемішування питань для рандомізованого замовлення, обмеження кількості відповідей один раз на людину, коротші URL-адреси, власні теми, автоматичне формування пропозицій відповідей під час створення форм та "Завантажити файл "опція для користувачів, які відповідають на запитання, за якими вони мають ділитися вмістом або файлами зі свого комп’ютера чи Google Drive. Функція завантаження доступна лише через Google Workspace. У жовтні 2014 року Google було представлено доповнення для Google Forms, які дозволяють стороннім розробникам додавати нові функції до опитувань. У 2017 року Google було оновлено Форми, щоб додати кілька нових функцій. "Інтелектуальна перевірка відповіді" здатна виявляти введення тексту в полях форми, щоб ідентифікувати написане і попросити користувача виправити інформацію, якщо неправильно введено. Залежно від налаштувань спільного використання файлів на Google Диску, користувачі можуть вимагати завантаження файлів від осіб, які не 14 мають варіантів відповідей у таблиці. У налаштуваннях користувачі можуть вносити зміни, що стосуються всіх нових форм, наприклад, завжди збирати адреси електронної пошти. Google Forms містить усі функції для спільної роботи та спільного використання, знайдені в Документах, Таблицях та Презентаціях. Створимо порівняльну характеристику всіх аналогів у табл.1.1 Таблиця 1.1 – Переваги та недоліки аналогів № Критерії CodinGame Interview Mocha Assessment Day Forms 1 Наявність реклами + + + - 2 Поділення на категорії + + + - 3 Доступність + - - + 4 Зручність використання + + - + 5 Зрозумілий інтерфейс + + + + 6 Онлайн доступ + + + + 7 Перегляд статистики - + - + Виходячи з вище зазначеного помітно, що необхідно створити інформаційну систему оцінювання знань в області тестування програмного забезпечення, що буде містити в собі переваги існуючих систем-аналогів, та долаючи їх недоліки. Додатковими вимогами є: відсутність реклами, поділ на категорії, доступність усім бажаючим. Претенденти матимуть можливість проходити тестування, а HR-менеджери – створювати свої тести за допомогою конструктора, робити публікації на сторінці, збирати статистику, складати рейтинги оцінок кандидатів за результатами перевірочних тестувань. 15 |