Разработка распределенного программного обеспечения для контроля знаний студентов

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 04.02.2013
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Федеральное государственное образовательное учреждение

среднего профессионального образования

"Сергиево-Посадский киновидеотехнический колледж"

Специальность: "Программное обеспечение вычислительно техники и автоматизированных систем"

Дипломный проект

на тему: "Разработка распределенного программного обеспечения для контроля знаний студентов"

Автор ДП: Волков Александр Сергеевич

Руководитель: Захаров Михаил Иванович

Рецензент: Зуденкова Людмила Георгиевна

Консультант: Петрухина Вера Васильевна

Сергиев Посад 2008 г.

Содержание

  • 1. Введение
  • 2. Обзор существующих программ
  • 2.1 Системы контроля знаний
  • 2.1.1 Система контроля знаний knost
  • 2.1.2 Сетевая система контроля знаний на основе объектно-ориентированного подхода
  • 2.1.3 Анализ существующих систем контроля знаний
  • 2.2 Исследование методов проектирования баз данных
  • 2.3 Выбор программно-технических средств для реализации проекта
  • 2.3.1 MySQL
  • 2.3.2 Inter Base
  • 2.3.3 Microsoft SQL Server
  • 2.4 Техническое задание
  • 3. Расчетная часть
  • 3.1 Разработка структурной схемы подсистемы
  • 3.2 Разработка алгоритмического обеспечения
  • 3.2.1 Модуль администратора
  • 3.2.2 Модуль тестирования
  • 3.3 Разработка программного обеспечения
  • 3.3.1 Установка MySQL
  • 3.4 Разработка интерфейса пользователя
  • 3.4.1 Разработка интерфейса Модуля администратора
  • 3.4.2 Разработка интерфейса Модуля тестирования
  • 3.5 Разработка инструкции пользователя
  • 4. Технологический раздел
  • 4.1 Технология разработки элементов базы данных
  • 4.1.1 Создание базы данных
  • 4.1.2 Создание таблиц базы данных
  • 4.2 Технология разработки программных модулей
  • 4.3 Технология разработки интерфейса пользователя
  • 5. Расчет себестоимости
  • 6. Техника безопасности
  • 6.1 Требования по охране труда в соответствии с инструкцией №32-04-Б
  • 6.1.1 Требования безопасности перед началом работы
  • 6.1.2 Требования безопасности во время работы
  • 6.1.3 Требования безопасности после окончания работы
  • 6.2 Вредные факторы
  • 6.2.1 Физические
  • 6.2.2 Химические
  • 6.2.3 Психофизиологические
  • 6.3 Требования по условиям труда
  • 6.4 Требования безопасности в аварийных ситуациях в случае обнаружения аварийной ситуации
  • Заключение
  • Список используемых источников
  • Приложения

1. Введение

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

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

2. Обзор существующих программ

2.1 Системы контроля знаний

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

2.1.1 Система контроля знаний knost

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

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

– вопрос - многострочный текст, длина которого ограничена величиной 2 Гбайта

– картинку

– список вариантов ответа

У каждого вопроса может быть своё количество вариантов ответа. Максимальное число вариантов ответа на один вопрос составляет примерно 2 млрд. Каждому варианту ответа ставится в соответствие количество баллов, которое даётся за данный вариант ответа. "Правильным" считается тот вариант ответа, которому соответствует максимальный балл. В частности, может быть несколько вариантов правильного ответа.

Система состоит из двух программ: модуль администратора и модуль тестирования. Основные функции системы:

а) создание теста;

б) Тестирование локальное (одиночное);

в) Тестирование удалённое;

г) Просмотр результатов тестирования.

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

Тестируемый (студент) с помощью модуля тестирования открывает файл теста (с расширением *. knt). Затем вводит своё имя и выбирает правильные, на его взгляд, варианты ответов. Порядок вопросов в тесте и порядок вариантов ответа на каждый вопрос случайным образом меняются. Это предохранит тестируемого от простого механического заучивания номеров правильных ответов при повторной сдаче теста, как это иногда бывает. Результаты тестирования сохраняются в файлах с расширением *. knr.

