Разработка генератора заданий по дисциплине "Автоматизированные информационно-управляющие системы"

Концепция обучения с использованием информационных технологий; классификация учебных средств. Создание компьютерных контрольных работ и экзаменов; требования, предъявляемые к обучающим системам. Разработка тестирующих программ и генераторов заданий.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 14.10.2012
Размер файла 3,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

3. Тестирующие программы и генераторы заданий

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

3.1 Тестирующие системы

В литературе встречается следующее определение тестов:

Тесты [англ. test испытание, исследование] - это достаточно краткие, стандартизированные или не стандартизированные пробы, испытания, позволяющие за сравнительно короткие промежутки времени оценить преподавателями и студентами результативность познавательной деятельности студентов, т.е. оценить степень и качество достижения каждым студентом целей обучения (целей изучения).

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

Одним из недостатков тестового метода контроля знаний студентов является то, что создание тестов, их унификация и анализ - это большая кропотливая работа.

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

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

К достоинствам следует отнести:

- как было сказано, большая объективность и, как следствие, большее позитивное стимулирующее воздействие на познавательную деятельность студента, учащегося;

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

- ориентированность на современные технические средства на использование в среде компьютерных (автоматизированных) обучающих систем;

- универсальность, охват всех стадий процесса обучения.

Хочу отметить и другие достоинства. Тестированный опрос многофункционален. Он позволяет быстрее понять, как дальше работать с данным студентом, а также помогает лектору скорректировать курс.

Тестирующие программы можно разделить на:

- программы, предназначенные для определения уровня знаний;

- программы определения состояния обучаемого;

- программы определения способностей обучаемого.

Тесты для определения уровня знаний могут быть диагностические или оценивающие успеваемость. Диагностические тесты проводятся как в начале, так и в конце обучения и предназначены для определения того, какими понятиями, навыками и знаниями владеет учащийся, с тем, чтобы исключить их из учебного задания. Тесты на оценку успеваемости (экзаменаторы) проводятся в конце обучения и регистрируют успехи учащегося.

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

Тесты способностей предназначены для определения индивидуальных особенностей обучаемого (навыки, познавательные способности, особенности восприятия).

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

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

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

- определение целей обучения;

- выбор контрольных заданий, проверяющих достижение этих целей;

- отметку или иной способ выражения результатов проверки.

Задания по выполнению деятельности определенного уровня принято называть тестами.

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

Целесообразно использовать семь основных типов тестовых заданий.

1 Задание с выбором единственного правильного ответа. Преподавателем вводятся несколько вариантов ответа на вопрос, и выбирается правильный вариант ответа. При тестировании тестируемый также должен выбрать один вариант ответа. Если выбранный вариант - правильный, то за данное задание тестируемый получает 100 баллов, иначе - 0 баллов.

2 Задание выбором наиболее правильного ответа. Преподавателем вводятся несколько вариантов ответа на вопрос, каждый вариант оценивается по 5-бальной шкале. Далее оценки преподавателя нормализуются и приводятся к 100-бальной шкале (система не показывает нормализованных оценок). Тестируемый должен выбрать один из вариантов ответа, и получит за него соответствующее (полученное в результате нормализации) количество баллов. Например, если вариант A оценен преподавателем в 1 балл, B в 2 балла, С в 3 балла и других вариантов нет, то за ответ A тестируемый получит 0 баллов, за ответ B - 50 баллов, за ответ C - 100 баллов.

3 Задание с выбором нескольких правильных ответов. Преподавателем вводятся несколько вариантов ответа на вопрос, каждый вариант помечается как правильный либо неправильный (должен быть как минимум один правильный и как минимум один неправильный вариант). Тестируемый тоже помечает варианты ответа как правильные либо неправильные. Оценка будет зависеть от количества вариантов ответа тестируемого, которые совпали с ответами преподавателя. Например, если варианты ответа A, B и C - правильные, а D и E - нет, то за ответ "A, B, D - правильные" тестируемый получит 60 баллов, так как он правильно оценил 3 варианта ответа (A, B, E) из 5.

4 Задание с оценкой ответов. Преподавателем вводятся несколько вариантов ответа на вопрос, каждый вариант оценивается по 5-бальной шкале. Тестируемый также должен оценить варианты ответа по 5-бальной шкале. Количество баллов, которое получит тестируемый за данное задание, зависит от степени схожести оценок преподавателя и тестируемого. Реализована только дискретная оценка.

5 Задание на установление правильного порядка ответов. Преподавателем вводятся несколько вариантов ответа на вопрос, и указывается их правильный порядок. Тестируемый также располагает варианты ответа в каком-либо порядке. Оценка задания зависит от того, насколько правильно тестируемый расположит варианты ответа. Реализована только дискретная оценка.

