Структура файла данных ANSWER.DB
   Таблица 3.7
 Структура файла данных CONTROL.DB
   Таблица 3.8
 Структура файла данных RESULT.DB
   4. ОПИСАНИЕ ПРОГРАММНЫХ МОДУЛЕЙ
 Разработанная универсальная обучающе-контролирующая система содержит следующие части:
 1) программу для создания и модификации тестов;
 2) сервисную программу настройки параметров контроля знаний, формирования билетов, просмотра и распечатки результатов тестирования;
 3) программу контроля знаний
 и предназначен для разработки, модификации и эффективного использования тестов в процессе обучения практически по любой дисциплине.
 Описание основных принципов функционирования программ, входящих в состав системы, приведено ниже.
 4.1 Описание программы создания и модификации тестов
 Программа создания и модификации тестов, являясь составной частью универсальной обучающе-контролирующей системы, предназначена для создания и модификации контрольных вопросов, объединенных в разделы по тематическому признаку, а также таких разделов и предоставляет пользователю следующие возможности:
 · создание, модификация и удаление тематических разделов;
 · создание, модификация и удаление контрольных вопросов;
 · создание для любого вопроса произвольного числа вариантов ответа;
 · модификация и удаление вариантов ответа на вопрос.
 Программа реализована на языке ObjectPascal в среде визуального программирования Delphi 2.0 фирмы BorlandInternational. Текст программы и используемых ею модулей приведен в прил.1.
 Программой используются следующие файлы БД: Tema.db, Question.db, Answer.db. Схема связей файлов БД, используемая рассматриваемой программой, приведена на рис.4.1.
    
Рис.4.1. Схема связей файлов БД для программы создания тестов
 Так как программа разрабатывалась в системе визуального программирования Borland Delphi в соответствии с принципом модульности, то в каждом модуле объявляется отдельный класс, который содержит данные и методы работы с ними а также методы работы с данными из других классов. Ниже приведены описания классов, используемых в рассматриваемой программе.
 1. Класс TTreeForm ( модуль S2) ‑ отображает главное окно программы.
 Переменные класса:
 - x1,x2 - вспомогательные переменные;
 - CreateMainForm - индикатор создания формы (True,если выполняется метод FormCreate).
 Методы класса:
 - AddDocButClick() - выполняет добавление нового контрольного вопроса в текущую тему;
 - MainTreeClick() - изменяет положение указателей в файлах БД Tema.db,Question.db;
 - DeleteButClick() - выполняет удаление текущего вопроса или темы;
 - FullExpButClick() - производит полное раскрытие тематического дерева;
 - FullColButClick() - выполняет полное сворачивание тематического дерева;
 - ExitButClick() - производит закрытие программы;
 - FormClose( ) - выполняет все необходимые действия перед закрытием программы;
 - AddTemaButClick() - выводит диалог добавления новой темы;
 - FormShow() - выполняет инициализацию данных при запуске программы;
 - FormResize() - производит действия по изменению размеров объектов окна;
 - FormCreate() - выполняет инициализацию переменных x1,x2;
 - AppendQuestion() - добавляет в таблицу Question.db новый вопрос;
 - ClearQuestion() - осуществляет логическое удаление текущего вопроса из БД.
 2. Класс TEditForm (модуль DB_Unit) - отображает окно редактирования контрольных вопросов.
 Переменные класса:
 - x1,x2 - вспомогательные переменные.
 Методы класса:
 - FormClose( )- производит выход из программы;
 - DBEditTemaChange() - сохраняет в БД изменения в названии темы;
 - AddAnswerButClick() - добавляет новый вариант ответа на текущий вопрос;
 - DelAnswerButClick() - удаляет текущий вариант ответа на вопрос;
 - FormCreate() - выполняет инициализацию переменных;
 - AppendAnswer() - производит добавление в БД нового ответа;
 - ClearAnswer() - выполняет удаление из БД текущего ответа;
 - FormResize() - изменяет размер объектов окна;
 - MemoScrollResize() - изменяет размер объектов в области модификации ответов.
 3. Класс TAnswer (модуль DBUnit) - отвечает за отображение вариантов ответа на вопрос.
 Переменные класса:
 - nocreate - индикатор создания объекта(False,если выполняется метод Create).
 Методы класса:
 - Create() - создает объект типа TAnswer;
 - Free() - освобождает память занятую объектом;
 - CheckClick() - заносит в файл БД Answer.db состояние флажка правильности ответа;
 - MemoChange() - сохраняет текст ответа в файле БД Answer.db;
 - DeleteAnswer() - производит перерисовку области вывода вариантов ответа на вопрос после удаления одного из ответов.
 4. Класс TWinEditTema(модуль AddTema) - отображает диалог добавления новой темы.
 Методы класса:
 - butCancelClick() - добавляет новую тему в файл БД Teма.db.
 - butOkClick() - закрывает диалог добавления новой темы.
 4.2 Описание программы администрирования
 Программа администрирования, являясь составной частью универсальной обучающе-контролирующей системы, предназначена для использования в сочетании с программой создания тестов и предоставляет пользователю следующие возможности:
 · формирование билетов;
 · задание времени ответа на вопросы билета;
 · задание системы оценки результатов тестирования;
 · просмотр и распечатка результатов (протокола) тестирования на принтере.
 Программа реализована на языке ObjectPascal в среде визуального программирования Delphi 2.0 фирмы BorlandInternational. Текст программы и используемых ею модулей приведен в прил.2.
 Программой используются следующие файлы БД: Control.db, Tema.db, Question.db, Tickets.db. Схема связей файлов БД, используемая рассматриваемой программой, приведена на рис.4.2.
 Программа создает файл Test.ini и записывает в раздел Options следующие параметры:
             
 
 
 
 
 
 
