Министерство образования и
науки Российской Федерации
Федеральное государственное
бюджетное образовательное
Учреждение высшего образования
«Тульский государственный
университет»
Кафедра информационной безопасности
Оболочка для тестирования
Пояснительная записка к курсовой
работе по курсу
«Сетевое программирование»
Выполнил:
студент группы 220421 _______
Султанова О.А.
(подпись)
Проверил:
доцент каф. АИиУС
_______ Яблочкин Л.Б.
(подпись)
Тула 2016
Аннотация
Задачей данной курсовой работы
по курсу «Сетевое программирование»
являются проектирование и разработка
информационной системы, представляющей
собой оболочку для проведения тестирования.
Целью выполнения данной курсовой работы
является получение практических навыков
в области сетевого программирования
и методов разработки клиент-серверных
приложений, создания качественного пользовательского
интерфейса, а также генерации и написания
кодов клиентского и серверного приложений.
Программа разработана в среде
программирования NetBeans IDE, с использованием
языка программирования Java. Результатом
выполнения данной курсовой работы стали
навыки в постановке задачи создания информационной
системы, проектировании клиент-серверного
приложения, работающего с базой данных,
и создании надёжного и понятного интерфейса
к клиентскому приложению.
Отчёт состоит из 24 листов, включает
в себя 4 основных раздела, содержит
9 рисунков, 8 использованных источников,
а так же одно приложение.
Содержание
Введение
Проверка и оценка знаний, умений
и навыков учащихся является важным структурным
компонентом процесса обучения и в соответствии
с принципами систематичности, последовательности
и прочности обучения должна осуществляться
в течение всего периода обучения. Оценка
знаний и умений учащихся является важным
звеном учебного процесса, от правильной
постановки которого во многом зависит
успех обучения. В методической литературе
принято считать, что оценка является
так называемой “обратной связью” между
учителем и учеником, тем этапом учебного
процесса, когда учитель получает информацию
об эффективности обучения предмету. [5]
В последние годы тестирование
как метод оценки знаний все больше набирает
популярность. На сегодняшний день существует
множество разнообразных методов оценки
знаний: устный и письменный опрос, собеседование,
диктант, вычислительные задания, деловые
игры, экзаменационная схема оценки, тестирование.
Для создания адекватного и эффективного
теста необходимо затратить много труда,
именно поэтому для проведения тестирования
удобно использовать специальные компьютерные
тестирующие системы (тестовые оболочки).
Благодаря им процедура тестирования
становится очень простой и массовой,
поскольку применение вычислительной
техники сводит к минимуму затраты времени
и средств организаторов тестирования.
Этим обусловлена актуальность данной
курсовой работы.[8]
Тесты - это достаточно краткие,
стандартизированные или не стандартизированные
пробы, испытания, позволяющие за сравнительно
короткие промежутки времени оценить
преподавателями и студентами результативность
познавательной деятельности студентов,
т.е. оценить степень и качество достижения
каждым студентом целей обучения (целей
изучения).
Тесты предназначены для того,
чтобы оценить успешность овладения конкретными
знаниями и даже отдельными разделами
учебных дисциплин, и являются более объективным
показателем обученности, чем оценка.
Если подходить к проблеме оценки
знаний как способу сравнения, то двум
разным ученикам следует предлагать одинаковые
тесты (вопросы) и ограничивать время размышления.
Тесты должны быть предварительно проверены
на довольно большой группе ребят. Обязательна
при этом и статистическая обработка ответов.
До этого момента их даже считают не тестами,
а тестовыми заданиями, то есть вопросами,
которые обладают недостаточно надежной
"проверяющей способностью". Чем
больше тестов, тем надежнее оценка знаний.
В серьезных случаях при оценке знаний
взрослых используют набор из 100 - 200 вопросов,
ограничивая время размышления над каждым.
Это серьезнейшая проверка, требующая
хорошей подготовленности. Облегченный
вариант этой проверки уже давно используют
в университетах в виде экзаменационных
или зачетных тестов. Кроме зачетных или экзаменационных
тестов существуют еще поурочные (рабочие)
тесты для текущей оценки знаний учащихся
на каждом уроке. Именно поурочные тесты требуют
к себе особого внимания, так, при необходимости
они могут заменить экзаменационные. А
вот обратная замена невозможна в силу
постепенности прохождения материала.
Составлять поурочные тесты нетрудно,
но долго, и стоит сказать об их главных
особенностях.[7]
1. Тесты должны быть "закрытыми",
то есть иметь варианты ответов.
2. Краткость. Вопрос должен
занимать одну строку. Вопрос
должен быть абсолютно ясным.
3. Варианты ответов. Оптимальное
их число - 4 - 6, редко - 8. Каждый вариант
- не более одной строки.
Составить подобные тесты позволяет
программа, разработанная в рамках данной
курсовой работы.
В настоящее время наиболее
часто используются следующие варианты
тестовых контрольных мероприятий:
"автоматический", когда обучаемый выполняет задание в непосредственном диалоге с ЭВМ, результаты сразу переносятся в блок обработки;
“полуавтоматический”, когда
задания выполняются письменно, а ответы
со специальных бланков вводятся в ЭВМ
(решения не проверяются);
“автоматизированный”, когда
задания выполняются письменно, решения
проверяются преподавателем, а в ЭВМ вводятся
результаты проверки. [8]
Одним из наиболее актуальных
направлений развития компьютерных технологий
в образовании является разработка специализированных
систем проверки знаний студентов.
Компьютерное тестирование
имеет ряд преимуществ:
– быстрое получение результатов
испытания и освобождение преподавателя
от трудоемкой работы по обработке результатов
тестирования;
– объективность в оценке;
– конфиденциальность при анонимном
тестировании;
– тестирование на компьютере
более интересно по сравнению с традиционными
формами опроса, что создает положительную
мотивацию у студентов.
Данная работа будет актуальна
ввиду вышеперечисленных преимуществ.
Также, в отличие от массы уже
существующих оболочек, она будет обладать
следующими свойствами: простота в использовании,
клиент-серверная структура, создание
тестов для любого предмета и любого количества
студентов (без ограничения количества
компьютеров), нет ограничения на количество
введенных вопросов, в зависимости от
содержания теста каждый блок будет соответствовать
теме. А самое главное, эта оболочка будет доступна для любого пользователя, желающего организовать тестирование, поскольку она
разработана именно в этих целях и не будет
требовать серийных ключей и т.д., как у
любого другого программного обеспечения.
Постановка
задачи и изучение предметной области
Основоположники тестирования
- Ф.Гальтон, Ч.Спирман, Дж.Каттел, А.Бине,
Т.Симон. Сам термин "умственный тест"
придумал Кеттел в 1890г. Начало развития
современной тестологии массового применения
тестов на практике связано с именем французского
врача Бине, разработавшего в соавторстве
с Симоном метрическую шкалу умственного
развития, известную под названием "тест
Бине-Симона".
Тестирование (англ. test - испытание,
проверка) - экспериментальный метод психодиагностики,
применяемый в эмпирических социологических
исследованиях, а также метод измерения
и оценки различных психологических качеств
и состояний индивида.
«Тест — это инструмент, состоящий
из квалиметрически выверенной системы
тестовых заданий, стандартизированной
процедуры проведения и заранее спроектированной
технологии обработки и анализа результатов,
предназначенный для измерения качеств
и свойств личности, изменение которых
возможно в процессе систематического
обучения» (А.Н. Майоров)
Возникновение тестологических
процедур было обусловлено потребностью
сопоставления (сравнения, дифференциации
и ранжирования) индивидов по уровню развития
или степени выраженности различных психологических
качеств.
Основной составляющей единицей
теста являются тестовые задания.
«Тестовое задание – составная
часть теста, отвечающая требованиям технологичности,
формы, содержания и, кроме того, статистическим
требованиям [3]:
1) известной трудности;
2) достаточной вариации
тестовых баллов;
3) положительной корреляцией
баллов задания с баллами по
всему тесту».
Другими важными составляющими
теста являются правила проведения тестирования
и технология обработки тестовых результатов.
Они позволяют обеспечить сравнимость
результатов различных использований
одного и того же теста, равенство тестируемых,
объективность и справедливость оценки.
Основными преимуществами компьютерных
тестовых систем являются их оперативность,
объективность, возможность охватить
большую аудиторию, автоматизация обработки
результатов, возможность самоконтроля
учащихся [4].
Тестирование в компьютерной
форме исключает возможность ошибки преподавателя
при проверке тестовых заданий, сводит
к нулю время, необходимое на проверку
(время ожидания оценки учащимися), устраняет
необходимость раздачи и сбора тестового
материала на бумажных носителях.
В отличие от бланковых систем
тестирования, компьютерные тесты позволяют
использовать сложные методы контроля
оценки знаний учащихся, снизить финансовые
и временные затраты при проведении тестирования,
применить в тестах мультимедийные задания,
а так же повысить открытость процесса
тестирования [5].
Но наряду с достоинствами,
у компьютерных тестов есть и свои недостатки:
повышается вероятность случайного выбора
ответа, понижается внимание на оформление
решения, теряется логика рассуждения,
теряется информация о процессе выполнения
отдельных заданий учащимися [4].
Для проведения компьютерного
тестирования используют специальные
программы (тестовые оболочки). В глобальной
сети можно найти множество разных тестирующих
программ и оболочек. Но большинство из
них оказываются примитивными и крайне
неудобными в использовании. Для создания
тестирующей оболочки недостаточно хорошо
владеть приемами программирования. Следует
еще очень точно представлять себе условия,
в которых применяется этот программный
продукт.
Подводя итог вышесказанному,
выделим основные задачи данной курсовой
работы:
- Определить целевую аудиторию
пользователей, для которых предназначен
данный программный продукт;
- Разработать простой и понятный
интерфейс для программного продукта;
- Написать клиент-серверное
приложение для проведения тестирования:
- Предусмотреть администратором
возможность добавления новых тестов
и вопросов к уже существующим тестам;
- Предусмотреть возможность
тестирования по сети.
Инструкция программисту
Программа написана на языке
программирования Java версии 1.8.
Java — объектно-ориентированный язык
программирования, разработанный компанией Sun Microsystems (в последующем приобретённой
компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать
на любой виртуальной Java-машине вне зависимости от компьютерной архитектуры. [1]
Математическая
модель
Математическая модель приложения
- это клиент-серверная модель архитектуры.
Клиент-сервер (англ. Client-server) — вычислительная или
сетевая архитектура, в которой задания
или сетевая нагрузка распределены между
поставщиками услуг, называемыми серверами,
и заказчиками услуг, называемыми клиентами.
Физически клиент и сервер — это программное обеспечение. Обычно они взаимодействуют
через компьютерную сеть посредством сетевых протоколов и находятся на разных вычислительных
машинах, но могут выполняться также и
на одной машине. Программы — сервера,
ожидают от клиентских программ запросы
и предоставляют им свои ресурсы в виде
данных (например, загрузка файлов посредствомHTTP, FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или сервисных функций (например,
работа с электронной почтой, общение посредством систем мгновенного обмена
сообщениями, просмотр web-страниц во всемирной паутине). [1]
Сервер обрабатывает запрос
клиента, общаясь с базой данных. Клиент
посылает сообщения серверу, на которые
тот отвечает.
Алгоритм работы
программы
Поскольку требуется клиент-серверное
приложение, необходимо реализовать отдельно
выделенный сервер и клиенты для подключения.
Связь между двумя элементами осуществляем
через сокеты.