6 Задание открытого типа. Тестируемый должен ввести ответ с клавиатуры в виде строки. Данное задание не оценивается автоматически.

7 Задание на установление соответствия. Преподаватель определяет несколько категорий (например: "буква", "цифра", "знак препинания") и в каждую категорию добавляет несколько вариантов ответа (например, в категорию "буква" может быть добавлено "a", "П", "л" и так далее). Тестируемый должен будет распределить перемешанные варианты ответа по категориям. Оценка задания будет зависеть от того, сколько вариантов были распределены в правильные категории.

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

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

3.2 Прототипы тестирующих систем

Имеются различные прототипы системы электронного контроля знаний с использованием технологий, применяемых в глобальной компьютерной сети Internet.

Системы, как правило, обладают следующими характеристиками:

- предъявление вопросов типа "выбор одного ответа из многих";

- адаптивный выбор следующего вопроса в зависимости от правильности предыдущих ответов обучаемого;

- возможность создания различных заданий из одного набора вопросов;

- возможность включения в вопрос графических изображений и гипертекстовых ссылок;

- ведение журнала прохождения опроса.

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

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

- объективность результатов проверки, так как наличие заранее определенного эталона ответа (ответов) каждый раз приводит к одному и тому же результату;

- повышение эффективности контролирующей деятельности со стороны преподавателя за счет увеличения её частоты и регулярности;

- возможность автоматизации проверки знаний учащихся, в том числе с использованием компьютеров;

- возможность использования в системах дистанционного образования.

3.3 Существующие программы для создания тестов

В настоящее время распространяется множество программных продуктов для проведения тестирования. Ниже будут приведены только некоторые из них.

Программа для создания тестов Adit Testdesk.

Интерфейс этой программы для тестирования выполнен в том же стиле, что и Microsoft Office 2007, вместе с характерными для него большими и легко доступными иконками для основных функций, к которым обращаются наиболее часто. Остальные функции находятся в соответствующих меню, и с первого взгляда на программу понятно, как найти нужный вам раздел [21].

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

При создании тестов возможно разделять права и уровни доступа для разных пользователей. Кроме того, в Adit Testdesk реализована возможность шифрования тестов и результатов.

Если используется локальную сеть из нескольких компьютеров для проведения тестов или проводите тестирование через Интернет, вся информация о результатах экзаменов хранится на сервере. Участники теста только отвечают на вопросы, но не получают совершенно никакой информации относительно того, как будут оценены их ответы.

Если нужно составить определенное количество тестов соответственно числу студентов, в программе тестирования Adit Testdesk это реализовывается полностью автоматически.

AVELife TestGold Studio

AVELife TestGold Studio -- это cовременный, надежный, легкий в освоении и удобный в использовании инструмент для принятия решений, связанных с оценкой уровня знаний, умений, навыков и психологических характеристик сотрудников или обучаемых, -- от разработки тестов до проведения тестирования и анализа его результатов. Программа позволит контролировать результат обучения, периодически получать информацию по квалификации всех сотрудников и т.п [22].

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

Наличие более 300 готовых тестов (маркетинг, интеллект, психологические методики и др.) позволит сразу приступить к применению программы. Утилита имеет подробную и хорошо структурированную документацию, освещающую все аспекты использования программы. Для проведения тестирования предусмотрена специальная бесплатная программа AVELife TestGold Agent, способная достаточно быстро работать даже на маломощных компьютерах.

УСАТИК

УСАТИК -- это аббревиатура, расшифровывающаяся как универсальная система автоматизированного тестирования и контроля.

В состав УСАТИК входят четыре программы:

«Место разработчика» -- программа предназначена для создания новых тестов и редактирования старых и реализована с применением подхода WYSIWYG (что ты видишь, то ты и получаешь), поэтому обладает простым и эффективным механизмом для разработки новых тестов;

«Место пользователя» -- программа служит для проведения тестирований;

«Место преподавателя» -- программа используется для выставления оценок за тестирование для составления отчетов по результатам тестирований, для настройки «Места пользователя» с целью проведения следующего тестирования, для оценки качества тестов;

«Сервер УСАТИК» -- занимается обслуживанием тестируемых и преподавателей по сетевому протоколу TCP/IP при функционировании пакета в клиент-серверном режиме.

Программы «Место пользователя» и «Место преподавателя» разработаны таким образом, что могут работать как с локальными данными и пользователями (персональное тестирование), так и с удаленными данными и пользователями (тестирование через Интернет).

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

