49324

ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ МОДУЛЯ ПРОХОЖДЕНИЯ ТЕСТИРОВАНИЯ СИСТЕМЫ ПРОВЕРКИ УЧАЩИХСЯ НА ЗНАНИЕ АЛГОРИТМОВ

Курсовая

Информатика, кибернетика и программирование

Обзор систем тестирования Приложение Визуальная студия тестирования Система тестирования INDIGO

Русский

2013-12-25

1.58 MB

21 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение

высшего профессионального образования

«Дальневосточный федеральный университет»

ШКОЛА ЕСТЕСТВЕННЫХ НАУК

Кафедра прикладной математики, механики, управления и программного обеспечения

Пищикова Юлия Александровна

ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ МОДУЛЯ ПРОХОЖДЕНИЯ ТЕСТИРОВАНИЯ СИСТЕМЫ ПРОВЕРКИ УЧАЩИХСЯ НА ЗНАНИЕ АЛГОРИТМОВ

КУРСОВАЯ  РАБОТА

Студент гр. С8404    __________________

                                                                    (подпись)

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

__________________  С.Н. Остроухова

Регистрационный №  ______________

___________  _____________________

     подпись                      И.О.Фамилия

« _____» ___________________  20  г.

Оценка  _________________________

____________  ___________________

         подпись                            И.О.Фамилия

«_____» ________________ 20   г.

г. Владивосток

2012 г.

Оглавление

Оглавление 2

Введение 5

1 Обзор предметной области 7

1.1 Обзор систем тестирования 7

1.1.1 Приложение «Визуальная студия тестирования» 8

1.1.2 Система тестирования «INDIGO» 10

1.2 Объекты предметной области 12

1.3 Модель предметной области 14

2 Требования к ПС «Модуль прохождения тестирования» 15

2.1 Функциональные требования 15

2.1.1 Взаимодействие с БД 15

2.1.2 Взаимодействие с пользователем 15

2.1.3 Преобразование данных 15

2.2 Требования к интерфейсу 16

2.3 Аппаратные требования 16

2.4 Пользовательские требования 16

2.5 Требования к входным данным 17

2.5.1 Типы входных данных и ограничения к ним: 17

2.5.2 Требования к значениям входных данных: 17

2.6 Требования к выходным данным. 17

2.6.1 Типы выходных данных шага и ограничения к ним: 17

2.6.2 Требования к значениям выходных данных шага: 18

2.6.3 Результаты выполнения теста. 18

3 Проектирование программного средства 19

3.1 Глоссарий 19

3.2 АКД 20

3.4 Проект БД 22

3.5 Диаграмма use cases 27

4 Разработка модуля прохождения тестирования 28

4.1 Обоснование выбора средств разработки 28

4.2 Описание прототипа системы 29

4.2.1 Выбор типа тестирования 29

4.2.2 Выбор дисциплины 29

4.2.3 Выбор темы 30

4.2.4 Выбор алгоритма 30

4.2.5 Тестирование 31

4.2.6 Отправление полученных данных 36

5 Тестирование 37

5.1 Выходные и выходные данные 37

5.1.1 Вектор 37

5.1.2 Матрица 38

5.1.3 Число 38

5.1.4 Строка 39

5.2 Следующие шаги алгоритма 39

5.2.1 Один следующий шаг 40

5.2.2 Несколько следующих шагов 40

5.3 Отмена последнего действия 41

5.4 Завершение тестирования 42

Заключение 43

Список литературы 44


Введение

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

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

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

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

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

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

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

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

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

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


1 Обзор предметной области

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

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

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

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

1.1 Обзор систем тестирования

В данном разделе представлен обзор программных средств для прохождения тестирования. Этими средствами являются:

  1. приложение «Визуальная студия тестирования»;
  2. система тестирования «INDIGO».

1.1.1 Приложение «Визуальная студия тестирования»

Комплекс состоит из модулей:

редактор тестов – для создания тестовых заданий;

редактор сценариев – для задания параметров тестирования студентов;

