Проектирование интернет-магазина

Автор: Папапа Апавав, 10 Июня 2010 в 17:15, дипломная работа

Описание работы

В период становления и развития торговли средствами Интернета Интернет-версии газет или магазинов могли позволить себе лишь очень немногие и весьма состоятельные компании. В этих компаниях все начиналось с небольших статичных сайтов (без какого бы то ни было интерактива), единственной целью которых являлось привести потенциальных покупателей в существующий физический магазин. Этот первый шаг, предпринятый для привлечения клиентов с помощью Интернета, впоследствии был озаглавлен теоретиками создания сайтов как Web Presence, или «Веб-присутствие». Под «присутствием» понимались лишь контактные телефоны, адрес, схема проезда и в лучшем случае электронный адрес.

Работа содержит 1 файл

образец курс.doc

— 419.00 Кб (Скачать)

     На  рис. 3.1 показаны главные ссылки между сценариями в пользовательской части сайта. Клиент сначала открывает главную страницу, в которой перечислены все категории книг сайта. Отсюда можно перейти к определенной категории книг, а затем к информации по отдельной книге.

Пользователю  предоставляется ссылка для добавления выбранной книги в тележку. На этапе просмотра тележки можно рассчитаться и покинуть магазин.

Рис. 3.2 Система Book-O-Rama в представлении администратора позволяет выполнять добавление, редактирование и удаление книг и категорий. 

     На  рис. 3.2 показан интерфейс администратора. В нем больше сценариев, но не особенно много нового кода. Эти сценарии позволяют администратору входить в систему и добавлять новые книги и категории.

     Простейший  способ реализовать редактирование и удаление книг и категорий — отобразить для администратора несколько отличную версию интерфейса пользователя сайта.

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

     Ниже  перечислены три основных кодовых  модуля для приложения:

• Каталог.

• Покупательская тележка и обработка заказов (эти  функции здесь объединены,

поскольку тесно  взаимосвязаны.)

• Администрирование.

     Объединим фрагменты кода, отвечающие за вывод HTML - содержимого, в одну библиотеку. Это соответствует принципу разделения логики и содержимого и, что еще важнее, упрощает чтение и сопровождение кода. Кроме того, потребуется создать базу данных Book-O-Rama (Приложение 1).

     Перечень  файлов приложения приведен в табл. 3.1. 

Таблица 3.1 Файлы приложения Shopping Cart

Имя Молуль Описание
index.php Каталог Титульная страница сайта. Отображает список категорий  системы.
show_cat.php Каталог Отображает  все книги определенной

категории.

show_book.php Каталог Отображает  данные по определенной

книге.

show_cart.php Покупательская  тележка Отображает  содержимое

покупательской  тележки. Кроме того,

используется  для добавления

элементов в  тележку.

checkout.php Покупательская  тележка Представляет  пользователю все

данные заказа. Принимает

информацию по доставке.

purchase.php Покупательская  тележка Принимает информацию по платежу

от пользователя.

process.php Покупательская  тележка Обрабатывает  данные платежа и

добавляет заказ  в базу данных.

login.php Администрирование Позволяет администратору входить в

систему для  внесения изменений.

logout.php Администрирование Реализует выход  администратора из

системы. 

admin.php Администрирование Главное меню администрирования.
change_password_form.php Администрирование Форма, позволяющая  администратору

изменять свой пароль.

change_password. php Администрирование Изменяет пароль администратора.
insert_category_form.php Администрирование Форма, позволяющая  администратору

добавлять в базу данных новую

категорию.

insert_category.php Администрирование Вставляет новую  категорию в базу

данных.

insert_book_form. php Администрирование Форма, позволяющая  администратору

добавлять в  систему новую книгу.

insert_book.php Администрирование Добавляет новую  книгу в базу данных.
edit_category_form.php Администрирование Форма, позволяющая  администратору

редактировать категорию.

edit_category.php Администрирование Обновляет категорию  в базе данных.
edit_book_form. php Администрирование Форма, позволяющая  администратору

редактировать информацию о книге.

edit_book.php Администрирование Обновление  информации о книге в

базе данных.