3.4 Модели и алгоритмы генерации вопросов и тестовых заданий

3.4.1 Генерация задач

Обучение решению задач является составной частью обучения практически для любой предметной области. В математике и физике ? это обучение решению математических и физических задач. В медицине это может быть обучение постановке диагноза. В радиотехнике ? обучение поиску неисправностей в радиоэлектронной схеме и т.д. Обычно формулировка задачи состоит из двух частей: условие задачи и некоторое требование или вопрос. Условие задачи (или исходные данные) содержит описание некоторой начальной ситуации и может быть озаглавлено словами: дано, имеется. Требование может быть озаглавлено словами: найти, определить, чему равняется. Вместо требования может стоять некоторый вопрос. Такие вопросы начинаются словами: почему, сколько, какое и т.д.

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

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

1) условие задачи не является необходимым;

2) условие задачи является только достаточным;

3) условие задачи и необходимое, и достаточное.

В первом случае, как правило, не хватает некоторых исходных данных, и обучаемый должен определить: во-первых, что задача не может быть решена и, во-вторых, каких исходных данных не хватает. Во втором случае в исходных данных имеется все для решения задачи, а также некоторые другие «мешающие» данные. Здесь обучаемый должен решить задачу и указать на «лишние» данные. В третьем варианте в исходных данных содержатся только те данные, которые необходимы для решения задачи. Почти все учебные задачи имеют необходимые и достаточные условия задачи.

Рассмотрим свойства решения. Возможны следующие варианты:

- единственное решение;

- решений несколько;

- решений бесконечно много;

- решения нет.

Для алгоритма решения задачи также может быть несколько вариантов:

- алгоритм решения единствен;

- имеется некоторое конечное множество алгоритмов;

- имеется бесконечное множество алгоритмов;

- алгоритма решения нет.

Необходимо еще раз уточнить: решение ? это конечный результат, а алгоритм ? некоторая последовательность действий, приводящих к результату. Очевидно, что если нет алгоритма, то и нет самого решения. При одном и том же алгоритме можно получить бесконечное множество решений. А одно и то же решение может быть получено бесконечно большим числом алгоритмов. Этот вопрос разработан в теории алгоритмов [23].

3.4.2 Шаблоны задач

Шаблон ? это эффективный инструмент символьных преобразований текста. Под шаблоном обычно понимают заготовку текста, в котором некоторые элементы можно изменять в соответствии с заданным алгоритмом. Шаблоны широко используются в программировании, например, шаблоны в C++, мощный и развитый механизм, на основе которого была развита и реализована идея генерирующего программирования [24].

Под шаблоном задачи будем понимать описание задачи, в котором исходные данные и/или часть задачи могут меняться. Рассмотрим эту идею на конкретном примере. Пусть имеется задача: Петя за семестр заработал 63 балла по дисциплине АИУС, а на экзамене набрал 25 баллов. Сколько всего баллов заработал Петя?

Для того чтобы сделать из этой задачи шаблон, необходимо вместо конкретных чисел поставить параметры и алгоритмы, генерирующие значения этих параметров. Тогда эта задача может быть записана как: Петя заработал за семестр gen(x) баллов, а за экзамен получил gen(y). Сколько всего баллов заработал Петя?

Здесь:

- gen(x) ? программа, генерирующая значения для переменной x;

- gen(y) ? программа, генерирующая значения для переменной y.

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

Правильный ответ (rez=solv(x,y)),

где solv(x,y) ? программа вычисления правильного ответа.

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

Если параметр x может принять 20 различных значений, а параметр y ? 30, то общее число вариантов задач такого класса будет 600. Это уже достаточно большая выборка.

Для шаблона задачи необходимо (рис. 3.1):

1) выбрать некоторую задачу и выделить множество параметров, которое будет генерироваться;

2) записать алгоритм решения;

3) для каждого параметра записать множество изменения, это может быть список значений, интервалы или список интервалов;

4) для каждого параметра записать алгоритм генерации значения;

5) записать варианты формулировок задач. В некоторых случаях формулировка задачи может измениться в зависимости от значений параметров;

6) записать алгоритм формулировки задачи.

Тогда можно записать обобщенный алгоритм генерации задачи (рис. 3.2). Циклический характер алгоритма заключается в том, что при случайной генерации значений параметров задачи может быть ситуация, когда задача не имеет решения. Тогда процесс поиска значений параметров необходимо возобновить.

Например, если в решении задачи встречается выражение , то необходимо, чтобы для параметров а и b не выполнялось условие a= - b.