тестовая оболочка – для проведения тестирования в образовательном учреждении;

результаты тестирования – для анализа и просмотра результатов тестирования;

списки студентов – для управления списками групп и студентов;

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

Редактор тестов позволяет создавать тестовые задания 7 различных видов: Да/Нет, выбор одного или нескольких правильных ответов, ввод числа или слова, установление последовательности и соответствия. При создании текста можно использовать формулы, рисунки и сложное форматирование.

Рисунок 1 – Приложение «Визуальная студия тестирования», прохождение тестирования

На рисунке 1 изображено окно, в котором происходит прохождение тестирования.

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

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

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

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

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

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

Рисунок 2 – Приложение «Визуальная студия тестирования», результат тестирования

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

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

1.1.2 Система тестирования «INDIGO»

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

Система тестирования «INDIGO» представляет собой комплекс программного обеспечения, который состоит из двух частей:

Windows-приложение – интерфейс администратора тестовой оболочки (учителя, преподавателя, тестолога), реализует следующие функции:

  1. создание тестов и их редактирование;
  2. управление базой тестов;
  3. управление базой пользователей;
  4. управление WEB-сервером и правилами тестирования;
  5. доступ к результатам тестирования.

Рисунок 3 – Система тестирования «INDIGO», Windows-приложение

На рисунке 3 изображен интерфейс Windows-приложения данной системы тестирования, просмотр результатов.

Web-интерфейс – интерфейс пользователя тестовой оболочки (школьника, студента, сотрудника), реализует следующие функции:

  1. регистрация и авторизация пользователей в системе;
  2. просмотр доступных тестов;
  3. выбор теста и проведение тестирования;
  4. просмотр результатов тестирования;
  5. доступ к журналу результатов.

Рисунок 4 – Система тестирования «INDIGO», Web-приложение

На рисунке 4 изображен web-интерфейс данной системы тестирования, прохождение теста.

1.2 Объекты предметной области

Алгоритм характеризуется:

дисциплиной, к которой он принадлежит, а также темой в дисциплине;

количеством шагов;

входными и выходными данными;

временными настройками.

Шаг алгоритма – атомарный элемент алгоритма. Характеризуется:

входными данными;

выходными данными;

весом;

временными настройками.

Входными и выходными данными могут быть:

числа;

строки;

матрица или вектор;

граф или дерево (также могут быть представлены в виде матрицы).

Преподаватель создаёт тесты.

Студент проходит тестирование.

Тест – один или несколько алгоритмов.

Исходные материалы характеризуются:

  1. дисциплиной;
  2. лекциями;
  3. темой дисциплины.

Результат тестирования – выполненный алгоритм. То есть алгоритм, у которого заполнены выходные данные для каждого шага.

Дисциплина характеризуется:

  1. темами дисциплины;
  2. преподавателем.

1.3 Модель предметной области

Рисунок 5 – Модель предметной области

На рисунке 5 представлена модель предметной области в виде ориентированного графа. Вершины графа – понятия предметной области, ребра – отношения между понятиями.

Преподаватель, используя исходные материалы и свои знания, создает алгоритм. Затем студент выполняет алгоритм на полученных входных данных и создает результат тестирования, а преподаватель проверяет их и на основе полученных данных ведёт статистику.


2 Требования к ПС «Модуль прохождения тестирования»

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

2.1 Функциональные требования

Здесь описаны обязанности ПС.

2.1.1 Взаимодействие с БД

Модуль должен:

иметь возможность получать примеры входных данных для алгоритма из БД входных данных;

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

2.1.2 Взаимодействие с пользователем

Модуль должен:

предоставлять студенту возможность выбора следующего шага;

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

предоставлять возможность вводить выходные данные для каждого шага алгоритма;

предоставлять возможность завершать тестирование;

предоставлять описание шагов для текущего алгоритма;

обеспечивать возможность редактирования вводимых данных.

2.1.3 Преобразование данных

Модуль должен:

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

отображать входные данные для алгоритма;

на основе описаний и ограничений выходных данных шага генерировать соответствующий интерфейс;

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

