[НПК] Система интерактивного тестирования


2228853760470«Создание системы интерактивного тестирования»

9410010000«Создание системы интерактивного тестирования»

219075238125Районная научно-практическая конференцияСекция математики и информатики
941000Районная научно-практическая конференцияСекция математики и информатики
center23002457459410012100
2228856002655Автор: Губарев Даниил ученик 8 класса ГБОУ СОШ с. Волчанка Руководитель: Нуркаева Наталья Александровна
Учитель физики и информатики941009200Автор: Губарев Даниил ученик 8 класса ГБОУ СОШ с. Волчанка Руководитель: Нуркаева Наталья Александровна
Учитель физики и информатики
Оглавление
TOC \o \h \z \u Введение. PAGEREF _Toc349731639 \h 21.Языки, Web-приложения и web-программирования. PAGEREF _Toc349731640 \h 31.2.Язык web-программирования HTML PAGEREF _Toc349731641 \h 81.3.Веб приложение Ajax PAGEREF _Toc349731642 \h 111.4.Система управления базами данных Mysql PAGEREF _Toc349731643 \h 141.5.Apache PAGEREF _Toc349731644 \h 15Apache HTTP-сервер — свободный веб-сервер. PAGEREF _Toc349731645 \h 15Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS. PAGEREF _Toc349731646 \h 16Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. PAGEREF _Toc349731647 \h 162. Описание системы PAGEREF _Toc349731648 \h 182.1. Основные возможности PAGEREF _Toc349731649 \h 182.2. Дополнительные возможности PAGEREF _Toc349731650 \h 182.3. Системные требования PAGEREF _Toc349731651 \h 192.4. Указания по работе с системой PAGEREF _Toc349731652 \h 193. Программы системы тестрования PAGEREF _Toc349731653 \h 203.1. Директория файлов профиля Создание пользовательской системы сайта: PAGEREF _Toc349731654 \h 203.1.1. Редактирование профиля PAGEREF _Toc349731655 \h 203.2. Дизайн сайта PAGEREF _Toc349731656 \h 203.3. Административная часть PAGEREF _Toc349731657 \h 213.4. Программа ввода теста (вручную) PAGEREF _Toc349731658 \h 21Список литературы PAGEREF _Toc349731659 \h 23Приложение PAGEREF _Toc349731660 \h 24Скриншоты сайта: PAGEREF _Toc349731661 \h 24Вид главной страницы сайта PAGEREF _Toc349731662 \h 24Вид регистрации PAGEREF _Toc349731663 \h 25Вид профиля PAGEREF _Toc349731664 \h 26Обозначения и объяснения понятий PAGEREF _Toc349731665 \h 27
Введение.В настоящее время многие желают диагностировать свои знания по предметам, но не везде можно найти нужный в данный момент интерактивный тест. На сегодняшний день создание сайтов на уже давно зарекомендовавших себя системах не совсем актуально т.к. в основе системы заложены конструкторы, которые ограничивают использование системы.
Я тоже задался таким вопросом, и попытался реализовать идею создания тестов в режиме онлайн.
Цель:
Создать систему для написания интерактивных тестов по предмету.
Задачи:
Изучения языков web-программирования.
Подготовка к разработке системы.
Создание собственной системы интерактивного тестирования
На работу и обучение ушло достаточно много времени, все это время я постепенно продвигался к данной цели.
На данный момент она еще не настолько «умная», но многое уже есть. У нас она в основном построена для прохождения тестов в онлайн режиме, что значительно экономит время.
Языки, Web-приложения и web-программирования.Существуют различные языки web-программирования это: PHP, HTML, JavaScript CSS, и другие... Мною были использованы в работе такие языки web-программирования: PHP, HTML, и веб-приложение Ajax.
1.1 Язык программирования PHP
PHP – это широко используемый язык сценариев общего назначения с открытым исходным кодом.
Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере.
Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)". Синтаксис языка берет начало из языков программирования C++, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц.
В области программирования для сети Интернет PHP — один из популярных скриптовых языков (наряду с JSP, Perl и языками, используемыми в ASP.NET) благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
взаимодействие с большим количеством различных систем управления базами данных (MySQL,  HYPERLINK "http://ru.wikipedia.org/wiki/MySQLi" \o "MySQLi" MySQLi,  HYPERLINK "http://ru.wikipedia.org/wiki/SQLite" \o "SQLite" SQLite,  HYPERLINK "http://ru.wikipedia.org/wiki/PostgreSQL" \o "PostgreSQL" PostgreSQL,  HYPERLINK "http://ru.wikipedia.org/w/index.php?title=Oracle_(OCI8&action=edit&redlink=1" \o "Oracle (OCI8 (страница отсутствует)" Oracle (OCI8),  HYPERLINK "http://ru.wikipedia.org/wiki/Oracle_(%D0%A1%D0%A3%D0%91%D0%94)" \o "Oracle (СУБД)" Oracle,  HYPERLINK "http://ru.wikipedia.org/wiki/Microsoft_SQL_Server" \o "Microsoft SQL Server" Microsoft SQL Server,  HYPERLINK "http://ru.wikipedia.org/wiki/Sybase" \o "Sybase" Sybase, ODBC,  HYPERLINK "http://ru.wikipedia.org/wiki/MSQL" \o "MSQL" mSQL, IBM DB2,  HYPERLINK "http://ru.wikipedia.org/wiki/Cloudscape" \o "Cloudscape" Cloudscape иApache Derby,  HYPERLINK "http://ru.wikipedia.org/wiki/Informix" \o "Informix" Informix,  HYPERLINK "http://ru.wikipedia.org/w/index.php?title=Ovrimos_SQL&action=edit&redlink=1" \o "Ovrimos SQL (страница отсутствует)" Ovrimos SQL,  HYPERLINK "http://ru.wikipedia.org/wiki/Lotus_Notes" \o "Lotus Notes" Lotus Notes, DB++, DBM, dBase, DBX,  HYPERLINK "http://ru.wikipedia.org/w/index.php?title=FrontBase&action=edit&redlink=1" \o "FrontBase (страница отсутствует)" FrontBase,  HYPERLINK "http://ru.wikipedia.org/w/index.php?title=FilePro&action=edit&redlink=1" \o "FilePro (страница отсутствует)" FilePro, Ingres II, SESAM, Firebird /  HYPERLINK "http://ru.wikipedia.org/wiki/InterBase" \o "InterBase" InterBase, Paradox File Access,  HYPERLINK "http://ru.wikipedia.org/w/index.php?title=MaxDB&action=edit&redlink=1" \o "MaxDB (страница отсутствует)" MaxDB, Интерфейс PDO);
автоматизированная отправка HTTP-заголовков;
работа с HTTP-авторизацией;
работа с cookies и сессиями;
работа с локальными и удалёнными файлами, сокетами;
обработка файлов, загружаемых на сервер;
работа с  HYPERLINK "http://ru.wikipedia.org/wiki/XForms" \o "XForms" XForms.
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в декабре 2012 года PHP находился на 6 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.
Входит в LAMP — распространённый набор программного обеспечения для создания и хостинга веб-сайтов ( HYPERLINK "http://ru.wikipedia.org/wiki/Linux" \o "Linux" Linux, Apache, MySQL, PHP).
Хотя PHP и не слишком распространён в данном качестве, его можно использовать и для создания GUI-приложений.
В 1994 году датский программист  HYPERLINK "http://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%80%D0%B4%D0%BE%D1%80%D1%84,_%D0%A0%D0%B0%D1%81%D0%BC%D1%83%D1%81" \o "Лердорф, Расмус" Расмус Лердорф создал набор скриптов на Perl/CGI для вывода и учёта посетителей его онлайн-резюме, обрабатывающий шаблоны HTML-документов. Лердорф назвал набор Personal Home Page (Личная Домашняя Страница). Вскоре функциональности и быстроты Perl — интерпретатора скриптов — перестало хватать, и Лердорф разработал с использованием языка C новый интерпретатор шаблонов PHP/FI (англ. Personal Home Page / Forms Interpreter — «Личная Домашняя Страница /Интерпретатор форм»).
Шестая версия PHP разрабатывалась с октября 2006 года. Было сделано множество нововведений, как, например, исключение из ядра регулярных выражений POSIX и «длинных» суперглобальных массивов, удаление директив safe_mode, magic_quotes_gpc и register_globals из конфигурационного файла php.ini. Одним из основных новшеств должна была стать поддержка Юникода. Однако в марте 2010 года разработка PHP6 была признана бесперспективной из-за сложностей с поддержкой Юникода. Исходный код PHP6 перемещён на ветвь, а основной линией разработки стала версия 5.4.
Синтаксис PHP подобен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, заимствованы из Perl.
Для работы программы не требуется описывать какие-либо переменные, используемые модули и т. п. Любая программа может начинаться непосредственно с оператора PHP.
Простейшая программа Hello world на PHP выглядит следующим образом:
<?php echo 'Hello, world!';
?>
PHP исполняет код, находящийся внутри ограничителей, таких как <?php ?>. Всё, что находится вне ограничителей, выводится без изменений. В основном это используется для вставки PHP-кода в HTML-документ, например, так:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
<?php echo 'Hello, world!'; ?>
</body>
</html>
Помимо ограничителей <?php ?>, допускается использование дополнительных вариантов, таких как <? ?> и <script language="php"> </script>. Кроме того, до версии 6.0 допускается использование ограничителей языка программирования ASP <% %> (конструкции <? ?> и <% %> могут быть выключены в конфигурационном файле php.ini).
Имена переменных начинаются с символа $, тип переменной объявлять не нужно. Имена переменных, функций и классов чувствительны к регистру. Константы также чувствительны к регистру. Переменные обрабатываются в строках, заключённых в апострофы или двойные кавычки, и  HYPERLINK "http://ru.wikipedia.org/wiki/Heredoc" \o "Heredoc" heredoc-строках (строках, созданных при помощи оператора <<<).
PHP рассматривает переход на новую строку как пробел, так же как HTML и другие языки со свободным форматом. Инструкции разделяются с помощью точки с запятой (;), за исключением некоторых случаев, после объявления конструкции if/else и циклов.
Переменные в функцию можно передавать как по значению, так и по ссылке (используется знак &).
PHP является языком программирования с динамической типизацией, не требующим указания типа при объявлении переменных, равно как и самого объявления переменных. Преобразования между скалярными типами зачастую осуществляются неявно без дополнительных усилий (впрочем, PHP предоставляет широкие возможности и для явного преобразования типов).
К скалярным типам данных относятся:
целый тип (integer),
вещественный тип данных (float, double),
логический тип (boolean),
строковый тип (string),
и специальный тип NULL.
К нескалярным типам относятся:
«ресурс» (resource),
массив (array),
объект (object),
К псевдотипам относятся:
mixed один или несколько необязательных параметров,
number число (integer либо float)
callback (string или анонимная функция)
void отсутствие параметров
Диапазон целых чисел (integer) в PHP зависит от платформы (обычно, это диапазон 32-битных знаковых целых чисел, то есть, от −2 147 483 648 до 2 147 483 647). Числа можно задавать в десятичной, восьмеричной ишестнадцатеричной системах счисления. Диапазон вещественных чисел (double) также зависит от платформы (для 32-битной архитектуры диапазон позволяет оперировать числами от ±1.7×10−308 до ±1.7×10+308).
PHP предоставляет разработчикам логический тип (boolean), способный принимать только два значения TRUE («истина») и FALSE («ложь»). При преобразовании в логический тип число 0, пустая строка, ноль в строке «0»,NULL и пустой массив считаются равными FALSE. Все остальные значения автоматически преобразуются в TRUE.
Специальный тип NULL предназначен для переменных без определённого значения. Единственным значением данного типа является константа NULL. Тип NULL принимают неинициализированные переменные, переменные инициализированные константой NULL, а также переменные, удалённые при помощи конструкции unset().
Ссылки на внешние ресурсы имеют тип «ресурс» (resource). Переменные данного типа, как правило, представляют собой дескриптор, позволяющий управлять внешними объектами, такими как файлы, динамические изображения, результирующие таблицы базы данных и т. п.
Массивы (array) поддерживают числовые и строковые ключи и являются гетерогенными. Массивы могут содержать значения любых типов, включая другие массивы. Порядок элементов и их ключей сохраняется. Не совсем корректно называть php-массивы массивами, на самом деле это, скорее всего, упорядоченный  HYPERLINK "http://ru.wikipedia.org/wiki/%D0%90%D1%81%D1%81%D0%BE%D1%86%D0%B8%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B9_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2" \l "PHP" \o "Ассоциативный массив" хеш. Возможно неожиданное поведение при использовании цикла for со счетчиком вместо foreach. Так, например, при сортировке массива с численными индексами функциями из стандартной библиотеки, сортируются и ключи тоже.
Указатель на функцию в PHP может быть представлен замыканием или псевдотипом  HYPERLINK "http://ru.wikipedia.org/wiki/Callback_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)" \o "Callback (программирование)" callback. Замыкание доступно с версии 5.3 и в коде выглядит как простое определение функции, в которую явно можно утянуть значения из контекста, например:
function($args..$argsN) use($ctxVar,$ctxVar1) { definition ; }
callback тип может быть представлен:
строкой (интерпретируется как название функции);
массивом где нулевой и первый элемент — строки (интерпретируется как название статической функции класса);
массивом где нулевой элемент — объект, а первый — строка (интерпретируется как метод у объекта).
В PHP echo и print не являются функциями (хотя print имеет возвращаемое значение), а являются синтаксическими единицами. При их использовании можно опустить скобки.
Язык web-программирования HTMLHTML (от англ. Hypertext Markup Language — «язык разметки гипертекста») — это стандартный язык разметки документов во Всемирной паутине. Практически все веб-страницы создаются при помощи языка HTML.
Общее представление:
Язык HTML был разработан британским учёным  HYPERLINK "http://ru.wikipedia.org/wiki/%D0%91%D0%B5%D1%80%D0%BD%D0%B5%D1%80%D1%81-%D0%9B%D0%B8,_%D0%A2%D0%B8%D0%BC" \o "Бернерс-Ли, Тим" Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах Европейского Центра ядерных исследований в Женеве(Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в областивёрстки. HTML успешно справлялся с проблемой сложности SGML путём определения небольшого набора структурных и семантических элементов — дескрипторов. Дескрипторы также часто называют «тегами». С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.
Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <TABLE>, несколько раз использованный для форматирования страницы, которую вы на данный момент читаете, предназначен для создания в документах самых обычных таблиц, но, как можно убедиться, здесь нет ни одной таблицы. С течением времени основная идея платформонезависимости языка HTML была принесена в жертву современным потребностям в мультимедийном и графическом оформлении.
Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение .html или .htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер. Наиболее популярными на сегодняшний день браузерами являются  HYPERLINK "http://ru.wikipedia.org/wiki/Google_Chrome" \o "Google Chrome" Google Chrome, Mozilla Firefox,  HYPERLINK "http://ru.wikipedia.org/wiki/Opera" \o "Opera" Opera,  HYPERLINK "http://ru.wikipedia.org/wiki/Internet_Explorer" \o "Internet Explorer" Internet Explorer и  HYPERLINK "http://ru.wikipedia.org/wiki/Safari" \o "Safari" Safari (см.:  HYPERLINK "http://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80" \l ".D0.A0.D1.8B.D0.BD.D0.BE.D1.87.D0.BD.D1.8B.D0.B5_.D0.B4.D0.BE.D0.BB.D0.B8" \o "Браузер" Браузер#Рыночные доли).
HTML — теговый язык разметки документов. Любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками — тегами. Элементы могут быть пустыми, то есть не содержащими никакого текста и других данных (например, тег перевода строки <br>). В этом случае обычно не указывается закрывающий тег. Кроме того, элементы могут иметьатрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font). Атрибуты указываются в открывающем теге. Вот примеры фрагментов HTML-документа:
<strong>Текст между двумя тегами — открывающим и закрывающим.</strong>
<a href="http://www.example.com">Здесь элемент содержит атрибут href, то есть гиперссылку.</a>
А вот пример пустого элемента: <br>
Регистр, в котором набрано имя элемента и имена атрибутов, в HTML значения не имеет (в отличие от XHTML). Элементы могут быть вложенными. Например, следующий код:
<b>
Этот текст будет полужирным,
<i>а этот - ещё и курсивным</i>
</b>
даст такой результат:
Этот текст будет полужирным, а этот — ещё и курсивным
Кроме элементов, в HTML-документах есть и сущности (англ. entities) — «специальные символы». Сущности начинаются с символа амперсанда и имеют вид &имя; или &#NNNN;, где NNNN — код символа в Юникоде в десятичной системе счисления.
Например, &copy; — знак авторского права (©). Как правило, сущности используются для представления символов, отсутствующих в кодировке документа, или же для представления «специальных» символов: &amp; — амперсанда (&), &lt; — символа «меньше» (<) и &gt; — символа «больше» (>), которые некорректно записывать «обычным» образом, из-за их особого значения в HTML.
Подробнее по этой теме см.: Элементы HTML.
Подробнее по этой теме см.:  HYPERLINK "http://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A1%D0%BF%D0%B5%D1%86%D0%B8%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D1%8B" \o "Википедия:Специальные символы" Википедия:Специальные символы.
Каждый HTML-документ, отвечающий спецификации HTML какой-либо версии, должен начинаться со строки объявления версии HTML <!DOCTYPE…>, которая обычно выглядит примерно так:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Если эта строка не указана, то добиться корректного отображения документа в браузере становится труднее.
Далее обозначается начало и конец документа тегами <html> и </html> соответственно. Внутри этих тегов должны находиться теги заголовка (<head></head>) и тела (<body></body>) документа.
Строгий (Strict): не содержит элементов, помеченных как «устаревшие» или «не одобряемые» (deprecated).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Переходный (Transitional): содержит устаревшие теги в целях совместимости и упрощения перехода со старых версий HTML.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
С фреймами (Frameset): аналогичен переходному, но содержит также теги для создания наборов фреймов.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
В HTML 5 используется только один вариант DOCTYPE:
<!DOCTYPE HTML>
Веб приложение AjaxAjax (ˈeɪdʒæks, от англ. Asynchronous Javascript and XML — «асинхронный  HYPERLINK "http://ru.wikipedia.org/wiki/JavaScript" \o "JavaScript" JavaScript и XML») — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся более быстрыми и удобными.
Технология:
AJAX — не самостоятельная технология, а концепция использования нескольких смежных технологий. AJAX базируется на двух основных принципах:
использование технологии динамического обращения к серверу «на лету», без перезагрузки всей страницы полностью, например:
с использованием  HYPERLINK "http://ru.wikipedia.org/wiki/XMLHttpRequest" \o "XMLHttpRequest" XMLHttpRequest (основной объект);
через динамическое создание дочерних фреймов;
через динамическое создание тега <script>.
через динамическое создание тега <img>, как это реализовано в google analytics.
использование DHTML для динамического изменения содержания страницы;
В качестве формата передачи данных могут использоваться фрагменты простого текста, HTML-кода, JSON или XML.
История:
Впервые термин AJAX был публично использован 18 февраля 2005 года в статье Джесси Джеймса Гарретта (Jesse James Garrett) «Новый подход к веб-приложениям». Гарретт придумал термин, когда ему пришлось как-то назвать новый набор технологий, предлагаемый им клиенту.
Однако в той или иной форме многие технологии были доступны и использовались гораздо раньше, например в подходе «Remote Scripting», предложенном компанией  HYPERLINK "http://ru.wikipedia.org/wiki/Microsoft" \o "Microsoft" Microsoft в 1998 году, или с использованием  HYPERLINK "http://ru.wikipedia.org/wiki/HTML" \o "HTML" HTMLэлемента IFRAME, появившегося в  HYPERLINK "http://ru.wikipedia.org/wiki/Internet_Explorer" \o "Internet Explorer" Internet Explorer 3 в 1996 году.
AJAX стал особенно популярен после использования его компанией  HYPERLINK "http://ru.wikipedia.org/wiki/Google_(%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D1%8F)" \o "Google (компания)" Google в сервисах  HYPERLINK "http://ru.wikipedia.org/wiki/Gmail" \o "Gmail" Gmail,  HYPERLINK "http://ru.wikipedia.org/wiki/Google_Maps" \o "Google Maps" Google Maps и  HYPERLINK "http://ru.wikipedia.org/wiki/Google_Suggest" \o "Google Suggest" Google Suggest.
Преимущества:
Экономия трафика 
Использование AJAX позволяет значительно сократить трафик при работе с веб-приложением благодаря тому, что часто вместо загрузки всей страницы достаточно загрузить только изменившуюся часть, как правило, довольно небольшую.
Уменьшение нагрузки на сервер 
AJAX позволяет несколько снизить нагрузку на сервер. К примеру, на странице работы с почтой, когда вы отмечаете прочитанные письма, серверу достаточно внести изменения в базу данных и отправить клиентскому скрипту сообщение об успешном выполнении операции без необходимости повторно создавать страницу и передавать её клиенту.
Ускорение реакции интерфейса 
Поскольку нужно загрузить только изменившуюся часть, пользователь видит результат своих действий быстрее.
Недостатки:
Отсутствие интеграции со стандартными инструментами браузера 
Динамически создаваемые страницы не регистрируются браузером в истории посещения страниц, поэтому не работает кнопка «Назад», предоставляющая пользователям возможность вернуться к просмотренным ранее страницам, но существуют скрипты, которые могут решить эту проблему.
Другой недостаток изменения содержимого страницы при постоянном URL заключается в невозможности сохранения закладки на желаемый материал. Проблему можно успешно решить с помощью History.pushState.
Динамически загружаемое содержимое недоступно поисковикам (если не проверять запрос, обычный он или  HYPERLINK "http://ru.wikipedia.org/wiki/XMLHttpRequest" \o "XMLHttpRequest" XMLHttpRequest) 
Поисковые машины не могут выполнять  HYPERLINK "http://ru.wikipedia.org/wiki/JavaScript" \o "JavaScript" JavaScript, поэтому разработчики должны позаботиться об альтернативных способах доступа к содержимому сайта.
Старые методы учёта статистики сайтов становятся неактуальными 
Многие сервисы статистики ведут учёт просмотров новых страниц сайта. Для сайтов, страницы которых широко используют AJAX, такая статистика теряет актуальность.
Усложнение проекта 
Перераспределяется логика обработки данных — происходит выделение и частичный перенос на сторону клиента процессов первичного форматирования данных. Это усложняет контроль целостности форматов и типов. Конечный эффект технологии может быть нивелирован необоснованным ростом затрат на кодирование и управление проектом, а также риском снижения доступности сервиса для конечных пользователей.
Требуется включенный JavaScript в браузере 
JavaScript может быть выключен из соображений безопасности. И, конечно же, AJAX-страницы труднодоступны неполнофункциональным браузерам, роботам и веб-архивам.
Альтернативы:
В хронологическом порядке:
Java-апплеты, позднее технология  HYPERLINK "http://ru.wikipedia.org/wiki/JavaFX" \o "JavaFX" JavaFX;
Стек технологий  HYPERLINK "http://ru.wikipedia.org/wiki/Adobe_Flash" \o "Adobe Flash" Flash в виде  HYPERLINK "http://ru.wikipedia.org/wiki/ActionScript" \o "ActionScript" ActionScript 3,  HYPERLINK "http://ru.wikipedia.org/wiki/Adobe_Flex" \o "Adobe Flex" Adobe Flex и Flash Remoting составляет технологическую основу RIA (Rich Internet Applications) активно продвигаемых  HYPERLINK "http://ru.wikipedia.org/wiki/Macromedia" \o "Macromedia" Macromedia (теперь часть  HYPERLINK "http://ru.wikipedia.org/wiki/Adobe" \o "Adobe" Adobe);
Технология  HYPERLINK "http://ru.wikipedia.org/wiki/Silverlight" \o "Silverlight" Silverlight корпорации  HYPERLINK "http://ru.wikipedia.org/wiki/Microsoft" \o "Microsoft" Microsoft;
Протокол  HYPERLINK "http://ru.wikipedia.org/wiki/WebSocket" \o "WebSocket" WebSocket.
Библиотеки:
AJAX.OOP — JavaScript-фреймворк;
ASP.NET AJAX — библиотека классов JavaScript, библиотека элементов управления для ASP.NET;
Dojo — многофункциональный JavaScript-инструментарий;
Extjs — JavaScript-библиотека;
Google Web Toolkit — инструментарий для Java-разработчиков;
JsHttpRequest — AJAX-библиотека с поддержкой AJAX-закачки файлов на сервер и многими другими возможностями;
jQuery — JavaScript-библиотека;
MooTools — JavaScript-библиотека;
Prototype — JavaScript-библиотека, также доступная в Ruby on Rails;
script.aculo.us — JavaScript-библиотека, также доступная в  HYPERLINK "http://ru.wikipedia.org/wiki/Ruby_on_Rails" \o "Ruby on Rails" Ruby on Rails;
xajax — PHP и JavaScript-библиотека;
ZK Framework — бесплатная библиотека ZK Framework.
Система управления базами данных MysqlВ основе базы данных использовалась свободная СУБД MYSQL
MySQL  — свободная система управления базами данных. MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.
MySQL возникла как попытка применить  HYPERLINK "http://ru.wikipedia.org/wiki/MSQL" \o "MSQL" mSQL к собственным разработкам компании: таблицам, для которых использовались ISAM — подпрограммы низкого уровня. В результате был выработан новый SQL-интерфейс, ноAPI-интерфейс остался в наследство от mSQL. Откуда происходит название «MySQL» — доподлинно неизвестно. Разработчики дают два варианта: либо потому, что практически все наработки компании начинались с префикса My, либо в честь девочки по имени My, дочери Майкла Монти Видениуса, одного из разработчиков системы.
Логотип MySQL в виде дельфина носит имя « HYPERLINK "http://ru.wikipedia.org/w/index.php?title=Sakila&action=edit&redlink=1" \o "Sakila (страница отсутствует)" Sakila». Он был выбран из большого списка предложенных пользователями «имён дельфина». Имя « HYPERLINK "http://ru.wikipedia.org/w/index.php?title=Sakila&action=edit&redlink=1" \o "Sakila (страница отсутствует)" Sakila» было отправлено Open Source-разработчиком Ambrose Twebaze.
MySQL портирована на большое количество платформ: AIX,  HYPERLINK "http://ru.wikipedia.org/wiki/BSDi" \o "BSDi" BSDi,  HYPERLINK "http://ru.wikipedia.org/wiki/FreeBSD" \o "FreeBSD" FreeBSD, HP-UX,  HYPERLINK "http://ru.wikipedia.org/wiki/Linux" \o "Linux" Linux, Mac OS X,  HYPERLINK "http://ru.wikipedia.org/wiki/NetBSD" \o "NetBSD" NetBSD,  HYPERLINK "http://ru.wikipedia.org/wiki/OpenBSD" \o "OpenBSD" OpenBSD, OS/2 Warp, SGI IRIX,  HYPERLINK "http://ru.wikipedia.org/wiki/Solaris" \o "Solaris" Solaris,  HYPERLINK "http://ru.wikipedia.org/wiki/SunOS" \o "SunOS" SunOS, SCO OpenServer,  HYPERLINK "http://ru.wikipedia.org/wiki/UnixWare" \o "UnixWare" UnixWare, Tru64,  HYPERLINK "http://ru.wikipedia.org/wiki/Windows_95" \o "Windows 95" Windows 95,  HYPERLINK "http://ru.wikipedia.org/wiki/Windows_98" \o "Windows 98" Windows 98,Windows NT, Windows 2000,  HYPERLINK "http://ru.wikipedia.org/wiki/Windows_XP" \o "Windows XP" Windows XP,  HYPERLINK "http://ru.wikipedia.org/wiki/Windows_Server_2003" \o "Windows Server 2003" Windows Server 2003, WinCE,  HYPERLINK "http://ru.wikipedia.org/wiki/Windows_Vista" \o "Windows Vista" Windows Vista и  HYPERLINK "http://ru.wikipedia.org/wiki/Windows_7" \o "Windows 7" Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.
ApacheApache HTTP-сервер — свободный веб-сервер.Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.
AUTOTEXTLIST \* FirstCap \* MERGEFORMAT
2. Описание системыДанная система хорошо подходит для создания интерактивных тестов, поскольку оказывает маленькое воздействие на сервер, на котором расположен сайт. Система уязвима, но взлом сайта можно предотвратить закрытием шеллов.
Мною разработан шаблон дизайна сайта.
Создана пользовательская система сайта включающая в себя авторизацию, регистрацию, личную страницу пользователя.
Edit Программа редактирования пользовательской системы предусматривает возможность внесения изменений например: фотографии, класса, и т.д.
Административная часть программы дает возможность редактировать, добавлять, удалять новости сайта.
Программа тестов позволяет добавлять свой тест пока вручную.
2.1. Основные возможностиСистема имеет различные возможности, частые обновления позволяют усовершенствовать систему:
Профиль пользователя (Личная страница с данными о пользователе, регистрация, авторизация, редактирование данных пользователя, распределение по категориям[учитель/ученик])
Система тестов (Загрузка теста по инструкции[Учитель], прохождение тестов в режиме онлайн с выводом результата [Ученик])
2.2. Дополнительные возможностиК дополнительным возможностям Системы относятся:
Использует для хранения данных MySQL
Минимальная нагрузка на базу данных
Использование продвинутой технологии Ajax
Вывод новостей, тестов и прочее.
Поддержка категорий тестов
Автоматическое определение ответа теста.
2.3. Системные требованияК основным системным требованиям относится:
Apache 2.0 +
PHP 5.0 +
MySQL 4.0 + или MySQL 5.0 +
Минимальный размер оперативной памяти 8 Мегабайт, рекомендуемый размер оперативной памяти 16 Мегабайт.
2.4. Указания по работе с системойПри работе с сайтом лучше всего использовать браузер Google Chrome, т. к. не все браузеры поддерживают усовершенствованные страницы. При использовании браузера Internet Explorer могут возникать проблемы с отображением страницы.
Внимание! Если вам придет письмо на ваш электронный адрес с просьбой отправить вам ваш личный пароль или логин от вашего профиля, проигнорируйте письмо! Система не отправляет пользователям письма с данной информацией. Если такие письма повторяются не однократно, желаем добавить адрес (с которого производятся письма) в спам категорию.
3. Программы системы тестрования3.1. Директория файлов профиля Создание пользовательской системы сайта:
-765810403860003.1.1. Редактирование профиля
3.2. Дизайн сайта
3.3. Административная часть
3.4. Программа ввода теста (вручную)

Список литературыПри создании проекта использовались материалы сайтов:
Wikipedia.org
Электронный учебник HTML, PHP.
Php.su
wikibooks.org
html.manual.ru
ПриложениеСкриншоты сайта:Вид главной страницы сайта
Вид регистрации
Вид профиля
Обозначения и объяснения понятийHTML (от англ. HyperText Markup Language — «язык разметки гипертекста») — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML (или XHTML). Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме.
HTML является приложением («частным случаем») SGML (стандартного обобщённого языка разметки) и соответствует международному стандарту ISO 8879. XHTML же является приложением XML.
CSS (англ. Cascading Style Sheets — каскадные листы стилей) — язык описания внешнего вида документа, написанного с использованием языка разметки.
Преимущественно используется как средство оформления веб-страниц в формате HTML и XHTML, но может применяться к любым XML-документам, например, к SVG или XUL.
Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: текстовый пользовательский интерфейс (CUI) и графический пользовательский интерфейс (GUI).
Учётная запись — запись, содержащая сведения, которые пользователь сообщает о себе некоторой компьютерной системе.
Как синонимы в обиходе могут использоваться сленговые термины акка́унт и экка́унт, от англ. account — учётная запись, личный счёт, (редко) бюджет.
Также иногда ошибочно используется термин логин.
FTP (англ. File Transfer Protocol — протокол передачи файлов) — протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер; кроме того, возможен режим передачи файлов между серверами (см. FXP).
Программное обеспечение как услуга (англ. software as a service, сокр. SaaS), программное обеспечение по требованию(англ. software on demand, сокр. SoD) — бизнес-модель продажи и использования программного обеспечения, при которой поставщик разрабатывает веб-приложение и самостоятельно управляет им, предоставляя заказчикам доступ к программному обеспечению через Интернет. Основное преимущество модели SaaS для потребителя состоит в отсутствии затрат, связанных с установкой, обновлением и поддержкой работоспособности оборудования и работающего на нём программного обеспечения.
Хо́стинг (англ. hosting) — услуга по предоставлению вычислительных мощностей для физического размещения информации на сервере, постоянно находящемся в сети (обычно Интернет). Хостингом также называется услуга по размещению оборудования клиента на территории провайдера с обеспечением подключения его к каналам связи с высокой пропускной способностью (колокация, от англ. colocation).
Доме́нное имя — символьное имя, служащее для идентификации областей — единиц административной автономии в сети Интернет — в составе вышестоящей по иерархии такой области. Каждая из таких областей называется доме́ном. Общее пространство имён Интернета функционирует благодаря DNS — системе доменных имён. Доменные имена дают возможность адресации интернет-узлов и расположенных на них сетевых ресурсов (веб-сайтов, серверов электронной почты, других служб) в удобной для человека форме.
Электро́нная по́чта (англ. email, e-mail, от англ. electronic mail) — технология и предоставляемые ею услуги по пересылке и получению электронных сообщений (называемых «письма» или «электронные письма») по распределённой (в том числе глобальной) компьютерной сети.
DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись)
MySQL (/mɑɪ ɛs kjuː ɛl/, «май-эс-кью-эль», жарг. мускул)  — свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста», англ. Personal Home Page Tools (устар.) — «Инструменты для создания персональных веб-страниц») — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложение. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов.
AJAX (ˈeɪdʒæks, от англ. Asynchronous Javascript and XML — «асинхронный JavaScript и XML») — подход к построению интерактивных пользовательских интерфейсов веб-приложение, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных, веб-страниц не перезагружается полностью и веб-приложения становятся более быстрыми и удобными.
По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено ая́кс.
ЧПУ (англ.  Friendly URL) — веб-адреса, удобные для восприятия человеком (а также систем и методов построения таких адресов). Является аббревиатурой от словосочетания «человекопонятный урл» (где «урл» — жаргонное обозначение URL).