Главная причина распространения информационных технологий появление глобальная сеть интернет, они уже настолько прочно вошли в нашу жизнь, что публикация информации в WWW стала нормой. Поэтому организация взаимодействия информационной системы с web-сервером.
Под информационной системой обычно понимается комплекс программ ориентированный на сбор, хранение, поиск и обработку текстовой и/или фактографической информации. Подавляющее большинство информационных систем работает в режиме диалога с пользователем.
Преимуществом данного подхода можно назвать:
- отсутствие дублирования кода программы-сервера программами-клиентами;
- так как все вычисления выполняются на сервере, то требования к компьютерам, на которых установлен клиент, минимальны;
- все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов.
Однако в данном подходе имеется существенный недостаток: при выходе из строя сервера, вся вычислительная сеть становится неработоспособной.
В данной работе такой подход является оптимальным, т.к. имеется возможность обслуживать множественные запросы и возможность хранить большой объем данных.
Актуальность данной работы заключается в том, чтов сети Internet имеется множество информационных ресурсов данной тематики, однако большинство из них не соответствуют необходимым критериям пользователей, в связи с этим необходимость создания удобного и простого в использовании информационного ресурса остается актуальной.
Целью является разработка web-приложения «Брачное агентство» с использованием JavaScript, PHP и СУБД MySQL.
Исходя из цели, были поставлены следующие задачи:
- анализ предметной области;
- построение логической и физической моделей БД;
- реализация спроектированной БД;
- проектирование и разработка web-приложения.
1. Анализ предметной области и выбор инструментальных средств разработки Web-приложения
Системный анализ предметной области
Сайт – это один из способов представления информации о компании. Это тот же рекламный проспект, или просто прайс-лист, или каталог товаров, или перечень услуг, или фотогалерея работ. Деление сайтов на разновидности имеет условный характер. Любой сайт в зависимости от своего предназначения может включать или не включать в себя те или иные функции.
Типы сайтов:
- сайт-визитка.
Сайты этого типа отличаются лаконичностью. Как правило, сайт-визитка является вариантом рекламного буклета, размещенного в Интернете с информацией о компании, товарах и услугах. Обычно, это 5-10 статичных страниц с описанием компании, возможно схемой проезда к офису, некоторые описания основных товаров и услуг.
- корпоративный сайт.
Корпоративные сайты включают в себя большое количество функциональных, тематических разделов и информационных блоков, имеют возможность оперативного управления контентом сайта, что позволяет обновлять информацию на сайте и управлять всеми его сервисами.
- интернет-магазин.
Интернет-магазин, пожалуй, один из самых популярных сегодня типов интернет-ресурсов, создаётся с целью облегчения процессов покупки. Основной упор при его разработке делается на функциональность: коммерческий сайт должен располагать удобным и эффективным интерфейсом. Интернет-магазины (торговые системы класса «business to customer») предоставляют возможность продаж через Интернет конечному покупателю, рядовому потребителю товаров и услуг.
- информационный портал.
Информационные порталы отличаются, в первую очередь, объемом и характером информации. На портале размещается не только информация о товарах и услугах конкретной компании, но и теоретическая, отраслевая, аналитическая информация в области бизнеса компании. Порталы снабжены системами публикаций и управления информационным наполнением. Функциональность ресурса высокая, информационные возможности портала дополняются интерактивными составляющими, системами поиска и классификации информации. Эта категория сайтов ориентирована на большие «on-line» проекты, которые переносят значительную часть бизнеса компании в интернет.
В данной курсовой работе реализован информационный портал. Его основная задача – предоставление информации, при этом важно как она будет предоставлена. В связи с этим на сайте реализованный различные методы вывода информации:
- вывод списка всех клиентов и всех видов услуг;
- поиск клиентов по заданным параметрам;
- также реализовано создание и удаление записей в удобной форме.
Выбор программного обеспечения
Обоснование выбора HTML, CSS, JS, PHP
HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц содержат описание разметки на языке HTML. Язык HTML интерпретируется браузерами и отображается в виде документа в удобной для человека форме.
Язык HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах Европейского Центра ядерных исследований в Женеве (Швейцария). HTML создавался как язык для обмена научной и технической документацией, пригодный для использования людьми, не являющимися специалистами в области вёрстки.
С помощью HTML можно легко создать относительно простой, но красиво оформленный документ. Помимо упрощения структуры документа, в HTML внесена поддержка гипертекста. Мультимедийные возможности были добавлены позже.
CSS (англ. Cascading Style Sheets — каскадные таблицы стилей) — формальный язык описания внешнего вида документа, написанного с использованием языка разметки.
Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML.
CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы от описания внешнего вида этой веб-страницы. Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом.
JavaScript — прототипно-ориентированный сценарный язык программирования.
JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
JavaScript является объектно-ориентированным языком, но используемое в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными класс-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста) — скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений.
В области программирования для сети Интернет, PHP — один из популярных сценарных языков благодаря своей простоте, скорости выполнения, богатой функциональности, кроссплатформенности и распространению исходных кодов на основе лицензии PHP.
Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений. Основные из них:
- автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
- взаимодействие с большим количеством различных систем управления базами данных (в том числе MySQL);
- обработка файлов, загружаемых на сервер;
- работа с cookies и сессиями.
Обоснование выбора СУБД MySQL
Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Все современные СУБД имеют:
- визуальные средства создание таблиц, форм, отчетов;
- доступ к данным серверных СУБД;
- создание приложений выполняющих функции WEB – браузеров и размещение данных в Internet;
- объектно-ориентированный язык;
- поддержку SQL.
MySQL — свободная реляционная система управления базами данных. MySQL имеет двойное лицензирование. MySQL может распространяться в соответствии с условиями лицензии GPL. Однако по условиям GPL, если какая-либо программа включает исходные коды MySQL, то она тоже должна распространяться по лицензии GPL. Это может расходиться с планами разработчиков, не желающих открывать исходные тексты своих программ. Для таких случаев предусмотрена коммерческая лицензия, которая также обеспечивает качественную сервисную поддержку.
MySQL портирована на большое количество платформ: Linux, Mac OS X, Windows 95, Windows 98, Windows NT, Windows 2000,Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7.
MySQL имеет API для языков Delphi, C, C++, Java, Perl, PHP, Python, библиотеки для языков платформы .NET.
2.Проектирование Web-приложения
Проектирование информационного обеспечения
Логическое и физическое проектирование БД
Логическое (даталогическое) проектирование — создание схемы базы данных на основе конкретной модели данных, например, реляционной модели данных. Для реляционной модели данных даталогическая модель — набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние ключи.
Преобразование концептуальной модели в логическую модель, как правило, осуществляется по формальным правилам. Этот этап может быть в значительной степени автоматизирован.
На этапе логического проектирования учитывается специфика конкретной модели данных, но может не учитываться специфика конкретной СУБД.
Логическая схема представлена на рисунке 1.
Рисунок 1 - Логическая схема базы данных
Физическое проектирование — создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т.д.
На этом этапе составляются проекты таблиц. Каждая таблица должна получить свой уникальный идентификатор (название). Этот идентификатор должен соответствовать синтаксису языка выбранной СУБД.
Определяется имя, тип и размер поля. Определяется первичный ключ, внешние ключи и поля индексирования (для быстрого поиска) в каждой из таблиц.
Для каждой связи определяются условия целостности при операциях добавления, изменения или удаления данных в родительской и дочерних таблицах. Могут использоваться следующие варианты условий: отсутствие проверки; запрет операции; каскадное выполнение операции обновления или удаления данных сразу в нескольких связанных таблицах. Кроме этого при разработке физической модели производится оценка необходимых ресурсов: оперативной памяти, быстродействия и объема памяти для хранения данных (минимального свободного места на винчестере).
Физическая схема представлена на рисунке 2.
Рисунок 2 – Физическая схема базы данных
Создание базы данных
Цель базы данных — это представление в объективной форме совокупности самостоятельных материалов, систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины.
Для удобства реализации БД создаются инструменты для их проектирования.
В данной курсовой работе использовался phpMyAdmin.
phpMyAdmin — инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL.
Интерфейс данного инструментария представлен на рисунке 3.
Рисунок 3 – Интерфейс инструментария
Проектирование и разработка Web – приложения
При разработке сайта для формирования страниц использовались HTML и PHP технологии.
В качестве инструментального средства для разработки клиентского Web-приложения будет использовался текстовый редактор Notepad++.
Каждый модуль сайта отвечает за решение определенной задачи. Описания всех включаемых в работу сайта модулей приведены в таблице 1.
Название модуля: |
Описание модуля: |
|
Главная страница сайта, содержит навигацию по сайту. |
|
Содержит информации о брачном агентстве. |
|
Страница для работы с БД. |
|
Содержит информацию о клиентах. |
|
Содержит информацию о тренингах, служит для работы с БД. |
|
Содержит контактную информацию. |
|
Содержит скрипт добавления данных в БД. |
|
Содержит скрипт для просмотра всех БД. |
|
|
|
Содержит скрипт для поиска информации |
|
Содержит скрипт для удаления информации из БД |
|
Сожержат скрипты для оформления html страниц. |
|
Содержат стили для оформления html страниц. |
Таб.1. Функции модулей
3.Разработка Web-приложения
Реализация доступа к БДДоступ к БД осуществляется по средством вызова функции mysql_pconnect().
mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL[8].
mysql_pconnect() работает аналогично mysql_connect() с двумя важными отличиями.
Во-первых, при соединении функция пытается найти уже открытый (постоянный) указатель на тот же сервер с тем же пользователем и паролем. Если он найден, возвращён функцией будет именно он, вместо открытия нового соединения.
Во-вторых, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования (mysql_close() также не закрывает постоянные соединения, открытые mysql_pconnect()).
Соединения такого типа называют 'постоянными'.Для выбора БД используется функция mysql_select_db()[8].
mysql_select_db() - Выбирает для работы указанную базу данных на сервере, на который ссылается переданный дескриптор соединения. Каждый последующий вызов функции mysql_query() будет работать с выбранной базой данных.
Реализация добавления данных
Добавление данных в БД осуществляется по следующему алгоритму:
Заполняется форма с данными;
По средствам глобально массива POST создаются переменные содержащие значения введенных данных;
Формируется запрос с последующем вызовом функции mysql_query() которая пересылает его на сервер для выполнения.
Фрагмент кода содержащий запросы к БД:
if($_POST['name']!='' && $_POST['city']!='' && $_POST['age']!='' && $_POST['tell_about_yourself']!='' && $_POST['id_club']!='' && $_POST['id_parties']!='') {
$name = $_POST['name'];
$age = $_POST['age'];
$city = $_POST['city'];
$tellaboutyourself = $_POST['tell_about_yourself'];
$club = $_POST['id_club'];
$parties = $_POST['id_parties'];
$result=mysql_query("INSERT INTO Clients (`name`, `age`, `city`, `tell_about_yourself`, `id_club`) VALUES ('".$name."','".$age."','".$city."','".$tellaboutyourself."','".$club."')");
echo "Запись внесена в таблицу!";
}else{
echo "Вы ввели не все данные";
}
Реализация поиска данных
Поиск данных в БД осуществляется по следующему алгоритму:
Заполняется форма с данными;
По средствам глобально массива POST создаются переменные содержащие значения введенных данных;
Формируется запрос с последующем вызовом функции mysql_query() которая пересылает его на сервер для выполнения;
Выполняется вывод посредством цикла while и передачей ему в качестве параметра функции mysql_fetch_array которая возвращает ассоциативный или числовой массив или оба сразу.
Фрагмент кода содержащий реализацию данного алгоритма:
if($result=mysql_query("select * from Clients where ".$searchtype." like '%".$searchterm."%'")){
$num_results = mysql_num_rows($result);
echo " Результаты поиска: ";
echo '
Найдено записей: '.$num_results.'
';
}
if ($num_results>0) {
echo '';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
echo '
';
for ($i=0; $i
ID | Клиент | Возраст | Город | Расскажите о себе |
---|