Рис.4.2. Схема связей файлов БД для программы администрирования
 Так как программа разрабатывалась в системе визуального программирования Borland Delphi в соответствии с принципом модульности, то в каждом модуле объявляется отдельный класс, который содержит в себе данные и методы работы с ними а также методы работы с данными из других классов. Ниже приведены описания классов, используемых в рассматриваемой программе.
 1. Класс TAdminForm (модуль Main) ‑ отображает главное окно программы.
 Переменные класса:
 - CreateForm - индикатор создания формы (True,если выполняется метод FormCreate);
 - IniFile - используется для работы с INI-файлом.
 Методы класса:
 - ShowHint() - отображает подсказку в строке состояния;
 - DBControlCalcFields() - производит пересчет оценок в соответсвии с текущей системой оценки результатов;
 - FormClose() - выполняет все необходимые действия перед закрытием программы;
 - TestTimeChange() - сохраняет в файле TEST.INI значение параметра TestTime;
 - MaxmarkChange() - сохраняет в файле TEST.INI значение параметра MaxMark;
 - CreateTicketBtnClick() - выводит диалог параметров формирования билетов;
 - FormShow() - открывает таблицы Question.db, Tema.db;
 - QuitBtnClick() - завершает выполнение программы;
 - CreateNewDBControl() - создаетновуютаблицу Control.db;
 - ClearBtnClick() - очищает таблицу результатов тестирования;
 - PrintBtnClick() - выводит на принтер таблицу с результатами тестирования.
 2. Класс TCreateTickDlg(модуль TQDialog)
 Методы класса:
 - QuestCountEnter() - производит инициализацию переменных;
 - OKBtnClick() - выполняет формирование билетов из контрольных вопросов заданной темы;
 - FormClose() - закрывает файлы БД Question.db, Tema.db;
 - FormShow() - считывает параметры TestTime и MaxMark из файла Test.ini.
 4.3 Описание программы контроля знаний
 Тестирующая оболочка, являясь составной частью универсальной обучающе-контролирующей системы, предназначена для контроля знаний по выбранной администратором системы дисциплине и предоставляет пользователю следующие возможности:
 · просмотр вопросов билета в произвольном порядке;
 · возможность ответа на вопросы в произвольном порядке;
 · возможность корректировки ответов на вопрос.
 Программа реализована на языке ObjectPascal в среде визуального программирования Delphi 2.0 фирмы BorlandInternational. Текст программы и используемых ею модулей приведен в прил.3.