Министерство образования и 
науки Российской Федерации
Федеральное государственное 
бюджетное образовательное 
Учреждение высшего образования 
«Тульский государственный 
университет»
Кафедра информационной безопасности
 
 
 
Оболочка для тестирования
 
 
Пояснительная записка к курсовой 
работе по курсу  
«Сетевое программирование»
 
 
 
 
Выполнил:         
студент группы 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]
Сервер обрабатывает запрос 
клиента, общаясь с базой данных. Клиент 
посылает сообщения серверу, на которые 
тот отвечает.
 
 
    Алгоритм работы 
    программы
 
 
Поскольку требуется клиент-серверное 
приложение, необходимо реализовать отдельно 
выделенный сервер и клиенты для подключения. 
Связь между двумя элементами осуществляем 
через сокеты.