Рассмотрим для примера шаблон задачи - решение квадратного уравнения.

1) Формулировка задачи: дано квадратное уравнение . Найти корни и в ответ ввести найденные значения.

2) Параметры - a, b, c.

3) Условия решения , a не равно нулю.

4) Значения параметров лежат в пределах a=[a1,a2], b=[b1,b2], c=[c1,c2].

5) Алгоритм решения:

Рисунок 3.1 - Структура шаблона задачи

Рисунок 3.2 - Обобщенный алгоритм работы генератора задачи на основе шаблона

3.5 Технология разработки генераторов

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

1) принимается для реализации не банк вопросов, а банк шаблонов (заготовок). Каждый шаблон содержит описание генерируемого вопроса в соответствии с выбранной моделью;

2) на этапе анализа оцениваются возможности каждого шаблона по генерации вопросов, отсеиваются те, которые генерируют небольшое число вариантов или довольно трудоемки для программной реализации;

3) выбирается система программирования. Это может быть СBuilder, Delphi, VisualC и другие, которые создают DLL библиотеки;

4) создается программный образ генератора и производится тестирование и отладка генератора. Важным элементом отладки генератора является планирование тестирования, поскольку он может генерировать огромное число вопросов. Здесь предлагается поступить следующим образом: в тех случаях, когда общее число вопросов менее 100000, можно перечислить все вопросы, используя алгоритмы генерации по номеру; если общее число вопросов очень велико (общее число вопросов 5*107), то можно использовать случайную выборку в разумных пределах.

Опыт создания генераторов показал, что наиболее важной проблемой является проблема зацикливания, поскольку при создании генератора часто программируется случайная выборка параметров в цикле. Например:

генерировать(a);

цикл;

генерировать(b);

пока(a>b).

Если границы изменения параметров a и b одинаковы, то при принятии a максимального значения цикл будет бесконечным. Данный пример очевиден, однако в реальной практике встречаются более сложные случаи. Выходом из данного положения являются:

- ограничение числа итераций в цикле по счетчику или по времени и в случае зацикливания отказ от использования данного шаблона в данном процессе генерации;

- использовать алгоритмы генерации по номеру вопроса и те номера, которые некорректны, записывать в список исключений.

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

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

Процесс создания компьютерных контрольных работ и экзаменов можно разбить на следующие этапы:

1) прием задания;

2) анализ множества вопросов на предмет реализации с помощью инструментальной системы проектирования КУП;

3) доработка инструментальной системы;

4) планирование работ;

5) реализация на языке инструментальной системы;

6) отладка КУП средствами инструментальной системы;

7) внутреннее тестирование;

8) внешнее тестирование;

9) формирование программы проведения контрольной работы или экзамена на основе итоговой программы проверки;

10) рецензирование;

11) передача готовой программы в эксплуатацию.

3.6 Существующая технология создания компьютерных контрольных работ и экзаменов в ФДО ТУСУР

Технология создания компьютерных контрольных работ и экзаменов является важным элементом учебно-методической работы системы дистанционного образования. Необходимо отметить, что такие работы могут вестись децентрализовано, когда каждый методист создает сам компьютерный экзамен, используя инструментальную систему. В ФДО ТУСУР пошли по другому пути, все работы по созданию компьютерных экзаменов были переданы в лабораторию инструментальных систем моделирования и обучения (ЛИСМО). Эта централизация позволила создать группу квалифицированных специалистов: программистов, дизайнеров и методистов, которые, используя оригинальную технологию, поставили на поток разработку компьютерных контрольных работ и экзаменов. В настоящее время в базе содержится свыше 350 компьютерных контрольных работ и экзаменов. В настоящее время наметился переход к созданию генераторов компьютерных экзаменов.

Внедрение генераторов в реальные системы контроля знаний требует учитывать особенности реализации таких систем. В Томском межвузовском центре дистанционного образования разработаны и эксплуатируются: система проведения контрольных работ и система проведения компьютерных экзаменов. В основе этих систем лежит язык описания тестов, который позволяет для формулировки вопросов использовать текст, рисунки, формулы и таблицы. Отличительной особенностью данного языка от других подобных является возможность описывать формулы, используя язык представления формул, разработанный в лаборатории инструментальных систем моделирования и обучения ТУСУРа.

Выводы

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

Проанализировав существующие программы для создания тестов и существующую технологию создания компьютерных контрольных работ и экзаменов в ФДО ТУСУР, приходим к выводу, что систем позволяющих подготовиться студенту к контролю знаний по дисциплине АИУС, либо провести его преподавателю не существует. Следовательно, разработка автоматизированной системы, которая позволит генерировать и проверять задания по дисциплине АИУС, является актуальной.

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

