Вход

Автоматизированная система тестирования студентов

Курсовая работа* по программированию
Дата добавления: 03 июня 2013
Язык курсовой: Русский
Word, rtf, 2.6 Мб (архив zip, 421 кб)
Курсовую можно скачать бесплатно
Скачать
Данная работа не подходит - план Б:
Создаете заказ
Выбираете исполнителя
Готовый результат
Исполнители предлагают свои условия
Автор работает
Заказать
Не подходит данная работа?
Вы можете заказать написание любой учебной работы на любую тему.
Заказать новую работу
* Данная работа не является научным трудом, не является выпускной квалификационной работой и представляет собой результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала при самостоятельной подготовки учебных работ.
Очень похожие работы

24







Содержание

1. Анализ состояния вопроса.

1.1 Описание предметной области.

1.2 Анализ аналогов и прототипов.

1.3 Перечень задач подлежащих решению в процессе разработки.

1.4 Постановка задачи и разработка технического задания.

1.5 Требования к программе и программному изделию.

1.5.1 Требования к функциональным характеристикам.

1.5.2 Требования к составу и параметрам технических средств.

1.5.3 Требования к информационной и программной совместимости.

1.5.4 Требования к программной документации.

2. Разработка проекта системы.

2.1 Разработка структурной схемы системы.

2.2 Проектирование баз данных.

2.3 Разработка и описание рабочих алгоритмов.

2.4 Требования к системам передачи информации.

2.5 Описание технологии обработки информации.

2.6 Разработка интерфейса взаимодействия пользователя с системой.

3. Вывод.

4. Список использованной литературы.










1 Анализ состояния вопроса.

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

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

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

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

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

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

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

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

  2. Множественный выбор. Из нескольких вариантов выбирается несколько верных.

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

  4. На соответствие. Пользователь должен сопоставить между собой варианты ответов. Вариант – события и даты.

  5. Упорядоченный список. Упорядочивание вариантов ответов. Вариант – расположить события в хронологической последовательности.

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

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

  1. Преподаватель (администратор);

  2. Серверная часть системы;

  3. Среда передачи данных;

  4. Клиентская часть системы;

  5. Пользователь (тестирующийся);



Рисунок 1.1 – Схема взаимодействия сущностей



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

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


1.2 Анализ аналогов и прототипов

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

SunRav TestOfficePro

