Задание №10
«Психологическая служба ЮУрГУ»

Описание задачи

Пусть нам необходимо разработать систему тестирования, назовем ее «Психологическая служба ЮУрГУ».

Проблема: Работникам факультета психологии каждый год в рамках курса «Основы психологии» приходится проводить тестирование по 3 тестам нескольких сотен студентов приборостроительного факультета. Психологов мало, всего 2-3 человека. Один читает лекции, двое других проводят тестирование и анализируют результаты. Тесты раздаются на бумажных бланках и потом вручную анализируются. После этого каждому студенту выдается результат каждого теста, который он потом уже самостоятельно интерпретирует, используя материал, выданный на лекции.

Задача Психологов:

  1. Выполнить расчет числовых результатов теста в соответствии с прилагаемой к тесту методикой расчета (иногда её называют «Ключ к тесту»).
  2. Раздать распечатанные результаты студентам (каждому свой).
  3. Проанализировать полученные результаты, сделать сводную диаграмму по каждому тесту, сделать заключение по всему потоку студентов для руководства факультета.

Сложности в работе психологов следующие: необходимо выдать каждому студенту набор тестов (потратить время и бумагу); необходимо собрать результаты, вручную сделать интерпретацию; необходимо вбить результаты в компьютер, построить одну большую таблицу, построить диаграммы для анализа курса в целом.
Возникла идея – ввести электронную систему тестирования.


Описание процесса

Преподаватель заводит в программе новых пользователей (студентов). Список студентов в точности соответствует списку фамилий из ведомости группы. Чтобы завести нового пользователя в системе, необходимо указать следующие данные: Фамилия, Имя, Отчество, группа, факультет, год.

Преподаватель выдает копию программы каждому студенту группы.

Студент, в свободное от учебы время, проходит по очереди все тесты, имеющиеся в программе. Программа выдает результат тестирования, и студент передает его преподавателю. Причем может оказаться, что на одной копии программы прошли тестирование несколько студентов (например, если они пользуются одним компьютером). То есть результат тестирования, который выдает программа, может содержать записи о результатах тестирования нескольких студентов.

Преподаватель получает результат тестирования и импортирует его в свою копию программы. После этого преподаватель может просматривать и анализировать результаты тестов.


Функциональные требования
Программа должна выполнять тестирование пользователя по пяти тестам, электронный вариант которых в формате Microsoft Word можно найти здесь. Тестирование может выполняться в произвольном порядке, определяемом пользователем. Если пользователь выходит из системы не завершив прохождение теста, результат теста в базе данных не сохраняется.

Пример программы тестирования можно посмотреть здесь или здесь.

Программа должна сохранять
результаты всех завершенных тестов в базе данных. В качестве базы данных можно использовать текстовый файл заданного формата (разработайте самостоятельно). Программа должна допускать импорт результатов (Например, студент, пройдя тестирование, отправляет копию базы данных преподавателю. Преподаватель копирует её в каталог со своей копией программы и добавляет результаты из полученной базы данных студента в свою базу данных, выполняет «импорт результатов»).

Программа должна реализовывать управление пользователями. Психолог может добавить, удалить и просмотреть список пользователей. Пользователи могут просматривать список пользователей, проходить тестирование и просматривать результаты.

В базе данных сохраняются результаты только пройденных до конца тестов. Один пользователь может проходить один и тот же тест несколько раз. В таком случае в базе данных сохраняются результаты всех пройденных им тестов.


Нефункциональные требования:
  1. Программа должна быть реализована в консоли. (графический или текстовый режим по выбору студента). Допускается использование визуальных средств.
  2. Программа должна быть реализована таким образом, чтобы максимально упростить задачу добавления нового теста в систему.