Удаленное тестирование применяется при тестировании группы студентов. Каждый тестируемый запускает модуль тестирования, выбирает режим удалённого тестирования, вводит своё имя, имя компьютера преподавателя (или его IP-адрес) и нажимает кнопку "Готов!". В свою очередь преподаватель запускает модуль администратора, выбирает режим удалённого тестирования и выбирает тест и место (каталог), куда записывать результаты тестирования. В таблице будет видно, какие студенты подключены. Преподаватель может указать ограничение по времени тестирования. После нажатия на кнопку "Пуск", на клиентских компьютерах начинает выполняться тест, и завершается или по истечении времени тестирования, или при досрочном завершении теста студентом, или - же при нажатии преподавателем кнопки "Стоп". В последнем случае тест завершится на всех подключённых компьютерах.

Для просмотра результатов тестирования в модуле администратора открывается файл результатов тестирования (с расширением *. knt). При этом можно видеть, какой вариант ответа выбирал тестируемый на каждый вопрос и сколько баллов он набрал. В программе рассчитывается "коэффициент знаний", который представляет собой результат деления числа баллов, набранных тестируемым, на максимально возможное количество баллов в этом тесте. То есть, этот коэффициент может принимать значение от нуля до единицы. Оценка по пятибалльной шкале считается как округлённое значение произведения коэффициента знаний на 5.

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

2.1.2 Сетевая система контроля знаний на основе объектно-ориентированного подхода

Данная система имеет трехзвенную архитектуру. Целью этой технологии является снижение требований к клиентским компьютерам, для этого значительная часть программных ресурсов клиента переносится в промежуточное звено - сервер приложений. Сервер приложений располагается на компьютере, где находится БД с тестами или на выделенном сетевом компьютере. Только он с помощью BDE непосредственно взаимодействует с БД, реализуя посредничество между ними и остальными клиентскими местами (Рисунок 2.1).

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

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

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

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

Если рассматривать отдельный сеанс, то он состоит из трех этапов:

а) подготовка заданий для контроля;

б) проведение опроса;

в) оценка полученных результатов.

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

Система может функционировать в одном из двух режимов: однопользовательский режим (персональное тестирование); многопользовательский режим (групповое тестирование). Многопользовательский режим реализован на базе клиент-серверной технологии с использованием протокола TCP/IP.

Данная система снабжена эффективным, а главное простым механизмом разработки тестов (для этого создана программа Место Разработчика).

Имеется возможность подробно проанализировать результаты всех проведенных сеансов тестирований и сгенерировать ряд необходимых отчетов (для этого создана программа Место Преподавателя).

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

Состав программного пакета: Место Разработчика, Место Пользователя, Место Преподавателя.

Место Разработчика предназначено для создания новых тестов и редактирования старых. Обладает простым и эффективным механизмом для разработки новых тестов.

Место Пользователя служит для проведения тестирований (Рисунок 2.2).

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

Созданный сервер занимается обслуживанием тестируемых и преподавателей по сетевому протоколу TCP/IP (протокол обмена информацией в INTERNET) при функционировании пакета в клиент-серверном режиме.

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

Место Пользователя и Место Преподавателя разработаны таким образом, что могут работать, как с локальными данными и пользователями (персональное тестирование), так и с "удаленными" данными и пользователями.

Рисунок 2.2 - Главное окно программы

2.1.3 Анализ существующих систем контроля знаний

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

а) ограниченное количество ответов. Не во всех системах реализованы даже основные формы представления ответов.

б) отсутствие формальных методов дифференцированной оценки ответов.

в) слабые возможности параметрической настройки теста.

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

д) многие программы или дополнительные модули к ним являются платными.

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

2.2 Исследование методов проектирования баз данных

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

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

В основу проектирования баз данных должны быть положены представления конечных пользователей конкретной организации - концептуальные требования к системе. Именно конечный пользователь в своей работе принимает решения с учетом получаемой в результате доступа к базе данных информации. От оперативности и качества этой информации будет зависеть эффективность работы организации. Данные, помещаемые в базу данных, также предоставляет конечный пользователь. [23]

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

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

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

- база данных должна удовлетворять выявленным и вновь возникающим требованиям конечных пользователей;

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

- база данных должна легко изменяться при изменении программной и аппаратной среды;

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

- данные до включения в базу данных должны проверяться на достоверность;

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

Этапы проектирования базы данных с учетом рассмотренных выше аспектов мы сейчас и рассмотрим.

