Автоматизированная система учета оборота товаров в телекоммуникационной фирме
Категории и принципы формирования системы электронной коммерции, ее разновидности и отличительные особенности. Анализ требований к корзине покупок. Обзор языковой и программной базы, критерии выбора. Разработка информационной системы - Интернет-магазина.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 27.09.2010 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Дипломный проект
На тему:
"Автоматизированная система учета оборота товаров в телекоммуникационной фирме"
Санкт-Петербург 2007
Введение
В наше время Интернет стал неотъемлемой частью жизни современного общества. С каждым днем растет число его пользователей, увеличивается объем предоставляемой информации в сети Интернет. Бурный рост компаний использующих сеть Интернет как один из важных элементов своей торговой и маркетинговой деятельности, способствует интенсивному развитию электронной коммерции. Растет спрос на программные продукты, организующие электронную торговлю в сети Интернет.
Электронная коммерция позволяет компаниям более эффективно и гибко организовать свои внутренние рабочие процессы, более тесно взаимодействовать с поставщиками и быть более отзывчивыми к запросам и ожиданиям клиентов. Она предоставляет возможность компаниям выбирать лучших поставщиков вне зависимости от их географического расположения и обеспечивать продажи на мировых рынках.
Общая концепция электронной коммерции включает в себя любые формы деловых операций, осуществляемых электронным способом, используя сети телекоммуникации. Такие операции возникают между компаниями, между компаниями и их клиентами, или между компаниями и органами власти.
Настоящая дипломная работа посвящена разработке системы электронной торговли, являющейся составной частью электронной коммерции, посредствам всемирной компьютерной сети Интернет в сфере бизнеса, которую часто называют «электронным магазином», для фирмы, занимающейся оптовой торговлей автозапчастями.
Одно из возможных определений электронной коммерции: «любой вид сделок, при которых взаимодействие сторон осуществляется электронным способом вместо физического обмена или непосредственного физического контакта».
Однако, являясь точным, такое определение не отражает революционного духа электронной коммерции, порожденного возникновением новых запросов и технологий и ведущего к коренным изменениям в способах ведения бизнеса.
Современный бизнес характеризуется постоянным ростом возможностей компаний-поставщиков, а также непрекращающимся расширением глобальной конкуренции и повышением уровня требований заказчиков.
В ответ на это, деловые предприятия во всем мире меняют способы организации и управления своего бизнеса. Происходит отказ от старой иерархической структуры, исчезают барьеры между отделениями компании. Упрощается взаимодействие между компанией, ее заказчиками и поставщиками.
Бизнес-процессы перестраиваются и выходят за старые границы. Мы видим множество примеров таких процессов, в которые может быть вовлечена не только вся компания, но и ее заказчики и поставщики.
Электронная коммерция представляет собой средство осуществления и поддержки таких изменений в глобальном масштабе. Она позволяет компаниям эффективно и гибко осуществлять внутренние операции, плотнее взаимодействовать с поставщиками и быстрее реагировать на запросы и ожидания заказчиков. Компании получают возможность выбора лучших поставщиков независимо от географического расположения, а также возможность выхода на глобальный рынок со своими товарами и услугами.
Особый случай электронной коммерции - электронная торговля, подразумевающая, что поставщик товаров или услуг предоставляет их заказчику за определенную плату. Специальный случай электронной торговли - электронная розничная торговля, подразумевающая, что заказчик является скорее обычным потребителем, чем другой компанией. Однако, несмотря на то, что эти особые случаи очень важны экономически, они представляют собой лишь отдельные примеры общего случая, который объединяет все формы деловых операций и сделок, осуществляемых электронным способом. В качестве других столь же важных примеров можно привести внутреннее взаимодействие в рамках отдельной компании или бесплатная передача информации внешней организации.
Технологии электронной коммерции постоянно меняются. Компании, рассматривающие электронную коммерцию только как дополнение к уже имеющимся у них способам ведения бизнеса, рискуют получить лишь частичную выгоду. Главные преимущества будут иметь фирмы, решившие изменить организацию и бизнес-процессы таким образом, чтобы полностью использовать возможности электронной коммерции.
Введение
Электронную коммерцию можно подразделить на 4 категории:
* бизнес-бизнес
* бизнес-потребитель
* бизнес-администрация
* потребитель-администрация
Рис. 1. Категории электронной коммерции
Примером из категории бизнес-бизнес может служить компания, использующая сеть для заказов поставщикам, а также для получения счетов и оплаты. Эта категория электронной коммерции успешно складывалась в течение нескольких лет, с частичным использованием технологии электронного обмена данными - EDI, в частных сетях или сетях с дополнительными услугами - VAN.
Категория бизнес-потребитель - это электронная розничная торговля.
Данная категория сильно расширила свои рамки с появлением WWW. На сегодняшний день в Интернете открыто множество магазинов, предлагающих потребителям всевозможные товары, от печенья и вина до компьютеров и автомобилей.
В категорию бизнес-администрация входят все сделки, заключаемые между компаниями и правительственными организациями. Например, в США информация о планируемых правительством закупках публикуется в Интернете, и компании могут посылать свои предложения электронным способом. Сегодня эта категория пока находится в зачаточном состоянии, но может быстро разрастись при условии, что правительства используют собственные возможности для поддержки и развития электронной коммерции. В добавление к объявлениям о закупках, административные органы могут также предлагать возможность электронного обмена при таких операциях, как, например, возврат налога на добавленную стоимость.
Категория потребитель-администрация еще не существует. Однако с разрастанием категорий бизнес-потребитель и бизнес-администрация правительства могут расширить электронное взаимодействие в таких областях, как, например, социальные выплаты.
Согласно статистике, трафик, связанный с WEB, является на данный момент доминирующим в Интернет. Согласно накопленной статистике появилась возможность делать прогнозы роста Российской аудитории пользователей Интернет. В крупнейшем рекламном агентстве «Видео Интернэшнл» считают, что в 2006 году число пользователей вырастет с 22 до 28 миллионов, в 2007 году составит 34 миллиона, и будет продолжать расти на 5-6 миллионов в год, пока к 2010 году не достигнет 46 миллионов. По статистике среди пользователей Интернет, высокообеспеченные граждане встречаются в 2 раза чаще, чем просто в России. При этом более половины интернет-пользователей имеют высшее образование. Это социально и экономически активная аудитория.
Бизнес находится в самом сердце электронной коммерции, однако, у различных типов взаимодействия существуют отличающие их характеристики
В 1995 году исследования, проведенные Gather Group, предсказали, что потребители будут использовать множественные «высокопропускные каналы информации» для электронных покупок: интерактивное телевидение, Интернет и другие электронные системы. Пользователи WEB представляют собой ключевое направление для бизнес-приложений, так как они, в основном высокообразованны и обладают профессиональными навыками.
Одна из основных технологий, поддерживающих данный вид взаимодействия, является технологией обмена электронными данными. EDI включает в себя обмен стандартизованной, структурированной информацией между организациями, допускающими прямую связь между своими компьютерными системами и ограничивающими вовлечение людей и повторный ввод информации.
Введение электронной коммерции также включает вовлечение новых путей ведения бизнеса. Совсем не следует сбрасывать с весов сопротивления переменам со стороны больших и малых организаций. Например, в банковском секторе опасение внезапности новых и, возможно, конкурирующих моделей бизнеса может явиться решающим фактором. Отдельные секторы могут претерпеть значительные структурные изменения. Эти аспекты возникающей электронной коммерции требуют дальнейшего изучения.
Правительство играет ведущую роль в стимулировании рынка электронной коммерции. В Европе был достигнут значительный прогресс в отдельных направлениях, в основном в области таможни, налогообложения, сбора статистики и общественных закупок, имея целью установление трансъевропейских сетей и систем, направленных непосредственно на частный сектор. Усилия были также сделаны на государственном уровне, например, в Швеции поставили цель, чтобы к 1999 г. по крайней мере 90% общественных закупок происходили электронным образом. В Соединенных Штатах к концу 1997 г. 70% общественных закупок на федеральном уровне проводились электронным способом.
Электронная коммерция включает в себя широкий спектр деятельности. Основным компонентом является поддержка цикла коммерческой сделки. Электронная коммерция включает электронную торговлю физическими товарами и услугами, а также электронным материалом. Кроме того она включает рекламу и продвижение товаров и услуг, содействие контактам между предоставляющих их сторонами, обеспечение маркетинговых исследований рынка, пред- и послепродажную поддержку, электронные закупки и поддержку раздельных бизнес-процессов.
Следует сделать различие между электронной торговлей реальными товарами и услугами и электронной торговлей информационным материалом, который может быть получен непосредственно по сети
Электронная торговля реальными товарами и услугами является следующим шагом за существующим способом проведения торговых операций, включая в себя новые возможности, предоставляемые технологией, для увеличения эффективности через снижение стоимости, расширение потенциала рынка и более плотное удовлетворение запросов клиентов, как предоставление средств для расширения и усовершенствования услуг и товаров, в значительной степени посредством взаимодействия поставщика с заказчиком. Ожидая, что эта форма электронной коммерций окажет огромное влияние на конкурентоспособность и весьма незначительное влияние на количество рабочих мест.
1. Системный анализ
1.1 Общее описание системы «электронной торговли»
В связи с ростом электронной коммерции сейчас в Интернете наиболее часто встречаются приложения, основанные на метафоре «корзины покупок» или «электронного магазина». Обычно пользователи обращаются к таким приложениям из своих веб-браузеров. Каталог товаров дает пользователям возможность просматривать и искать на сайте элементы, предназначенные для продажи. Пользователи могут выбирать объекты для покупки добавляя их в «корзину покупок». Это означает, что корзина содержит список объектов, выбранных покупателем.
После того как пользователь выбрал интересующие его товары, он сможет изучить содержимое своей корзины и при необходимости, изменить количество выбранных элементов или вовсе удалить их из корзины. Когда клиент уверен, что в корзине находятся то что он готов приобрести, он подтверждает заказ и оплачивает покупки.
Приобретенный товар доставляется покупателю по почтовому адресу. Адрес, информация о кредитной карте и другие личные данные вводятся покупателем во время создания учетной записи либо при оплате заказ. Популярный пример подобного приложения в Интернете, сайт OZON.ru, где можно купить книги, музыкальные компакт-диски, программные продукты и т.п.
1.2 Анализ требований к корзине покупок
Приложение реализующее корзину покупок адресовано двум категориям пользователей. Первая - это покупатели, посещающие электронный магазин с помощью браузера, а вторая категория - это администраторы, которые управляют сайтом, либо с помощью браузера, либо непосредственно используя возможности операционной системы и системы управления базами данных. Сформулируем ряд требований, которые должны быть обеспечены для этих групп пользователей:
Требования покупателей. Они включают в себя следующее:
· Покупатель должен иметь возможность использовать приложение из любого веб-браузера, поддерживающего стандарт HTML и cookie.
· Новые пользователи должны иметь возможность регистрироваться самостоятельно, либо при помощи представителей фирмы. Каждому зарегистрированному пользователю будет присвоен персональный идентификатор.
· Пользователи должны иметь возможность покупать товар посредством создаваемого приложения.
· Пользователи должны иметь возможность просматривать полный список наименований товаров, представленных на сайте.
· Пользователи должны иметь возможность выполнять поиск товара по названию.
· Пользователи должны иметь возможность выполнять поиск по всей базе данных по ключевым словам.
· Пользователи должны иметь возможность выбирать и добавлять объекты в корзину, а затем принимать решение о подтверждении заказа.
· Пользователи должны иметь возможность изменять количество выбранных товаров или вовсе удалять их из корзины перед тем, как подтвердить заказ.
· После оплаты все выбранные товары должны быть доставлены пользователю.
· Пользователи должны иметь возможность просматривать статус сделанных заказов.
· Необходимо обеспечить возможность использования приложения одновременно большим количеством посетителей.
· Производительность приложения не должна падать по мере роста доступных товаров на сайте.
Требования администратора.
· Администратору необходима возможность удаленного управления приложением через веб-браузер.
· Администратор должен иметь возможность удалять зарегистрированных пользователей.
· Администратору необходима возможность изменения статуса заказов покупателей, после того как они будут ему отправлены.
2. Обзор языковой и программной базы
2.1 Что такое РНР
РНР - это серверный язык сценариев, разработанный специально для Web. В HTML-страницу можно внедрить PHP-код, который будет выполняться при каждом ее посещении. PHP-код интерпретируется Web-сервером и генерирует HTML-код или другой вывод, наблюдаемый посетителями страницы.
Разработка РНР была начата в 1994 году и вначале осуществлялась одним человеком, Расмусом Лердорфом. Впоследствии этот язык адаптировался многими талантливыми людьми и прошел через четыре основных редакции, пока не стал широко используемым и зрелым продуктом, с которым мы имеем дело в настоящее время. По состоянию на август 2004 года он использовался в более чем четырнадцати миллионах доменов, разбросанных по всему миру, причем их число довольно-таки быстро увеличивается. Многие из этих сравнительных тестов показывают, что MySQL работает на несколько порядков быстрее конкурирующих продуктов. В 2002 году журнал eWeek. опубликовал результаты сравнения производительности пяти баз данных, используемых для построения Web-приложений. Лучший результат был разделен между MySQL и значительно более дорогой системой Oracle.
Пакет MySQL доступен бесплатно в соответствие с лицензией на программное обеспечение с открытым исходным кодом или, если это необходимо для приложения, за небольшую сумму можно приобрести коммерческую лицензию. Лицензия необходима в случае, если вы хотите распространять MySQL как часть своего приложения, которое не должно подпадать под действие лицензии Open Source. Если вы не планируете распространять приложения или пользуетесь свободным программным обеспечением, в лицензии необходимости нет.
В большинстве современных баз данных используется язык SQL. Если ранее вы работали с другими СУРБД, переход к этой системе не должен вызывать какие-либо затруднения. Установка MySQL столь же проста, как и установка многих аналогичных продуктов.
MySQL может использоваться в среде многих UNIX-подобных систем, а также в среде Microsoft Windows. Как и в случае РНР, исходный код MySQL можно свободно загружать и изменять. В большинстве случаев и для большинства пользователей этот момент нё является важным, однако он способствует душевному спокойствию, гарантируя стабильность и безопасность дальнейшей работы.
Далеко не для всех продуктов с открытым исходным кодом предоставляется поддержка, обучение, консалтинг и сертификация со стороны соответствующих компаний-разработчиков. Тем не менее, все вышеупомянутое в отношении РНР обеспечивается компанией MySQL АВ (www.mysql.com).
В число крупных изменений, внесенных в MySQL 5.0, входят:
- Хранимые процедуры.
- Поддержка курсоров.
Среди других изменений следует отметить более полную совместимость со стандартом ANSI и улучшения, касающиеся производительности. Если вы продолжаете пользоваться предыдущей версией сервера MySQL, возможно, принять решение перейти на новую версию поможет следующий список важных функциональных возможностей, которые были добавлены в MySQL 5.0:
- Поддержка подзапросов.
- Типы данных GIS для хранения географических данных.
- Усовершенствованная поддержка интернационализации.
- Безопасный в отношении транзакций механизм хранения innoDB, ставший стандартным.
- Кэш запросов MySQL, существенно увеличивающий скорость выполнения повторяющихся запросов, которые часто выдаются Web-приложениями.
Перечислим основные преимущества пакета MySQL.
· Многопоточность. Поддержка нескольких одновременных запросов.
· Архитектура клиент-сервер - полностью используя преимущества компьютерных систем и сетей, MySQL позволяет процессам быть разделенным между сервером БД и клиентским программным обеспечением. Компьютер с установленной на нем СУБД отвечает за серверную часть процесса, а клиентские рабочие станции отвечают за представление и отображение информации.
· Управление большим количеством данных - MySQL поддерживает громадные БД терабайтного размера. MySQL позволяет полностью контролировать размещение данных и эффективно использовать дорогостоящее оборудование.
· Одновременный доступ большого количества пользователей - MySQL поддерживает одновременное подключение большого количества пользователей, выполняющих различные приложения, оперирующие одними и теми же данными. Он минимизирует конкуренцию за доступ к данным и обеспечивает согласованность данных.
· Высокая надежность - MySQL может работать 24 часа в сутки. Такие системные операции как резервное копирование или частичные неполадки компьютерной системы не прерывают использование БД.
· Оптимизация связей с присоединением многих данных за один проход.
· Записи фиксированной и переменной длины. ODBC драйвер в комплекте с исходником.
· Гибкая система привилегий и паролей. MySQL позволяет выборочно контролировать доступ к данным. Так администратор БД может выборочно запретить использование определенных приложений, не воздействуя на остальные приложения.
· Безопасность - для защиты от неавторизованного доступа и использования данных MySQL безотказную систему безопасности, включающую ограничение и отслеживание попыток доступа к данным.
· Переносимость - MySQL программное обеспечение может работать под различными операционными системами. Приложения, разработанные для MySQL, могут переноситься с одной платформы на другую без или с незначительными изменениями.
· До 16 ключей в таблице. Каждый ключ может иметь до 15 полей.
· Поддержка ключевых полей и специальных полей в операторе CREATE.
· Поддержка чисел длинной от 1 до 4 байт, строк переменной длины и меток времени.
· Интерфейс с языками С, php и perl.
· Основанная на потоках, быстрая система памяти.
· Все данные хранятся в формате ISO8859_1.
· Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках.
· Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице.
· Все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей.
· Легкость управления таблицей, включая добавление и удаление ключей и полей.
3. Разработка информационной системы
3.1 Постановка задачи
В проектируемом Интернет-магазине предполагается продажа автодеталей.
· Наш магазин - ничто иное, как сайт, т.е. набор статических или динамических страниц на каком-нибудь сервере в Интернете, в котором реализован механизм для покупки товаров. В данном случае сайт представляет собой набор PHP-скриптов.
· Онлайновый каталог товаров с разбивкой по категориям.
· Покупательская тележка, позволяющая отслеживать товар, выбираемый пользователем с целью его приобретения.
· Сценарий окончательного расчета, который обрабатывает детали платежа и выдает товар покупателю.
· Интерфейс администрирования
3.2 Характеристики и назначение
База данных магазина реализуется на СУБД MySQL. Структура БД состоит из следующих таблиц:
· «администратор» - сдержит поля для имени и пароля.
· «автодетали» - хранит информацию по автодеталям.
· «категории» - хранит список категорий автодеталей.
· «покупатель» - содержит имя и адрес покупателя.
Построение онлайнового каталога основано на выше приведенной структуре БД. Каталог, представляет из себя список категорий в виде ссылок на список деталей в данной категории, который в свою очередь состоит из ссылок на конкретную деталь с ее описанием.
Для метода отслеживания товаров, выбираемых посетителями, будет использоваться идентификационный номер сеанса. Отслеживание выбираемых элементов в процессе перехода между страницами, будет реализовано по следующей схеме:
· при заходе пользователя на сайт его идентификационный номер сеанса будет записан в базу
· при добавлении товара в корзину будет произведена запись в таблицу «корзина» идентификационного номера товара, его количества и идентификационного номера сеанса.
· при оформлении заказа, все записи о товарах выбранных пользователем из таблицы «корзина» будут стерты.
Кроме того, эти данные будут использоваться для отображения выбранных товаров в корзине, чтобы посетитель в любой момент мог видеть предстоящую сумму расходов.
Интерфейс администрирования Интернет-магазин предоставляет следующие функции:
· добавление, удаление и редактирование категорий.
· добавление, удаление деталей и редактирование информации по ним.
· редактирование, удаление, добавление свойств товаров.
· смена пароля.
· добавление пользователей.
3.3 Нормируемые показатели
В данном пункте важно заметить, что нормируемые показатели в данном случае больше относятся к возможностям конечных пользователей. Как и в большинстве on-line приложений время реакции системы на действие пользователя зависит в большей степени от пропускной способности Интернет-канала. Т.к. сервер отрабатывает почти моментально. И всё зависит от скорости Интернет-соединения между сервером и конечным пользователем.
Для уверенного поддержания соединения с 20-ю пользователями одновременно я считаю необходимо обеспечить для сервера интернет-канал скоростью 2 Мбитс.
В таком случае визуальная скорость реакции на действие пользователя составит менее 3-х секунд.
Требования к конфигурации сервера рассматриваются в пунктах ниже.
Условием функционирования системы является наличие доступа к серверу на котором расположен Интернет-магазин, а также правильная работа Web-сервера Apache & PHP и СУБД MySQL со стороны сервера. Со стороны клиента требуется лишь поддержка браузером работы JavaScript и включенные «куки».
Система функционирует в 2-х режимах:
· режим пользователя;
· режим администратора;
3.5 Описание и обоснование выбора логической и физической структуры ИС
3.5.1 Состав и функции оригинальных вычислительных средств
Система представляет собой программный продукт на языке PHP.
Система позволяет:
1) Клиентам:
· просматривать списки товаров по категориям;
· просматривать информацию о товарах;
· покупать товары.
2) Администраторам:
· добавление новых товаров;
· удаление старых товаров;
· редактирование сопутствующей информации о товарах
· редактирование свойств каталога
3.5.2 Web-сервер
Когда происходит обращение к некой странице по ее URL-адресу, то посылается сообщение на компьютер с указанным адресом. При этом предполагается, что это компьютер включен в сеть, его Internet-соединение действует, и он готов принять сообщение и обработать его.
Назначение Web-сервера состоит в преобразовании URL в имя файла и передаче этого файла обратно по Internet либо в преобразовании URL в имя программы, выполнения этой программы и передача полученного результата обратно.
В роли хост-компьютера может выступать как целый кластер гиперкомпьютеров, который по стоимости может сравниться с состоянием какого-нибудь нефтяного шейха, так и простой скромный ПК. В любом случае на этом компьютере должен работать Web-сервер - программа, которая «слушает» сеть, принимает сообщения, реагирует на них, посылая в ответ домашнюю страницу вашей организации.
Какие же требования предъявляются к Web-серверу? Он должен:
· Работать быстро, чтобы справляться со множеством запросов, используя минимум аппаратных средств.
· Быть многозадачным, т.е. работать одновременно более чем с одним запросом.
· Еще раз быть многозадачным, чтобы человек, управляющий им, мог осуществлять сопровождение выдаваемых сервером данных, не завершая его работы. В рамках программы организовать многозадачный режим очень сложно. Единственный способ сделать это как следует - запустить сервер в многозадачной операционной системе.
· Иметь средства аутентификации запрашивающих абонентов: некоторые из них могут иметь право на большее число услуг, чем другие.
· Реагировать на ошибки в получаемых сообщениях ответами, которые имеют смысл в контексте происходящего. Например, если клиент запрашивает страницу, которую сервер не может найти, последний должен выдать в ответ сообщение об ошибке «404», смысл которого в спецификации HTTP определяется как «страница не существует».
· Обсуждать с запрашиваемым абонентом стиль и язык ответа. Например, сервер должен - если управляющий им персонал способен справиться с этой задачей - уметь отвечать на естественном языке, который предпочитает абонент. Конечно, это может повлечь за собой большое количество дополнительной работы для вашего узла.
· Предлагать разные форматы. Говоря более техническим языком, пользователю могут понадобиться файлы в формате JPEG, а не GIF, или ни то и ни другое, a TIFF. Может, ему захочется получить текст не в формате PostScript, а в формате vdi.
· Работать как proxy-сервер. Proxy-сервер - это сервер, который принимает запросы от клиентов и пересылает их на реальные серверы, а затем передает ответы обратно клиентам. Необходимость такого режима может быть вызвана двумя причинами:
· proxy-сервер может работать на внешней стороне брандмауэра, предоставляя своим пользователям доступ в Internet;
· он может кэшировать популярные страницы, обеспечивая возможность повторного доступа к ним;
· быть надежным. Задача хорошего сервера предотвратить несанкционированный доступ. Вопрос безопасности очень серьезен. В связи со всем вышеизложенным, необходимым требования удовлетворяет Web-сервер Apache, к тому же он установлен практически у всех провайдеров internet, что является решающим при выборе именно этого сервера.
Apache - это программа, которая работает в среде соответствующей многозадачной операционной системы. Такой операционной системой может быть UNIX, равно как и WindowsNT, Windows95 и OS Сервер.
Для создания клиентской части необходимо создать HTML-документ, в котором реализован интерфейс с пользователем. В языке HTML это возможно посредством форм.
Серверная часть состоит из исполняемого модуля, решающего основные задачи обработки данных поступающих от клиентской части, формирования ответа в формате HTML, и т.д. Такой модуль называется cgi-модулем.
Для реализации взаимодействия «клиент-сервер» важно, какой метод HTTP запроса использует клиентская часть при обращении к WWW серверу. В общем случае, запрос - это сообщение, посылаемое клиентом серверу. Первая строка HTTP запроса включает в себя метод, который должен быть применен к запрашиваемому ресурсу, идентификатор ресурса, и используемую версию HTTP-протокола.
Большинство HTTP - запросов выполняется для получения от сервера определенного объекта. Эти запросы содержат ключевое слово GET. Если сервер сконфигурирован соответствующим образом, то обращение по некоторым URL-адресам может приводить к запуску программы и возврата клиенту результатов ее работы. Такие URL-адреса соответствуют CGI-скриптам, использующим метод GET.
Другие CGI-скрипты требуют большего объема входной информации. В качестве примера может служить информация, отсылаемая из заполненной пользователем формы. Такие скрипты используют другой метод, имеющий название POST. Когда сервер получает запрос с использование метода POST, он запускает CGI-скрипт и затем переадресует поток данных, поступающих от клиента, стандартному каналу ввода CGI-скрипта.
Для WWW-сервера стандарта NCSA прикладные программы или CGI-модули, обрабатывающие поток данных от клиента или формирующие обратный поток данных могут быть написаны на таких языках программирования как:
· CCeleron, AMD K6, K7Athlon и x86-совместимые с тактовой частотой от 500 MHz;
· Память: от 512 Mb;
· Видеоадаптер и монитор: любые, поддерживаемые требуемой ОС, возможна работа без монитора и видеоадаптера;
· Клавиатура и мышь: любые, поддерживаемые требуемой ОС, возможна работа без клавиатуры и мыши;
· Жёсткий диск: от 200 Gb;
· Пропускная способность канала: от 2 Mbit;
· ОС: семейства UNIX;
· Поддержка протоколов: TCPCeleron, AMD K6, K7Athlon и x86-совместимые с тактовой частотой от 300 MHz;
· Память: от 128 Mb;
· Видеоадаптер: от 8 Mb;
· Монитор: 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>
<input type= «submit» name = «upload» value = «Выполнить»><br>
< удаление товаров. Здесь можно отредактировать информацию о товаре или вовсе удалить его.
При редактирование свойств товара используется следующий шаблон
<link rel= «stylesheet» type= «textcssspan><td><td>
<input class= «smile_inp» name= «id_%ID%» type= «text» value = «%VALUE%»>
<tr>
<table>
<input type = «hidden» name = «catalog» value = «%CURRENT_CATALOG%»>
<input type = «hidden» name = «ID_product» value = «%PRODUCT%»>
<input type= «submit» name = «save_option» value = «Сохранить»><br>
<css» href=»..catalog.css»>
<form>
<input class= «smile_inp» name= «name_option» type= «text»>
<input type = «hidden» name = «id_catalog»
value = «%CURRENT_CATALOG%»>
<input type = «hidden» name = «action» value = «add_option»>
<input type = «hidden» name = «what_print» value = «print_option»>
<br>
<input type= «checkbox» name= «show_on_top» value= «1»>
Показывать в списке товаров<br>
<input type= «submit» value = «Выполнить»>
<css» href=»..catalog.css»>
<form>
<input class= «smile_inp» name= «name_option»
type= «text» value= "%VALUE%»>
<input type = «hidden» name = «id_catalog»
value = «%CURRENT_CATALOG%»>
<input type = «hidden» name = «action» value = «edit_option»>
<input type = «hidden» name = «what_print» value = «print_option»>
<input type = «hidden» name = «id_option» value = «%ID_OPTION%»>
<br>
<input type= «checkbox» name= «show_on_top»
value= «1»%SHOW_ON_TOP%> Показывать в списке товаров<br>
<input type= «submit» value = «Выполнить»>
</form>
«%VALUE%» заменяется на название выбранной для редактирования опции.
«%CURRENT_CATALOG%» заменяется на ID каталога для которого создается новые свойство.
«%ID_OPTION%» заменяется на ID выбранной для редактирования опции.
После нажатия кнопки «Выполнить» в скрипт передаются переменные для редактирования свойства.
При выполнение скрипта производятся следующие действия:
- проверяется зарегистрирован ли пользователь в системе. В случает отрицательного результата выводиться ошибка и выполнение скрипта прекращается.
- проверяем на существование необходимых переменных, в случае их отсутствия присваиваются значения определенные по умолчанию.
- проверяется существование переменной $action, если переменная существует то выполняется то или иное действие над каталогом в зависимости от значения переменной. Если она не существует скрипт переходит к выполнению следующего пункта.
- в зависимости от значения переменной $what_print скрипт генерирует содержание html-страницы.
5.2 Описание интерфейса приложения клиента магазина
При вводе в строке браузера URL магазина - пользователь попадает на витрину магазина. Данная страница представлена на рисунке 5.10.
Рисунок 5.10 - Главная страница магазина.
Находясь на этой странице - пользователь может ознакомиться со списком категорий.
Рассмотрим работу скрипта index.php. To что выводится в окно браузера, при запуске этого скрипта, показано на рис 5.10. При первом запуске скрипта выводиться страница приветствия.
В самом начале его работы регистрируется сессия пользователя и удаляются старые сессии пользователей. Далее проверяется наличие переменной отвечающей за вы выбор информации выводимой в окне браузера, если она отсутствует, ей присваиваются значения для вывода страницы приветствия. В зависимости от выбора вкладки переменной $action будут присвоены значения для вывода каталога или корзины.
Теперь рассмотрим действия подробно.
Рисунок 5.11 - Список каталогов
Для вывода списка каталогов используется функция
show_catlist, ее листинг приведен ниже:
Код HTML шаблона вписан прямо в код скрипта.
В ходе выполнения скрипта следующий текст будет заменен:
%ACTION% будет заменен на «catlist» или «catalog» в зависимости от действия производимого при нажатии на данную ссылку.
%ID_CATALOG% будет заменен на ID каталога.
%NAME% будет заменен на имя каталога
%CURRENT% будет заменен на ID текущего каталога
Страница со списком деталей представлена на рисунке 5.12.
Рисунок 5.12 - Страница со списком деталей.
Со страницы со списком детали выбранной категории, можно щелкнув по ссылке, перейти на станицу просмотра сведений о выбранной детали.
Для вывода списка товаров используется функция
show_catalog
Код HTML шаблона подгружается из файла catalog.html. Который приведен в приложении листинг 1.3
В ходе выполнения скрипта следующий текст будет заменен:
%NAME_OF_PRODUCT% будет заменен на наименование товара
%ID_PRODUCT% будет заменен на ID товара
%COST% будет заменен на цену товара
%PIC% будет заменен на адрес рисунка с фотографией товара
%MAIN_OPTION% будет заменен на список опций которые были отмечены как показываемые в списке товаров. Для создания HTML кода со списком опций используется функция gen_option. Она создает список свойств используя SQL запрос:
select prod_option. Name, all_prod_option. Value
from prod_option
inner join all_prod_option
on prod_option.ID=all_prod_option.ID_option
and ID_product = $id_product
where ID_catalog = $id_catalog
%CURRENT% будет заменен на ID текущего каталога
Страница просмотра сведений о детали показана на рисунке 5.13. Также на этой странице находится ссылка добавления выбранного товара в корзину.
Рисунок 5.13 - Страница просмотра сведений о детали и добавление ее в корзину
Для вывода карточки товара используется функция
show_product, ее листинг приведен в приложении
Листинг 1.4
Код HTML шаблона подгружается из файла product.html.
В ходе выполнения скрипта следующий текст будет заменен:
%NAME% будет заменен на наименование товара
%COST% будет заменен на цену товара
%PIC% будет заменен на адрес рисунка с фотографией товара
%OPTION% будет заменен на список опций
%ID_PRODUCT% будет заменен на ID товара
Окно корзины показано на рисунке 5.14.
Рисунок 5.14 - Корзина покупателя
С этого же окна можно перейти, по нажатии на кнопку «Прейти к расчету», к оформлению платежа.
Для вывода списка каталогов используется функция
show_step_one, ее листинг приведен ниже: Листинг 1.5
Код HTML шаблона подгружается из файла basket_step1.html.
В ходе выполнения скрипта следующий текст будет заменен:
%FULL_COST% будет заменен на полную стоимость заказа.
%BASKET_PRODUCT% будет заменен на html код сгенерированный функцией gen_basket_product, листинг функции приведен ниже, Листинг 1.6
В ходе выполнения скрипта следующий текст будет заменен:
%NAME% будет заменен на наименование товара
%ID_PRODUCT% будет заменен на ID товара
%QUANTITY% будет заменен на количество товара в корзине
%COST% будет заменен на стоимость каждого товара в отдельности
%END_COST% будет заменен на полную стоимость товара
%ID_BASKET% будет заменен на ID записи сессии
Окно оформления платежа представлено на рисунке 5.15.
После оформления платежа данные о нём вносятся в базу данных, а корзина очищается.
Рисунок 5.15 - Окно оформления платежа
Код HTML шаблона подгружается из файла basket_step2.html.
Данные из этой формы будет переданы в функцию mail, которая вышлет заказ на e-mail операторам магазина.
6. Оценка эффективности инвестиций информационной системы
6.1 Цели, задачи и методы оценки эффективности инвестиций
Рыночная экономика предъявляет свои требования к новым проектам, и выживают лишь те, которые просчитывают каждый свой шаг, и соответствуют потребностям рынка, а не возможностям производителя. Главную роль при реализации технических проектов играют финансово-экономические расчеты. Они признаны решать широкий круг задач:
ь финансовый итог производственной деятельности или коммерческой сделки для каждой из участвующих сторон;
ь выявление зависимости конечных результатов финансово-кредитной операции от основных ее параметров и условий, определение взаимосвязи этих параметров и их предельных значений;
ь нахождение параметров безубыточного изменения условий сделки.
В настоящий момент нет единой методики оценки эффективности инвестиций. Каждая фирма, как правило, исходя из собственного опыта, финансовых ресурсов, преследуемых целей и т.д. разрабатывает свою методику. Эти методики в качестве критериев эффективности используют следующие показатели:
ь «чистый» приведенный;
ь внутренняя норма доходности;
ь срок окупаемости предполагаемых инвестиций;
ь рентабельности.
В данном расчете в качестве критерия эффективности инвестиций использована ожидаемая величина «чистого» приведенного дохода. Использование данного критерия поможет при принятии решения о целесообразности денежного вложения изучить картину возможных финансовых результатов этого вложения.
Под реализацией любого технического проекта в широком смысле этого слова понимается ряд этапов, включающих разработку этого проекта, его исполнение и последующую эксплуатацию.
Осуществление каждого из этих этапов требует привлечения различных средств, называемых, в общем, инвестициями. Источниками инвестиций могут быть собственные или заемные средства. И в том и в другом случае весьма важным для вкладчика является определение эффективности их вложения.
В финансовом анализе для этой величины применяют различные показатели, взаимосвязанные друг с другом. Все они отражают один и тот же процесс сопоставления распределенных во времени доходов от инвестиций и самих инвестиций. Наиболее информативными из этих показателей является общий итоговый результат проводимой инвестиционной деятельности, называемый «чистой» приведенной величиной дохода. Этот показатель определяется как разность между возможными доходами, получаемыми при осуществлении проекта, и обеспечивающими эти доходы инвестициями.
Для определения указанного показателя предварительно необходимо обратить внимание на основные особенности предполагаемой инвестиционной деятельности, к которым относятся:
- возможное получение реальной отдачи от вложения инвестиций по истечении ряда лет вложения;
- отличие «сегодняшней ценности» инвестиций от их «ценности» в будущем из-за существования инфляционных процессов и постоянного изменения рыночной конъюнктуры, приводящего к изменению реальных доходов по сравнению с ожидаемыми.
Поэтому любой инвестор, обладающий свободными денежными активами вынужден сравнивать ряд альтернативных вариантов вложения инвестиций, каждый из которых характеризуется своей прибыльностью и показателями риска. Сравнение обычно осуществляется на основе использования альтернативной стоимости активов, т.е. потерь от неиспользованных возможностей, сопряженной с альтернативными вариантами.
На практике различие альтернативной стоимости сводят к различию ставок сравнения. При выборке ставки сравнения ориентируются на существующий или усреднённый ожидаемый уровень ставки процента для каждого из альтернативных вариантов.
В финансовых операциях сумму прибыли от предоставления денег в долг в любой форме называют процентными деньгами, а отношение процентных денег, выплачиваемых за фиксированный отрезок времени, к величине первоначальной суммы называют процентной ставкой.
Процесс увеличения суммы денег в связи с присоединением процентов к сумме долга называют наращением, или ростом первоначальной суммы.
Процентные ставки могут быть простыми и сложными в зависимости от формирования исходной суммы, на которую начисляются ставки процента. Если она в течении всего срока ссуды меняется, то речь идёт о простых процентных ставках. Если же применение ставок процента идёт к сумме с уже начисленными на неё в предыдущем периоде процентами, то это сложная процентная ставка.
В долгосрочных финансово-кредитных операциях, к разряду которых относится осуществление инвестиционной деятельности по реализации любого технического проекта, для наращения суммы ссуды или снижения фактической суммы займа применяют сложные проценты.
Для расчёта ЧПВД весь процесс инвестиционной деятельности представляется в виде последовательности множества распределенных во времени первоначальных вложений и последующих доходов. Эту последовательность называют потоком платежей. При определении ЧПВД для каждого члена потока платежей определяются потери от неиспользованных возможностей. Вкладчик, рассчитывая ЧПВД, исходит не из того, что он будет иметь, а из того, что теряет, не вложив деньги в ту или иную финансовую операцию. «Ценность» каждого члена потока на момент начала вложения определяется как разность между начальной величиной вложения и величиной возможных потерь. Такое определение «ценности» каждого члена потока на момент начала вложений при условии, что в будущем она составит другую величину за счёт действия ставки процента, называют дисконтированием.
Подобные документы
Характеристика процессов электронной коммерции в книготорговой деятельности и практической разработке системы электронной торговли на примере книжного Web-магазина. Изучение организационных принципов электронной коммерции и нормативно-правовой базы.
дипломная работа [1,4 M], добавлен 16.06.2017Разработка информационной системы интернет-магазина автозапчастей с целью учета их заказов из разных стран. Создание базы данных для регистрации информации: код товара, вид, марка, поставщик. Функции системы; программная среда, интерфейс пользователя.
курсовая работа [2,0 M], добавлен 04.05.2013Развитие информационного бизнеса, электронной коммерции на основе Интернет. Описание предметной области, процессов и типичного хода событий при создании информационной системы виртуального предприятия. Калькуляция разработки электронной торговли.
курсовая работа [872,8 K], добавлен 22.05.2015Служба телеконференции. Электронная коммерция и история ее развития. Первые системы электронной коммерции. Рынок электронной коммерции. Разновидности бизнеса в интернете, его глобализация. Электронные платежные системы. Безопасность электронной коммерции.
реферат [33,4 K], добавлен 12.04.2009Обзор технологий и современного рынка облачных сервисов. Выбор средств разработки информационной системы. Создание базы данных и прототипа приложения. Обоснование экономической эффективности внедрения разработанной системы учета заказанных товаров.
курсовая работа [537,5 K], добавлен 23.08.2015Детализация функций системы и требования к информационной системе. Анализ категорий пользователей. Этапы внедрения автоматизированной информационной системы на предприятии. Описание таблиц базы данных. Защита данных от несанкционированного доступа.
дипломная работа [1,0 M], добавлен 22.07.2015Анализ проектирования автоматизированной информационной системы компьютерного магазина "Джей". Разработка базы данных на языке Transact-SQL в системе управления базами данных Microsoft SQL Server 2000. Расчет себестоимости и цены программного продукта.
курсовая работа [2,3 M], добавлен 16.08.2012Преимущества и недостатки электронной коммерции. Описание локального сервера Denwer. Структура файлов и папок. Особенности PHP, MySQL, CSS, HTML. Разработка структуры сайта интернет-магазина по продажи гитар и комплектующих, его программная реализация.
курсовая работа [5,0 M], добавлен 25.10.2014Анализ необходимости разработки информационной системы для продажи товаров народного потребления: оценка потребностей предприятия ООО "Эридан"; выбор средств реализации; требования и технология эксплуатации системы; проектирование компонент приложения.
дипломная работа [4,7 M], добавлен 13.07.2011Анализ деятельности торговой организации; разработка проекта автоматизированной информационной системы; задачи - дистрибьюторский учет на фирме: операции по оприходованию-списанию продукции, контроль остатков, проведение ревизии, резервирование товаров.
курсовая работа [648,8 K], добавлен 08.08.2011