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

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

Традиционность PHP

Многие конструкции PHP взяты из Perl и С. Код на языке РНР схож с кодом программ на языках Pascal или С. Это обстоятельство упрощает его изучение, особенно для программистов, знакомых с С или Pascal. Язык PHP сочетает лучшие стороны С и Perl и ориентирован на работу в Интернете. Этот язык имеет ясный и универсальный синтаксис (за некоторыми исключениями). PHP является одним из самых популярных языков программирования для разработки веб-приложений, хотя он еще достаточно молод.

Средства безопасности PHP

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

1)Средства безопасности PHP уровня приложения

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

2)Средства безопасности PHP системного уровня

В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей.

Гибкость PHP

Язык iенариев PHP характеризуется чрезвычайной гибкостью по отношению к задачам, стоящим перед программистом, поскольку РНР представляет собой встраиваемый язык (embedded). Обычно рекомендуется использовать язык PHP в сочетании с HTML, однако он успешно интегрируется в XML, WML, JavaScript и многие другие языки. Кроме того, приложения на РНР при необходимости без труда расширяются благодаря его хорошей структурированности.

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

Пользователи PHP используют наиболее удобные для них серверы в самом широком диапазоне поскольку код РНР не зависит от конкретного WEB-сервера.

Средства РНР дают возможность программисту также использовать внешние компоненты, в частности, СОМ - объекты Win32 и Enterprise Java Beans. Такие возможности языка PHP позволяют масштабировать проекты и обеспечивают ему достойное положение среди современных технологий программирования.

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

2.2 Описание структуры базы данных

В процессе разработки генератора тестов с помощью phpMyAdmin была создана база данных gen, которая включает в себя 12 таблиц (рис.1).

Рис.1. Структура базы данных gen

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

oSubjects - содержит перечень предметов:

уникальный номер

название предмета

oTopics - содержит перечень тем:

уникальный номер

номер предмета, к которому относится тема

название темы

oQuestions - содержит перечень вопросов:

уникальный номер

номер темы, к которой относится вопрос

текст вопроса

имя файла с изображением вопроса

код уровня сложности

код типа вопроса

oLevelofcomplexity - содержит перечень возможных уровней сложности теста:

уникальный номер

название уровня сложности

oTypequestion - содержит перечень возможных типов вопросов:

уникальный номер

название типа

oAnswers - содержит перечень ответов:

уникальный номер

номер вопроса, к которому относится ответ

текст ответа

имя файла с изображением ответа

указатель правильности ответа

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

oTests - содержит перечень тестов:

уникальный номер

название теста

автор теста

доступность

код вида теста

oViewtest - содержит перечень возможных видов теста:

уникальный номер

название вида

oTest_questions - содержит перечень номеров вопросов из которых состоят каждый тест:

уникальный номер

номер теста

номер вопроса

oTest_for_users - содержит информацию о назначении пользователям тестов:

ном