Разработчик: SunRav Software (http://www.sunrav.ru)

Сайт программы: http://www.sunrav.ru/srtop/index.php

Способ распространения: shareware

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

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

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

Вопросы и варианты ответа можно форматировать, используя для этого встроенный текстовый редактор, близкий по своим функциям к MS WORD. В редакторе можно вставлять изображения, формулы, схемы, таблицы, аудио- и видеофайлы, HTML-документы и любые OLE-документы.

В тестах возможно использование пяти вышеперечисленных типов вопросов.

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

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

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

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

Каждый вопрос может быть снабжен комментарием, содержащим информацию о правильном ответе и т.п.

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

  • предложение пользователю ответить на следующий вопрос;

  • сообщение о том, что пользователь ответил правильно/неправильно;

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

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

В пакет SunRav TestOfficePro входят следующие программы:

  • tMaker — программа, позволяющая создавать и редактировать тесты. Возможно импортирование тестов, созданных в текстовом редакторе или в редакторе электронных таблиц;

  • tTester — программа для проведения тестирования;

  • tAdmin — программа для удаленного администрирования пользователей и обработки результатов тестирования. Позволяет просматривать/печатать результаты тестирования, а также создавать, печатать, редактировать, экспортировать отчеты по тестированию групп пользователей. Возможно создание матрицы ответов.

Технические данные SunRav TestOfficePro:

  • количество вопросов — не ограничено;

  • количество ответов — не ограничено;

  • количество пользователей — не ограничено;

  • количество тестов — не ограничено;

  • количество тем в тесте — до 256;

  • тесты и результаты хранятся в файлах.

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

SunRav TestOfficePro.WEB

Разработчик: SunRav Software (http://www.sunrav.ru)

Сайт программы: http://www.sunrav.ru/srtopweb/index.php

Способ распространения: shareware

SunRav TestOfficePro.WEB — это приложение для тестирования по сетям Интернет и интранет. Вся информация (тесты, разделы тестов, результаты и т.д.) хранится в базе данных и защищена от несанкционированного доступа. Если у пользователя нет соответствующих прав, то он не сможет просматривать, редактировать и удалять свои или чужие результаты тестирования.

Пакет подходит для тестирования удаленных сотрудников, студентов, школьников и т.д. Пользователю для тестирования ничего на своем компьютере устанавливать не нужно — достаточно браузера (Microsoft Internet Explorer, Opera, Mozilla и т.п.).

Возможности тестов аналогичны возможностям тестов из программы SunRav TestOfficePro, которые можно использовать и в программе SunRav TestOfficePro.WEB.

Для организации тестирования требуются:

  • Web-сервер — в качестве такового можно использовать Apache или и MS IIS. По сведениям авторов программы, разработка велась с использованием бесплатного сервера Apache версии 1.3 и 2.0. Его можно свободно скачать с сайта http://www.apache.org;

  • база данных MySQL — по сведениям авторов программы, разработка велась с применением версии 3.23. Ее можно свободно скачать с сайта http://www.mysql.com;

  • PHP-интерпретатор — по сведениям авторов, разработка велась с использованием версии 4.3. Его можно свободно скачать с сайта http://www.php.net.

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

С помощью SunRav TestOfficePro.WEB можно:

  • организовывать тесты в разделы;

  • регистрировать импортировать, редактировать пользователей;

  • проводить тестирование как зарегистрированных, так и не зарегистрированных пользователей;

  • просматривать результаты тестирования по индивидуальному пользователю и по группе пользователей (отчеты);

  • просматривать результаты рейтинга по данному тесту;

  • сохранять результаты тестирования в базе данных.

Конструктор тестов Keepsoft

Разработчик: Keepsoft

Сайт программы: http://www.keepsoft.ru/simulator.htm

Способ распространения: shareware

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

Возможности программы:

  • вопросы могут содержать музыку (файлы WAV, MID. RMI), изображения (файлы JPG, BMP, ICO, EMF, WMF), видеоролики (файлы AVI);

  • поддерживаются вопросы всех пяти вышеперечисленных типов;

  • печать на принтере и сохранение в файл тем, вопросов и ответов;

  • печать на принтере и сохранение в файл результатов тестирования;

  • экспорт тем, вопросов и ответов в файлы различных форматов (MS Excel, MS Word, MS Access, Paradox, DBase, текстовый файл, HTML, XML, RTF (RichText format), PDF (Adobe Acrobat), буфер обмена MS Windows, Lotus 1-2-3 и др.);

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

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

  • задание вопросов в произвольном порядке;

  • задание цены каждому вопросу в баллах;

  • ограничение времени на ответ;

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

  • выставление оценки по окончании тестирования. Система оценок настраивается в «Редакторе». Шкалу оценок можно настроить от 2- до 100-балльной системы;

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

  • проверка орфографии в «Редакторе»;

  • поиск по базе данных в «Редакторе»;

  • сжатие базы данных;

  • настраиваемый интерфейс;

  • функция проверки обновления через Интернет.

«Конструктор тестов» можно загрузить с сайта разработчика и ознакомиться с программой бесплатно в течение 30 дней. Для дальнейшей работы с программой необходима регистрация с оплатой. Зарегистрированным пользователям предоставляются персональный регистрационный ключ и бесплатная техническая поддержка по e-mail.

Конструктор тестов «Техносервис плюс»

Разработчик: ООО «Техносервис плюс»

Сайт программы: http://tsplus.narod.ru/test.html

Способ распространения: заказ по e-mail

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

Программный комплекс содержит три модуля:

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

  • учебник — он создается в конструкторе и может иметь неограниченное количество разделов, параграфов и страниц;

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

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

Программа позволяет:

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

  • с легкостью импортировать в конструктор материалы, по которым построены текущие электронные учебники;

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

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

  • создавать электронные учебники, инструкции, методические материалы;

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

В пакет программ «Конструктор тестов» входят:

  • модуль создания тестов и учебников;

  • модуль тестирования;

  • модуль обучения;

  • модуль для просмотра учебников.

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


1.3 Перечень задач подлежащих решению в процессе разработки


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

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

  • системы компьютерного тестирования с правильно подобранными тестами;

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

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

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

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

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

  • автоматизацию обработки результатов;

  • освобождение преподавателя от проведения традиционных экзаменов;

  • обеспечение объективности контроля знаний; - повышение оперативности тестирования;

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

  • уменьшение затрат на организацию и проведение тестирования;

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

Таким образом, актуальность разработки обусловлена:

1) требованиями повышения качества обучения студентов;

2) значительным возрастанием нагрузки на преподавательский состав;

