Смекни!
smekni.com

Разработка модуля сайта преподавателя по дисциплине Интернет-технологии (стр. 11 из 30)

Таблица 2.11 - Структура таблицы "zakaz"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 № заказа idz int Ключевое
2 № клиента idclienta int NOT NULL
3 № товара idcd int NOT NULL
4 Количество товара count tinyint NOT NULL, DEFAULT 0
Продолжение таблицы 2.11
5 Время заказа recdate date NOT NULL
6 Флаг выполнения flag_done enum('y', 'n') DEFAULT 'n'

В таблице "shopclients" вся информация о пользователях, заказавших товар в интернет - магазине. Поля: name, sname, email, address, fhone - хранят данные о заказчике. Поле lastdate содержит дату последнего заказа клиента.

Ключевым полем в таблице shopclients является поле idclient. По полю idclient данная таблица связана с таблицей "zakaz" связью "один-ко-многим". Типы данных полей таблицы "students" представлены в таблице 2.12

Таблица 2.12 - Структура таблицы "shopclients"

№ п/п Описание Поле Тип данных Дополнительные параметры
1 № клиента Idclient int Ключевое
2 Имя Name Char(15) NOT NULL
3 Фамилия Sname Char(15) NOT NULL
4 E-mail Email Char(15) NOT NULL
5 Адрес доставки Address Text NOT NULL
6 Телефон Fhone Int NOT NULL
7 Время последнего заказа Lastdate Date NOT NULL

Схема даталогической модели предметной области представлена на рисунке 2.2

Рисунок 2.2 - Даталогическая модель предметной области

2.3 Описание алгоритма работы веб-сайта

Алгоритм работы системы тестирования веб-сайта представлен на рисунке 2.3.

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


Нет

Да Да

Нет

Да

Нет

Да

Нет

Да

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

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

2.4 Выбор программных средств

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

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

В настоящие время для создания веб-сайтов существует множество различных языков программирования. Самые популярные из них - PHP, Perl, С# (DOT. NET), Java2. Классическая технология ASP становится историей, поскольку ASP DOT. NET практически вытеснило эту технологию на Windows-серверах в новых приложениях.

Для разработки в работе выбран язык PHP в связке с сервером баз данных MySQL. Для их работы требуется установка веб-сервера Apache. В качестве среды разработки выбрано средство создания web-узлов Macromedia Dreamweaver MX 2004.

2.4.1 Преимущества использования PHP в сравнении с другими языками

PHP - это инструмент объектно-ориентированного программирования с открытым кодом (open source), язык серверных скриптов (server scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере [13].

PHP является препроцессором HTML. Его работа построена по схеме, показанной на рисунке 2.4


Рисунок 2.4 - Схема работы препроцессора PHP

До того, как сервер "отдаст" файл браузеру, его просматривает препроцессор-интерпретатор. Для того, чтобы это происходило, файлы, которые подвергаются обработке препроцессором, должны иметь определенное расширение (обычно это. phtml или. php, но эти значения можно поменять) и содержать (хотя это не обязательное требование) код для препроцессора. Перед отправкой страницы PHP-код проигрывается на сервере и браузеру выдается результат в виде опять таки HTML-страницы, которая может сильно отличаться от той, что хранится на сервере. Обычные же страницы, имеющие расширение. html/htm web-сервер будет отправлять браузеру без какой-либо обработки.

Основное отличие от CGI-скриптов, написанных на других языках, типа Perl или C - это то, что в CGI-программах вы сами пишете выводимый HTML-код, а, используя PHP - вы встраиваете свою программу-скрипт в готовую HTML-страницу, используя открывающий и закрывающий теги (в примере <? php и? >).

PHP называется языком серверных скриптов в отличие от JavaScript/Jscript/VBScript, которые являются языками клиентских скриптов. Это значит, что PHP-скрипт выполняется на сервере, а клиенту передается результат его работы, тогда как в JavaScript-код полностью передается на клиентскую машину и только там выполняется браузером.

Пользователи MS Internet Information Server найдут, что PHP очень похож на Active Server Pages (ASP), а пользователи Java скажут, что PHP похож на Java Server Pages (JSP). Еще некоторыми аналогами PHP являются языки ColdFusion и embPerl. Все эти языки позволяют размещать код, выполняемый на Web-сервере, внутри HTML-страниц. В результирующей web-странице нет и следа PHP-кода.

На PHP можно сделать все, что можно сделать с помощью CGI-программ. Например: обрабатывать данные из форм, генерировать динамические страницы, получать и посылать куки (cookies).

Кроме этого в PHP включена поддержка многих баз данных (databases), что делает написание Web-приложений с использованием БД до невозможности простым.

Вот неполный перечень поддерживаемых БД: Adabas D, InterBase, Solid, dBase, mSQL, Sybase, Empress, MySQL, Velocis, FilePro, Oracle, Unix dbm, Informix, PostgreSQL, ODBC.

Вдобавок ко всему PHP понимает протоколы IMAP, SNMP, NNTP, POP3 и даже HTTP, а также имеет возможность работать с сокетами (sockets) и общаться по другим протоколам.

Разработчикам web-приложений нет необходимости говорить, что web-страницы - это не только текст и картинки. Достойный внимания сайт должен поддерживать некоторый уровень интерактивности с пользователем: поиск информации, продажа продуктов, конференции и т.п. До недавних пор все это традиционно реализовалось CGI-скриптами, написанными на Perl. Но оказалось, что CGI-скрипты очень плохо масштабируемы. Каждый новый вызов CGI-скрипта, требует от ядра порождения нового процесса, а это занимает процессорное время и тратит оперативную память. PHP предлагает другой вариант - он работает как часть web-сервера, и этим самым похож на ASP от Microsoft или ColdFusion от Allaire.

Синтаксис PHP очень похож на синтаксис C или Perl. Люди, знакомые с программированием, очень быстро смогут начать писать программы на PHP. В этом языке нет строгой типизации данных и нет необходимости в действиях по выделению/освобождению памяти.

Программы, написанные на PHP, читаются достаточно легко. В отличие от Perl-программ PHP-код легко зрительно прочитать и понять.

В дополнение к своей бесплатности (хотя MySQL требует приобретения лицензии при использовании ее в коммерческих целях) связка PHP-MySQL является кросс-платформенной. Это значит, что вы можете, работая в Windows, разрабатывать приложения, предназначенные для работы под Unix. Кроме того, PHP может работать как внешний CGI-процесс, либо как обычный интерпретатор скриптов, либо как модуль, подключаемый к web-севреру Apache или IIS.

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

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