47268

Разработка модуля добавления и редактирования алгоритмов в системе тестирования учащихся на понимание алгоритмов «СТУПА»

Дипломная

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

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

Русский

2013-11-27

2.81 MB

31 чел.

Аннотация

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

Дипломная работа посвящена разработке модуля добавления и редактирования алгоритмов в системе тестирования учащихся на понимание алгоритмов «СТУПА».  

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

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


Оглавление

[1]
Введение

[2]
1 Компьютерное тестирование знаний

[2.1] 1.1 Основные понятия

[2.1.1] 1.1.1 Тестовые задания. Типы тестовых заданий

[2.1.2] 1.1.2 Классификация тестов

[2.1.2.1] Классификация тестов по процедуре анализа результатов выполнения:

[2.1.2.2] Классификация тестов по процедуре формирования очереди представления:

[2.1.2.3] Классификация тестов по процедуре информационной защиты:

[2.1.2.4] Классификация по направленности теста:

[2.1.2.5] Классификация тестов по цели:

[2.2] 1.2 Контроль знаний учащихся

[2.2.1] 1.2.1 Этапы развития контроля знаний учащихся

[2.2.2] 1.2.2 Компьютерный контроль знаний

[2.3] 1.3 Системы компьютерного контроля знаний

[2.3.1] 1.3.2 Системы тестирования с возможностью генерации тестов

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

[2.3.1.2] 1.3.2.2 Система тестирования «INDIGO»

[2.3.2] 1.3.3 Системы тестирования с автоматической генерацией тестовых заданий

[2.3.2.1] 1.3.3.1 Автоматизированная система тестирования знаний «НЕЙРОН»

[2.3.2.2] 1.3.3.2 Система тестирования факультета дистанционного обучения ТУСУР

[2.3.3] 1.3.4 Анализ систем тестирования

[3]
2 Описание предметной области «Тестирование учащихся на понимание алгоритмов», задач и методов их решения

[3.1] 2.1 Содержательное описание предметной области

[3.2] 2.2 Основные понятия предметной области

[3.3] 2.3 Объекты предметной области

[3.4] 2.4 Связи между объектами ПО

[3.5] 2.4 Модель предметной области

[3.6] 2.5 Задачи

[3.7] 2.6 Методы решения поставленных задач

[3.7.1] 2.6.1 Составление алгоритмов

[3.7.2] 2.6.2 Выполнение алгоритмов

[3.7.3] 2.6.3 Составление сеанса тестирования

[3.7.4] 2.6.4 Оценивание результатов тестирования

[3.7.5] 2.6.5 Составление банка входных данных

[4]
3 Проектная документация

[4.1] 3.1 Назначение программного средства

[4.2] 3.2 Архитектурно-контекстная диаграмма

[4.3] 3.3 Требования к ПС

[4.4] 3.4 Диаграмма вариантов использования

[4.5] 3.5 Проектирование архитектуры в MVC

[4.6]
3.6 Проект БД

[4.6.1] 3.6.2 Схема базы данных

[4.6.2] 3.6.3. Даталогическое проектирование

[5]
4 Реализация

[5.1] 4.1 Описание средств реализации

[5.2] 4.2 Сценарий диалога с пользователем

[5.3] 4.3 Выводы

[6]
5 Тестирование и экспериментальные исследования

[6.1] 5.1 Тестирование

[6.2] 5.2 Экспериментальное исследование

[7]
Заключение

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

[9] Приложение А


Введение

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

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

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

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

Для достижения этой цели необходимо решить следующие задачи:

  •  провести обзор основных понятий в предметной области «Компьютерное тестирование знаний»;
  •  провести обзор и анализ существующих систем тестирования;
  •  провести анализ и разработать модель предметной области «Тестирование учащихся на понимание алгоритмов»;
  •  разработать и реализовать систему добавления и редактирования алгоритмов;
  •  провести тестирование и экспериментальное исследование разработанного программного средства.

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

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

Структура работы состоит из следующих глав:

  1.  Основные определения и понятия (теоретическая глава) – обзор основных понятий в предметной области «Компьютерное тестирование знаний». Также подробное рассмотрение и анализ существующих систем тестирования.
  2.  Анализ предметной области (теоретическая глава) – анализ предметной области «Тестирование учащихся на понимание алгоритмов», формирование ее модели. Формулировка решаемых задач в терминах предметной области.
  3.  Проектная документация (технологическая глава) – описание проектных решений с обоснованиями, принятых на стадии проектирования внутреннего устройства системы. Требования к программному средству. Архитектура, внешние и внутренние спецификации.
  4.  Разработка системы (реализация) – описание выбранных средств для реализации ПС, причины выбора.
  5.  Тестирование и экспериментальное исследование (исследовательская глава) – тестовые ситуации и их результаты, постановка цели эксперимента, описание эксперимента. Доказательство того, что цель работы достигнута.


1 Компьютерное тестирование знаний 

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

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

1.1 Основные понятия

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

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

Составление тестов – важная и трудоемкая работа, в результате которой необходимо многое учесть [Мор04].

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

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

Самый ответственный этап – составление и подбор тестовых заданий.

1.1.1 Тестовые задания. Типы тестовых заданий

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

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

Тестовые задания бывают следующих типов:

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

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

  •  задание должно соответствовать по содержанию тому разделу, для которого составляется;
  •  задание должно представлять важную, а не второстепенную часть материала;
  •  задание открытого типа должно иметь четкую, короткую формулировку, требующую однозначного ответа;
  •  задание закрытого типа должно содержать не менее одного правильного ответа [Мор04].

1.1.2 Классификация тестов

В настоящее время существует несколько классификаций тестов.

Классификация тестов по процедуре анализа результатов выполнения:

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

Классификация тестов по процедуре формирования очереди представления:

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

Классификация тестов по процедуре информационной защиты:

  •  Тест безвариантный – тест, состоящий из фиксированного количества тестовых заданий. Все претенденты получают для выполнения единственный тест.
  •  Тест многовариантный – совокупность безвариантных тестов (вариантов). Задания с одинаковыми номерами близки между собой во всех вариантах. Вариантов составляется так много, чтобы все соседи каждого участника тестирований имели разные варианты.
  •  Тест со случайной выборкой – тест, формирующийся из базы тестовых заданий непосредственно перед началом тестирования. Это делается с помощью какой-либо процедуры, генерирующей случайный список номеров заданий [Мор04].

Классификация по направленности теста:

  •  Первая группа тестов оценивает так называемые специальные способности человека, к которым, например, относится музыкальный слух или художественные способности. В составлении подобных методик обычно участвуют специалисты в этих областях, и состоят они из практических заданий, которые должен выполнить респондент. Наличие компьютеризованных версий таких тестов вполне возможно, как правило, в специализированных музыкальных или графических пакетах.
  •  Личностные тесты оценивают выраженность у человека таких качеств, как общительность, дружелюбие, активность, ранимость, мечтательность, тревожность — то, что на ненаучном языке называется характером.
  •  Тесты отдельных психических функций, таких как память или внимание, часто применяют для отбора на работу. Отдельные задания из таких методик могут входить в тесты на уровень интеллекта.
  •  Тесты интеллекта измеряют математические и вербальные способности, пространственное и логическое мышление, эрудицию. Для тестов интеллекта очень важно точно установить область их применения с учетом и возраста, и уровня образования, и социального статуса респондентов.
  •  Тесты знаний обычно составляют для проверки знаний в тех или иных областях. Широко используются тесты по школьной или институтской программе, для итогового или текущего контроля, тесты знаний в той или иной профессии, при проведении аттестаций, экзаменационные тесты в языковых школах или при приеме экзаменов в ГАИ. Таких примеров можно назвать множество. Состоят подобные тесты обычно из вопросов и/или задач из какой-либо области знания, а от респондента требуется выбрать единственно правильный (или несколько правильных) ответ из предложенного списка.

Классификация тестов по цели:

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

Основная классификация – по направленности теста: оценивать можно способности человека, его личностные качества, интеллект, отдельные психические функции (внимание, память, воображение), знания [Ава05].

1.2 Контроль знаний учащихся

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

1.2.1 Этапы развития контроля знаний учащихся

Можно выделить пять этапов в эволюции развития контроля знаний, которые отражают формы организации контроля знаний и роль преподавателя в этом процессе:

  1.  Традиционный контроль знаний. Для оценки знаний студентов в учебном процессе традиционно используются следующие формы контроля знаний: контрольная работа, коллоквиум, лабораторная работа, курсовая работа, курсовой проект, реферат, домашнее задание, собеседование, тестирование, зачет, экзамен, дипломная работа. Преподаватель подготавливает варианты заданий, проверяет и оценивает результаты работы студентов.
  2.  Контроль знаний с использованием бумажных (не компьютерных) средств. При данном подходе для контроля используются заранее подготовленные бланки, содержащие контрольные задания (тесты). Студенты заполняют выданные бланки, решая задания и отвечая на вопросы. Преподаватель проверяет работы, используя специальные трафареты и таблицы ответов.
  3.  Контроль знаний с использованием технических устройств. При данном подходе выделяют два способа организации контроля:
  •  студент, получив от преподавателя индивидуальный набор заданий, выполняет его и вводит в устройство номер своего варианта и результат решения каждого задания, а устройство проверяет введенные ответы, рассчитывает и выводит оценку за работу;
  •  устройство используется как для ввода заданий, для проверки корректности введенных ответов, так и для вывода результатов контроля и/или оценки.
  1.  Компьютерный контроль знаний. Организация контроля в данном случае направлена, во-первых, на то, чтобы облегчить работу преподавателя, освободив его от рутины проверки письменных работ и, во-вторых, на повышение объективности проводимой проверки и оценки знаний. Контроль знаний обеспечивают специальные компьютерные программы, в которых осуществляется:
  •  формирование индивидуального набора контрольных заданий каждому обучаемому;
  •  вывод заданий на экран;
  •  анализ ответов обучаемого;
  •  выставление оценки;
  •  хранение результатов контроля и данных о работе студента с обучающей программой, которые могут быть впоследствии использованы преподавателем и др.
  1.  Удаленный контроль знаний. Данный подход является одной из форм компьютерного контроля знаний, появление которой связано с широким использованием в учебном процессе возможностей сети Internet. Отличительными чертами удаленного контроля знаний является применение современных технических средств связи и передачи информации между обучаемым и преподавателем, а также свобода выбора обучаемым темпов обучения, времени и места обучения.

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

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

1.2.2 Компьютерный контроль знаний 

Проблемы компьютерного контроля знаний обычно рассматриваются в двух аспектах: методическом и техническом [Зай02].

Методические аспекты контроля знаний связаны с решением педагогических и психологических вопросов, то есть организация контроля знаний рассматривается с точки зрения дидактики. К методическим аспектам относятся:

  •  выбор заданий для проверки знаний, умений и навыков обучаемого («что контролировать?»);
  •  планирование проведения контроля знаний («когда контролировать?»);
  •  определение требований к формированию набора контрольных заданий («как контролировать?»).

Определение типов и трудности вопросов для проверки знаний, умений и навыков студентов. Вопрос «что контролировать?» тесно связан с педагогической задачей самого процесса обучения. Как известно, основной вопрос дидактики «чему учить?» включает в себя определение цели обучения, что является важным и при создании компьютерной системы. При организации компьютерного контроля знаний также необходимо определить цели проводимого контроля на каждом этапе учебного процесса. Задача контроля – определение соответствия подготовленности обучаемого тому или иному уровню усвоения учебного материала. На этапе восприятия, осмысления, запоминания оценивается уровень знаний обучаемого о предметной области и понимания основных положений. Способность применять полученные знания для решения конкретных задач или в ситуации, требующей проявления познавательной самостоятельности, оценивается как соответствие требуемым навыкам и/или умениям [Sub]. Оценка качества знаний на каждом уровне (знания, умения, навыки) может быть осуществлена с помощью использования различных типов заданий. При разработке заданий для контроля важно установить, для проверки каких знаний, умений и/или навыков и для какого вида контроля знаний предназначено данное задание, а также сформулировать цели включения его в банк контрольных заданий.

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

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

Определение требований к формированию набора вопросов и заданий для опроса. Учебный процесс с использованием компьютерных технологий может быть представлен как моделирование учебной деятельности, при которой компьютер выполняет ряд функций преподавателя, в частности, организацию диалога в виде сценария – алгоритма управления учебной и познавательной деятельностью обучаемого. Поэтому важным методическим аспектом контроля является формирование набора контрольных заданий, в зависимости от вида и цели контроля. Существуют различные методы формирования заданий для контроля: случайная последовательность вопросов и заданий разной сложности, трудности и значимости; специальный набор заданий различной сложности, сформированный для проверки определенного или комплексного уровня подготовки (знания, умения и/или навыки) и предъявляемый в заданной последовательности; набор заданий, предъявляемый в порядке нарастания уровня сложности; группа заданий, порядок выполнения которых выбирает сам обучаемый и др.

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

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

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

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

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

Выбор алгоритма для оценки знаний студентов. Любой алгоритм оценки знаний предусматривает сбор, анализ и/или преобразование данных, получаемых в процессе контроля, и, непосредственно, формирование самой оценки (суммы баллов, рейтинга, ранга). Различают алгоритмы, которые применяются для выставления оценки только по завершению контроля, то есть на последнем этапе процесса оценивания. Однако, большинство алгоритмов используются параллельно с контролем знаний, когда оценка может быть выставлена за выполнение отдельного задания, контрольной работы или по дисциплине в целом, при этом полученная оценка обязательно учитывается в используемом методе проведения контроля знаний [Edu].

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

1.3 Системы компьютерного контроля знаний

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

Современные системы тестирования состоят из следующих частей:

Модуль тестирования – модуль системы, в котором происходит тестирование учащихся.

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

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

Модуль создания и редактирования тестов – позволяет создавать, редактировать и удалять тестовые задания и тесты.

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

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

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

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

По наличию модуля генерации можно выделить следующие типы  систем тестирования:

  •  системы тестирования, которые не имеют возможности генерации тестов [Пищ11]. В них тесты уже составлены из тестовых заданий;
  •  системы тестирования с возможностью генерации тестов. В таких системах тесты составляются из случайно выбранных тестовых заданий, содержащихся в базе данных;
  •  системы тестирования с автоматической генерацией тестовых заданий. В этих системах тестовые задания генерируются на основе шаблона или описания. Например, в шаблоны подставляются разные входные данные.

Ниже рассмотрены системы тестирования, относящиеся к последним двум типам.

1.3.2 Системы тестирования с возможностью генерации тестов

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

Рассмотрим следующие системы с такой генерацией тестов:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Система тестирования «INDIGO» состоит из двух частей:

  •  windows-приложение;
  •  web-приложение.

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

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

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

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

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

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

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

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

1.3.3 Системы тестирования с автоматической генерацией тестовых заданий

Существуют системы тестирования, которые генерируют тестовые задания на основе шаблонов и описаний. Рассмотрим следующие системы тестирования:

  •  автоматизированная система тестирования знаний «НЕЙРОН»;
  •  система тестирования, разработанная в томском университете.

1.3.3.1 Автоматизированная система тестирования знаний «НЕЙРОН»

НЕЙРОН — дистанционная система тестирования знаний, т.е. управление и использование данной системы возможно удалённо.

Система тестирования "НЕЙРОН" разработана студентами Новосибирского Государственного Технического Университета (НГТУ) на факультете Автоматики и Вычислительной техники (АВТФ) под руководством Шалагинова А.В.

Рассмотрим, как работает генерация тестовых заданий в системе тестирования «НЕЙРОН». В этой системе задания такого типа называются фасетными.

Вначале требуется задать количество фасетов, т.е. сколько элементов в вопросе должны изменяться (варьироваться). На рисунке 5 представлено задание количества фасетов.

Рисунок  - Создание нового тестового задания в системе НЕЙРОН

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

Далее появляется окно, представленное на рисунке 6.

Рисунок  - Создание фасетного задания

Элементы вида "{фi}" устанавливают место вхождения i-го фасета через ";" указываются элементы фасета, т.е. слова, которые будут подставляться на место i-го фасета. Если фасет графический, то необходимо указать файлы изображений [Авт].

1.3.3.2 Система тестирования факультета дистанционного обучения ТУСУР

Система разработана в томском университете систем управления и радиоэлектроники (ТУСУР). Используется для прохождения экзаменов и выполнения самостоятельных работ на факультете дистанционного обучения ТУСУР.

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

Виды вопросов:

  1.  тестовые задания закрытого типа;
    1.  вопросы открытого типа;
    2.  вопросы с возможностью генерации тестовых заданий.

Тестовые задания закрытого типа.

В системе используются два вида таких вопросов.

Первый вид. Варианты ответов перечислены друг под другом.

Рисунок  - Тестовые задания закрытого типа. Первый вид

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

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

Рисунок  - Тестовые задания закрытого типа. Второй вид

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

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

Вопросы открытого типа.

Поле для ввода ответа на вопрос может располагаться, либо после текста задания в виде отдельной строки, либо внутри, какого либо предложения в тексте задания. [Опи]

Рисунок  - Вопросы открытого типа. Поле ввода ответа расположено после вопроса

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

Рисунок  - Вопросы открытого типа. Поле ввода ответа расположено внутри задания

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

Генерация тестовых заданий.

Также в системе существует генератор тестовых заданий.

Рисунок  - Генерация тестовых заданий

На рисунке 11 представлен пример задания, сгенерированного системой. В системе описаны шаблоны. На основе этих шаблонов и генерируются задания.

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

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

Уникальное тестовое задание является конечной целью работы генератора и представляется на некотором декларативном языке для последующего этапа визуализации [Кру03]. Например, генераторы в системе «Фея» формируют тестовое задание на языке представления теста этой системы. Можно также представлять тестовые задания на языке Tex или XML.

1.3.4 Анализ систем тестирования

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

  •  генератор тестовых заданий – умеет ли система генерировать тестовые задания;
  •  сложность заданий – можно ли указать сложность каждого тестового задания;
  •  методы оценки знаний учащихся – какие в системе методы оценки тестов: с учётом или без учета вероятности угадывания правильного ответа. Есть ли у преподавателя выбор, как оценивать результаты тестирования;
  •  отслеживание логики решения задания – система отслеживает логику решения задания, находит, в каком месте учащийся совершил ошибку.

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

Т а б л и ц а   - Сравнение функционала ПО

Критерии оценки

Визуальная студия тестирования

INDIGO

НЕЙРОН

Томская система тестирования

Web/Desktop

desktop

desktop/web

web

web

Генерация тестовых заданий

нет

нет

фасетный

по шаблону

Сложность заданий

-

-

+

+

Методы оценки знаний учащихся

2 метода оценки

1 метод оценки

1 метод оценки

1 метод оценки

Отслеживание логики решения задания

-

-

-

-

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

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

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

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


2 Описание предметной области «Тестирование учащихся на понимание алгоритмов», задач и методов их решения 

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

2.1 Содержательное описание предметной области

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

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

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

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

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

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

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

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

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

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

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

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

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

Тестовое задание – атомарный элемент теста; задача на понимание и правильности выполнения алгоритма. Также тестовым заданием в рамках нашей ПО является задача правильности выполнения прохода каждого шага алгоритма.

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

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

В этом разделе описаны объекты предметной области и их атрибуты. Каждый атрибут подробно описан: (a) название атрибута, (b) источник атрибута, (c) область допустимых значений атрибута, (d) как используется атрибут.

Алгоритм = {название алгоритма, название дисциплины, последовательность шагов, входные и выходные данные}.

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

Входные и выходные данные – список переменных, принадлежащих шагу. Входные и выходные данные = {идентификатор переменной, тип данных, ограничения}.

  1.  Идентификатор переменной
  2.  набор значений, точно идентифицирующий переменную;
  3.  источником является преподаватель;
  4.  состоит из названия переменной и названия алгоритма, название переменной и алгоритма состоят из букв русского алфавита;
  5.  используется для того, чтобы идентифицировать переменную.
  6.  Название типа данных
  7.  тип данных, к которому относится переменная;
  8.  источником является преподаватель;
  9.  тип данных {число, строка, вектор, матрица};
  10.  используется для того, чтобы определить структуру данных, к которой относится переменная.
  11.  Ограничения
  12.  ограничения, накладываемые на тип;
  13.  источником является преподаватель;
  14.  <col_min, col_max, row_min, row_max>, где col_min – минимальное количество столбцов, col_max – максимальное количество столбцов, row_min – минимальное количество строк, row_max – максимальное количество строк; ограничения для строк, векторов и матриц;
  15.  используется для того, чтобы указать границы, в которых можно использовать переменные.

Дисциплина = {название дисциплины, темы, ФИО преподавателя, исходные материалы, алгоритмы}.

  1.  Название дисциплины
    1.  словесное наименование дисциплины;
    2.  источником является преподаватель;
    3.  состоит из букв русского алфавита;
    4.  используется как информация, идентифицирующая алгоритмы, изучаемые в рамках данной дисциплины.
  2.  Темы
    1.  список тем дисциплины;
    2.  источником является преподаватель;
    3.  состоит из списка тем, темы состоят из букв русского алфавита;
    4.  используется для выделения темы в изучаемой в дисциплине.
  3.  ФИО преподавателя
    1.  ФИО преподавателя, который преподает дисциплину;
    2.  источником является администратор;
    3.  состоит из букв русского алфавита;
    4.  используется для того, чтобы определить, какой преподаватель преподаёт дисциплину.
  4.  Исходные материалы
    1.  материалы, которые преподавателю приходится собирать, это данные об алгоритме из разных источников, эти источники и являются исходными материалами;
    2.  источником является преподаватель;
    3.  текст, состоящий из букв русского и английского алфавита, а также цифр;
    4.  используется, как база для составления алгоритмов.
  5.  Алгоритмы
  6.  список алгоритмов;
  7.  источником является преподаватель;
  8.  состоит из списка названий алгоритмов, где название алгоритма состоит из букв русского алфавита;
  9.  используется для того, чтобы знать, какие алгоритмы изучаются в рамках дисциплины.

Значения входных данных алгоритма – значения входных переменных входные данные, предназначенные для определенного алгоритма. Значения входных данных алгоритма = {Название алгоритма, название переменной, значение, сложность}.

  1.  Название алгоритма
    1.  словесное наименование алгоритма;
    2.  источником является преподаватель;
    3.  состоит из букв русского алфавита;
    4.  используется как информация, идентифицирующая значения входных данных (определяет, к какому алгоритму они относятся).
  2.  Название переменной
    1.  словесное наименование переменной;
    2.  источником является преподаватель;
    3.  состоит из букв русского и латинского алфавита;
    4.  используется, чтобы определить, к какой переменной относится значение.
  3.  Значение
    1.  начальное значение переменной;
    2.  источником является преподаватель;
    3.  имеет следующую структуру: если переменная является числом, то значение - число, строка – строка, состоящая из букв русского и латинского алфавита, вектор – числа, отделенные друг от друга пробелом, матрица – строки матрицы являются векторами, каждый вектор заключён в скобки;
    4.  используется для того, чтобы алгоритм мог быть выполнен на определенных входных данных.
  4.  Сложность
    1.  сложность входных данных;
    2.  источником является преподаватель;
    3.  целое число, чем больше число, тем выше сложность;
    4.  используется, чтобы определить, как сложно будет выполнять алгоритм на этих входных данных.

Значения выходных данных для шага – значения выходных переменных для определенного шага. Значения выходных данных для шага = {идентификатор переменной, значение, идентификатор шага}.

  1.  Идентификатор переменной
    1.  название переменной и название алгоритма;
    2.  источником является студент;
    3.  название переменной и название алгоритма состоят из букв русского и латинского алфавита;
    4.  используется для того, чтобы определить переменную, для которой будут даны значения выходных данных;
  2.  Значение
    1.  значение, которое получила переменная при выполнении шага;
    2.  источником является студент;
    3.  имеет следующую структуру: если переменная является числом, то значение - число, строка – строка, состоящая из букв русского и латинского алфавита, вектор – числа, отделенные друг от друга пробелом, матрица – строки матрицы являются векторами, каждый вектор заключён в скобки;
    4.  используется для того, чтобы в дальнейшем использовать, как входные данные для других шагов алгоритма или как выходные данные алгоритма.
  3.  Номер шага
    1.  элемент, который состоит из номера шага и названия алгоритма;
    2.  источником является студент;
    3.  состоит натуральных чисел;
    4.  используется для того, чтобы определить, к какому шагу относятся значения выходных данных.

Преподаватель – человек. Создаёт алгоритмы и тесты, проверяет выполненные алгоритмы и оценивает их. Преподаватель = {название дисциплины, ФИО преподавателя}.

  1.  Название дисциплины
    1.  словесное наименование дисциплины;
    2.  источником является преподаватель;
    3.  состоит из букв русского алфавита;
    4.  используется для того, чтобы определить, какую дисциплину преподает преподаватель.
  2.  ФИО преподавателя
    1.  фамилия, имя и отчество преподавателя;
    2.  источником является преподаватель;
    3.  состоит из букв русского алфавита;
    4.  используется для того, чтобы идентифицировать преподавателя.

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

  1.  Идентификатор теста
    1.  идентификатор теста;
    2.  источником является преподаватель;
    3.  натуральное чисто;
    4.  используется как информация, идентифицирующая тест, к которому относится результат тестирования; данный атрибут связан с атрибутом «идентификатор теста» объекта «тест».
  2.  Значения выходных данных для каждого шага
    1.  список значений выходных данных для каждого шага алгоритма;
    2.  источником является студент;
    3.  состоит из {номера шага, идентификатора переменной, значения};
    4.  используется, как информация, составляющая структуру результата тестирования;
  3.  Правильные значения выходных данных
    1.  список правильных значений выходных данных для каждого шага алгоритма;
    2.  источником является преподаватель;
    3.  состоит из {номера шага, названия переменной, правильного значения};
    4.  используется для проверки результатов тестирования, сравнивается с атрибутом «значения выходных данных для каждого шага»
  4.  Оценка
    1.  оценка результатов тестирования;
    2.  источником является преподаватель;
    3.  является целым числом;
    4.  используется как информация о том, насколько правильно выполнен алгоритм

Сеанс тестирования – набор тестов. Сеанс тестирования = {дата, время, список тестов, шкала оценивания, правила оценивания, тип тестирования}.

  1.  Дата
    1.  дата тестирования;
    2.  источником является преподаватель;
    3.  состоит из набора {день, месяц, год}, где день – натуральное число от 1 до 31, месяц – от 1 до 12, год – от 2013;
    4.  используется для того, чтобы определить дату тестирования.
  2.  Время
    1.  время проведения тестирования;
    2.  источником является преподаватель;
    3.  состоит из набора {начало тестирования, конец тестирования}, где оба элемента состоят из двух частей {часы, минуты}, где минуты – целые числа в диапазоне от 0 до 59, часы – от 0 до 23;
    4.  используется для того, чтобы определить время тестирования.
  3.  Список тестов
    1.  список тестов, входящих в состав сеанса тестирования;
    2.  источником является преподаватель;
    3.  список элементов список идентификаторов тестов;
    4.  используется для того, чтобы определить, какие тесты будут выполнять студенты.
  4.  Шкала оценивания
    1.  шкала, по которой будут оцениваться результаты тестирования;
    2.  источником является преподаватель;
    3.  состоит из двух целых чисел, где первое – минимальная оценка, второе – максимальна оценка;
    4.  используется для того, чтобы знать, в каком интервале оценивать результаты тестирования.
  5.  Правило оценивания
    1.  формула оценивания;
    2.  источником является преподаватель;
    3.  формула, состоящая из букв русского или латинского алфавита, включающая в себя знаки арифметических операций;
    4.  используется для того, чтобы знать, как оценивать результаты тестирования.
  6.  Тип тестирования
    1.  тип тестирования;
    2.  источником является преподаватель;
    3.  тип тестирования {контрольная работа, тренировочное тестирование};
    4.  используется для того, чтобы определить, какой сложности будет сеанс тестирования.

Студент – человек, учащийся. Проходит тестирование, выполняет алгоритмы по шагам. Студент = {группа, ФИО}.

  1.  Группа
    1.  группа, в которой обучается студент;
    2.  источником является преподаватель;
    3.  состоит из букв и цифр;
    4.  используется для того, чтобы идентифицировать, к какой группе принадлежит студент.
  2.  ФИО студента
    1.  фамилия, имя и отчество студента;
    2.  источником является преподаватель;
    3.  состоит из букв русского алфавита;
    4.  используется для того, чтобы идентифицировать студента.

Тест – один алгоритм и значения входных данных для него. Тест = {идентификатор теста, ФИО студента, название алгоритма, сложность, значения входных данных алгоритма, время}.

  1.  Идентификатор теста
    1.  идентификатор теста;
    2.  источником является преподаватель;
    3.  натуральное чисто;
    4.  используется как информация, идентифицирующая тест.
  2.  ФИО студента
    1.  фамилия, имя и отчество студента;
    2.  источником является преподаватель;
    3.  состоит из букв русского алфавита;
    4.  используется для того, чтобы определить, какой студент будет выполнять тест.
  3.  Название алгоритма
    1.  словесное наименование алгоритма;
    2.  источником является преподаватель;
    3.  состоит из букв русского алгоритма;
    4.  используется для того, чтобы задать алгоритм, на котором будет тестироваться студент.
  4.  Сложность
    1.  сложность теста;
    2.  источником является преподаватель;
    3.  сложность является целым числом;
    4.  используется для того, чтобы определить, как сложно выполнить этот тест.
  5.  Значения входных данных алгоритма
    1.  список значений входных данных алгоритма для всех переменных;
    2.  источником является преподаватель;
    3.  состоит из списка значений, каждое значение имеет структуру, описанную для атрибута «значение» объекта «значение входных данных алгоритма»
    4.  используется, как набор начальных входных данных алгоритма, на котором далее он будет выполнен студентом.
  6.  Время
    1.  время, отведенное на выполнение алгоритма;
    2.  источником является преподаватель;
    3.  состоит из набора {начало тестирования, конец тестирования}, где оба элемента состоят из двух частей {часы, минуты}, где минуты – целые числа в диапазоне от 0 до 59, часы – от 0 до 23;
    4.  используется для того, чтобы определить время тестирования.

Шаг алгоритма – атомарный элемент алгоритма. Шаг алгоритма = {номер, название алгоритма, содержательное описание, входные и выходные данные, сложность, список следующих шагов}.

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

2.4 Связи между объектами ПО

Алгоритм

i (i = 1..количество(Алгоритм)) Алгоритм[i].название дисциплины  Дисциплина.название дисциплины

j (j = 1..количество(Алгоритм)) i (i = 1..количество(Алгоритм[j].последовательность шагов)) Алгоритм[j].последовательность шагов[i]  Шаги алгоритма.номер шага

j (j = 1..количество(Алгоритм)) i (i = 1..количество(Алгоритм[j].входные и выходные данные)) Алгоритм[j].входные и выходные данные[i]  Входные и выходные данные.идентификатор переменной

Дисциплина

i (i = 1..количество(Дисциплина)) Дисциплина[i].ФИО преподавателя Преподаватель.ФИО преподавателя

j (j = 1..количество(Дисциплина)) i (i = 1..количество(Дисциплина[j].алгоритмы)) Дисциплина[j].алгоритмы[i]  Алгоритм.название алгоритма

Значения входных данных алгоритма

i (i = 1..количество(Значения входных данных алгоритма)) Значения входных данных алгоритма[i].название алгоритма  Алгоритм.название алгоритма

Значения выходных данных для каждого шага

i (i = 1..количество(Значения выходных данных для шага)) Значения выходных данных для шага[i].идентификатор переменной  Входные и выходные данные.идентификатор переменной

i (i = 1..количество(Значения выходных данных для шага)) Значения выходных данных для шага[i].номер шага  Шаг алгоритма.номер шага

i (i = 1..количество(Преподаватель)) Преподаватель[i].название дисциплины Дисциплина.название дисциплины

Результат тестирования

j (j = 1..количество(Результат тестирования)) i (i = 1..количество(Результат тестирования[j].значения выходных данных для каждого шага)) Результат тестирования [j].значения выходных данных для каждого шага [i]  Значения выходных данных для каждого шага

i (i = 1..количество(Результат тестирования)) Результат тестирования[i].идентификатор теста Тест.идентификатор теста

Сеанс тестирования

j (j = 1..количество(Сеанс тестирования)) i (i = 1..количество(Сеанс тестирования[j].список тестов)) Сеанс тестирования[j].список тестов[i] Тест.идентификатор теста

Тест

j (j = 1..количество(Тест)) i (i = 1..количество(Тест[j].алгоритмы)) Тест[j].алгоритмы[i]  Алгоритм.название алгоритма

j (j = 1..количество(Тест)) Тест[j].ФИО студента[i]  Студент.ФИО студента

j (j = 1..количество(Тест)) i (i = 1..количество(Тест[j].значения входных данных алгоритма)) Тест[j]. значения входных данных алгоритма [i]  значения входных данных алгоритма.значение

Шаг алгоритма

i (i = 1..количество(Шаг алгоритма)) Шаг алгоритма[i].алгоритм Алгоритм.название алгоритма

j (j = 1..количество(Шаг алгоритма)) i (i = 1..количество(Шаг алгоритма[j].входные и выходные данные)) Шаг алгоритма[j].входные и выходные данные[i]  Входные и выходные данные.идентификатор переменной

j (j = 1..количество(Шаг алгоритма)) i (i = 1..количество(Шаг алгоритма[j].список следующих шагов)) Шаг алгоритма[j]. список следующих шагов[i]  Шаг алгоритма.номер шага


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

На рисунке 12 представлена модель предметной области.

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


2.5 Задачи

Здесь подробнее описаны задачи, представленные в разделе 2.1.

1. Составление алгоритмов

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

Вход: исходные материалы.

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

2. Составление сеанса тестирования

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

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

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

3. Выполнение алгоритмов

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

Вход: название алгоритма, пример входных данных алгоритма.

Выход: список значений выходных данных для каждого шага.

4. Оценивание результатов тестирования (оценивание знаний студента)

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

Вход: список значений выходных данных.

Выход: оценка или баллы, полученные в результате оценивания.

5. Ведение банка входных данных

Описание: задача состоит в том, чтобы составить банк данных из использованных значений входных данных.

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

Выход: банк входных данных.

2.6 Методы решения поставленных задач

В данном разделе описаны методы решения задач предметной области.

2.6.1 Составление алгоритмов

Составление алгоритмов производится преподавателем.

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

2.6.2 Выполнение алгоритмов

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

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

2.6.3 Составление сеанса тестирования

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

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

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

2.6.4 Оценивание результатов тестирования

Оценивание результатов тестирования производится преподавателем.

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

2.6.5 Составление банка входных данных

Производится преподавателем.

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


3 Проектная документация

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

3.1 Назначение программного средства

Основная цель программного средства «Ступа» – предоставить преподавателю возможность задавать алгоритмы, составлять тесты и сеансы тестирования, проводит тестирование и оценивать результаты тестирования.  Основная цель модуля добавления и редактирования алгоритмов – предоставить возможность преподавателю описывать, добавлять и редактировать алгоритмы в системе тестирования «Ступа».

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

На рисунке 13 представлена АКД разработанного модуля.

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

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

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

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

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

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

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

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

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

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

  •  название библиотеки;
  •  функции библиотеки;
  •  класс;
  •  структура данных;
  •  преобразования над структурой данных.

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

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

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

3.3 Требования к ПС

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

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

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

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

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

  •  добавление темы дисциплины;
  •  редактирование темы дисциплины;
  •  добавление алгоритма:
    •  добавление названия алгоритма;
    •  добавление описания алгоритма;
    •  добавление шагов алгоритма и их описания (словесное описание, номер шага, список входных и выходных переменных и их тип);
    •  добавление входных и выходных данных алгоритма и их описания (название переменных, их тип, ограничения);
  •  удаление алгоритма:
    •  удаление названия алгоритма;
    •  удаление описания алгоритма;
    •  удаление шагов алгоритма и их атрибутов;
    •  удаление входных и выходных данных алгоритма;
  •  редактирование алгоритма:
    •  редактирование названия алгоритма;
    •  редактирование описания алгоритма;
    •  редактирование шагов алгоритма и их описания (словесное описание, номер шага, список входных и выходных переменных и их тип);
    •  редактирование входных и выходных данных алгоритма и их описания (название переменных, их тип, ограничения);
  •  просмотр алгоритма:
    •  просмотр названия алгоритма;
    •  просмотр описания алгоритма;
    •  просмотр дисциплины, к которой относится алгоритм;
    •  просмотр шагов алгоритма и их описания (словесное описание, номер шага, список входных и выходных переменных и их тип);
    •  просмотр входных и выходных данных алгоритма и их описания (название переменных, их тип, ограничения);
  •  просмотр списка алгоритмов, т. е. списка названий алгоритмов.

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

Программное средство должно выполнять следующие действия при взаимодействии с БД:

  •  ПС должно иметь возможность получать данные об алгоритме из БД (к данным об алгоритме относятся название, описание, шаги и входные и выходные данные алгоритма);
  •  ПС должно производить изменения в БД при добавлении, редактировании или удалении алгоритма.

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

Программное средство должно обладать:

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

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

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

  •  Windows XP или выше;
  •  браузер Chrome 13+;
  •  активное интернет-соединение.

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

  •  интерпретатор ruby 1.9.2+;
  •  фреймворк Rails on Rails 3.0.2;
  •  сервер MySQL 5.5.

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

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

  •  знает принципы работы с ОС Windows XP;
  •  умеет обращаться с такими периферийными устройствами, как: мышка и клавиатура;
  •  знаком с представленной в программном средстве предметной областью;
  •  обладает навыками работы с браузером и Интернет-ресурсами.

Требования к описанию алгоритма на языке программирования Java

Алгоритм предоставляется в виде текстового файла с расширением .java

Текст в файле состоит из двух частей:

  •  описание переменных на языке программирования Java;
  •  код на языке программирования Java.

Описание переменных на языке программирования Java.

Описание переменных представлено в виде комментария на языке программирования Java.

Описание каждой переменной начинается с новой строки.

Строка с описанием переменной имеет вид:

//тип_данных  название_переменной  ограничения

Где:

тип_данных может принимать одно из четырех значений {number, string, vector, matrix};

название_переменной состоит из букв английского алфавита; регистрозависимое;

ограничения имеют вид <col_min>x<row_min>-<col_max>x<row_max>, где <col_min> – минимальное количество столбцов, <col_max> – максимальное количество столбцов, <row_min> – минимальное количество строк, <row_max> – максимальное количество строк; ограничения для строк, векторов и матриц; если тип данных – число, то ограничения имеют вид <min>-<max>, где <min> – минимальное значение, которое может число, а <max> – максимальное.

После описания всех переменных добавляется строка:

//end of variables descriptions

Код на языке программирования Java.

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


3.4 Диаграмма вариантов использования

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

Рисунок  - Диаграмма вариантов использования


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

3.5 Проектирование архитектуры в MVC

Для реализации программного средства был выбран язык программирования Ruby с фреймворком Ruby on Rails [Rub12]. В данном фреймворке применяется паттерн проектирования MVC [Рог07], соответственно, архитектура программного средства представлена с учётом соответствующего паттерна.

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

View включает в себя:

  •  список алгоритмов;
  •  добавление алгоритма;
  •  редактирование алгоритма;
  •  информация об алгоритме.

Controller включает в себя:

  •  вывод списка алгоритмов;
  •  добавление алгоритма;
  •  редактирование алгоритма;
  •  удаление алгоритма;
  •  вывод информации об алгоритме.


Рисунок  - Архитектура модуля добавления и редактирования алгоритмов


Модули отображения (view):

  •  Список алгоритмов: шаблон для вывода списка алгоритмов, выводит названия алгоритмов со ссылками на более подробное их описание; взаимодействует с контроллером «вывод списка алгоритмов»;
  •  Добавление алгоритма: шаблон для создания алгоритма; взаимодействует с контроллером добавления алгоритмов – использует его для сохранения введенных пользователем данных;
  •  Редактирование алгоритма: шаблон для редактирования и удаления алгоритма, заполнен данными редактируемого алгоритма; взаимодействует с контроллером редактирования алгоритмов – использует его для сохранения введённых пользовательских данных, и с контроллером удаления алгоритмов;
  •  Информация об алгоритме: шаблон для вывода подробной информации об алгоритме (название алгоритма, описание, дисциплина, входные и выходные данные, шаги алгоритма); взаимодействует с контроллером вывода информации об алгоритме;

Модули управления (controller):

  •  Вывод списка алгоритмов: получает список алгоритмов и передаёт их в модуль отображения списка алгоритмов;
  •  Добавление алгоритма: вызывается пользователем, получает исходные данные для модуля создания алгоритма (view) и передаёт их в модуль создания алгоритма (view);
  •  Редактирование алгоритма: вызывается пользователем, получает исходные данные для модуля редактирования алгоритма (view) и данные редактируемого алгоритма и передаёт их в модуль редактирования алгоритма (view);
  •  Удаление алгоритма: вызывается пользователем, удаляет выбранный алгоритм из системы и вызывает модуль отображения списка алгоритмов;
  •  Вывод информации об алгоритме: вызывается пользователем, получает данные о просматриваемом алгоритме и передает их в модуль вывода информации об алгоритме (view);

Модули модели (model):

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


3.6 Проект БД

Структура базы данных ранее уже была разработана [Пищ12], в рамках дипломной работы  этапе она была расширена новыми таблицами для программного средства «Модуль создания и редактирования алгоритмов».

3.6.2 Схема базы данных

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

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

В схему включены:

  •  БД алгоритмов (хранятся алгоритмы, шаги алгоритмов, описание входных переменных алгоритма, описание выходных переменных шагов, дисциплины и темы алгоритмов);
  •  БД пользователей (информация о студентах и преподавателях, о дисциплинах, группы для студентов);
  •  БД результатов тестирования (информация о входных данных алгоритма, значения выходных данных шага для примеров входных данных алгоритма);
  •  БД входных данных (примеры входных данных для алгоритма, сложность входных данных).


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


3.6.3. Даталогическое проектирование

В этом разделе описаны таблицы базы данных.

Таблица «Преподаватель» служит для описания объекта «Преподаватель». Также в таблице присутствуют атрибуты «Логин» и «Пароль», которые отсутствуют в объекте. Атрибуты описаны в таблице 2.

Т а б л и ц а   - Таблица «Преподаватель»

Преподаватель

Название

Тип данных

Атрибут

id

число

ФИО

строка

ФИО преподавателя

Логин

строка

Новый атрибут

Пароль

строка

Новый атрибут

Таблица «Студент» служит для описания объекта «Студент». Также в таблице присутствуют атрибуты «Логин» и «Пароль», которые отсутствуют в объекте. Атрибуты описаны в таблице 3.

Т а б л и ц а   - Таблица «Студент»

Студент

Название

Тип данных

Атрибут

id

число

ФИО

строка

ФИО студента

Логин

строка

Новый атрибут

Пароль

строка

Новый атрибут

Группа

число

Группа

Таблица «Группа» служит для описания атрибута «Группа» информационного объекта «Студент». Атрибуты описаны в таблице 4.


Т а б л и ц а   - Таблица «Группа»

Группа

Название

Тип данных

Атрибут

id

число

Номер группы

строка

Группа

Таблица «Дисциплина» служит для описания атрибута «Название дисциплины» объекта «Дисциплина». Атрибуты описаны в таблице 5.

Т а б л и ц а   - Таблица «Дисциплина»

Дисциплина

Название

Тип данных

Атрибут

id

число

Название

строка

Название дисциплины

Таблица «Преподаватель-дисциплина» является таблицей-связкой для таблиц «Преподаватель» и «Дисциплина». Она служит для описания атрибутов «Преподаватель» и «Название дисциплины» объекта «Дисциплина». Атрибуты описаны в таблице 6.

Т а б л и ц а   - Таблица «Преподаватель-дисциплина»

Преподаватель-дисциплина

Название

Тип данных

Атрибут

id

число

Преподаватель

число

Преподаватель.id

Дисциплина

число

Дисциплина.id

Таблица «Группа-преподаватель-дисциплина» является таблицей-связкой для таблиц «Преподаватель-дисциплина» и «Группа». Она служит для описания атрибутов «Преподаватель» и «Название дисциплины» объекта «Дисциплина» и атрибута «Группа» объекта «Студент». Атрибуты описаны в таблице7.

Т а б л и ц а   - Таблица «Группа-преподаватель-дисциплина»

Группа-преподаватель-дисциплина

Название

Тип данных

Атрибут

id

число

Группа

число

Группа.id

Преподаватель-дисциплина

число

Преподаватель-дисциплина.id

Таблица «Тема» служит для описания атрибута «Темы» информационного объекта «Дисциплина». Атрибуты описаны в таблице 8.

Т а б л и ц а   - Таблица «Тема»

Тема

Название

Тип данных

Атрибут

id

число

Название темы

строка

Темы

Дисциплина

число

Дисциплина.id

Преподаватель

число

Преподаватель.id

Таблица «Алгоритм» служит для описания объекта «Алгоритм». Атрибуты описаны в таблице 9.

Т а б л и ц а   - Таблица «Алгоритм»

Алгоритм

Название

Тип данных

Атрибут

id

число

Название алгоритма

строка

Название алгоритма

Описание

строка

Новый атрибут

Преподаватель

число

Преподаватель.id

Тема

число

Тема.id

Таблица «Шаг алгоритма» служит для описания объекта «Шаг алгоритма». Атрибуты описаны в таблице 10.

Т а б л и ц а   - Таблица «Шаг алгоритма»

Шаг алгоритма

Название

Тип данных

Атрибут

id

число

Номер шага

число

Номер шага

Сложность

число

Сложность

Описание

строка

Содержательное описание

Ссылка

строка

Новый атрибут

Алгоритм

число

Название алгоритма

Таблица «Следующий шаг алгоритма» служит для описания атрибута «Список следующих шагов» объекта «Шаг алгоритма». Атрибуты описаны в таблице 11.

Т а б л и ц а   - Таблица «Следующий шаг алгоритма»

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

Название

Тип данных

Атрибут

id

число

Шаг алгоритма

число

Номер шага

Следующий шаг

число

Список следующих шагов

Таблица «Описание входных переменных алгоритма» служит для описания объекта «Входные данные». Атрибуты описаны в таблице 12.

Т а б л и ц а   - Таблица «Описание входных переменных алгоритма»

Описание входных переменных алгоритма

Название

Тип данных

Атрибут

id

число

Ограничения

строка

Ограничения

Название переменной

строка

Идентификатор переменной

Структура данных

число

Название типа данных

Таблица «Описание выходных переменных шага» служит для описания объекта «Выходные данные». Атрибуты описаны в таблице 13.

Т а б л и ц а   - Таблица «Описание выходных переменных шага»

Описание выходных переменных шага

Название

Тип данных

Атрибут

id

число

Ограничения

строка

Ограничения

Название переменной

строка

Идентификатор переменной

Структура данных

число

Название типа данных

Шаг алгоритма

число

Идентификатор переменной

Таблица «Структура данных» служит для описания атрибута «Название типа данных» объекта «Входные и выходные данные». Атрибуты описаны в таблице 14.

Т а б л и ц а   - Таблица «Структура данных»

Структура данных

Название

Тип данных

Атрибут

id

число

Название

строка

Название типа данных

Интерфейсный элемент

строка

Новый атрибут

Ссылка на класс

строка

Новый атрибут


4 Реализация 

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

4.1 Описание средств реализации

При разработке модуля добавления и редактирования алгоритмов учтены особенности реализации программного средства «СТУПА». В частности, учтено, что система была разработана как веб-приложение.

Для разработки был выбран MVC-фреймворк Ruby on Rails, в качестве шаблонизатора используется erb. При помощи встроенного агрегатора ресурсных файлов SProckets было обеспечено централизованное хранение javascript-скриптов и css-файлов в формате sass.

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

В перспективе возможен переход на набирающие популярность документно-ориентированные БД, такие как MongoDB или Redis. Встроенная в Ruby on Rails ORM при помощи специального драйвера полностью поддерживает указанный формат и предоставляет более широкие и удобные возможности для хранения объектов.

4.2 Сценарий диалога с пользователем

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

  •  просмотр дисциплин;
  •  просмотр списка тем;
  •  добавление, удаление и редактирование тем;
  •  просмотр списка алгоритмов;
  •  добавление, удаление и редактирование алгоритмов;

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

Рисунок  - Список дисциплин

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

Рисунок  - Список тем

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

Рисунок  - Добавление новой темы

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

Рисунок  - Добавлена новая тема

На рисунке 21 показано редактирование названия темы.

Рисунок  - Редактирование темы

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

Рисунок  - Список алгоритмов

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

Рисунок  - Добавление алгоритма. Название алгоритма

Чтобы добавить алгоритм, необходимо ввести его название и выбрать файл с расширением .java. Это показано на рисунке 24. После того как будет выбран файл и введено название, страница примет вид как на рисунке 25.

Рисунок  - Добавление алгоритма. Выбор файла

Рисунок  - Добавление алгоритма. Файл выбран

После нажатия на «Далее», как это показано на рисунке 25, появится окно, изображенное на рисунке 26. Сверху указаны все доступные переменные, нужно отметить те, которые буду входными данными алгоритма.

Ниже можно увидеть код алгоритма и описание шагов алгоритма справа от него.

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

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

Рисунок  - Входные переменные алгоритма, шаги алгоритма, описание шагов алгоритма

Можно переключаться между описаниями шагов, нажимая на область вокруг названия шага. Так показано переключение со 2-го к 3-му шагу. Это также можно увидеть на рисунке 27.

После нажатия на кнопку «Добавить» алгоритм будет сохранен, а пользователь будет перенесен на страницу просмотра, её можно увидеть на рисунке 28. Также на страницу просмотра алгоритма можно попасть, если нажать на название алгоритма на странице со списком алгоритмов темы.

Рисунок  - Просмотр алгоритма

Также можно редактировать алгоритм, для этого нужно нажать на ссылку «Редактировать», страница редактирования практически ничем не отличается от страницы добавления, при  редактировании все поля будут заполнены, также будут отмечены шаги и входные и выходные данные. Это можно увидеть на рисунке 29.

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

При редактировании нельзя изменить код алгоритма и типы данных переменных.

Рисунок  - Редактирование алгоритма

На странице редактирования можно изменить имя алгоритма. Для редактирования кода алгоритма придётся создавать новый алгоритм.

4.3 Выводы

По причине того, что для реализации программного средства выбраны такие инструменты, как MySQL и Ruby on Rails, разрабатываемое ПС легко может быть развёрнуто на любой платформе – Windows Xp и старше, дистрибутивы linux, unix системы. Само программное средство предлагает собой веб-приложение, что позволяет централизованно использовать в локальной сети, сети интернет, либо только на компьютере с программным средством.

Результатом проделанной работы является модуль добавления и редактирование алгоритмов в системе тестирования «СТУПА», написанный на фреймворке Ruby on Rails.


5 Тестирование и экспериментальные исследования

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

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

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

  •  добавление темы дисциплины;
  •  редактирование темы дисциплины;
  •  добавление алгоритма:
    •  добавление названия алгоритма;
    •  добавление шагов алгоритма и их описания (словесное описание, номер шага, список выходных переменных);
    •  добавление входных и выходных данных алгоритма;
  •  удаление алгоритма:
    •  удаление названия алгоритма;
    •  удаление шагов алгоритма и их атрибутов;
    •  удаление входных данных алгоритма;
  •  редактирование алгоритма:
    •  редактирование названия алгоритма;
    •  редактирование шагов алгоритма и их описания (словесное описание, номер шага, список выходных переменных);
    •  редактирование входных данных алгоритма;
  •  просмотр алгоритма:
    •  просмотр названия алгоритма;
    •  просмотр дисциплины, к которой относится алгоритм;
    •  просмотр шагов алгоритма и их описания (словесное описание, номер шага, список входных и выходных переменных и их тип);
    •  просмотр входных и выходных данных алгоритма и их описания (название переменных, их тип, ограничения);
  •  просмотр списка алгоритмов, т. е. списка названий алгоритмов.

Для проверки работоспособности модуля было разработано 15 тестовых ситуаций (42 теста), которые приведены в приложении А.

В результате были протестированы все варианты использования модуля. 95% тестов прошли успешно.

5.2 Экспериментальное исследование

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

В ходе каждого эксперимента участники оценивали удобство работы по шкале: удобно, нормально, неудобно.

Эксперимент 1: просмотр дисциплин.

Участники эксперимента: преподаватель.

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

Оценка: удобно.

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

Эксперимент 2: управление темами дисциплины.

Участники эксперимента: преподаватель.

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

Оценка: нормально.

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

Эксперимент 3: просмотр алгоритмов.

Участники эксперимента: преподаватель.

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

Оценка: удобно.

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

Эксперимент 4: добавление алгоритма.

Участники эксперимента: преподаватель.

Описание эксперимента: преподаватель добавляет название алгоритма, добавляет  файл с кодом алгоритма и нажимает на кнопку «Далее». Затем преподаватель отмечает входные данные алгоритма и разбивает код на шаги, для каждого шага преподаватель отмечает выходные данные и добавляет описание.

Оценка: нормально.

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

Эксперимент 5: редактирование алгоритма.

Участники эксперимента: преподаватель.

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

Оценка: нормально.

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

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

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


Заключение

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

Был проведен анализ ПО «Тестирование учащихся на понимание алгоритмов» и её моделирование с помощью ER-диаграмм. Также были определены основные задачи в предметной области и  рассмотрены методы их решения.

Реализация модуля добавления и редактирования алгоритмов системы тестирования «СТУПА»  была осуществлена с помощью фреймвока Ruby on Rails, системы управления базами данных MySQL и фреймворка jQuery. Данные технологии были изучены по книгам, статьям и документации, в том числе были использованы материалы на иностранном языке.

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

Перечень результатов дипломной работы:

  •  проведен обзор основных понятий в предметной области «компьютерное тестирование знаний»;
  •  проведен обзор и анализ существующих систем тестирования;
  •  проведен анализ и разработана модель предметной области «тестирование учащихся на понимание алгоритмов»;
  •  разработан и реализован модуль добавления и редактирования алгоритмов;
  •  проведено тестирование разработанного программного средства.

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


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

[Edu] Educational Technology & Society 9(1) 2006. [Электронный ресурс]. – Режим доступа: http://ifets.ieee.org/russian/depository/v9_i1/html/6.html Дата обращения 15.06.2013

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

[Myt] MyTest - Компьютерное тестирование знаний MyTestX (главная страница) [Электронный ресурс]. – Режим доступа: http://mytest.klyaksa.net/ Дата обращения 15.06.2013

[Rub12] Ruby on Rails overview [Электронный ресурс]. – Электрон. дан. // 37 signals  – 2012. – Режим доступа: http://rubyonrails.org/ Дата обращения 15.06.2013

[Rub] Ruby on Rails c нуля! [Электронный ресурс]. – Режим доступа: http://rubydev.ru/ Дата обращения 15.06.2013

[Rus] Rusrails: Ruby on Rails по-русски [Электронный ресурс]. – Режим доступа: http://rusrails.ru/ Дата обращения 15.06.2013

[Sub] Submission for UMUAI [Электронный ресурс]. – Режим доступа: http://www.contrib.andrew.cmu.edu/~plb/papers/KI-review.html Дата обращения 15.06.2013

[Ава05] Аванесов, В.С. Теория и методика педагогических измерений / В.С. Аванесов – М. : ЦТиМКО УГТУ-УПИ, 2005. – 98 с.

[Авт] Автоматизированная система тестирования знаний [Электронный ресурс]. – Режим доступа: http://ermak.cs.nstu.ru/neuron/help.html#41 Дата обращения 15.06.2013

[Зай02] Зайцева Л.В., Прокофьева Н.О. Проблемы компьютерного контроля знаний // Proceedings. IEEE International Conference on Advanced Learning Technologies (ICALT 2002). 9-12 September 2002. Kazan, Tatrstan, Russia, 2002, – p. 102 - 106.

[Кру03] Кручинин В.В. Генераторы в компьютерных учебных программах / В.В. Кручинин. – Томск: Изд-во Том. ун-та, 2003. – 200 с.

[Мор04] Морев, И. А., образовательные информационные технологии, Часть 2. Педагогические измерения / И.А. Морев – Владивосток: Издательство Дальневосточного Государственного университета, 2004. – 174 с.

[Опи] Описание процесса сдачи экзаменов - Сессия - Технология обучения – ФДО ТУСУР [Электронный ресурс]. – Режим доступа: http://fdo.tusur.ru/?43831 Дата обращения 15.06.2013

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

[Пищ12] Пищикова Ю.А., Проектирование и реализация модуля прохождения тестирования системы проверки учащихся на знание алгоритмов / Пищикова Ю.А., – курсовая работа, г. Владивосток, 2012 г.

[Рог07] Рогачев, Сергей. Обобщённый Model-View-Controller / С. Рогачев.  – М: ИПО Профиздат, 2007

[Сис1] Система тестирования. Контроль знаний с помощью компьютерного тестирования. [Электронный ресурс]. – Режим доступа: http://www.mmis.ru/Default.aspx?tabid=54 Дата обращения 15.06.2013

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


Приложение А

Тестовые ситуации

Таблица А.1 – Тестовые ситуации

Название

Начальное состояние

Шаги

Ожидание

Результат

(+/-)

1

2

Авторизация

Открыто окно авторизации

1. Ввести логин и пароль, пользователя которого нет в системе

Сообщение о неверном логине/пароле

+

2. Ввести логин и пароль существующего пользователя

Появляется главная страница сайта

+

2

Просмотр списка дисциплин

Главная страница сайта

1. Перейти по ссылке «Дисциплина»

2. Проверить список дисциплин

Страница со списком дисциплин преподавателя

+

3

Просмотр списка темы дисциплины

Страница с дисциплинами

1. Нажать на название первой дисциплины

2. Просмотреть список тем

Страница со списком тем дисциплины

+

Продолжение таблицы А.1

Название

Начальное состояние

Шаги

Ожидание

Результат

(+/-)

4

Добавление темы в список тем

Страница со списком тем дисциплины

1. Нажать кнопку «Добавить тему»

2. Ввести название темы, которая ещё не присутствует в списке тем дисциплины

3. Нажать кнопку «Добавить тему»

Список тем дисциплины, в списке тем появляется тема, которой не было до добавления

+

1. Нажать кнопку «Добавить тему»

2. Ввести название темы, которая уже присутствует в списке тем дисциплины

3. Нажать кнопку «Добавить тему»

Не изменившийся список тем дисциплины

+

5

Удаление темы из списка тем

Страница со списком тем

1. Нажать «Удалить» напротив любой темы из списка

Список тем, в котором отсутствует удаленная тема

+

Продолжение таблицы А.1

Название

Начальное состояние

Шаги

Ожидание

Результат

(+/-)

6

Редактирование названия темы

Страница со списком тем

1. Нажать «Редактировать» напротив любой темы из списка

2. Изменить название темы на название, которого нет в списке

3. Нажать кнопку «Сохранить»

Список тем, в котором изменилось название выбранной темы

+

1. Нажать «Редактировать» напротив любой темы из списка

2. Изменить название темы на название, которое уже есть в списке

3. Нажать кнопку «Сохранить»

Список тем, в котором не изменилось название ни одной темы

+

7

Просмотр списка алгоритмов

Страница со списком тем

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

Список алгоритмов темы

+

Продолжение таблицы А.1

Название

Начальное состояние

Шаги

Ожидание

Результат

(+/-)

8

Удаление алгоритма из списка

Страница со списком алгоритмов темы

1. Нажать удалить напротив любого алгоритма из списка

Список алгоритмов темы, в котором отсутствует удаленный алгоритм

+

9

Добавление алгоритма

Страница со списком алгоритмов

1. Нажать «Добавить алгоритм»

2. Ввести название алгоритма

3. Выбрать файл с кодом алгоритма с расширением .java

4. Нажать «Далее»

5. Нажать «Добавить»

Страница с алгоритмом, где видны отмеченные входные данные алгоритма, шаги, код алгоритма, выходные данные шагов, описания шагов.

+

2. Ввести название алгоритма, которое есть в списке алгоритмов

4. Нажать «Далее»

5. Нажать «Добавить»

Страница со списком алгоритмов, в котором нет добавленного алгоритма

-

Продолжение таблицы А.1

Название

Состояние системы

Шаги

Ожидание

Результат

(+/-)

10

Редактирование названия алгоритма

Страница со списком алгоритмов

1. Нажать «Редактировать» напротив любого алгоритма из списка

2. Изменить имя алгоритма

3. Нажать «Сохранить»

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

+

11

Добавление шага алгоритма

Страница добавления алгоритма

1. Ввести название алгоритма

2. Выбрать файл с кодом алгоритма с расширением .java

3. Нажать «Далее»

4. Нажать на чекбокс напротив любой строки с кодом

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

+

Продолжение таблицы А.1

Название

Состояние системы

Шаги

Ожидание

Результат

(+/-)

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

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

+

12

Удаление шагов алгоритма

Страница добавления алгоритма

1. Ввести название алгоритма

2. Выбрать файл с кодом алгоритма с расширением .java

3. Нажать «Далее»

4. Нажать на чекбокс напротив любых трех строк с кодом

5.Нашать на любой отмеченный чекбокс в области кода алгоритма

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

+

Продолжение таблицы А.1

Название

Состояние системы

Шаги

Ожидание

Результат

(+/-)

5. Нажать на последний отмеченный чекбокс в области кода алгоритма

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

+

13

Добавление описания алгоритма

Страница добавления алгоритма

1. Ввести название алгоритма

2. Выбрать файл с кодом алгоритма с расширением .java

3. Нажать «Далее»

4. Ввести в текстовое поле первого шага алгоритма текст

5. Нажать «Добавить»

Страница просмотра алгоритма. В коде алгоритма должен присутствовать 1 шаг. В области шагов алгоритма должен также присутствовать 1 шага. Должно также присутствовать введенное описание для первого шага

+

Продолжение таблицы А.1

Название

Состояние системы

Шаги

Ожидание

Результат

(+/-)

14

Добавления выходных данных для шагов алгоритма

Страница добавления алгоритма

1. Ввести название алгоритма

2. Выбрать файл с кодом алгоритма с расширением .java

3. Нажать «Далее»

4. Добавить 2 шага для алгоритма

5. Отметить в области шагов алгоритма для первого шага первый чекбокс с выходными переменными, для второго – второй, для третьего – третий.

6. Нажать «Добавить»

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

+

Окончание таблицы А.1

Название

Состояние системы

Шаги

Ожидание

Результат

(+/-)

15

Добавление следующих шагов алгоритма

Страница добавления алгоритма

1. Ввести название алгоритма

2. Выбрать файл с кодом алгоритма с расширением .java

3. Нажать «Далее»

4. Добавить 2 шага для алгоритма

5. Отметить для первого шага следующий шаг – второй шаг. Для второго – третий. Для третьего не добавлять.

6. Нажать «Добавить»

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

-


52


 

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

38202. Структура воєнної політики сучасної України 30.84 KB
  Сьогодні українсько-російські відносини перебувають у досить складному, якщо не сказати критичному стані, про що свідчать оцінки експертів (і з російського, і з українського боку). Останнім часом спостерігалося зростання конфліктності в багатьох сферах співробітництва
38204. Актуальні проблеми воєнної політології 108.5 KB
  За такого підходу до предмета â€œВійськової політологіїâ€ відносять військові аспекти окремих галузей знань: філософії політики політичної історії політичної соціології та економіки та ін. Звідси “військову політологію†пропонують вважати не самостійною наукою а комплексною науковою дисципліною на зразок теорії безпеки окремі галузі якої відповідали б різновидам військової політики; 3 третя група політологів зазначає що â€œВійськова політологія†має свій специфічний предмет. Їхня думка зводиться до того що...
38205. Обороноздатність держави: сутність, зміст 105.5 KB
  Політичні і економічні засади забезпечення обороноздатності України. ОСНОВНА ЧАСТИНА: Проблеми повязані із забезпеченням воєнної безпеки нашої держави були актуальними з перших днів незалежності України. Однією з вихідних категорій що застосовується для розкриття сутності та змісту процесів забезпечення оборони нашої країни і які часто зустрічаються у...
38206. Політичні і економічні засади забезпечення обороноздатності України 103.5 KB
  Оборона України - система політичних, економічних, соціальних, воєнних, наукових, науково-технічних, інформаційних, правових, організаційних, інших заходів держави щодо підготовки до збройного захисту та її захист у разі збройної агресії або збройного конфлікту
38207. Альфред Мехен – Морська могутність 112 KB
  Щоб збагнути виникнення і розвиток життя на Землі Ратцель пропонує подивитися на нього ніби зверху з космосу. Правильна інтерпретація цього цілого або його частин можлива лише тоді коли ми не тільки сьогоднішнє становище Землі будемо розглядати як окремий розділ історії Всесвіту уточнює він але і взагалі всякий стан Землі що видається нам спокоєм необхідно розуміти тільки...
38208. Основні понятійні категорії теорії інформаційно-психологічних операцій 112.5 KB
  Аналіз закономірностей розвитку сучасного людства говорить про те, що світ знаходиться на порозі глобального інформаційного суспільства, суспільства цивілізаційних змін, що передвіщає кардинальні зміни у всіх сферах особистого та суспільного життя
38210. Основные категории регионального управления 72.5 KB
  Регион — территориальное образование на едином экономическом поле, выполняющее посредническую роль между макро- и микроэкономикой, обеспечивая оптимальное функционирование всех систем: экономических, социальных, политических, национальных в любой части пространства и тем самым в целом на определенной территории.