Задача:
Заказчику требуется информационная система, тестирующая респондентов для определения их будущей профессии или социальной группы. Каждый тест состоит из ряда вопросов с вариантами ответов, каждый из которых оценивается определённым баллом. Результат прохождения теста оценивается алгоритмом, который определённым образом оценивает полученные баллы и определяет, к какой группе относится респондент.
Комментарий к выполненой работе:
Метод проверки максимально прост,
код php подсчитывает присланные ответы.
Для отслеживания ответов использую значения value инпутов.
По логике каждый из ответов имеет свой вес(уникальный признак) для анализа.
В данном случае ответы, которые подходят для повара помечены как povar (value = "povar")
Ответы, подходящие гурманам gurman.
php проверяет какие ответы(значения value) пришли с формы и считает сколько раз value=povar и сколько value = gurman
Если ответов povar больше - человеку подходит профессия повар.....
Делал максимально просто - сравнивал два возможных значения.........
можно добавить пару формул для высчитывания на сколько процентов человеку подходит профессия повар и т.д но логику работы не меняет
При проверке на правдивость использовалась следующая логика....
Вводятся вопросы одинаковые по смыслу но с разной формулировкой.
И если на оба таких вопроса дан один и тот же ответ - значит пользователю можно доверять
1 и 5 вопросы теста подразумевают один ответ. В коде отслеживается одинаковый ответ дал пользователь или нет.
В код можно добавить ещё сколь угодно вопросов, php всё равно отработает(обрабатывается массив данных а не конкретные значения).
Так как данная задача не большая по объёму, не использовались классы, абстрактные классы, интерфейсы, с названиями методов. При проектировании полноценных тестов логика работы останется прежней, изменится архитекткра(появятся классы, методы и т.д).