отправлять данные в БД алгоритмов.

2.2 Требования к интерфейсу

ПС должно обладать русскоязычным интерфейсом;

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

2.3 Аппаратные требования

На компьютере, где должна выполняться программа должны быть установлены и настроены на совместную работу следующие программные продукты:

Linux, Windows XP или выше;

браузер Chrome 13+;

активное интернет-соединение.

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

JDK 1.7.0;

Play! Framework 2.0.1;

MySQL 5.1.

2.4 Пользовательские требования

ПС должно быть рассчитано на пользователя, который:

умеет обращаться с такими периферийными устройствами, как: мышка и клавиатура;

знаком с представленной в программном средстве предметной областью;

обладает навыками работы с браузером и интернет-ресурсами.

2.5 Требования к входным данным

Описание  входных данных характеризуется:

Типом

Ограничениями

Значением

2.5.1 Типы входных данных и ограничения к ним:

Модуль должен поддерживать работу с данными следующих типов:

Число. Ограничение: натуральное число от 0 до 99;

Строка. Ограничение: не более 20 символов;

Матрица. Ограничение: размерность матрицы m x n, m и n – числа в диапазоне от 4 до 15, элементы матрицы – натуральные числа от 0 до 99;

Вектор. Ограничение: длина вектора не более 15 и не менее 4, элементы вектора – натуральные числа от 0 до 99;

2.5.2 Требования к значениям входных данных:

Входными модуля является строка, в строке указаны входные данные алгоритма. Данные матрицы или вектора берутся в скобки, и каждая строка в матрице тоже берется в скобки. Например, ((1 2) (3 4) (5 6)). В строке элементы меду собой должны разделяться пробелом.

2.6 Требования к выходным данным.

Выходные данные характеризуется:

Типом

Ограничениями

Значением

2.6.1 Типы выходных данных шага и ограничения к ним:

Модуль должен поддерживать работу с данными следующих типов:

Число. Ограничение: натуральное число от 0 до 99;

Строка. Ограничение: не более 20 символов;

Матрица. Ограничение: размерность матрицы m x n, m и n – числа в диапазоне от 4 до 15, элементы матрицы – натуральные числа от 0 до 99;

Вектор. Ограничение: длина вектора не более 15 и не менее 4, элементы вектора – натуральные числа от 0 до 99;

2.6.2 Требования к значениям выходных данных шага:

Данные числа, строки, матрицы или вектора берутся в скобки, и каждая строка в матрице тоже берется в скобки. Например, ((1 2) (3 4) (5 6)). В строке элементы меду собой должны разделяться пробелом.

2.6.3 Результаты выполнения теста. 

Здесь описаны требования к формату выходных данных, записанных в файл.

algorithm: <id алгоритма>

input data: <id примера>

{step:

step number: <номер шага>

step id: <id шага>

limit of output data: <id описания выходных данных шага>,

data: <выходные данные>}


3 Проектирование программного средства

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

3.1 Глоссарий

Основные понятия и определения предметной области:

Преподаватель – преподаватель высшего учебного заведения (создает тесты).

Студент - студент очной или заочной формы обучения высшего учебного заведения (проходит тестирование).

Тестирование - это форма измерения знаний учащихся, основанная на применении тестов.

Результат тестирования – тест с выбранными или заполненными ответами.

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

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

Вес тестового задания – значимость тестового задания при расчете результата тестирования; задается в зависимости от сложности задания.

Шаг алгоритма – ситуационное тестовое задание. Характеризуется входными и выходными данными.

Алгоритм – это последовательность действий, направленных на получение определённого результата за конечное число шагов.

Входные данные – начальные данные, необходимые для выполнения шага алгоритма.

Выходные данные – данные, которые получились в результате выполнения шага алгоритма из входных данных.

Инструкциядокумент, содержащий указания, устанавливающие порядок и способ выполнения тестирования

Время тестирования – ограниченное время, необходимое для выполнения алгоритма на заданных входных данных.

3.2 АКД

Рисунок 6 – АКД

На рисунке 6 представлена архитектурно-контекстная диаграмма для модуля прохождения тестирования.

БД пользователей – база данных, в которой хранятся логины и пароли пользователей системы тестирования;

БД алгоритмов – база данных, в которой хранятся алгоритмы;

БД результатов тестирования – база данных, в которой хранятся результаты тестирования для каждого пользователя;

БД статистических данных – база данных, в которой хранятся статистические данные для каждых входных данных алгоритмов;

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

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

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

Модуль генерации отчетов – модуль, отвечающий за генерацию отчетов по запросу пользователя.

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

Модуль прохождения тестирования – модуль, ответственный за прохождение тестирования. Доступен и студенту, и преподавателю. Он взаимодействует с модулем генерации входных данных и БД 2, проверяет правильность выполнения алгоритма студентом и посылает результаты прохождения теста в БД 5.

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

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

Библиотека – хранилище библиотек функций для алгоритмов, библиотека классов; база данных классов, библиотек функций для системы тестирования. В ней хранятся данные:

  1. Название библиотеки;
  2. Функции библиотеки;
  3. Класс;
  4. Структура данных;
  5. Преобразования над структурой данных.

3.4 Проект БД

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

о преподавателе:

  1. логин (любые символы, длина от 1 до 50 символов);
  2. пароль (любые символы, длина от 1 до 50 символов);
  3. ФИО (любые русские символы, длина от 1 до 50 символов);
  4. дисциплина (ссылка на таблицу с дисциплинами);
  5. кафедра (длина от 1 до 200 символов).

о студенте:

  1. логин (любые символы, длина от 1 до 50 символов);
  2. пароль (любые символы, длина от 1 до 50 символов);
  3. ФИО (любые русские символы, длина от 1 до 50 символов);
  4. группа (длина от 1 до 20 символов).

БД алгоритмов – база данных, в которой хранятся следующая информация:

о дисциплине:

  1. название (любые символы от 1 до 200);
  2. код дисциплины (длина от 1 до 20 символов);
  3. темы, которые изучаются в данной дисциплине (длина от 1 до 200 символов).

об алгоритме:

  1. название алгоритма (длина от 1 до 250);
  2. преподаватель (ссылка на таблицу с преподавателями);
  3. тема (ссылка на таблицу с дисциплинами);
  4. входные данные алгоритма (описание входных данных алгоритма);
  5. выходные данные алгоритма (описание выходных данных алгоритма);
  6. шаги алгоритма (ссылка на таблицу с шагами).

о шагах алгоритма:

  1. вес каждого шага алгоритма (целое число);
  2. входные данные каждого шага (описание входных данных шага, описано в требованиях);
  3. выходные данные каждого шага (описание выходных данных шага, описано в требованиях);
  4. время выполнения шага (в формате ЧЧ:ММ:СС);
  5. структура данных (ссылка на таблицу со структурами данных);
  6. описание (неформальное описание шага алгоритма, строка от 1 до 250 символов).

о структурах данных:

  1. название (строка от 1 до 50 символов);
  2. ограничения (строка, формат ограничений описан в требованиях);
  3. ссылка на описание (строка от 1 до 256 символов, ссылается на файл, в котором структура описана более подробно, путь к файлу).

БД входных данных – содержит входные данные, которые уже использованы или будут использоваться.

алгоритм:

  1. описание входных данных (ссылка на таблицу);
  2. входные данные (строка, формат входных данных описан в требованиях);
  3. шаги (ссылка на таблицу).

для каждого шага:

  1. описание входных данных (формат описания входных данных указан в требованиях);
  2. входные данные (строка, формат входных данных описан в требованиях);
  3. структура данных(ссылка на таблицу со структурами данных).

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

студент (ссылка на таблицу со студентами);

дата (формат даты: ДД:ММ:ГГГГ);

время (формат времени: ЧЧ:ММ:СС);

алгоритм (ссылка на таблицу с алгоритмами);

для каждого шага:

  1. входные данные (формат входных данных описан в требованиях);
  2. выходные данные (формат выходных данных описан в требованиях);
  3. номер шага (целое число);
  4. ошибки (ссылка на таблицу с типами ошибок);
  5. набранное количество баллов (целое число);
  6. время выполнения (формат времени: ЧЧ:ММ:СС);
  7. максимальное количество баллов (целое число).


Рисунок 7 – Схема связей БД

На рисунке 7 представлена схема базы данных.


3.5 Диаграмма use cases

Рисунок 8 – Диаграмма use cases

На рисунке 8 представлена диаграмма use cases. Пользователь (студент) может использовать систему только для прохождения тестирования. Чтобы начать прохождение тестирования следует выбрать тип теста (тренировка или контрольная работа), затем, выбрать дисциплину, тему, алгоритм и, наконец, начать тестирование.

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


4 Разработка модуля прохождения тестирования

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

4.1 Обоснование выбора средств разработки

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

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

Были проанализированы 5 java-фреймворков по нескольким параметрам.

Были рассмотрены следующие фреймворки:

Grails;

Spring Framework;

Play! Framework;

Google Web Toolkit;

Vaadin.

Т а б л и ц а 1 – Сравнение фреймворков

Параметр

Grails

Spring

Play!

GWT

Vaadin

MVC

+

+

+

+/- (MVP)

+/-

ЯП

Java

Java

Scala, Java

Java, JavaScript

Java

Поддержка ORM

+ (Grails ORM)

+

+

+

+

AJAX

+/-

+

+

+

+

Поддержка безопасности

+/-

+

+

+

+/-

Сложность установки

Средняя

Средняя

Низкая

Средняя

Низкая

Требует настройки

Немного

Много

Немного

Немного

Немного

Русскоязычная документация

-

+

-

+

-

Простота развертывания первого приложения

Легко

Средне

Легко

Легко

Средне

Производительность

Хорошо

Хорошо

Средне

Отлично

Поддержка тестов

+

+

+

+/-

+

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

Play! Framework;

Google Web Toolkit.

Play! Framework наиболее изучен, следовательно, данный фреймворк будет использован для разработки системы тестирования.

4.2 Описание прототипа системы

Здесь представлено описание разработанного программного средства, обзор его функций.

4.2.1 Выбор типа тестирования

Рисунок 9 – Выбор типа тестирования

На рисунке 9 изображено окно выбора типа тестирования. Студент может выбрать либо «Тренировочное тестирование», либо «Контрольная работа».

4.2.2 Выбор дисциплины

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

Рисунок 10 – Выбор дисциплины

На рисунке 10 изображено окно выбора дисциплин.

4.2.3 Выбор темы

Далее предоставляется выбор темы дисциплины.

Рисунок 11 – Выбор темы

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

4.2.4 Выбор алгоритма

И наконец, когда выбрана тема, нужно выбрать алгоритм.

Рисунок 12 – Выбор алгоритма

На рисунке 12 изображено окно выбора алгоритма.

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

Когда будет выбран алгоритм, перед студентом появятся входные данные, полученные либо из БД входных данных, либо от модуля генерации входных данных.

4.2.5.1 Начало тестирования

Рисунок 13 – Начало тестирования, контрольная работа

На рисунке 13 изображено окно, в котором будет происходить тестирование. Чтобы начать тестирование, следует нажать на кнопку «Начать тестирование». Если студент выполняет контрольную работу, то входные данные для алгоритма будут взяты в БД входных данных случайным образом. Это можно увидеть на рисунке 13.

Рисунок 14 – Начало тестирования, тренировочное тестирование

Если же студент проходит тренировочное тестирование, то ему будет предложено ввести свои входные данные. Это можно увидеть на рисунке 14, здесь входные данные уже введены студентом.

4.2.5.2 Выбор следующего шага

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

Рисунок 15 – Всплывающая подсказка, поля ввода для числа

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

Рисунок 16 – Поля ввода для вектора.

На рисунке 16 изображена структура данных, соответствующая вектору (переменная array).

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

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

 

Рисунок 17 – Следующий шаг.

На рисунке 17 изображен выбор следующих шагов. Если пользователь хочет перейти к выбранному шагу, ему следует нажать на кнопку «Перейти к шагу <номер выбранного шага>».

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

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

Также студент может посмотреть описание шагов алгоритма. Это можно сделать, если нажать на кнопку «Открыть описание шага алгоритма».

Рисунок 18 – Описание шага алгоритма

На рисунке 18 представлено описание 1-го и 2-го шага алгоритма. Если нажать на кнопку «Скрыть описание шага», то описание исчезнет.

4.2.5.3 Завершение тестирования

После того, как студент заполнит все нужные поля, он может завершить тестирование.

Рисунок 19 – Завершение тестирования

На рисунке 19 изображено всплывающее окно, которое появится после нажатия на кнопку «Закончить тестирование», после завершения тестирования откроется окно выбора типов тестирования, изорбраженное на рисунке 9.

Студент не сможет больше ничего изменить после того, как он нажал кнопку «Завершить тестирование».

4.2.6 Отправление полученных данных

После завершения тестирования все данные, введенные студентом в поля ввода, сохраняются в файл в определенном формате (формат выходных данных описан в требованиях).

Там полученные данные будут сохранены и проверены другим модулем.

 


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

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

Было добавлено несколько примеров для алгоритмов.

5.1 Выходные и выходные данные 

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

5.1.1 Вектор

Рисунок 20 – Вектор

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

5.1.2 Матрица 

Рисунок 21 – Матрица

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

5.1.3 Число

Рисунок 22 – Число

В поле ввода, представляющее число, может быть введено только число.

5.1.4 Строка

Рисунок 23 – Строка

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

5.2 Следующие шаги алгоритма

За некоторыми шагами в алгоритме может следовать не один шаг, а несколько. Был добавлен алгоритм, в котором у шага может быть несколько следующих шагов.

5.2.1 Один следующий шаг

Рисунок 24 – Выбор следующего шага (один шаг)

На рисунке 24 представлен шаг, у которого может быть только один следующий шаг.

5.2.2 Несколько следующих шагов

Рисунок 25 – Выбор следующего шага (несколько шагов)

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

5.3 Отмена последнего действия

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

Рисунок 26 – Отмена следующего шага

На рисунке 26 видно, что 2 шаг можно отменить. После нажатия на кнопку «Отменить», окно будет выглядеть так, как это видно на рисунке 25. При этом предыдущие шаги так же можно отменить (только если шаг не является первым).

5.4 Завершение тестирования

Рисунок 27 – Завершение тестирования

После нажатия на кнопку «Закончить тестирование» появляется всплывающее окно, при нажатии в этом окне на кнопку «ОК» все введенные данные сохраняются в файл в определенном виде, при нажатии на кнопку «Отменить» можно дальше продолжать прохождение тестирования.


Заключение

В ходе выполнения курсовой работы было сделано следующее:

проведен обзор предметной области «тестирование» и обзор существующих систем тестирования;

проведен анализ и построена модель предметной области «тестирование»;

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

создан проект базы данных системы;

проведен анализ средств реализации системы;

разработан прототип модуля прохождения тестирования.

Результатами курсовой работы являются:

обзор литературы;

анализ и модель предметной области «тестирование»;

архитектурно-контекстная диаграмма;

проектная документация к ПС;

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


Список литературы

  1. Проектирование модулей системы AlgoTest – Пищикова Ю.А., курсовая работа, г. Владивосток, 2011 г.

JavaServer Pages Technology [Электронный ресурс]. – URL: http://www.oracle.com/technetwork/java/javaee/jsp/index.html. Дата обращения 07.04.2012

Vaadin - thinking of U and I - vaadin.com [Электронный ресурс]. – URL: https://vaadin.com/home. Дата обращения 14.04.2012

Grails - The search is over. [Электронный ресурс]. – URL:  http://www.grails.org/. Дата обращения 07.04.2012