3) наличием возможности для улучшения существующих комплексов.

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

1.4 Постановка задачи и разработка технического задания

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


1.5 Требования к программе и программному изделию

      1. Требования к функциональным характеристикам

  1. Функции пользователя:

    1. создание учетной записи для последующего использования ее в системе;

    2. возможность выбора типа теста;

    3. прохождение тестирования;

    4. просмотр результатов сеанса тестирования;

  2. Функции разработчика тестов

  1. создание и редактирование тестов;

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

  3. создание бумажной версии теста;

  1. Функции администратора:

  1. создание, редактирование и удаление пользователей и групп;

  2. просмотр и печать результатов тестирования.

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

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

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

- модуля администрирования.


1.5.2 Требования к составу и параметрам технических средств


ПО должно функционировать на IBM совместимых персональных компьютерах имеющих следующую конфигурацию:

-Процессор Pentium Dual Core - 1.3 Ghz;

- ОЗУ 4 ГБ;

- Ethernet адаптер;

- Видео: поддержка разрешение 1024x768;

- Монитор совместимый с данной видеокартой;

- Клавиатура;

- Мышь.

1.5.3 Требования к информационной и программной совместимости


ПО должно работать под управлением ОС семейства Windows (2000/XP/7/8), Windows Server 2012.

1.5.4 Требования к программной документации


- Разрабатываемые программные модули должны быть самодокументированы, тексты программ должны содержать все необходимые комментарии;

- Программная система должна включать справочную информацию о работе и подсказки пользователю;

- В состав сопровождающей документации должно входить руководство пользователя.


2. Разработка проекта системы

2.1 Разработка структурной схемы системы


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

  • создание и редактирование тестовых наборов (тестов), настройка процедуры тестирования;

  • администрирование пользователей и групп пользователей, работающих с элементами комплекса, просмотр результатов тестирования знаний пользователей;

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

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

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

    2. Модуль тестирования. С ним осуществляет работу тестирующийся пользователя;

    3. Модуль администрирования и вывода отчетов.

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

Модуль создания, редактирования и настройки тестов состоит из следующих блоков:

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

  • блок управления разделами тестов. Производит редактирование списка разделов, а также распределение тестов по разделам.;

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

  • блок выбора и настройки вопросов теста. В данном блоке должна быть предусмотрена возможность создания, редактирования и удаления вопросов выбранного теста. Необходимо предусмотреть возможность выбора типа вопроса (одиночный выбор, множественный выбор, на соответствии, упорядоченный список, свободный ввод). Текст вопроса должен содержать элементы форматирования. Необходимо предусмотреть возможность поддержки стандартных OLE-объектов в формулировке вопроса;

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

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

  • блок авторизации пользователя;

  • блок выбора теста;

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

  • блок просмотра результатов сеанса тестирования.

Модуль администрирования состоит из следующих функциональных частей:

  • блок авторизации пользователя;

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

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

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

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

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



Рисунок 2.1 – Структурная схема программного комплекса

2.2 Проектирование баз данных

