На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Расширяемая система генерации заданий

Expanding system of tests accumulation
Статья опубликована в выпуске журнала № 4 за 2011 год. [ на стр. 79 – 82 ]
Аннотация:Дается описание программного средства, предназначенного для автоматической генерации заданий для кон-трольных и расчетно-графических работ по курсу «Сопротивление материалов». Показано, что программное средст-во TaskGen Plus является расширяемым и может использоваться для генерации заданий и по другим предметам (строительной механике, теории упругости и т.д.) при условии программной разработки соответствующих плагинов.
Abstract:The authors give a description of the software intended for automatic tests accumulation for the course of «Strength of material». It is shown that software can be expanded and used for test accumulation in other courses (Building mechanic, Theory of Elasticity, est.) in case of corresponding plug-in development.
Авторы: Бакушев С.В. (bakuchsv@mail.ru) - Пензенский государственный университет архитектуры и строительства (профессор), Пенза, Россия, доктор технических наук, Куликов А.В. (an_ta_vi@mail.ru) - Научно-производственный центр «СПУРТ», г. Москва
Ключевые слова: плагин, автоматизированная система, программное средство
Keywords: plug-in, an automated system issue, software
Количество просмотров: 10888
Версия для печати
Выпуск в формате PDF (5.83Мб)
Скачать обложку в формате PDF (1.28Мб)

Размер шрифта:       Шрифт:

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

Эту важную проблему в определенной ее части решает разработанная авторами статьи автоматизированная система генерации заданий TaskGen Plus (рег. № 50200800600, дата регистрации: 17.03.2008), позволяющая без особого труда получить максимально качественную и быструю генерацию заданий с выводом на печать.

При проектировании была поставлена задача разработать гибкую автоматизированную систему генерации заданий для студентов применительно к курсу «Сопротивление материалов», позволяющую каждому пользователю иметь набор заданий в зависимости от своих приоритетов и специфики преподавания курса для соответствующей специальности. Набор заданий должен быть динамичным, то есть допускать возможность модификации без существенной перестройки структуры программ, и пополняемым. Автоматизированная система генерации заданий должна обладать интуитивно понятным интерфейсом, не требующим ни специальных знаний, ни навыков работы, быть надежной и безопасной. Программа должна сопровождаться достаточно подробной электронной справочной системой и для освоения самой системы генерации заданий, и для выполнения конкретного задания.

Автоматизированная система генерации заданий TaskGen Plus удовлетворяет всем перечисленным требованиям.

Генератор обеспечивает высокое визуальное качество заданий, бесчисленное количество вариантов, минимальное время на подготовку заданий. Неограниченное множество вариантов определяется зависимостью генерации от года разработки задания, номера студенческой группы и номера варианта студента. Конечно, количество предлагаемых автоматизированных заданий ограничено, их ровно столько, сколько было запланировано в наборе заданий, однако в силу расширяемости системы генерации заданий к программе можно добавлять дополнительные плагины с заданиями, не перекомпилируя код программы. Требуется только разработать сам плагин на языке C++ в среде Microsoft Visual Studio по уже готовым шаблонам и образцам с кодом и по готовым библиотекам с графическими элементами. Практически вся разработка сводится к компоновке кода из вызовов уже разработанных функций. При загрузке системы генерации заданий она просканирует все существующие плагины, сгруппирует их по темам и добавит в меню программы.

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

Система TaskGen Plus включает программные компоненты, изображенные на рисунке 1.

Плагин исполняется в виде библиотеки dll. Каждому заданию соответствует строго одна библиотека, и наоборот, каждой библиотеке соответствует строго одно задание. Каждый плагин хранит в ресурсах информацию о себе: название задания и название темы, которой это задание соответствует.

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

На рисунке 2 представлена схема взаимодействия ядра системы и плагина.

Обязательными составляющими классами плагина являются:

-      CIDPersonal – класс контролируемо-слу­чайного идентификатора, присваиваемого по году, группе и варианту студента;