Этап 1 - проектирование концептуальной модели баз данных:

а) анализ данных: сбор основных данных (например, объекты, связи между объектами);

б) существующие прикладные программы: сбор информации о данных в существующих прикладных программах для определения объектов и их взаимосвязей;

в) потенциально возможные прикладные программы: сбор информации о потенциальных возможностях использования данных.

Этап 2 - проектирование логической модели данных с учетом требований СУБД и определяемых конкретным пакетом СУБД процедур.

Этап 3 - проектирование физической модели базы данных.

Этап 4 - оценка физической модели базы данных (на основе оценки эксплуатационных характеристик прикладных программ с учетом частоты использования приоритетов).

При неудовлетворительных оценках эксплуатационных характеристик - возврат на этапы 2 или 3.

Этап 5 - реализация базы данных

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

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

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

2.3 Выбор программно-технических средств для реализации проекта

Как только мы задумываемся о каком-либо упорядоченном архивировании информации, мы неизбежно приходим к мысли о создании базы данных. Создав её, например, в Microsoft Access, мы, облегчённо вздыхаем и на какое-то время успокаиваемся. Но это спокойствие длится не долго. И вот на нашем горизонте уже маячит следующая задача, продиктованная жизненной необходимостью, - нужно обеспечить доступ к этим данным через Internet с рабочих станций, на которых, вполне возможно установлены, различные ОС. Естественно не мы первые, кому необходимо разрешить задачу подобного рода. Опыта других людей и средств для разрешения этой проблемы довольно много. Мы воспользуемся языком, который позволяет пользователям, знающим один набор команд, использовать их, чтобы создавать, отыскивать, изменять, и передавать информацию, независимо от того, работают ли они на персональном компьютере, сетевой рабочей станции, или на универсальной ЭВМ.

SQL символизирует собой структурированный язык pзапросов. Это язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах. [23]

2.3.1 MySQL

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

Клиентские программы могут работать не только в режиме командной строки. Есть и графические клиенты, например MySQL GUI, PhpMyAdmin и другие.

MySQL взаимодействует с базой данных на языке, называемом SQL.

SQL предназначен для манипуляции данными, которые хранятся в Системах управления реляционными базами данных (RDBMS). SQL имеет команды, с помощью которых данные можно извлекать, сортировать, обновлять, удалять и добавлять. Стандарты языка SQL определяет ANSI (American National Standards Institute). В настоящее время действует стандарт, принятый в 2003 году (SQL-3).

SQL можно использовать с такими RDBMS как MySQL, mSQL, PostgresSQL, Oracle, Microsoft SQL Server, Access, Sybase, Ingres. Эти системы RDBMS поддерживают все важные и общепринятые операторы SQL, однако каждая из них имеет множество своих собственных патентованных операторов и расширений.

SQL является общим языком запросов для нескольких баз данных различных типов.

MySQL - это система управления базами данных. База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми - от простого списка предстоящих покупок до перечня экспонатов картинной галереи или огромного количества информации в корпоративной сети. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления базой данных, каковой и является ПО MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному - как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.

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

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

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

Система безопасности основана на привилегиях и паролях с возможностью верификации с удаленного компьютера, за счет чего обеспечивается гибкость и безопасность. Пароли при передаче по сети при соединении с сервером шифруются. Клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы (named pipes, под NT)

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

- 32-разрядная Linux-Intel - размер таблицы 4 Гб;

- Solaris 2.7 Intel - 4 Гб;

- Solaris 2.7 UltraSPARC - 512 Гб;

- WindowsXP - 4 Гб.

Как можно видеть, размер таблицы в базе данных MySQL обычно лимитируется операционной системой. По умолчанию MySQL-таблицы имеют максимальный размер около 4 Гб. Для любой таблицы можно проверить/определить ее максимальный размер с помощью команд SHOW TABLE STATUS или myisamchk - dv table_name. Если большая таблица предназначена только для чтения, можно воспользоваться myisampack, чтобы слить несколько таблиц в одну и сжать ее. Обычно myisampack ужимает таблицу по крайней мере на 50%, поэтому в результате можно получить очень большие таблицы. [18], [22]

2.3.2 Inter Base

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

