Система бронирования мест в отелях города

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

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

Для того чтобы скачать эту работу.
1. Подтвердите что Вы не робот:
2. И нажмите на эту кнопку.
закрыть



p>

2.5 Разработка структуры системы

 

В информационном обеспечении можно выделить несколько компонент.

Во-первых, системное программное обеспечение. Данный компонент представляет программное обеспечение, как на стороне клиента, так и на стороне сервера. К системному программному обеспечению относятся операционные системы, под управлением которых будет функционировать разрабатываемая CMS. В соответствии с разделом 2.1, в котором производился выбор операционных систем, были выбраны две операционный системы: Windows XP (ОС для рабочих станций), ASPLinux 9 (ОС для серверов).

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

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

) Web-браузер. Программное обеспечение, находящееся на стороне клиента, и обеспечивающее доступ к СУБД посредством Web-интерфейса;

2)Web-сервер Apache. Дополнительное программное обеспечение, находящееся на стороне сервера. Web-сервер обеспечивает механизм связи удаленного клиента и СУБД, посредством протокола HTTP.

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

 

Рис.2.1 - Архитектура системы управления сайтом

 

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

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

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

Сервер баз данных должен включать в себя СУБД (в нашем случае это MySQL), и соответственно, базу данных, содержащую информацию.

Поскольку было принято решение об использовании Web-интерфейса, то и сервер должен быть настроен в соответствии с требованием обеспечения безопасности подключения. Все ненужные возможности соединения с сервером БД должны быть отключены.

При подключении пользователя к СУБД посредством web-интерфейса используется обычное TCP/IP соединение. Поэтому сервер тоже должен быть настроен соответствующим образом.

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

Основными составляющими Web-сервера являются:

cобственно Web-сервер (в нашем случае это Apache);

интерпретатор PHP. Он необходим для выполнения PHP-скриптов, реализующих интерфейс пользователя;

библиотеки PHP, которые, помимо всего прочего, должны включать набор функций, обеспечивающих доступ к серверу СУБД;

PHP-скрипты - реализуют интерфейс пользователя.

В общем случае, интерпретатор PHP может быть как отдельным модулем (исполняемой программой), так и входить в состав динамических библиотек Web-сервера.сервер Apache взаимодействует с интерпретатором PHP посредством специального модуля mod_php, который должен быть включен в конфигурации Web-сервера.

Рассмотрим теперь структуру программного обеспечения со стороны клиента. Клиенты могут работать посредством Web-интерфейса. Со стороны клиентов находится только Web-браузер. Им может быть Internet Explorer, Opera, Mozilla и т.п.

Рассмотрим основные механизмы взаимодействия описанных компонентов информационной системы.

Удаленный пользователь, работающий посредством Web-интерфейса, взаимодействует с Web-сервером через протокол HTTP.

При этом запрос к базе данных передается Web-серверу, тот в свою очередь, принимает его и обрабатывает в соответствии с кодом, написанным в PHP-скриптах, и соответственно генерирует SQL запрос к серверу СУБД.сервер взаимодействует с сервером СУБД через протоколу TCP/IP.

Сервер СУБД, приняв запрос, формирует ответ, и передает результат обратно Web-серверу. После этого в соответствии с кодом PHP-скрипта, выполнявшего данный запрос, и полученных данных, формируется ответ пользователю в виде html-страницы. Данная страница передается Web-серверу, и после этого сервер передает ее клиенту.

3. Разработка системы управления сайтом и заявками на бронирование номеров

 

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

Основной функционал, затребованный заказчиком в самом начале;

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

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

 

3.1 Разработка базового функционала системы управления сайтом и заявками на бронирование

 

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

 

3.1.1 Разработка системы доступа к административной части

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

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

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

Основным элементом сеанса является его идентификатор (session identifier), который однозначно определяет сеанс. Сгенерированный и отправленный клиенту при первом запросе идентификатор сеанса должен быть уникальным и в то же время достаточно защищенным, чтобы злоумышленник не мог легко его подделать.

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

 

3.1.1.1 Обеспечение повышенной безопасности

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

а) Использование временных интервалов истечения срока:

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

б) Задание максимального срока жизни сессии:

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

в) Проверка пользовательского агента:

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

 

3.1.1.2 Разработка структуры пользовательских сеансов

ER-диаграмма устройства пользовательской сессии представлена на рисунке 3.1.

 

Рисунок 3.1 - ER-диаграмма пользовательской сессии

 

Основу структуры составляет таблица user_session (таблица 3.1). Она описывает непосредственно саму сессию, в том числе 32-символьный идентификатор, и именно через нее осуществляется доступ ко всей информации, связанной с сессией.

 

Таблица 3.1 - Описание таблицы user_session базы данных

НазваниеТип да