Смекни!
smekni.com

Автоматизированная система учета оборота товаров в телекоммуникационной фирме (стр. 4 из 9)

· Жёсткий диск: от 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) приложение администратора магазина;

2) приложение пользователя.

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>