Что отличает InterBase? Прежде всего, это кросс-платформенность, то есть, переносимость с одной операционной системы на другую. InterBase поддерживает Linux, Windows и значительное количество Unix-платформ. И делает это легко и удобно. Фактически, приложение, которое использует InterBase, не увидит разницы, на какой платформе в данный момент находится сервер. А если вам захочется поменять платформу, то это не потребует переделки базы данных - достаточно лишь проделать операцию резервного копирования на одной платформе и восстановления копии на другой.

InterBase всегда был инновационным продуктом, если так можно выразиться. Многие технологии, которые сейчас считаются само собой разумеющимися в мире баз данных, впервые появились именно в InterBase. Прежде всего, речь идет о BLOB-полях. Это может звучать удивительно, но именно в InterBase они впервые и появились. Во-вторых, это UDF, то есть, функции, определяемые пользователем. Замечательная возможность расширить набор встроенных функций при помощи любого средства разработки! Сама идеология InterBase - система множественного поколения записей, которая позволяет гарантировать отсутствие блокировок по чтению и быстрое восстановление базы данных при сбоях - это совершенно инновационная технология, которая являлась уникальной с самого начала, да и сейчас, пожалуй, не имеет реальных аналогов. Ну и напоследок, стоит упомянуть каскадные триггеры. Именно этот механизм, позволяющий создавать очереди автоматически запускающихся триггеров на все виды операций с данными, дает нам возможность гибко реализовывать практически сколь угодно сложную бизнес-логику. [25]

2.3.3 Microsoft SQL Server

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

СУБД SQL Server появилась в 1989 году и с тех пор значительно изменилась. Огромные изменения претерпели масштабируемость продукта, его целостность, удобство администрирования, производительность и функциональные возможности.

Система SQL Server может быть реализована либо как клиент-серверная система, либо как автономная "настольная" система. Тип проектируемой системы зависит от количества пользователей, которые должны одновременно осуществлять доступ к базе данных, и от характера работ, которые должны выполняться. [18], [19], [23]

Это далеко не полный обзор клиент-серверных СУБД. В своем дипломном проекте я использовал систему MySQL. Это обусловлено гибкостью, масштабироемостью, большими возможностями, кросплатформенностью и сравнительно низкими требованиями к программным и аппаратным ресурсам, а также данная СУБД распространяется бесплатно.

2.4 Техническое задание

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

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

кратковременность проверки;

стандартность проведения проверки

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

возможность представления результатов проверки в числовой форме;

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

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

3. Расчетная часть

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

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

Клиент-серверная система может иметь либо двухзвенную установку (two-tier setup), либо трехзвенную установку (three-tier setup). Независимо от варианта установки, программное обеспечение и базы данных MySQL размещаются на центральном компьютере, который называется сервер базы данных (database server). Пользователи работают на отдельных компьютерах, которые называются клиенты (clients). Доступ пользователей к серверу базы данных производится при помощи приложений с их компьютеров-клиентов (в двухзвенных системах (Рисунок 3.1)) либо при помощи приложений, выполняющихся на специально предназначенном для этой цели компьютере, который называется сервер приложений (в трехзвенных системах).

Свое приложение я реализовал с использованием двухзвенной установки.

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

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

3.2 Разработка алгоритмического обеспечения

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

3.2.1 Модуль администратора

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

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

Рисунок 3.2 - Модуль подключение Модуля администратора

Редактор опросника (Рисунок 3.3).

Рисунок 3.3 - Редакторы тем и вопросов Модуля администратора

Данный этап, как видно из рисунка, состоит из двух частей: реактора тем и редактора вопросов.

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

Пользователи (Рисунок 3.4).

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

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

Рисунок 3.4 - редактор пользователей Модуля администратора

Студенты (Рисунок 3.5).

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

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

Модуль Оценок (Рисунок 3.6)

Рисунок 3.6 - Модуль Оценки Модуля администратора

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

Модуль Отчетов (Рисунок 3.7).

Рисунок 3.7 - Модуль Отчетов Модуля администратора

Данный модуль состоит из четырех этапов, которые, если объединить второй и третий пункты, можно было бы сократить до трех. Сначала мы берем уже готовые результаты, которые хранятся на сервере. Затем происходит их фильтрование и сортировка по указанным пользователем критериям и запросам. А после этого уже нужные данные можно распечатать в виде отчетов. Модуль обложек (Рисунок 3.8)

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