4. Постановка задачи

Цель работы: разработать автоматизированную систему, которая позволит генерировать и проверять задания по дисциплине АИУС, в частности по разделу «Линейное программирование». В основе формирования заданий лежит алгоритм генерации по шаблону.

Система предназначена для подготовки студента по дисциплине АИУС и автоматизированной выдачи индивидуальных заданий с целью контроля знаний студентов в формате контрольной работы и экзамена.

Система должна содержать в себе:

- реализацию алгоритма генерации задания;

- реализацию алгоритма нахождения оптимального решения линейно-оптимизационной модели Симплекс-методом;

- реализацию алгоритма анализа оптимального решения на чувствительность;

- реализацию алгоритма нахождения оптимального решения системы с помощью двойственной задачи;

- реализацию алгоритма анализа и выборки данных для заполнения шаблона задания;

- тренажер для подготовки студента к контрольной работе и экзамену;

- механизм проведения контрольной работы и возможность сохранения результатов;

- возможность проверки преподавателем результатов контрольной работы;

- механизм проведения экзамена с возможностью настройки параметров выдачи заданий и сохранением результатов;

- алгоритм автоматизированной проверки преподавателем результатов экзамена.

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

5. Выбор и описание средств разработки

В настоящее время существует большое количество сред разработки, таких как СBuilder, Delphi, Visual Studio (включает С, C++, C#), различные Web-технологии (HTML, DHTML, JavaScript, PHP).

Для реализации данной системы были использованы среда разработки и технологии программ Delphi 2009, которая ориентирована на работу в Windows. Delphi 2009 - средство разработки, объединяющее обширную библиотеку компонентов, средства редактирования, рефакторинга и отладки, предоставляет в распоряжение разработчиков все необходимое для быстрого и удобного создания приложений любых типов на платформе Windows. Delphi 2009 включает полный набор инструментов для удобной разработки мощных и эффективных приложений. В основе идеологии Delphi лежит технология визуального проектирования и методология объектно-ориентированного программирования (программирования процедур обработки событий), применение которых позволяет существенно сократить время разработки и облегчить процесс создания приложений [25].

Delphi проводит полную поддержку Unicode. Приложения могут выполняться на любой языковой версии Windows. Применение Unicode гарантирует, что приложения будут одинаково выглядеть и функционировать во всех языковых версиях Windows и поддерживать как Unicode-строки, так и ANSI-строки. Новые усовершенствованные средства локализации помогают переводить приложения на различные языки. Новые элементы языков программирования, в том числе Generics и анонимные методы для Delphi, позволяют создавать более гибкий и качественный код и предоставляют новые возможности для рефакторинга; новая библиотека VCL включает в себя множество усовершенствований и новых компонентов для создания развитого графического интерфейса; уменьшено время передачи приложением сообщений операционной системе [26].

Поскольку все языки высокого уровня на данный момент примерно равномощны, то выбор языка программирования и среды разработки становится делом личных пристрастий разработчика. С++ в плане ООП на первый взгляд куда эффективнее Delphi. Но вопрос в необходимости использования этих эффективных и сложных средств. Необходимость - есть невозможность решить задачу с тем же качеством более простыми средствами. Большинство разработчиков отмечают, что дельфийский компилятор быстрее C++ на порядок. Когда требуется разработать ПО в максимально сжатые сроки и обеспечить хороший рефакторинг (читабельность, модифицируемость, удобство и оптимизацию) кода приложения, тут Delphi просто нет равных. Код хорошо структурируется, названия всех функций по сути есть сокращения английских слов (IntToStr - целое в строку; Now - возвращает дату и время сейчас; UpperCase - приводит к верхнему регистру и тд), хорошая модульность и видимость кода - все это способствует скорости разработки, а также позволяет производить ее в командном режиме более эффективно.

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

Во многом то, что Delphi является самым простым - весьма спорно. А удобство - субъективное мнение каждого.

6. Описание системы генерации заданий

6.1 Use case diagram (диаграммы прецедентов)

Пользователями системы являются студенты и преподаватели. На диаграмме прецедентов определим множество выполняемых системой функций (рис. 6.1, 6.2).

Рисунок 6.1 - Диаграмма прецедентов (студент)

Студент может в полной мере использовать тренажер. Изучив раздел «Линейное программирование», студент самостоятельно может формировать себе задание на контрольную работу. В процессе выполнения контрольной работы студент может выйти из программы с сохранением промежуточных результатов и позже продолжить работу над ней. Система «Экзамен» не позволяет студенту продолжать завершенный экзамен. Результат экзамена студент может узнать сразу по завершению работы с системой.

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

Рисунок 6.2 - Диаграмма прецедентов (преподаватель)

6.2 Функциональная модель системы

Проведя анализ выполняемых системой функций, представим функциональную модель системы с помощью методологии IDEF0 и IDEF3. Соответствующие декомпозиции модели представлены на рисунках 6.3-6.9:

Рисунок 6.3 - Модель системы в виде черного ящика

Рисунок 6.4- Декомпозиция системы генерации заданий и контроля знаний по дисциплине АИУС

Рисунок 6.5- Декомпозиция «Генерирование задания»

Рисунок 6.6- Декомпозиция «Работа с тренажером»

Рисунок 6.7- Декомпозиция «Решение Симплекс-методом»

Рисунок 6.8- Декомпозиция «Выполнение контрольной работы»

Рисунок 6.9 - Декомпозиция «Выполнение экзамена»

6.3 Структура системы

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

Графически систему можно представить в виде следующих функциональных блоков (рис. 6.10):

Рисунок 6.10 - Структура системы

Система представляет собой три Windows-приложения:

1) приложение для студентов - тренажер по алгоритму Симлекс-метода и генератор заданий на контрольную работу;

