Дипломная работа: Автоматизация процесса контроля знаний учащихся ГБОУ города Москвы школы №656 А.С. Макаренко

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
73
реализуют обращение к базе данных при помощи SQL-запросов. На рисунке
2.6 представлена схема взаимосвязи программных модулей.
Рисунок 2.6 – Схема взаимосвязи программных модулей
FMain
FReg
FAdm
FDisk
FTema
FTest
FQuest
FormTest
FormResult
FormStatistic
FormPrintResult
FormPrintStatistic
FUsers
FInter
Модуль «Главная форма»
Модуль «Регистрация»
Модуль «Список пользователей»
Модуль «Назначения интерпретации
теста»
Модуль «Администрирования тестов те
Модуль «Список дисциплин»
Модуль «Список тем»
Модуль «Ведения списка тем»
Модуль «Ведения списка вопр/ответ»
Модуль «Прохождения теста»
Модуль «Результат»
Модуль «Статистика»
Модуль «Печать результатов»
Модуль «Печать анализа результатов»
74
2.3.4 Описание программных модулей
В визуальной интегрированной среде разработки C++ Builder основной
составной частью программы является форма. Форма инкапсулирует в себе
элементы интерфейса пользователя и программный код, заключающий в себе
реакцию на действия пользователя. Это полностью отвечает принципам
объектно-ориентированного программирования. C++ Builder автоматически
создает для формы класс формы, который содержит компоненты, размещенные
на форме, свойства и методы формы как автоматически создаваемые C++ Builder
, так и определяемые пользователем. В разработанном приложении определены
следующие формы:
FMain – главная форма приложения;
FReg – форма регистрации пользователя;
FAdm – форма администрирования списка тестов;
FDisc – форма ведения списка дисциплин;
FTema – форма ведения списка тем;
FTests – форма ведения списка тестов;
FQuestAnswer – форма ведения списка вопросов и ответов на них;
FormTest – форма прохождения теста;
FormResult – форма отображения результата прохождения теста;
FormStatistic – форма отображения статистики прохождения тестов;
FormPrintResult – форма печати результатов прохождения одного
теста;
FormPrintStatistic – форма печати результатов анализа статистики
прохождения тестов;
FUsers – форма ведения списка пользователей;
FInter – форма назначения интерпретации для теста.
Опишем каждую форму, ее назначение и программную реализацию более
75
подробно.
Главная форма приложения является основной рабочей областью для
пользователя. Главная форма появляется на экране сразу после регистрации
пользователя в системе. Как и любое окно Windows, она имеет следующие
элементы:
заголовок;
строка главного меню;
панель кнопок быстрого доступа;
рабочая область;
строка состояния.
Строка заголовка служит для отображения заголовка приложения. Кроме
того, в ней находятся кнопки максимизации, минимизации, закрытия главного
окна приложения, а также кнопка системного меню.
Главное меню является основным элементом управления приложением
для пользователя. Посредством выбора пунктов и подпунктов главного меню
пользователь выполняет все функции, заложенные в приложении.
Панель кнопок быстрого доступа служит для дублирования пунктов
главного меню, которые наиболее часто приходится выполнять. Выполнения
этих пунктов пользователь производит путем нажатия кнопки с
соответствующей пиктограммой.
Строка состояния служит для отображения расширенной подсказки для
тех органов управления, которые сейчас активны.
Рабочая область главного окна приложения предназначена для размещения
в себе других форм, которые выводятся в зависимости от режима работы
системы. Режим работы определяется статусом пользователя и его правами,
которые были определены в процессе регистрации пользователя в системе. Так
если зарегистрировавшийся пользователь обладает правами администратора, то
в рабочую область главного окна приложения будет загружена форма ведения
списка пользователей, если пользователь обладает правами проверяющего, то в
76
рабочую область загружается форма создания тестов, а если правами
тестируемого – то форма выбора теста для его прохождения. Открывшиеся по
умолчанию в рабочей области главного окна приложения формы пользователь
может заменить, выбрав в главном меню или на панели кнопок быстрого
доступа соответствующую команду, если она доступна пользователю. Таким
образом, главная форма приложения выполняет и функцию разграничения прав
доступа пользователя к функциям программы, в зависимости от категории
пользователя.
Форма FReg предназначена для регистрации пользователя в системе. Она
вызывается при загрузке приложения еще до отображения главной формы.
Форма имеет поля ввода, в которые предлагается ввести логин и пароль.
После нажатия кнопки «Ок» выполняется поиск в базе данных пользователя с
таким логином и считывание его категории, далее вызывается главная форма
приложения, которой передается идентификатор зарегистрировавшегося
пользователя и его категория доступа. Если пользователь с заданным логином
не найден в базе данных, либо пароль не совпадает с паролем в базе данных, то
пользователю будет отказано в регистрации с выдачей соответствующего
сообщения. Блок схема алгоритма программы представлена на рисунке 2.7.
77
Начало
Получить
область rc
Получить размер
изображения
bSize
w = rc.Width;
h = rc.Height
w < h
h = w;
rc.bottom = rc.top
+ h
w = h;
rc.right = rc.left +
w
bSize.cx >
bSize.cy
ratio = bSize.cy/
bSize.cx
ratio = bSize.cx/
bSize.cy
dW = rc1.Width -
rc.Width
d = min(dW, dH) ;
rc.right = rc.right
+ d;
rc.bottom =
rc.bottom + d
rc.right = rc.right -
rc.left;
rc.left=0
rc.bottom =
rc.bottom -rc.top;
rc.top=0
rc.Width <
rc1.Width
rc.left =
(rc1.Width -
rc.Width) / 2
rc.right = rc.left +
rc.Width
rc.top =
(rc1.Height -
rc.Heught) / 2 ;
rc.Height <
rc1.Height
rc.bottom = rc.top
+ rc.Height
Скопировать
область rc в
область rc1
rc.bottom =
rc.top + w*ratio
rc.right = rc.left +
h*ratio
Окончание
dH = rc1.Height -
rc.Height
ДаНет
ДаНет
Да
Да
Нет
Нет
Схема алгоритма рассчета области
Рисунок 2.7 – Блок-схема алгоритма программы
Источник: https://baza.diplomsite.ru/previewfile/2090