· Жёсткий диск: от 200 Gb;
· Пропускная способность канала: от 2 Mbit;
· ОС: семейства UNIX;
· Поддержка протоколов: TCPCeleron, AMDK6, K7Athlon и x86-совместимые с тактовой частотой от 300 MHz;
· Память: от 128 Mb;
· Видеоадаптер:от 8Mb;
· Монитор: 1024x768@85 и выше;
· Клавиатура и мышь: любые, поддерживаемые требуемой ОС;
· Жёсткий диск: от 20 Gb;
· Пропускная способность канала: от 33,6 кбитIP;
· Поддержка протоколов: TCPредактирование документов: текстовый редакор, браузер;
· отправка электронных писем: e-mail клиент;
· доступ к серверу через FTP протокол: ftp-клиент.
4.3 Реляционная модель БД онлайнового магазина
Реляционная модель данных разработанной БД представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить донные об объектах предметной области и моделировать связи между ними.
Таблица Catalog
Наименование | Назначение | Тип |
ID_catalog | Первичный ключ | Числовой |
Name | Наименование каталога | Текстовый |
Sub | Первичный ключ каталога в который вложен данный каталог | Числовой |
option | Флаг указывающий на содержание каталога | числовой |
Иерархия каталогов организована следующим образом:
– корневой каталог в поле Sub содержит ноль, который указывает скрипту что это один из корневых каталогов.
– поле optionуказывает на то что содержится в каталоге.
– чтобы определить какие каталоги содержаться внутри искомого каталога используется поле Sub в котором указывается первичный ключ искомого каталога.
– для получения списка товаров содержащихся в каталоге по полю ID_catalog из таблица Product делается запрос по первичному ключу.
Таблица Product
Наименование | Назначение | Тип |
ID | Первичный ключ | Числовой |
Name | Наименование товара | Текстовый |
Cost | Цена товара | Числовой |
ID_catalog | Первичный ключ каталога в котором находиться товар | Числовой |
Image | Имя графического файла в котором храниться фотография продукта | Тестовый |
File_type | Расширение файла с фотографией | Текстовый |
Данная таблица служит для хранения основной информации о товаре. Выборка из данной происходить по полю ID_catalog, входной параметр для условия является первичный ключ текущего каталога. Для получения всех свойств для данного продукта надо сделать выборку из таблицы all_prod_option по полю ID_product и ID_option, где ID_product это первичный ключ нужного нам товара, ID_option это первичный ключи свойств присвоенных каталогу в котором находиться нужный нам товар.
Таблица prod_option
Наименование | Назначение | Тип |
ID | Первичный ключ | Числовой |
ID_catalog | Первичный ключ каталога к которому относиться данное свойство | Числовой |
Name | Наименование свойства | Текстовый |
Данная таблица предназначена для хранения записей о присвоенных свойствах товаров того или иного каталога. Для получения списка свойств для товара данной категории нужно сделать запрос с условие равенства поля ID_catalog первичному ключу нужного нам каталога.
Таблица all_prod_option
Наименование | Назначение | Тип |
ID | Первичный ключ | Числовой |
ID_option | Первичный ключ из таблицы prod_option для получения наименования свойства | Числовой |
ID_product | Первичный ключ из таблицы Product для получения основной информации о продукте | Числовой |
Value | Значение свойства товара | Текстовый |
Данная таблица хранит в себе присвоенные значения свойств для каждого товара.
Таблица basket
Наименование | Назначение | Тип |
ID | Первичный ключ | Числовой |
ID_session | Первичный ключ текущей сессии пользователя из таблицы user_session | Числовой |
ID_product | Первичный ключь товара из таблицы Product | Числовой |
Quantity | Количество товара в корзине | Числовой |
Данная таблица хранит в себе данные о товарах направленных пользователем в корзину.
Таблица user_session
Наименование | Назначение | Тип |
ID | Первичный ключ | Числовой |
session | Уникальный идентификационный ключ сессии пользователя | Текстовый |
date | Дата создания записи | Дата/время |
Данная таблица хранит в себе данные о сессиях пользователей.
Таблицы basket и user_session служат для реализации корзины. Работают они по следующему принципу:
– при первом заходе пользователя в клиентскую часть web – приложения создается запись в таблице user_sessions из уникального номера сессии и времени захода на сайт. При этом одновременно удаляются устаревшие записи.
– при добавление товара в корзину в таблицу basket добавляются следующие данные: первичный ключ записи из таблицы user_session которая содержит текущий уникальный номер сессии, первичный ключ добавляемого товара, и его количество.
– при выводе корзины на экран делается выборка из таблицы basket где ID_session равно первичному ключу записи в таблице user_session в которой поле session равно текущему уникальному номеру сессии.
4.4 Разработка пользовательских приложений
В ходе дипломной работы будут разрабатываться два приложения:
1) приложение администратора магазина;
4.4.1 Разработка приложения клиента магазина
Данное приложение предназначено для выполнения пользовательских функций в магазине.
Приложение отвечает за обеспечение интерфейса пользователя и обеспечивает функции сёрфинга по категориям магазина, поиск товара, просмотра списка товаров, просмотра «корзины» покупателя, покупки товара.
Для клиента не требуется авторизация. После того, как клиент зашёл в магазин, все его действия выполняются в программе с помощью набора функций, которые анализируют требуемое действие и выполняет его.
На рисунке 4.2 показаны главные ссылки между сценариями в той части сайта, которая касается пользователя. Клиент сначала открывает главную страницу, в которой перечислены все категории деталей на сайте. Отсюда можно перейти к определенной категории деталей, а затем к информации по отдельной детали.
Пользователю предоставляется ссылка, которая дает возможность добавить выбранную деталь в тележку. На этапе работы с тележкой можно произвести окончательный расчет и покинуть магазин.
4.4.2 Разработка приложения администратора магазина
Данное приложение предназначено для выполнения административных функций в магазине. При этом приложение выполняется на сервере, а пользователь управляет им через web-интерфейс.
Чтобы начать администрировать магазин, необходимо авторизоваться с правами администратора. После авторизации, для администратора предоставляется несколько отличная версия пользовательского интерфейса сайта. Администратор по-прежнему будет иметь возможность просматривать категории и автодетали, но вместо доступа к покупательской тележки он может переходить к определенной детали или категории, а затем редактировать либо удалять её.
На рисунке 4.3 показан интерфейс администратора.
Разработка сценариев, одновременно пригодных как для обычных пользователей, так и для администратора, позволяет сэкономить время трудозатраты.
5. Описание интерфейсов сайта
5.1 Описание интерфейса приложения администратора магазина
Интерфейс администратора требует чтобы пользователь входил в систему через сценарий авторизации, который будет выводить меню администрирования.
Данная страница выводится в случае успешного прохождения процедуры авторизации. Она содержит ссылки на добавление товара, редактирование товара, смены пароля и т.д.
В самом начале его работы анализируется входные параметры, если они отсутствуют, то им присваиваются нулевые значения, а переменной которая отвечает за выбор данных которые будут отображаться в окне браузера присваиваются значение вывод каталога. При нажатие на Наименование каталога, Наименование товара, Добавить, Удалить, Редактировать и других кнопок, переменной отвечающей за выбор данных для отображения и выбор действия производимого над каталогом будут присвоены соответствующие значения.
При выводе каталога переменной $what_print присваивается значение «print_catalog».
В зависимости от производимых операций переменной $action присваиваться следующие значений «add_catalog», «del_catalog».
При добавление каталога используется следующий шаблон
<link rel= «stylesheet» type= «textcssform>
«%CURRENT_CATALOG%» заменяется на ID каталога в котором создается новый. После нажатия кнопки «Добавить» в скрипт передаются переменные для создания нового каталога.
Вывод списка продуктов.
При выводе списка продуктов переменной $what_print присваивается значение «print_product».
В зависимости от производимых операций переменной $action присваиваться следующие значений «add_product», «del_product», «edit_product».
Добавление товаров. На данной странице происходит добавление товаров. Здесь необходимо ввести информацию о товаре.
При добавление нового товара используется следующий шаблон
<link rel= «stylesheet» type= «textcssform-data»>
Название<br>
<input class= «smile_inp» name= «name» type= «text»><br>
Цена<br>
<input class= «smile_inp» name= «cost» type= «text»><br>
Фото<br>
<input class= «smile_inp» type= «file» name= «imgfile»><br>
<input type = «hidden» name = «id_catalog»
value = «%CURRENT_CATALOG%»"><br>