Рисунок 3.8 - Модуль Обложек Модуля администратора

3.2.2 Модуль тестирования

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

Модуль Аутентификации (Рисунок 3.9)

Рисунок 3.9 - Модуль Аутентификации Модуля тестирования

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

Модуль выбора теста для опроса (Рисунок 3.10)

Рисунок 3.10 - Модуль выбора теста Модуля тестирования

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

Модуль Опроса (Рисунок 3.11)

Рисунок 3.11 - Модуль опроса

В данном модуле, как видно из рисунка, пять этапов. Сперва мы получаем вопросы с сервера, затем тестируемый студент на них отвечает. Предусмотрена возможность пропускать вопросы и возвращаться к ним позже. Также есть возможность менять вариант ответа. Пункты 3, 4 и 5 выполняются по нажатию кнопки Выход. Сперва мы получаем ответы с сервера, затем сравниваем правильные ответы с ответами студента и записываем получение результаты сравнения на сервер. Здесь же высчитывается оценка, которую получил студент.

Модуль Результат (Рисунок 3.12)

Рисунок 3.12 - Модуль Результат Модуля тестирования

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

3.3 Разработка программного обеспечения

Модуль администратора нужен для занесения списка направления тестирования, предметов, вопросов по ним, просмотра оценок, создания отчётов, а так же для формирования списка студентов. Доступ к нему может быть только под учетной записью оператора базы данных, который обладает правами администратора. База данных Модуля администратора ведёт работу с таблицами: Subject (Предмет), Theme (Тема выбранного предмета) и Question (вопрос по дисциплине), Q_Illustration (Иллюстрации к вопросу), Answer (Ответы на вопрос), Test (Перечень всех опросов студентов), Student (Содержит всех студентов подлежащих опросу), User (Список пользователей которым доступны функции администрирования), Skin (Хранит обложки для программы). (Рисунок 3.13)

Рисунок 3.13 - Таблицы базы данных редактора опроса

Как видно из рисунка, целостность таблиц Subject и Theme поддерживается с помощью полей id_subject содержащихся в обоих таблицах, в таблицах Theme и Question с помощью полей id_theme, а в таблицах Question и Q_Illustration целостность потдерживается с помощью полей id_question PK - первичный ключ таблицы, FK фторичный ключ.

Таблицы Модуля тестирования представлены на рисунке 3.14.

Рисунок 3.14 - Таблицы базы данных Модуля тестирования

Как видно из рисунка основных таблиц всего 8, и 2 вспомогательных для хранения списка студентов и обложек. Первая содержит информацию о студенте: его имя, фамилию, номер группы и порядковый номер (всё, что нужно для авторизации). Вторая таблица отвечает за стили отображения кнопок, панелей, меню и прочих элементов программы. Порядковому номеру студента соответствует время, дата тестирования, а так же оценка которые запрашиваются у СУБД, тем самым обеспечивая точное время проведения опроса. Итак, мы определились со структурой программы и таблицами базы данных. По итогам исследовательского раздела, для создания базы данных я буду использовать MySQL Server и Delphi.

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

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

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

3.4.1 Разработка интерфейса Модуля администратора

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

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

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

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

3.4.2 Разработка интерфейса Модуля тестирования

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

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

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

Поскольку на каждую тему количество не закреплено жёстко, то при подсчёте студенту выводится 3 шкалы оценок: от 0 до 100, от 0 до 5 и от 2 до 5.

3.5 Разработка инструкции пользователя

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

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

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

4. Технологический раздел

4.1 Технология разработки элементов базы данных

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

После регистрации сервера (его установка подробно описана в исследовательском разделе), для подключения к нему достаточно запустить MySQL Command Line Client. После чего необходимо ввести имя пользователя и пароль (те, которые были заданы при конфигурации сервера)

Рисунок 4.1 Программа Command Line Client

Программа Command Line Client (Рисунок 4.1) являтся довольно гибким и удобным приложением для администрирования СУБД MySQL и представляет собой консольное приложение.

4.1.1 Создание базы данных

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

Как и все операции проводимые с помощью программы Command Line Client операция создания базы данных происходит путём выполнения соответствующей команды.