Для обеспечения требуемой функциональности, разрабатываемый программный комплекс должен обрабатывать большие объемы данных, таких как тестовые наборы данных, данные о группах, пользователях и результатах прохождения тестов пользователями, различные служебные данные. По этой причине к среде хранения данных предъявляются жесткие требования: обеспечение целостности и непротиворечивости хранимых данных, высокая скорость обработки данных, высокая степень защищенности данных от посягательств со стороны злоумышленников, поддержка многопользовательского доступа к данным с функциями разрешения или исключения конфликтных ситуаций. Всем описанным требованиям отвечают реляционные базы данных. В качестве целевой системы управления базой данных (СУБД) выбран Microsoft SQL Server 2005(Standard Edition), который полностью обеспечивает выполнение поставленных выше требования к среде хранения данных. Кроме этого выбранный программный продукт обладает достаточно удобными средствами администрирования баз данных, что существенно упрощает разработку программного комплекса в целом.

Несмотря на то, что проектируемая база данных состоит из взаимосвязанных сущностей, в ней можно выделить две основные подгруппы сущностей. К первой подгруппе отнесем сущности, описывающие хранилища данных о тестах, вопросах и ответах к этим вопросам. Ко второй – сущности пользователей, групп пользователей и результатов прохождения пользователями тестов. На рисунке 2.2 представлена ER-модель разрабатываемой базы данных.



Рисунок 2.2 – ER-модель базы данных


Опишем входящие в базу данных сущности и их атрибуты

Сущность Sections. Информация о разделах тестов.

Атрибуты:

  • Section_id. Тип: integer. Первичный ключ.

  • Section_name.Тип: text. Наименование раздела тестов.

  • Section_hidden. Тип: bit. Флаг сокрытия раздела тестов. Принимает значения «1» и «0». При значении «1» раздел тестов удаляется из списка видимых. Информация не удаляется.

Сущность Tests. Информация и параметры теста.

Атрибуты:

  • Test_id. Тип: integer. Первичный ключ таблицы.

  • Test_description. Тип: text. Описание теста.

  • Test_section_id. Тип: integer. Хранится идентификатор из сущности Sections. Определяет принадлежность теста к разделу.

  • Test_name. Тип: text. Имя теста.

  • Test_type. Тип: integer. Тип теста. Принимает значения «0» и «1». «0» - контрольный тест, «1» - психологический (подсчет баллов).

  • Test_author. Тип: varchar(128). Автор теста.

  • Test_questions_count. Тип: integer. Количество вопросов в тесте.

  • Test_questions_limit. Тип: integer. Определяет то количество из общего числа вопросов в тесте, которое будет задано пользователю.

  • Test_is_random_answers. Тип: bit. Флаг перемешивания вариантов ответов. Принимает значения «1» и «0».

  • Tests_is_time_limit. Тип: bit. Флаг ограничения времени на тест. Принимает значения «1» и «0».

  • Test_time_limit. Тип: char(8). Ограничение времени на тест.

  • Test_is_back. Тип: bit. Флаг возможности возврата на предыдущий вопрос. Принимает значения «1» и «0».

Сущность Questions. Вопросы тестов.

Атрибуты:

  • Question_id. Тип: integer. Первичный ключ.

  • Question_test_id. Тип: integer. Хранится идентификатор из сущности Tests. Определяет принадлежность вопроса к тесту.

  • Question_number. Тип: integer. Локальный номер вопроса. Нумерация начинается с единицы.

  • Question_header. Тип: varchar(1024). Заголовок вопроса. Может дублироваться текст вопроса. Используется при ведении истории ответов пользователя.

  • Question_Text. Тип: text. Текст вопроса. Поддерживается возможность форматирования текста и использования стандартных OLE-объектов.

  • Question_time. Тип: char(8). Время на ответ.

  • Questin_type. Тип: integer. Тип вопроса. «0» - одиночный выбор, «1» - множественный выбор, «2» -соответствие , «3» - упорядоченный список. «4» - свободный ввод.

  • Question_weight. Тип: integer. Количество начисляемых баллов в случае правильного ответа на вопрос.

Сущность Answers. Варианты ответов к вопросам.

