Автоматизированная обучающая системы когнитивного моделирования построена на клиент-серверной архитектуре.
Общий алгоритм работы системы представлен на рисунке 1.

Система работает следующим образом: в самом начале происходит инициализация системы. После этого устанавливается соединение с SQL сервером, на котором располагается база данных системы. В случае успешного соединения с сервером на каждый запрос от пользователя система отправляет на сервер запрос и получает какой-либо ответ. Например, при выставлении контрольной оценки за тест система отправляет на сервер ответы пользователя и сверяет их с правильными ответами теста, далее на основании количества правильных ответов выставляется итоговая оценка за тест.
На рисунке 2 указана полная взаимосвязь записей в системе.

Как видно, в этой таблице происходит связь всех вопросов и ответов в единый тест. Связь в базе данных происходит с помощью ключевых меток, которые связывают id элементов из разных таблиц.
Чтобы получить вопрос из теста 1, нужно вывести все вопросы внутри него из второй таблицы, а внутри каждого вопроса из третей таблицы вывести ответы. Получается некая цепочка.
Верный ответ в базе помечается цифрой один, когда у других ответов вопроса в поле корректности ответа стоит ноль. Ответы в сам тест могут выводиться не по порядку, но при этом верный ответ не изменится.
Приведем диаграмму активности работы системы — рисунок 3.

После запуска системы пользователю в обязательном порядке необходимо пройти процедуру авторизации. В случае успешной авторизации пользователю становится доступно главное меню системы, из которого он может выполнять основные функции. К основным функциям системы относятся: создание тестов, прохождение тестов, просмотр истории сдачи тестов. В любой момент времени пользователь может прекратить выполнение текущей функции и выйти из системы. При выходе из системы все действия сохраняются на SQL сервере.
Рассмотрим реализацию отдельных функций системы.
На рисунке 4 представлена блок-схема алгоритма прохождения теста в системе.

При прохождении теста в системе выборка вопросов осуществляется из БД системы. Вопросы могут идти как по порядку, так и нет (задается в настройках системы). По окончанию прохождения теста осуществляется подсчет результатов и вывод итоговой оценки. После этого все данные о пройденном тесте заносятся в БД системы.
На рисунке 5 представлена блок-схема алгоритма формирования статистики по тестам.

При формировании статистики по пройденным тестам система выбирает тесты из БД, осуществляет выборку результатов и отображает результаты на экране. У пользователя имеется возможность как просматривать статистику, так и удалять ненужные данные из БД.
На рисунке 6 представлена блок-схема алгоритма регистрации пользователя.

При регистрации пользователя на экран выводится форма регистрации, в которой пользователю необходимо ввести все регистрационные данные. После ввода регистрационных данных система проверяет их на корректность и в случае правильности добавляет их в БД.
На рисунке 7 представлена блок-схема алгоритма создания теста.

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

В процессе создания вопроса к тесту в самом начале пользователь должен выбрать тип вопроса из нескольких (например, вопрос с несколькими ответами, или вопрос с одним ответом и т.д.). Далее пользователь осуществляет ввод данных, т.е. вводит непосредственно вопрос и доступные варианты ответа. После этого система проверяет введенные пользователем данные на корректность. В случае если данные корректны, то система сохраняет их в БД в виде отдельного вопроса. В БД системе для каждого вопроса, указывается пользователь, который его создал.
Для хранения данных в автоматизированной обучающей системе когнитивного моделирования необходима БД. При проектировании БД выделены следующие сущности:
- Пользователи. Данная сущность необходима для авторизованного входа в систему, а также для разделения пользователей на тех кто может проходить тесты (обычные пользователи) и тех кто может создавать и управлять тестами (администраторы).
- Вопросы. Сущность «Вопросы» хранит в себе вопрос для теста, а также несколько вариантов ответов. Вопрос может быть как с выбором ответа, так и с полем где нужно ввести ответ и т.д.
- Тесты без вопросов. Данная сущность необходима для хранения пустых тестов, в которых еще нет вопросов.
- Тесты с вопросами. Сущность «Тесты с вопросами» необходима для хранения уже сформированных тестов с конкретными вопросами.
- Результаты тестов. В сущности «Результаты тестов» хранятся результаты пройденных тестов (верные и неверные ответы), а также время и дата прохождения теста.
Далее в таблицах 1-5 представим содержимое каждой таблицы БД и опишем его.
Таблица 1. Описание таблицы «questions»
Название поля |
Тип |
Описание |
idQuestions |
int |
Идентификатор вопроса |
Type |
int |
Тип вопроса |
Value1 |
varchar |
Неправильные ответы |
Value2 |
varchar |
Правильный ответ |
Таблица 2. Описание таблицы «resulttest»
Название поля |
Тип |
Описание |
idResultTest |
int |
Идентификатор результата теста |
idUser |
int |
Идентификатор пользователя |
idTest |
int |
Идентификатор теста |
DateTesting |
datetime |
Дата и время прохождения теста |
Result |
varchar |
Результат теста |
Таблица 3. Описание таблицы «tests»
Название поля |
Тип |
Описание |
idTests |
int |
Идентификатор теста |
About |
varchar |
Описание теста |
idUser |
int |
Пользователь, создавший тест |
Таблица 4. Описание таблицы «testwithquestions»
Название поля |
Тип |
Описание |
idTestWithQuestions |
int |
Идентификатор теста с вопросами |
idQuestion |
int |
Идентификатор вопроса |
idTest |
int |
Идентификатор теста |
Таблица 5. Описание таблицы «questions»
Название поля |
Тип |
Описание |
idUsers |
int |
Идентификатор пользователя |
Name |
varchar |
Имя пользователя |
SurName |
varchar |
Фамилия пользователя |
Login |
varchar |
Логин |
Password |
varchar |
Пароль |
Role |
int |
Роль пользователя (обычный пользователь или администратор) |
Физическая схема БД автоматизированной обучающей системы когнитивного моделирования представлена на рисунке 9.

Программная реализация БД автоматизированной обучающей системы когнитивного моделирования выполнена на платформе Microsoft SQL Server 2012.
Параметры реализованной БД:
- размер: 100 Mb;
- прирост: 10%;
- резервное копирование: еженедельное;
- количество таблиц: 5;
- количество администраторов: 1;
- количество прочих пользователей: 3.