-      CTask – базовый класс задания с виртуальными функциями (производен от CIDPersonal);

-      CPluginApp – класс модуля;

-      CTask[N] (может иметь другое название) – класс задания (производен от CTask).

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

Центральным классом плагина является класс CTaskMain (в примерах название может быть CTask[N], N – номер задания). Взаимодействие с глобальным экземпляром этого класса происходит через экспортируемые функции: Form – генерация задания, Draw – вывод задания, SetGroupAndNum­ber – расчет идентификатора по группе и номеру варианта. Задание случайности: GetID – получе­ние идентификатора, GetRecommendedHeight – получение рекомендуемого значения высоты задания, GetRecommendedWidth – получение рекомендуемого значения ширины задания.

Все плагины располагаются в каталоге plugins в корневом каталоге системы. К плагину может прилагаться документация в формате *.htm. При ее наличии начальная страница располагается по пути plugins/[Название плагина]/index.htm. В этом же каталоге находятся любые дополнительные файлы, необходимые для отображения справки по заданию.

Представим алгоритм реализации одного задания-плагина на основе предлагаемого шаблона в среде программирования Microsoft Visual Studio (настоятельно рекомендуются 2003/2005/2008) под управлением ОС Microsoft Windows 2000/2003/XP/Vista.

1.     Установить систему TaskGen Plus и запустить проект в среде Microsoft Visual Studio.

2.     В общих свойствах проекта в Output Direc­tory для конфигурации Debug и для конфигурации Release указать путь к каталогу плагинов TaskGen Plus. Во вкладке Debugging для всех конфигураций установить значение Command в путь к исполняемому файлу TaskGen.exe.

3.      Во вкладке ресурсов по типу RT_MANI­FEST выбрать единственный элемент с номером 2 и вставить содержимое файла манифеста для используемых версий библиотек. Вначале рекомендуется вставить версию Debug, в окончательной версии – Release. Образцы файла манифеста содержатся в каталоге плагина-шаблона.

4.     В типе ресурсов Version выбрать VS_VER­SION_INFO и отредактировать в соответствии с комментариями.

5.     В окне классов найти класс CTaskMain и объявить необходимые переменные в обозначенном месте в заголовочном файле класса.

6.     Подключить дополнительно необходимые для реализации заголовочные файлы. При возможности использования графической библиотеки раскомментировать заголовки соответствующих файлов.

7.     В файле реализации класса CTaskMain в конструкторе класса присвоить переменным значения рекомендуемой ширины и высоты задания.

8.     В теле функции Form в месте, указанном комментарием, написать код, присваивающий случайные значения объявленным ранее переменным класса в соответствии со спецификой задания.

9.     В теле функции Draw написать код графического представления задания в месте, указанном комментарием.

10.  Скомпилировать в отладочной конфигурации и протестировать работу плагина.

11.  Скомпилировать в release-конфигурации и проверить работу плагина.

12.  При необходимости написать справку в формате *.htm для данного задания.

13.  Дополнительно создать инсталлятор или распаковщик для разработанного плагина.

Описание функций, их входных и выходных параметров для классов графических объектов находится в соответствующих заголовочных файлах в каталоге GOBJ.

Комплекс заданий-плагинов разработан для курса «Сопротивление материалов», однако программа универсальна и позволяет создавать задания для самостоятельной работы по любому предмету.

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

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

Литература

Бакушев С.В., Куликов А.В. Генератор заданий для самостоятельной работы студентов // Современные информационные технологии: тр. Междунар. НТК. Вып. 6. ПГТА. 2007. С. 129–133.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=2918&lang=
Версия для печати
Выпуск в формате PDF (5.83Мб)
Скачать обложку в формате PDF (1.28Мб)
Статья опубликована в выпуске журнала № 4 за 2011 год. [ на стр. 79 – 82 ]

Возможно, Вас заинтересуют следующие статьи схожих тематик: