ru en de zh fr

Реферат по теме выпускной работы

Содержание

Введение

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

1. Актуальность темы

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

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

2. Обзор и выбор типов тестов

2.1. Виды тестов

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

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

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

Базовые тестовые задания делятся на:

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

2.2. Тесты закрытой формы

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

  1. альтернативные тестовые задания;
  2. тестовые задания с множеством ответов;
  3. задания на восстановление соответствия;
  4. задания на воспроизведение правильной последовательности.

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

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

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

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

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

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

2.3 Тесты открытой формы

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

2.4 Тесты ситуационные

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

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

2.5 Выбор типа тестов

Критерии для выбора типа задач для системы тестирования в демонстрационно - обучающей системе следующие:

  1. Ясность. Необходимо выбирать ту форму задачи, которая, вероятно, будет более понятной.
  2. Меньшая вероятность распознаванию правильных ответов. Стоит отдать предпочтение той форме задач, которая уменьшает вероятность случайного распознавания правильных ответов.
  3. Автоматизация. Стоит выбирать ту форму задачи, при которой есть возможность автоматического оценивания тестирования с минимальными потерями качества оценивании усваиваемости материала.
  4. Отсутствие подсказок. Необходимо следить за тем чтобы форма задания (варианты ответов, списки для восстановления соответствия) не раскрывала ответы на другие задачи.

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

3. Выбор средств реализации

3.1. Выбор языка программирования

Ruby — язык программирования, который был представлен в 1995 году разработчиком Юкихиро Мацумото, также известным под ником Matz, высокоуровневый — удобный для разработчиков, с сильной абстракцией и использованием конструкций натурального или человеческого языка; динамичный — типы данных определяются на этапе выполнения программы, это увеличивает скорость разработки; интерпретируемый — код на Ruby обрабатывается интерпретатором в момент выполнения без предварительной компиляции, это обеспечивает независимость от платформ и уменьшает размер исполняемых программ; язык программирования общего назначения — в отличие от предметно-ориентированных, языки программирования общего назначения не создаются для применения в специфичных областях.

 График выбора предпочтения Ruby для проекта.

Рисунок 1 – График выбора предпочтения Ruby для проекта.

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

 График выбора предпочтения Ruby с мая 2012 года.

Рисунок 2 – График выбора предпочтения Ruby с мая 2012 года.

На сколько видно из графика первая восьмерка языков программирования имеет большой шанс на использование в коммерческих и некоммерческих проектах еще с 2012 года. В свою очередь стоит учесть, что Ruby преимущественно выбирают для разработки более крупных проектов, а такие языки, как PHP набирают популярность из-за различных CMS, где небольшие и монотонные проекты.

 График выбора предпочтения Ruby для личного проекта.

Рисунок 3 – График выбора предпочтения Ruby для личного проекта.

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

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

3.2. Выбор патерна

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

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

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

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

  1. Модель предоставляет собой объектную модель некой предметной области, включает в себя данные и методы работы с этими данными, реагирует на запросы из контроллера, возвращая данные и/или изменяя своё состояние. При этом модель не содержит в себе информации о способах визуализации данных или форматах их представления, а также не взаимодействует с пользователем напрямую.
  2. Представление отвечает за отображение информации (визуализацию). Одни и те же данные могут представляться различными способами и в различных форматах. Например, коллекцию объектов при помощи разных представлений можно представить на уровне пользовательского интерфейса как в табличном виде, так и списком.
  3. Контроллер обеспечивает связь между пользователем и системой, использует модель и представление для реализации необходимой реакции на действия пользователя. Как правило, на уровне контроллера осуществляется фильтрация полученных данных и авторизация — проверяются права пользователя на выполнение действий или получение информации.

Ниже представлена схематическая работа MVC.

 Схематическое представление работы MVC.

Рисунок 4 - Схематическое представление работы MVC
(анимация: 11 кадров, непрерывные повторения, 58 килобайта).

Весомым выбором данного патерна является использование его в фрейморке Ruby On Rails.

3.3 Выбор фреймворка

У всех, кто знаком с Ruby, практически, не возникает вопрос о выборе фреймворка из-за “рельса” – народное название Ruby on Rails, который используют больше половины разработчиков на данном языке, исходя из статистики на рисунке 5 – Использование фреймворков разработчиками Ruby.

 Использование фреймворков разработчиками Ruby.

Рисунок 5 – Использование фреймворков разработчиками Ruby.

Ruby on Rails (RoR или Рельсы) — это многоуровневый MVC-фреймворк для построения веб-приложений, использующих реляционные и NoSQL базы данных (например, MySQL, MariaDB, PostgeSQL, MongoDB). Фреймворк написан на языке программирования Ruby. Rails подходит как для разработки обычных сайтов, которые должны быть реально быстрыми, отказоустойчивыми и работающими под высокой нагрузкой, так и для веб-приложений со сложной бизнес-логикой и динамичными web-интерфейсами.

Основным преимуществом языка программирования Ruby и фреймворка Ruby on Rails является скорость разработки. На практике скорость разработки проектов на RoR выше на 30-40 процентов по отношению к любому другому языку программирования или фреймворку. Такой прирост скорости разработки объясняется обширным набором готовых к работе штатных инструментов RoR, возможностью использовать готовые решения других разработчиков, ну и, конечно, удобством программирования на Ruby.

Так же следует отметить, что Ruby on Rails обеспечивает лучшую безопасность проекта. При использовании инструментов RoR исключены SQL-инъекции и XSS-атаки, все входные параметры экранируется по умолчанию, выводимые переменные в шаблонах также экранируются.

3.4 Среда разработки

Разработка системы будет разрабатываться на языке программирования Ruby с использованием фреймворка Ruby On Rails в интегрированной среде разработки IntelliJ IDEA

Выводы

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

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

Список источников

  1. Модульная объектно-ориентированная среда дистанционного обучения [Электронный ресурс]. - Режим доступа: Наумова В.Ю. Разработка тестовых заданий и тестов, 2006. – 16 с.
  2. Понятие теста. Типы и виды тестовых заданий [Электронный ресурс]. — Режим доступа: https://www.sinref.ru/000_uchebniki/04600_raznie_10/571_finansi_invest_neirohirurg_test_2020/003.htm
  3. Рейтинг языков программирования № 7: PHP уходит с пьедестала [Электронный ресурс]. — Режим доступа: https://dou.ua/lenta/articles/language-rating-jan-2016/.
  4. Язык программирования Ruby: особенности, перспективы, рынок труда [Электронный ресурс]. — Режим доступа: https://ru.hexlet.io/blog/posts/yazyk-programmirovaniya-ruby-osobennosti-perspektivy-rynok-truda
  5. Инструментально-библиотечный рай — Ruby on Rails | GeekBrains - образовательный портал [Электронный ресурс]. — Режим доступа: https://gb.ru/posts/ruby-on-rails
  6. Ruby - Руководство пользователя [Электронный ресурс]. — Режим доступа: https://www.opennet.ru/docs/RUS/ruby_guide/
  7. GitHub - ruby/ruby: The Ruby Programming Language [Электронный ресурс]. — Режим доступа: https://github.com/ruby/ruby
  8. Паттерны для новичков: MVC vs MVP vs MVVM / Хабр [Электронный ресурс]. — Режим доступа: https://habr.com/ru/post/215605/
  9. Мальчева Р.В., Семенова Е.П. Разработка компьютерной системы тестирования знаний // Информационные управляющие системы и компьютерный мониторинг (ИУСКМ-2011): II Всеукраинская научно-техническая конференция студентов, аспирантов и молодых ученых. – Донецк: ДонНТУ, 2011. - Т.1. – С. 94-98.
  10. Malcheva, R. Applying Internet technologies to improve the perception of lectures // Proceedings of 3d Congress EE. - Glasgow, 2002. PP. 348-349.
  11. Персональный сайт на портале магистров ДонНТУ, 2005 г. Структура и организация WEB-сервисов тестирования знаний на базе инфраструктуры Интернет. [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2005/fvti/changli/diss/index.htm
  12. Персональный сайт на портале магистров ДонНТУ, 2005 г. Седаков Е.В. Информационные технологии оценки знаний в электронных тестовых системах. [Электронный ресурс]. — Режим доступа: http://masters.donntu.ru/2013/fknt/sedakov/diss/index.htm