2) приложение для преподавателя - в нем реализован еще и блок «проверка решения».

3) приложение «Экзамен» - автоматизированная система для генерации заданий при проведении экзамена, проверки введенных решений и сохранения результатов.

Модуль системы «Тренажер» предназначен для закрепления на практике полученных теоретических знаний студентом и подготовки к контрольной работе либо экзамену по дисциплине АИУС. В указанном модуле студенту будет доступно выполнение, как отдельных частей («Симплекс-метод», «Анализ чувствительности», «Двойственная задача»), так и всей контрольной работы в целом. При этом студент имеет возможность прорешать множество различных примеров, получая в процессе подсказки о верности полученных предварительных результатов на каждом этапе.

Удобный и приветливый интерфейс модуль помощи «Help» в формате справки chm позволяет студенту обратиться к методическим указаниям по выполнению контрольной работы по дисциплине «АИУС» [27]. Методические указания представлены в приложении А.

Одной из основных задач системы является формирование индивидуального задания на контрольную работу каждому студенту без участия преподавателя. Модуль «Контрольная работа» позволяет студенту начать выполнение новой контрольной работы, при этом новое полученное задание сохраняется в отдельный файл. В файл дополнительно сохраняются данные, запрашиваемые от студента перед выдачей задания (ФИО, группа, e-mail). К файлу привязывается файл результатов решения, в который в процессе выполнения студентом контрольной работы сохраняются введенные им результат. Студент имеет возможность прервать программу, и спустя какой-либо промежуток времени, решив самостоятельно контрольную работу, вернуться к вводу результатов, выбрав в программе файл, в который было сохранено задание.

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

Модуль «Экзамен» в отличие от модуля «Контрольная работа» выдает более мелкие задания по объему. «Экзамен» должен применяться в учебной аудитории. Он позволяет студенту начать выполнение экзамена, при этом обязательно указание данных студента для идентификации. Данные аналогичны используемым в модуле «Контрольная работа». Преподаватель имеет возможность выбрать либо определенные части задания от всей контрольной работы, либо выбрать режим случайной выборки заданий. Результаты выполнения экзамена будут доступны студенту только после завершения выполнения экзамена. Все введенные в процессе выполнения экзамена студентом значения будут сохранены в файл результатов, что позволяет преподавателю провести дополнительный анализ и выставить оценку за экзамен.

Разработанные модули «Тренажер», «Контрольная работа», «Проверка» и «Экзамен» работают на основе блока генерация задания по шаблону. Для генерации заданий создан специальный типизированный файл MyFile.rec. В файле сохранены более 240 тысяч элементов, представляющих собой одну из строк для заполнения шаблона задания размерностью в шесть значений переменных в одной строке. При этом значения переменных в одной строке может повториться только один раз. Каждый раз при формировании задания случайным образом выбираются несколько различных элементов, количество соответственно зависит от объема условий в задании. Ясно, что сочетание, например, 3-4 элементов из 240000 позволяет представить для решения огромное число вариантов заданий, т.е. каждый студент получит различное задание. Кроме генерации самого задания, система проверяет и наличие решения у представленного задания, не выходящее за пределы 7 итераций для «Тренажера» и «Контрольной работы», а для модуля «Экзамен» ограничивается 4 итерациями.

6.4 Основные алгоритмы системы

Для реализации системы были разработаны следующие алгоритмы:

- алгоритм «Генерация задания» (рис. 6.11);

Рисунок 6.11 - Алгоритм генерации задания

- алгоритм решения оптимизационной задачи - «Симплекс-метод» (рис. 6.12);

- алгоритм «Анализ моделей на чувствительность»;

- алгоритм «Двойственная оптимизационная задача линейного программирования»;

- алгоритм пошагового выполнения задания «Тренажер для изучения Симплекс-метода»;

- алгоритм «Проверка», предназначенный для проверки преподавателем контрольной работы, выполненной студентом;

- алгоритм «Экзамен», предназначенный для формирования различных заданий на экзамене и автоматизированной проверки результатов выполнения.

Рисунок 6.12 - Алгоритм Симплекс-метода в модуле «Тренажер»

6.5 Интерфейс пользователя

На рисунках 6.13- 6.22 приведены основные экранные формы системы

Рисунок 6.13 - Основная форма приложения для преподавателя

Рисунок 6.14 - Экранная форма выполнения Симплекс-метода в модуле «Тренажер»

Рисунок 6.15 - Экранная форма выполнения анализа чувствительности в модуле «Тренажер»

Рисунок 6.16 - Экранная форма решения двойственной задачи в модуле «Тренажер»

Рисунок 6.17 - Экранная форма ввода данных студента перед получением задания

Рисунок 6.18 - Экранная форма заполнения результатов расчета контрольной работы

Рисунок 6.19 - Экранная форма проверки контрольных работ

Рисунок 6.20 - Экранная форма модуля помощи «Help»

Рисунок 6.21 - Пример ввода ответа в модуле «Экзамен»

Рисунок 6.22 - Результат выполненного экзамена

Методы работы с системой описаны в руководстве пользователя приложение Б.

6.6 Тестирование

Для проверки работоспособности системы проведен расчет одного из вариантов контрольной работы ручным методом. После чего полученные данные введем в систему и сравним итоговые результаты.

Дана задача линейного программирования:

1. Необходимо найти оптимальное решение модели Симплекс-методом.

Решение состоит из пяти итераций, в результате которых получаем:

Оптимальное решение имеет вид:

Ниже приведен пример ввода результата расчетов Симплекс-методом (рис. 6.23).

Рисунок 6.23 - Ввод результата расчетов Симплекс-методом

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

Небазисными переменными являются: x1, x2, x3, x6.

Предположим, что коэффициент при x получает положительное приращение д. Тогда строка 0 исходной системы примет вид:

На заключительной итерации, строка 0 примет вид:

Если д1 > , то коэффициент при x1 примет отрицательное значение, так же если д2 > , то коэффициент при x2 примет отрицательное значение, то решение перестанет быть оптимальным, аналогично с д3 и д6.

Следовательно, получаем:

д1 <; д2 <; д3 < д6 < .

Запишем целевую функцию на последней итерации с измененным коэффициентом при базисной переменной x4:

стр(0)

Так как x4 по-прежнему входит в базис, то необходимо исключить x4 из строки (0). Для этого умножим строку (3) на д и прибавим к строке (0). В результате получим:

Отсюда следует, что при выполнении условия полученное решение остается оптимальным.

Запишем целевую функцию на последней итерации с измененным коэффициентом при базисной переменной x5:

Так как x5 по-прежнему входит в базис, то необходимо исключить x5 из строки (0). Для этого умножим строку (1) на д и прибавим к строке (0). В результате получим:

Отсюда следует, что при выполнении условия полученное решение остается оптимальным.

Находим пределы, в которых могут меняться константы в правых частях, не нарушая оптимальности прежнего решения. Таким образом, ранее полученное решение останется допустимым, если:

;

.

Ниже приведен пример ввода результата расчетов анализа на чувствительность (рис. 6.24).

компьютерный учебный тестирующий генератор

Рисунок 6.24 - Ввод результата расчетов анализа на чувствительность

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

Результат выглядит следующим образом:

Следовательно, получаем:

Ниже приведен пример ввода результата расчетов двойственной задачи (рис. 6.25).

Рисунок 6.25 - Ввод результата расчетов двойственной задачи

При проверке преподавателем выполненной контрольной работы программа выведет следующий результат (рис. 6.26-6.28).

Результаты, полученные при ручных расчетах и выданные системой, полностью совпадают. Следовательно, алгоритмы, использованные системой верны, то есть она полностью готова к использованию в учебном процессе.

Рисунок 6.26 - Проверка результата расчетов Симплекс-метода

Рисунок 6.27 - Проверка результата расчетов анализа на чувствительность

