РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ ДИСТАНЦИОННОГО ТЕСТИРОВАНИЯ ОБУЧАЮЩИХСЯ (С ИСПОЛЬЗОВАНИЕМ С++ BUILDER) Себелев Л.Н.1, Богданова М.В.2
1Богданова Марина Васильевна - кандидат технических наук, доцент; 2Себелев Лев Николаевич - бакалавр, направление: математическое и программное обеспечение систем обработки информации и управления, дисциплина: объектно-ориентированное программирование, кафедра информатики, информационных технологий и цифрового образования, Воронежский государственный педагогический университет, г. Воронеж
Аннотация: в статье рассматриваются основные аспекты разработки программного обеспечения для педагогического вуза, с помощью данного программного обеспечения проводится тестирование студентов.
Ключевые слова: C++, MySQL, PHP, Tests, С+ + Builder.
Во время массового распространения дистанционного формата обучения, некоторые образовательные организации сталкиваются с необходимостью проведения быстрых небольших тестов по определённым дисциплинам. В настоящие время, для осуществления подобного используются сервисы по созданию опросов, такие как Yandex Forms или специальные внутри вузовские системы, которые, как правило, перегружены и не адаптированы под мобильные устройства, а также требуют множество подготовительных действий перед началом прохождения теста. Разработка системы дистанционного тестирования обучающихся позволит решить данную проблему путем создания мобильного приложения для студентов и программы для создания теста преподавателям. Система позволит составить тесты по определённым дисциплинам и направлять их выбранным учебным группам, например, только для студентов первого курса прикладной математики или только для студентов физико-математического факультета. Студенты в свою очередь смогут получить актуальный список тестов, которые необходимо пройти. После прохождения теста составителю будет доступен список пройденных тестов с указанными вариантами ответа и процентом выполненных заданий, а также итоговый балл для студентов.
Для разработки программного продукта был выбрано IDE C++ Builder (рис. 1).
(5 Project2 - C++Build« 10.4 Community Edition - Unit4.cpp
File Edit Search View Refactor Project Run Component Tools Tabs Help
■ ii1 k "j s ■ rs a w* ► v is
Structure V X Welcome Page Unit3.cpp • Unit4.cpp
PI Includes
PI TForm4::FormClose(TObject "Sender, TCIo
10 ipragma package(smarc_inic) ♦pragma resource "".frnx" TForm4 "Form4;
Object Inspector
Properties Events
ActiveControl
BiDiMode bdLeftTi
I > Border (TForml
Bordericons [biSyste
BorderStyle Sizeable
Caption Form4
ChentHeight 580
Bind Visually... Quick Edit...
tinclude <fmx.h> {pragma hdrscop
• Svoid fastcall TForm4::FormClose(TObje<
' IP ~
Applicacion->Terminace();
■ Ц»
20 II--------------------------------------
■Sender, TCloaeAccion 4Action)
Unit4.cpp Unit4.h Design History
Project2.cbproj - Projects 9 X i> - SI "Oi T- F f
> Target Platforms (Windows 32-bit) S Project2.cpp ji Pioject2PCH1.h v Unit3.cpp £ Unit3.cpp Q Unit3.fmx 1 Unrt3.h v Unit4.cpp ei Unit4.cpp Q UnM.fmx 1 Unit4.h
Codelnsight: Stopped
C:\Users\Michr\Documents\Embarcadero\Studi...
Project2.cbp_ Data Explorer Multi-Device ...
Palette f x
a * P
C++Builder | Individual Files I > C++Builder | Windows
> C++Builder
> C++Builde»| Multi-Device I > Other | Web
I > Other
> C++Builder | Web
> C++Buildef | ActiveX
C+ +Builder | Inheritable Items
II_______ П V
:: р и О © <9 RAD {?■ л ENG D Я Y_j ЪН ч; сто 09.03.2022 ^
Рис. 1. Интерфейс программы C++ Builder
Стандартно программа выглядит именно так, но с помощью визуального редактора форм и редактора исходного кода можно разрабатывать кроссплатформенные приложения.
Макет будущего приложения создается с помощью перетаскивания визуальных элементов на окно и написания кода для них. [1, с. 305].
Ниже продемонстрирована база данных, в которую добавляются новые данные, отправленные через сервер пользователями, а также главное окно приложения, в котором пользователь видит список доступных опросов (рис. 2).
Рис. 2. Главное окно приложения
Через специальное приложение будет осуществляться создание тестов и выбор целевой учебной группы для теста. Будет возможность писать вопросы и варианты ответа для него. [2, с. 112].
Кнопка пройти тестирование позволит пройти выбранный из списка выше тест. Сам список тестов обновляется автоматически путем отправки запроса на сервер. После нажатия на кнопку будет запущено окно прохождения теста (рис. 3). В котором будет возможность ответить на вопросы. Кнопка далее переходит к следующему вопросу, кнопка назад возвращает к предыдущему вопросу.
Рис. 3. База данных со списком пройденных опросов
Чтобы разобрать принцип работы приложения, разберем как приложение получает данные о новых тестах. На форме имеется компонент "Timer" (рис. 4).
File Edit Search Vie« Refactor Project R
ft 0 £ RQ * ii я s rs
Structure i X W
m ♦ *
■ Form3
*» Label 1
Й! ListBoxl
Object Inspector 4 X
«
Properties Events /
Align None
> Anchors lakLeftakTop]
AutoTranslate 0 True
Cancel □ False
CanFocus 0 True CanParentFocus □ False
ClipChildren □ False
Рис. 4. Timer
"Timer" используется для того, чтобы вызывать событие OnTimer каждые три секунды. Код, который будет выполнятся показан на следующем рисунке (рис. 5).
void _fastcall THeaderFooterForm::TimerlTimer(TObject *Sender)
System::Unicodestring connect_str = "localhost/"? System::DnicodeString password_str = "password";
System::UnicodeString GetSqlQuery_str = "tests/GetSql.php4pass="; System:¡UnicodeString content;
#define GetSqlQuery(Q) IdHTTPl->Get(IdURL::Decode(connct_str+GetSqlQuery_str+password_str-K2)>
TStringList *list = new TStringList; list->StrictDeiimiter = "I";
list->DelimitedText = GetSqlQuery("Select * From Tests where loirs like "+user_knrs);
ListBoxl->Clear());
for(int i =0; i!=list->Count; i++)i
ListBoxl->Items->Add(list->Strings[i]); }
- }
Рис. 5. Код события OnTimer
В коде вначале объявлены строки, адреса сервера, пароль доступа к серверу, путь к фалу который позволит выполнить SQL запрос. После чего идет объявление макроса "GetSqlQuery" в котором формируется полный запрос к веб-серверу. В качестве возвращаемого значения будет HTML код, который вернет сервер. После чего названия тестов, разделённых символом "|" по очереди будут добавлены в список тестов, это будет достигнуто с помощью цикла for. На использовании макроса "GetSqlQuery" построено практически все взаимодействие с сервером в приложении. [3, с. 36].
Программное обеспечение системы дистанционного тестирования обучающихся позволит своевременно и удобно пройти тестирование. Результаты, полученные с помощью данной системы, будут храниться только на веб-сервере образовательной организации. Благодаря тому, что тесты отправляются только выбранным пользователям список тестов не будет пополняться не нужными тестами. Данное приложение будет удобно как преподавателям, которые составляют тесты, так и студентам, проходящим их.
Список литературы
1. Осипов Д.Л. C++ Builder. Основы программирования, 2016. 790 с.
2. Глушаков С.В. Ломотько Д.В. Базы данных, 2016. 504 c.
3. Дронов В. РНР 5/6, MySQL 5/6 и Dreamweaver CS4. Разработка интерактивных Web-сайтов, 2017. 544
c.