Атрибуты:

  • Answer_id. Тип: integer. Первичный ключ.

  • Answer_question_id. Тип: integer. Хранится идентификатор из сущности Questions. Определяет принадлежность варианта ответа к вопросу.

  • Answer_number. Тип: integer. Локальный номер ответа. Нумерация начинается с единицы. Используется только для ответов на вопрос типа «упорядоченный список»

  • Answer_text. Тип: varchar(512). Текст варианта ответа. Возможность форматирования текста отсутствует.

  • Answer_score. Тип: integer. Количество баллов, начисляемых за ответ. Используется при типе теста «Психологический».

  • Answer_right. Тип: bit. Флаг правильности ответа. Принимает значения «0» и «1». При типах вопроса «упорядоченный список», «на соответствие» и «свободный ввод» - всегда устанавливается значение «1»

  • Answer_corresp. Тип: varchar(512). Применяется для определения правильного ответа в вопросах на соответствие.

  • Answer_picture. Тип: image. Может храниться изображение с вариантом ответа

Сущность Groups. Информация о группах пользователей.

Атрибуты:

  • Group_id. Тип: integer. Первичный ключ.

  • Group_name. Тип: varchar(512). Наименование группы.

  • Group_description. Тип: varchar(512). Описание группы.

  • Group_hidden. Тип: bit. Флаг сокрытия группы. Принимает значения «1» и «0». При значении «1» группа удаляется из списка видимых. Информация не удаляется.

Сущность Groupsections. Информация о соответствии группам разделов тестов.

Атрибуты:

  • Id. Тип: integer. Первичный ключ.

  • Gs_group_id. Тип: integer. Идентификатор группы.

  • Gs_section_id. Тип: integer. Идентификатор раздела тестов.

Сущность Users. Информация о пользователях.

Атрибуты:

  • User_id. Тип: integer. Первичный ключ.

  • User_group_id. Тип: integer. Хранится идентификатор из сущности Groups. Определяет принадлежность пользователя к группе.

  • User_name. Тип: varchar(512). Имя пользователя в формате ФИО.

  • User_code. Тип: varchar(128). Дополнительное поле для идентификатора пользователя (например, номера зачетной книжки).

  • User_password. Тип: varchar(128). Пароль пользователя. Хранится в закодированном виде. Алгоритм кодирования – md5.

  • User_desable_test. Тип: bit. Флаг, позволяющий временно запретить данному пользователю тестироваться

  • User_garants. Тип: integer. Кодирует права доступа пользователя. «0» - тестирующийся, «1» - редактор тестов, «2» - администратор

  • User_info. Тип: varchar(512). Информация о пользователе.

  • User_deleted. . Тип: bit. Флаг удаления пользователя. Принимает значения «1» и «0». При значении «1» становится невозможным использование учетной записи, данные сохраняются.

  • User_mail. Тип: varchar(128). Адрес e-mail пользователя.

Сущность User_results. Хранение результатов тестирования.

Атрибуты:

  • User_result_id. Тип: integer. Первичный ключ.

  • User_result_completed. Тип: bit. Флаг окончания теста (ответ на все имеющиеся вопросы). Принимает значения «1» и «0».

  • User_result_time_begin. Тип: smalldatetime. Время начала тестирования.

  • User_result_time_end. Тип: smalldatetime. Время окончания тестирования.

  • User_result_cmpleted_questions. Тип: integer. Количество пройденных вопросов.

  • User_result_right_questions. Тип: integer. Количество правильных ответов.

  • User_result_score. Тип: integer. Количество заработанных баллов.

  • User_result_percent_right. Тип: real. Процент правильных ответов.

  • User_result_total_questions. Тип: integer. Всего вопросов в тесте.

  • User_result_test_title. Тип: varchar(128). Название теста

  • User_id. Тип: integer. Хранится идентификатор из сущности Users. Определяет принадлежность результата к конкретному пользователю.

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

