SelectAllIdM() – не має параметрів, призначена для вибірки номерів записів середніх по складності запитань;
SelectAllIdC()– не має параметрів, призначена для вибірки номерів записів тяжких по важкості запитань;
ForRead() – не має параметрів, повертає кількість питань, яку потрібно показати за сеанс;
SelectPoint($perem1, $perem2) – відповідає за вибірку кількості балів за відповідь, має параметри: номер питання, номер варіанта відповіді;
Calculation($perem1, $perem2) – призначена для підрахунку кількості балів за відповідь, має параметри: вага варіанта відповіді, кількість відображених запитань відповідно;
ShowSuperRatingMain() – призначена для відображення рейтингу лідерів на головній сторінці;
ShowRatingMain() – призначена для відображення рейтингу інших учасників на головній сторінці;
ShowSuperRating() – призначена для відображення рейтингу лідерів на інших сторінках тестової системи;
ShowRating() – призначена для відображення рейтингу учасників;
SaveRating($id, $mark, $date, $time) – відповідає за збереження рейтингу учасників, має параметри: код учасника, бал, дата, час;
CountRating() – не має параметрів, призначена для підрахунку записів в рейтингу;
ShowTest($perem) – відповідає за відображення запитань і відповідей, має параметр – код запитання.
Програмний код файлу cl_test.php наведено в додатку А.
Файл cl_authorization.php містить функцію authorization_check. Її синтаксис наступний: authorization_check($users,$password). Ця функція призначена для авторизації адміністраторів в систему управління, має параметри: логін і пароль.
Файл kcaptcha.php містить наступні функції:
KCAPTCHA() – призначена для генерування кодового слова від автоматичного відправлення повідомлень;
getKeyString() – призначена для відображення згенерованого кодового слова.
Для початку розпишемо інструкцію встановлення та налаштування тестової системи.
По-перше, весь каталог, де розміщується веб-додаток, копіюємо в потрібний каталог на веб-сервері, наприклад папка “testing”. Далі створюємо базу даних, через sql-запити, або ж через менеджер БД phpmyadmin. Після створення бази даних необхідно експортувати таблиці із zip архіву “DB/testing.sql” для того, щоб не набирати їх вручну. Далі потрібно налаштувати параметри доступу до БД. Для цього необхідно відкрити файл “config/config.php” і задати наступні параметри: тип БД (mysql), ім’я хоста (localhost), ім’я користувача (root), пароль (якщо є), назву БД, префікс БД (якщо потрібно).
Далі перейдемо до інструкції експлуатації програмного продукту.
Для користувачів та адміністраторів розроблені різні сторінки доступу. Користувачу при завантажені веб-додатку доступна головна сторінка тестування, з якої він починає роботу.
Програмний код головної сторінки наведено в додатку Б.
Користувач може пройти тестування і дізнатись професійну придатність програміста. Тестування починається після натиснення кнопки “розпочати тестування”, зображеної на рисунку 3.2.
Рисунок 3.2 – Початок тестування
Після натиснення кнопки, користувач розпочинає тестування. Відповідаючи на запитання, користувач повинен вибрати один із запропонованих варіантів відповіді, клацаючи по цьому варіанті. Час для проходження тесту необмежений, а таймер призначений просто для відображення пройденого часу.
Програмний код сторінки тестування наведено в додатку В.
Рисунок 3.3 – Результат тестування
Після того, як користувач дав відповіді на всі запитання (їх кількість задається в системі управління), він бачить результат. Приклад результату зображений на рисунку 3.3.
Рисунок 3.4 – Форма реєстрації
Далі, якщо користувач хоче зберегти свій результат, йому потрібно зареєструватись (рисунок 3.4). Якщо користувач вже зареєстрований, то йому необхідно авторизуватись (рисунок 3.5).
Рисунок 3.5 – Форма авторизації
Якщо виникне ситуація, коли користувач забуде свій пароль, то він може скористуватись формою для нагадування пароля, що зображена на рисунку 3.6.
Новий пароль надійде користувачу на вказаний при реєстрації email.
Рисунок 3.6 – Форма нагадування паролю
Також користувач може відправити результат свого тестування другу, заповнивши необхідні дані (рисунок 3.7).
Рисунок 3.7 – Форма для відправки даних другу
Далі розпишемо інструкцію для адміністратора.
Для початку роботи адміністратор має авторизуватись. Для цього необхідно ввести логін та пароль в форму, подану на рисунку 3.8. Форма авторизації знаходиться на сторінці системи управління. Доступ до системи управління наступний, логин – developer, пароль – developer.
Рисунок 3.8 – Форма для авторизації адміністраторів
Для керування зареєстрованими користувачами необхідно скористуватись пунктом меню “Пользователи сайта”, розташованим в верхній панелі (рисунок 3.9).
Рисунок 3.9 – Керування користувачами
В даному пункті меню можна переглядати інформацію про користувачів, а також керувати ними (рисунок 3.10).
Рисунок 3.10 – Панель керування користувачами
Для керування тестовою системою необхідно обрати пункт меню “Тесты”. В цьому пункті можна додавати/видаляти/редагувати запитання і відповіді, переглядати інформацію про запитання, а також керувати ними (рисунок 3.11).
Рисунок 3.11 – Панель керування запитаннями
Для додавання/редагування запитань можна скористатись формою зображеною на рисунку 3.12.
Рисунок 3.12 – Редагування запитання
При додаванні запитання потрібно ввести текст запитання, по необхідності можна задати картинку до тесту, а також додати варіанти відповіді та рівень складності запитання. Але потрібно пам’ятати, що правильний варіант відповіді для запитання має бути один.
Для налаштування тестування необхідно скористатись пунктом меню “настройки”, розташованим в верхньому меню. В даному пункті меню задаються наступні параметри: кількість запитань, які показувати за сеанс, кількість лідерів та інших учасників в рейтингу. Дана форма зображена на рисунку 3.13.
Рисунок 3.13 – Налаштування запитань
3.4 Вимоги до технічних засобів
Вимоги до технічних засобів можна поділити на такі категорії:
а) вимоги до програмного забезпечення сервера:
повинен бути встановлений та налаштований сервер Apache;
повинен бути встановлений PHP 4.1.0 або вище;
підтримка сесій;
MySQL 3.23.32 або вище;
б) вимоги до апаратного забезпечення сервера:
під’єднання до локальної мережі чи мережі Internet;
обсяг оперативної пам'яті від 256 MB;
процесор не нижче Pentium III;
вільне місце на жорсткому диску для зберігання проекту (приблизно 7 MB);
вільне місце на жорсткому диску для зберігання бази даних;
в) вимоги до програмного забезпечення клієнта:
наявність веб-браузера;
г) вимоги до апаратного забезпечення клієнта:
під’єднання до локальної мережі чи мережі Internet;
обсяг оперативної пам'яті від 128 MB.
4 Організаційно-економічний розділ
Основними витратами на розробку тестової системи визначення професійної придатності програмістів є:
основна заробітна плата розробників;
додаткова заробітна плата всіх розробників, які приймали участь в розробці нового технічного рішення;
амортизація обладнання, комп'ютерів та приміщень, які використовувались для розробки нового технічного рішення;
оренда обладнання, устаткування, приміщень, якщо вони були використані в ході здійснення розробки нового технічного рішення;
витрати на силову електроенергію, якщо ця стаття має суттєве значення для розробки нового технічного рішення;
інші витрати.
Основна заробітна плата розробників
обчислюється за формулою, грн: ,(4.1)де М – місячний посадовий оклад конкретного розробника, грн;
Тр – число робочих днів в місяці, приблизно Тр=21–23 дні;
t – кількість днів роботи розробника.
Приймаємо, що кількість робочих днів Тр=22.
Кількість днів роботи над проектом подані у таблиці 4.1.
Таблиця 4.1 – Кількість днів роботи над проектом
Вид роботи | Виконавці | Тривалість роботи програміста, днів | Тривалість роботи керівника, днів |
Отримання, і уточнення завдання | Програміст, керівник | 1 | 1 |
Підбір літератури і пошук інформації | Програміст, керівник | 5 | 5 |
Узгодження з керівником питань щодо реалізації | Програміст, керівник | 5 | 5 |
Розробка програмного продукту | Програміст | 30 | – |
Тестування і налагодження програми | Програміст, керівник | 10 | 10 |
Написання звіту та документації | Програміст | 14 | – |
Розробка презентації програмного продукту | Програміст | 1 | – |
Далі розрахуємо заробітну плату кожному із учасників проекту, згідно із кількістю їх робочих днів.