delete_category. php Администрирование Удаляет категорию  из базы данных.
delete_book.php Администрирование Удаляет книгу  из базы данных.
book_sc_fns.php Функции Набор подключаемых файлов.
admin_fns.php Функции Набор функций, используемых

сценариями администрирования.

book_fns.php Функции Набор функций  хранения и извлечения

данных о книгах.

order_fns.php Функции Набор функций  хранения и извлечения

данных заказа.

output_fns.php Функции Набор функций  вывода HTML-

содержимого.

data_valid_fns.php Функции Набор функций  проверки

допустимости  вводимых данных.

 
db_fns.php
Функции Набор функций  для подключения к

базе данных book_sc.

user_auth_fns.php Функции Набор функций  аутентификации

администраторов.

book_sc.sql SOL SQL-код создания  базы данных

book_sc.

populate.sql SOL SQL-код для  вставки данных в базу

данных book sc.

 

     Первый  сценарий, index.php, выводит все категории из базы данных (см. приложение 2).

     Все ссылки передаются в следующий сценарий, show_cat.php, но каждая из них имеет свой параметр, идентификатор категории (catid). (Это уникальное число, сгенерированное MySQL и применяемое для идентификации категории.)

Упомянутый параметр определяет, какую категорию будет  отображать следующий сценарий.

     Список  книг в категории

     Процесс вывода списка книг определенной категории  аналогичен рассмотренному выше. Вывод осуществляет сценарий show_cat.php, показанный в приложении 3. 
 
 

3.3. Реализация покупательской тележки 

     Функции покупательской тележки тесно связаны  с переменной сеанса Scart. Это ассоциативный массив, в котором номера ISBN служат ключами, а объемы заказа - значениями. Например, если поместить в тележку один экземпляр данной книги, массив будет содержать следующую запись: 

0672317842 => 1. 

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

     Кроме того, используются две других переменных сеанса для управления отображением в заголовке данных Total Items (количество элементов) и Total Price (сумма заказа) —  соответственно, Sitems и $total_price.

     Использование сценария show_cart.php

     Обзор реализации покупательской тележки  начнем со сценария show_cart.php (приложение 4). Он отображает страницу, которая открывается после щелчка на ссылках View Cart либо Add to Cart. Если сценарий show_cart.php вызывается без параметров, отображается содержимое тележки. Если в качестве параметра указывается номер ISBN, соответствующая этому коду позиция добавляется в тележку. 

     Пусть создана тележка, когда для покупки выбраны две книги. В данном

случае страница открыта после щелчка на ссылке Add to Cart в странице, сгенерированной  сценарием show_book.php для определенной книги. С помощью строки URL-адреса сценарий вызывается с параметром. Параметр называется new и имеет значение 0672317842 — номер ISBN книги, которая только что помещена в тележку.

     На  этой странице предоставляются еще  две опции. Это кнопки Save Changes (сохранить  изменения) и Go To Checkout (произвести расчет). Первую из них можно использовать для изменения количества элементов  в тележке. Для этого следует непосредственно изменить количество экземпляров в полях Quantity и щелкнуть на кнопке Save Changes. В сущности, это кнопка отправки формы, которая обеспечивает возврат в сценарий show_cart.php с целью обновления содержимого тележки.

     Вторая  кнопка выбирается пользователем, когда  он готов покинуть магазин.

     Пока  рассмотрим код сценария show_cart.php.

     Этот  сценарий содержит три главных части: отображение содержимого тележки, добавление в нее элементов и  сохранение изменений. Все части рассматриваются в трех последующих разделах.

     Просмотр  содержимого тележки. Содержимое тележки будет отображаться независимо от страницы, на которой был произведен щелчок на ссылке. В общем случае после щелчка на ссылке View Cart выполняется лишь следующая часть кода:

if ($cart&&array_count_values ($cart) )

display _cart($cart) ;

else

{

echo "<p>There are no items in your cart" ;

echo "<hr>" ;

}

     Очевидно, что если тележка имеет непустое содержимое, будет вызываться функция  display_cart(). Когда тележка пуста, пользователю выводится соответствующее сообщение.

     Добавление  элементов в тележку. Когда пользователь открывает страницу show_cart.php щелчком на кнопке Add To Cart, перед отображением содержимого тележки необходимо выполнить некоторые операции. В частности, следует поместить в тележку выбранный элемент.

     Во-первых, если пользователь еще не помещал  в тележку элементы, у него нет тележки, поэтому ее требуется создать:

if(!session_is_registered("cart"))

{

$cart = array 0;

session_register("cart");

$items = 0;

session_register("items");

$total_price = "0.00";

session_register("total_price");

}

     Сохранение  изменений содержимого тележки. Когда сценарий show_cart.php вызывается щелчком на кнопке Save Changes, процесс несколько изменяется. В данном случае осуществляется передача формы. При внимательном рассмотрении кода можно заметить, что кнопка Save Changes является кнопкой отправки формы. Эта форма содержит скрытую переменную save. Если для переменной установлено значение, можно заключить, что сценарий вызван кнопкой Save Changes. Это означает, что пользователь мог изменить количества элементов, и эти изменения требуется сохранить.

     Реализация  платежа. Когда пользователь выполняет щелчок на кнопке Purchase, обрабатываются данные платежа с помощью сценария process.php.

В реальном сайте  потребуется принять решение, какой  механизм транзакций будет использоваться. Существуют следующие возможности:

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

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

     • Хранить номера кредитных карточек в своей базе данных. Этот метод не рекомендуется, если не приняты меры обеспечения защищенности системы. 
 
 
 
 
 
 
 
 
 
 
 
 
 

Заключение 

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

     Проведено обоснование выбора средств проектирования, рассмотрена общая структура  Интернет – магазина. Выполнено  проектирование одной из основных подсистем  магазина – системы покупательской тележки (корзинки).

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

     • В реальном интерактивном магазине необходимо предусмотреть отслеживание заказов и систему выполнения. В данный момент не существует возможности просматривать размещенные заказы.

     • Клиентам нужна возможность проверять  обработку своих заказов без  необходимости связываться с  владельцем магазина. Мы считаем важным, чтобы клиенту не приходилось  входить в систему для просмотра заказов. Однако предоставление существующим клиентам способа аутентификации дает им возможность просматривать прежние заказы, а администратору — объединять поведения в профили.

     • В настоящее время необходимо пересылать по FТР изображения книг в каталог изображений и присваивать им надлежащие имена. Чтобы упростить этот процесс, можно добавить на страницу вставки книг функцию загрузки файлов.

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

Список  литературы 

  1. Томсон  Лаура.  Разработка Web-приложений на РНР и MySQL: Пер. с англ./Лаура Томсон, Люк Веллинг. — 2-е изд., испр. — СПб: ООО «ДиаСофтЮП», 2003. — 672 с.
  2. Джерк Н. Разработка приложений для электронной коммерции. Библиотека программиста. – СПб.: Питер, 2001. – 512 с.
  3. Смирнова Г.Н. и др. Проектирование экономических информационных систем: Учебник/Г.Н. Смирнова, А.А. Сорокин, Ю.Ф.Тельнов; Под ред. Ю.Ф.Тельнова. – М.: Финансы и статистика, 2003.
  4. Благодатских В.А. др. Стандартизация разработки программных средств: Учеб. пособие / В.А. Благодатских, В.А. Волнин, К.Ф. Поскакалов; Под ред. О.С. Разумова. - М.: Финансы и статистика, 2005.
  5. Вендров А.М. Проектирование программного обеспечения экономических информационных систем: Учеб. - М.: Финансы и статистика, 2000.
  6. Иванова Г.С. Технология программирования: Учебник для вузов. – 2-е изд., стереотип. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2003.
  7. ГОСТ 19.201 – 78 ЕСПД. Техническое задание. Требования к содержанию и оформлению.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Приложение 1

     Листинг П.1 book_sc.sql — SQL-код создания базы данных book_sc 

create database book_sc;

use book_sc;

create table customers

(

customerid int unsigned not null auto_increment primary key,

name char (40) not null,

address char(40) not null,

city char(20) not null,

state char(20),

zip char(10),

country char(20) not null

) ;

create table orders

(

orderid int unsigned not null auto_increment primary key,

customerid int unsigned not null,

amount float(6,2),

date date not null,

order_status char(10),

ship_name char(40) not null,

Информация о работе Проектирование интернет-магазина