CREATE DATABASE [IF NOT EXISTS] db_name

Оператор CREATE DATABASE создает базу данных с указанным именем.

Для создания нужной нам базы данных команда будет выглядеть так:

create database spkvtk CHARACTER SET "utf8"; Стоит отметить что команду завершает '; ', это указывает СУБД что команда введена полностью и готова для исполнения.

В случае успешного выполнения сервер вернёт данные о времени выполнении команды, иначе выдаст ошибку. (Рисунок 4.2)

Рисунок 4.2 - Пример выполнения запросов

4.1.2 Создание таблиц базы данных

Для создания таблиц необходимо сначала открыть для использования только что созданную базу данных командой use spkvtk;

Затем выполнить команды для создания таблиц.

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

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [ (create_definition,.)]

[table_options] [select_statement]

Например для таблицы Theme:

/*Таблица содержит перечень тем по мсем предметам*/

create table theme (

id_theme int auto_increment,

id_subject int not null,

theme varchar (255) not null,

maximum tinyint default 5,mix_question boolean default true,

info longblob,

primary key (id_theme),

foreign key (id_subject) references subject (id_subject) on delete cascade

);

Данная команда создаёт таблицу с именем theme, в которой содержится 6 полей, один первичный и один внешний ключ (для поддержания целостности). Наряду с этим у полей id_subject, theme задаётся атрибут not null. Это свидетельствует о том, что поля обязательны для заполнения. Так же стоит отметить, что атрибут default используется для заполнения значений полей по умолчанию.

Подобным образом создаются все остальные таблицы.

4.2 Технология разработки программных модулей

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

Сперва в служебный файл мы записываем имя пользователя и пароль, для доступа к данным. В unit authentication мы открываем этот файл, берем оттуда данные, заполняем свойства компонента доступа к данным, запускаем процедуру соединения с сервером. Если данные взятые из файла верны, то соединение с сервером будет установлено. Листинг данного модуля, как и всех остальных, приведен в Приложении А.

unit_main_manager - Главный модуль, в котором находится перечень большинства настроек и ссылок на другие модули.

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

unit_edit_test - Редактор базы Модуля тестирования

В этом модуле берутся данные из модуля unit_main_manager о выбранной теме и предмете и выполняется редактирование и заполнение выбранных позиций.

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

unit_marks_option, unit_marks, unit_marks_subject,

unit_marks_subject_theme, marks_subject_theme_group - Отчеты и оценки.

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

unit_dm - содержится в администраторе и в программе тестирования. Является не визуальным модулем. В нём сосредоточена вся логика работы с сервером баз данных. Данный модуль содержит набор компонентов для связи с БД, а также процедуры и функции для выполнения различных операций для работы с таблицами.

В unit_authentication и unit_start студент заполняет данные о себе (Фамилию, имя и номер группы. Как только данные заполнены и нажата кнопка далее данные посылаются на сервер, где идет проверка этих данных, если студент был зарегистрирован на сервере то процесс тестирования продолжается, иначе же студенту будет отказано в авторизации. Работа идет с таблицами базы данных spkvtk, находящейся на сервере. Доступ к данным, как и во всех остальных модулях, осуществляется с помощью компоненты Zeos.

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

После того, как тема выбран и нажата кнопка далее, начинает работать unit_inquirer. На экране появляются формы теста и студент начинает отвечать на вопросы, отмечая нужные ответы. Есть возможность пропускать вопрос с дальнейшей возможностью вернуться к нему. Также можно менять вариант ответа. Если тестируемый просмотрел все вопросы (даже не обязательно что он дал на них ответы), он нажимает кнопку выход после чего ответы студента отсылаются на сервер и начинается сравнивание ответов. Если ответ правильный, то к значению специально отведенной переменной прибавляется цена вопроса. Если все ответы правильные, то значение данной переменной будет равно 100. Критерии оценки также задаются в этом модуле. Далее происходит диверсификация результатов по 3 шкалам:

0 - 100

0 - 5

2 - 5

После чего результаты заносятся в базу данных.

unit_result выводит данные о студенте и его оценку на экран после того, как тестируемый нажмет кнопку Выход на форме теста. После нажатия кнопки Ок на экране появится окно unit_authentication.

4.3 Технология разработки интерфейса пользователя


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.