Рисунок 6.28 - Проверка результата расчетов двойственной задачи

7. Технико-экономическое обоснование проекта

7.1 Обоснование целесообразности разрабатываемой программы

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

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

Системы представляет собой программный комплекс, состоящие из нескольких типов компьютерных учебных программ. Комплекс содержит: экзаменатор, модуль проведения контрольной работы, тренажер, компьютерный справочник по теме, созданные в рамках темы «Линейное программирование» дисциплины АИУС. Таким образом, система является интегрированной. Аналогичных систем не существует.

7.2 Планирование комплекса работ по разработке темы

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

Для разработки проекта было задействовано два человека:

- руководитель проекта;

- исполнитель (программист-разработчик).

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

Трудоемкость работ определялась с учетом срока окончания работ, особенностей работы с данной вычислительной техникой, выбранной среды программирования, объемом информации.

В результате составления перечня работ был получен список из 15 пунктов. Результат представлен в таблице 8.1.

Наиболее ответственной частью этого раздела является определение трудоёмкости отдельных видов работ.

Расчёт ожидаемой продолжительности работы tож проведён по формуле:

(7.1)

где tmin - кратчайшая продолжительность заданной работы (оптимистическая оценка);

tmax - самая большая продолжительность работы (пессимистическая оценка);

tн.в. - наиболее вероятная продолжительность работы (реалистическая оценка);

Значения рассчитанной ожидаемости продолжительности tож. представлены в таблице 7.1.

Таблица 7.1

Оценки для определения продолжительности работ

Наименование работ

Исполнители (должность)

Количество, чел

Трудоемкость, tож дни

1. Постановка задачи

Руководитель

Инженер

1

1

1

1

2. Составление, согласование и утверждение технического задания

Руководитель

Инженер

1

1

2

2

3. Сбор и изучение научно-технической литературы, нормативно-технической документации

Руководитель

Инженер

1

1

2

9

4. Составление аналитического обзора состояния вопросов по теме

Руководитель

Инженер

1

1

2

12

5. Анализ и реализация алгоритма решения оптимизационной задачи - "Симплекс-метод"

Руководитель

Инженер

1

1

2

7

6. Анализ и реализация алгоритма "Анализ чувствительности"

Руководитель

Инженер

1

1

2

5

7. Анализ и реализация алгоритма "Двойственная задача"

Руководитель

Инженер

1

1

2

5

8. Разработка алгоритмического модуля генерации заданий

Руководитель

Инженер

1

1

1

4

Наименование работ

Исполнители (должность)

Количество, чел

Трудоемкость, tож дни

9. Разработка модуля "Тренажер"

Руководитель

Инженер

1

1

3

8

10. Разработка модуля справочника по теме "Линейное программирование"

Руководитель

Инженер

1

1

1

3

11. Разработка модуля "Контрольная работа" и алгоритмов проверки решений

Руководитель

Инженер

1

1

3

12

12. Разработка модуля "Экзамен" и алгоритмов проверки решений

Руководитель

Инженер

1

1

3

15

13. Разработка вопросов безопасности жизнедеятельности и охраны труда

Инженер

1

5

14. Разработка экономической части работы

Инженер

1

5

15. Оформление и проверка работы

Руководитель Инженер

1

1

3

11

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

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

На основе данных таблицы 7.1 представим ленточный график загрузки участников разработки в виде таблицы 7.2, а так же календарный план работ в виде таблицы 7.3.

Таблица 7.2

Ленточный график загрузки участников работ

Таблица 7.3

Календарный план работ

n/n

Название этапа

Длительность, дни

Период

1

Постановка задачи

1

10.01.11

2

Составление, согласование и утверждение технического задания

2

с 11.01.11 по 12.01.11

3

Сбор и изучение научно-технической литературы, нормативно-технической документации

9

с 13.01.11 по 25.01.11

4

Составление аналитического обзора состояния вопросов по теме

12

с 26.01.11 по 10.02.11

5

Анализ и реализация алгоритма решения оптимизационной задачи - «Симплекс-метод»

7

с 11.02.11 по 21.02.11

6

Анализ и реализация алгоритма «Анализ чувствительности»

5

с 22.02.11 по 1.03.11

7

Анализ и реализация алгоритма «Двойственная задача»

5

с 2.03.11 по 9.03.11

8

Разработка алгоритмического модуля генерации заданий

4

С 10.03.11 по 15.03.11

9

Разработка модуля «Тренажер»

8

с 16.03.11 по 25.03.11

n/n

Название этапа

Длительность, дни

Период

10

Разработка модуля справочника по теме "Линейное программирование"


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.