Атрибуты:

  • User_answer_user_result_id. Тип: integer. Первичный ключ.

  • User_answer_qnumber. Тип: integer. Номер вопроса.

  • User_answer_question. Тип: varchar(512). Текст вопроса с элементами разметки гипертекста для корректного вывода в поле отчета.

  • User_answer_answer. Тип: varchar(512). Текст ответа с элементами разметки гипертекста для корректного вывода в поле отчета.

  • User_answer_time. Тип: char(8). Время ответа на вопрос.

  • User_answer_is_right. Тип: bit. Флаг правильности ответа. Принимает значения «T» и «F».

  • User_answer_score. Тип: integer. Полученные баллы.

  • User_answer_answerd. Тип: bit. Флаг ответа на вопрос. Принимает значения «1» и «0».

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

Резервное копирование данных, настройка и иные административные функции выполняются средствами администрирования, такими, как SQL Server Management Studio и SQL Server Business Intelligence Development Studio.

Наличие описанных механизмов поддержки целостности и непротиворечивости данных, а так же средств администрирования базы данных, делает обоснованным использование SQL Server 2005 в качестве целевой СУБД.

2.3 Разработка и описание рабочих алгоритмов

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

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

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

Рисунок 2.3 – Алгоритм работы модуля тестирования

Рисунок 2.4 – Алгоритм работы модуля тестирования (продолжение)


С целью приблизительной оценки задержки при работе модуля тестирования в многопользовательском режиме был произведен эксперимент, результаты которого приведенные в таблице 2.1

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

Тестовый сервер

Кол-во пользователей

Время выполнения, с

1


Intel Celeron2000, 2Гб ОЗУ PC-3200

10

0,013-0,015

20

0,012-0,016


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

2.4 Требования к системам передачи информации

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

Основной объем пересылаемых данных составляют запросы клиентского модуля на выборку вопросов, относящихся к текущему тесту, и результат их выполнения. Пакет ответа на запрос с формулировкой вопроса в текстовом виде с элементами форматирования текста имеет размер 2-8 Кб. Размер пакетов во многом зависит от содержимого формулировки вопроса. Так использование различных мультимедейных объектов в формулировке вопроса может существенно увеличить время передачи вопроса в удаленный клиентский модуль, если последний подключен к базе посредствам низкоскоростного модемного соединения. Грамотное планирование структуры и содержания вопросов позволяет избежать подобных проблем.

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

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

2.5 Описание технологии обработки информации

Входными данными для разрабатываемой системы являются файл тестового набора и реакции пользователя. Тестовый набор представляет собой результат выполнения запроса на выборку вопросов, относящихся к выбранному тесту, и ответов к ним. Механизм пересылки запросов и их обработки реализован средствами технологии Microsoft ActiveX Data Objects (ADO), которая основана на возможностях СОМ, а именно интерфейсов OLE DB.

Технология Microsoft ActiveX Data Objects обеспечивает универсальный доступ к источникам данных из приложений БД. Такую возможность предоставляют функции набора интерфейсов, созданные на основе общей модели объектов СОМ и описанные в спецификации OLE DB.

Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов (рис. 19.1). Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.




Рисунок 2.5 – Схема доступа к данным через ADO

OLE DB представляет собой набор специализированных объектов СОМ, инкапсулирующих стандартные функции обработки данных, и специализированные функции конкретных источников данных и интерфейсов, обеспечивающих передачу данных между объектами.

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

Объекты OLE DB создаются и функционируют так же, как и другие объекты СОМ. Каждому объекту соответствует идентификатор класса CLSID, хранящийся в системном реестре. Для создания объекта используется метод CoCreateinstance и соответствующая фабрика класса. Объекту соответствует набор интерфейсов, к методам которых можно обращаться после создания объекта.

В результате приложение обращается не прямо к источнику данных, а к объекту OLE DB, который "умеет" представить данные (например, из файла электронной почты) в виде таблицы БД или результата выполнения запроса SQL.

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

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

Так как технология ADO основана на стандартных интерфейсах СОМ, которые являются системным механизмом Windows, это сокращает общий объем работающего программного кода и позволяет распространять приложения БД без вспомогательных программ и библиотек.