Spring framework - на русском [Электронный ресурс]. – URL: http://www.spring-source.ru/. Дата обращения 02.10.2011

Home — Playframework [Электронный ресурс]. – URL:  http://www.playframework.org. Дата обращения 05.11.2011

Google Web Toolkit Blog [Электронный ресурс]. – URL:  http://googlewebtoolkit.blogspot.com/. Дата обращения 23.10.2011

Google Web Toolkit — Google Developers [Электронный ресурс]. – URL: https://developers.google.com/web-toolkit/?hl=ru. Дата обращения 23.10.2011

Система тестирования [Электронный ресурс]. – URL:  http://www.mmis.ru/Default.aspx?tabid=54. Дата обращения 02.06.2012

Система «INDIGO» — программа для создания тестов, тестирования, тестовая оболочка, конструктор тестов [Электронный ресурс]. – URL: http://indigotech.ru/. Дата обращения 02.06.2012

jQuery: The Write Less, Do More, JavaScript Library [Электронный ресурс]. – URL: http://jquery.com/. Дата обращения 28.05.2012


 

А также другие работы, которые могут Вас заинтересовать

82760. Понятие культуры. Функции культуры 40.85 KB
  Несмотря на многообразие научных взглядов на культуру как систему, существуют и общие (традиционные) положения, поддерживаемые большинством исследователей. Многие ученые рассматривают культуру как сложное многокомпонентное явление, связанное с многообразием жизни и деятельности человека.
82761. Развитие прокуратуры в переходный период. Упразднение прокуратуры СССР Постановлением Президиума ВС РСФСР от 28.12.1991 года 27.19 KB
  С распадом СССР в начале 90-х годов прошлого века органы военной прокуратуры как и вся страна переживали непростые времена: трудности в экономике резко осложнили финансирование вооружённые конфликты в различных регионах лавинообразный всплеск преступности многочисленные реорганизации вызвали...
82762. Расходы бюджетной системы 592 KB
  В современных условиях бюджетные кредиты предоставляются в основном в форме связанных кредитов иностранных государств зарубежных банков фирм и международных финансовых организаций. Таким образом сумма налога на имущество физических лиц в следующем финансовом году составит...
82763. Биологический возраст человека 41.42 KB
  Определение биологического возраста. Понятие биологического возраста возникло в результате осознания неравномерности развития зрелости и старения. Биологический возраст может опережать либо отставать от хронологического возраста.
82764. Білінгвізм як психолінгвістичний феномен 43.01 KB
  Двомовність привертає увагу лінгвістів, психологів, педагогів відповідно до динаміки когнітивних підходів до опису мовних явищ та мовленнєвих процесів. У вивченні й оволодінні іноземною мовою надзвичайно велику роль відіграють різноманітні нейро- та психолінгвістичні аспекти.
82765. Типическое и индивидуальное в образах Онегина и Ленского 38.77 KB
  Цели: Формировать у учащихся представление об эпохе, в которой жил и создавал свои произведения А.С. Пушкин; Раскрыть причину недуга времени - равнодушия, разочарования во всем; Воспитывать чувство прекрасного и уважение к русской культуре.
82766. Давление и сила давления 67.5 KB
  Как вы считаете какие задачи нам нужно решить что нужно узнать о давлении чтобы разгадать всю тайну Учащиеся называют что нужно узнать о давлении что такое давление чем оно характеризуется от чего зависит как его рассчитать где применяется.
82767. Царство Грибов. Плесневые грибы 40.08 KB
  Дидактическая цель: Создать условия для осознания и осмысления блока новой учебной информации средствами критического мышления. Тип урока: комбинированный( изучения нового материала и первичное закрепление); Методы обучения: частично – поисковый, репродуктивный...
82768. С любовью на все времена. Ко Дню 8 Марта 41 KB
  Без солнца не цветут цветы без любви нет счастья без женщин нет любви без матери нет ни поэта ни героя. Горький Ведущий что может быть на свете священнее имени матери Человек еще не сделавший ни одного шага по земле и только только начинающий лопотать неуверенно и старательно складывает...