Спецификация OLE DB различает следующие типы объектов, которые будут рассмотрены ниже.

  • Перечислитель (Enumerator) выполняет поиск источников данных или других перечислителей. Используется для обеспечения функционирования провайдеров ADO.

  • Объект-источник данных (Data Source Object) представляет хранилище данных.

  • Сессия (Session) объединяет совокупность объектов, обращающихся к одному хранилищу данных.

  • Транзакция (Trasaction) инкапсулирует механизм выполнения транзакции.

  • Команда (Command) содержит текст команды и обеспечивает ее выполнение. Командой может быть запрос SQL, обращение к таблице БД и т. д.

  • Набор рядов (Rowset) представляет собой совокупность строк данных, являющихся результатом выполнения команды ADO.

  • Объект-ошибка (Error) содержит информацию об исключительной ситуации.

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

2.6 Разработка интерфейса взаимодействия пользователя с системой

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

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

Администратор выполняет функции управления группами и пользователями, а так же правами в системе, просматривает и распечатывает отчеты с результатами тестирования отдельных пользователей или групп, устанавливает соответствие между разделами тестов и группами. Администратор может при необходимости выполнять функции всех нижеследующих типов пользователей. Администратор должен иметь глубокие познания в сфере установки, конфигурирования и работы с ОС и программным обеспечением, используемым системой. Также ему необходимо знать основы администрирования СУБД вообще и SQL Server 2005 в частности. Желательно, чтобы администратор имел хотя бы общие познания в языках программирования и описания данных, используемых в системе (SQL DDL/DML, PL/SQL, и др.). Одной из задач администрирования является консультация пользователей системы в случае возникновения у них каких-либо вопросов.

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

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

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

Интерфейс всех модулей имеет академический стиль, отличающийся минимальными визуальными эффектами и интуитивной понятностью конечному пользователю. Экранные формы всех модулей представлены в приложении Б.

На рисунках 2.6, 2.7 и 2.8 представлены графы диалога пользователей категории «администратор», «преподаватель» и «тестирующийся» соответственно.


Рисунок 2.6 – Граф диалога администратора с системой

Рисунок 2.7 – Граф диалога преподавателя с системой


Рисунок 2.8 – Граф диалога тестирующегося с системой

















3. Вывод


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

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

  • Изучена предметная область вопроса, рассмотрены существующие решения проблемы.

  • Рассмотрены и изучены существующие аналоги системы, выявлены их достоинства и недостатки, конкретизированы данные технического задания

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

  • Разработаны и описаны рабочие алгоритмы системы

  • Разработана структура базы данных, используемой системой

  • Конкретизированы требования к средам передачи информации

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

  • Разработан интерфейс пользователя























4. Список использованной литературы.

    1. Нильсен, Пол. Microsoft SQL Server 2005. Библия пользователя/ Пол Нильсен М.: ООО «И.Д. Вильямс», 2008. — 1232с.:ил.

    2. Губер, Мартин. Понимание SQL/Мартин Губер — М.: 1993

    3. Архангельский, А.Я. Программирование в Delphi 7/А. Я. Архангельский —М.: ООО «Бином-Пресс», 2003г.—1152с.:ил.

    4. Дарахвелидзе, П. Г. Программирование в Delphi 7/ П. Г. Дарахвелизде, Е. П. Марков — СПб.: БХВ-Петербург, 2003.—784с.:ил.

    5. Липаев, В.В. Отладка сложных программных комплексов / В.В. Липаев - М.: Энергоатомиздат, 1993 – 251 с.

    6. Липаев, В.В. Методы обеспечения качества крупномасштабных программных средств / В.В. Липаев - М.: СИНТЕГ, 2003 – 350 с.

    7. Меняев М.Ф. Содержание организационно-экономической части дипломного проекта (для проектов, связанных с разработкой программного обеспечения): Учеб. пособие / М.Ф. Меняев ? М.: МГТУ им. Н.Э. Баумана, 2002.? 24 с.





© Рефератбанк, 2002 - 2024