ВВЕДЕНИЕ В настоящее время Интернет становится все более развитой средой для осуществления коммуникаций с потребителями. В тоже время, существенным является и тот факт, что Интернет становиться удобной и достаточно дешевой «торговой площадкой». Все большее количество фирм старается представить свою продукцию в on-line среде. С развитием Интернет теперь люди могут не только получать интересующую их информацию, но и совершать покупки. При этом с помощью интернет-магазинов можно приобретать товары совершенно разных категорий, как потребительские, так и высокотехнологичные. Основную часть аудитории сети Интернет составляют люди, работающие в офисах и проводящие большую часть времени за компьютером. Как правило, их образ жизни не позволяет им тратить большое количество времени на походы по магазинам в поисках именно того, что им нужно. Возможность заказать интересующий продукт в Интернете является для них действительно выходом из ситуации. Главной задачей является создание интернет-магазина, в котором покупатель мог бы с легкостью ориентироваться, быстро находить нужный товар и покупать его. Большое внимание следует уделить и дизайну. Проанализировав несколько средств разработки, выбрать оптимальное. В первой части дипломной проекта проведен анализ предметной области. Были рассмотрены актуальность темы, техническая обоснованность разработки, анализ структуры и принципов функционирования существующих аналогов, разработка технического задания, анализ и выбор базовых интернеттехнологий, инструментальных средств для разработки. В завершении первого раздела были поставлены цели и определены задачи для ее достижения. В проектной части дипломного проекта произведено моделирование бизнес-процессов, были построены диаграммы деятельности, прецедентов, классов, последовательности. Во втором разделе были спроектированы дизайн, макет интерфейса, структуры сайта и БД.В третьем разделе описан процесс разработки БД и web-приложения, реализующего работу интернет-магазина.В четвертом разделе произведены расчеты, для обоснования экономической эффективности разработки и внедрения данного проекта. В пятом разделе произведен анализ основных опасных и вредных факторов при работе сотрудников, проведены расчеты, соблюдение которых приведет к обеспечению полной безопасности сотрудников. В заключении проводится анализ выполненных задач и достигнутых целей. 1 Анализ предметной области 1.1 Актуальность темы По данным международного исследования аудитории количество пользователей интернета во всем мире стремительно растет, причем наиболее активными являются жители крупных городов, молодежь, люди с высоким доходом. Исходя из такого положения вещей, было бы крайне неразумно оставлять без внимания потребительские запросы этой аудитории, не попытавшись удовлетворить хотя бы часть таких запросов прямо в Интернете. Интернет-магазин – высокоэффективный и мало затратный инструмент для успешного ведения бизнеса. В отличие от обычного магазина, интернет– магазин открыт 24 часа в сутки, 7 дней в неделю, доступен любому пользователю в любой точке планеты и не требует финансовых затрат на аренду помещения, значительно снижает издержки на персонал. В настоящее время в Казахстане среди торговых фирм интернет-магазины начинают пользоваться популярностью. Статистика утверждает, что за последние несколько лет электронная коммерция в Казахстане вышла на качественно новый уровень. Возросло количество пользователей Интернета, открылись новые интернет-магазины, а многие традиционные магазины поспешили продублировать свой бизнес в сети. Во время работы над проектом первым делом мною был изучен материал о сфере деятельности, для которой разрабатывалась система. Далее мною была проанализирована информация, позволяющая подробно узнать об основных принципах данной сферы деятельности, о способах применения информационных технологий в сфере торговли (или коммерции). Объектом исследования данного дипломного проекта является процесс электронной торговли. Магазин занимается продажей дамских сумок. Наибольшее внимание уделено созданию простого удобного пользовательского интерфейса интернет-магазина. 1.2 Принципы функционирования интернет-магазина Интернет-магазин представляет собой компанию, осуществляющую торговлю в Интернете с помощью web-сайта.Сайт интернет-магазина содержит каталоги товаров с их описаниями, фотографиями и ценами. Специальная форма online-заказа позволяет клиентам выбрать, заказать и оплатить интересующие их товары, заранее рассчитать стоимость всего заказа с учетом доставки. Клиент имеет возможность отслеживать на сайте магазина то, в какой стадии находится исполнение его заказа. Часто интернет-магазины размещают в специальных разделах или в описаниях конкретных товаров отзывы покупателей и другую полезную для клиентов информацию. Ассортимент товаров интернет-магазина может колебаться от единиц до многих десятков тысяч наименований. Перед заказом товар в интернет-магазине, пользователь обычно должен зарегистрироваться. Далее, ознакомившись с ассортиментом и ценами и "сложив" интересующие его товары в виртуальную корзину, покупатель выбирает способ доставки и оплаты товара. После указания всех этих параметров покупатель получает итоговую стоимость заказа и, если она его устраивает, подтверждает заказ. После получения заказа администрация магазина связывается с покупателем посредством электронной почты или по телефону для подтверждения заказа. В зависимости от выбранных условий, клиент оплачивает заказ при получении или совершает предоплату одним из традиционных способов или при помощи специализированных систем интернет-платежей. В самом общем случае интернет-магазин состоит из следующих элементов: –web-сайта, который, в свою очередь, подразделяется на главную страницу, каталог товаров с развернутой информацией по каждой позиции, прайс-листом и поисковой машиной, систему навигации по сайту, систему регистрации и авторизации пользователей, систему формирования и подтверждения заказа, систему поддержки клиентов, раздел для партнеров; – системы обработки заказа; – системы оплаты; – системы доставки товара. Набрав в адресной строке браузера адрес сайта или щелкнув мышью на соответствующей ссылке, клиент попадает на главную страницу интернет-магазин. Чтобы пользователь, по крайней мере, ознакомился с предложениями и ассортиментом товаров магазина, его вниманием необходимо сразу завладеть. Главная страницу, необходимо найти компромисс между многими трудно совместимыми свойствами, которыми она должна обладать. На главной странице должны находиться логотип и название магазина, анонсы и ссылки на всю самую интересную и полезную для клиента информацию: специальные предложения, важные новости компании, оглавление каталога товаров, интерфейс поисковой машины и системы навигации, сообщения о новых товарах и маркетинговых акциях. Гиперссылки с этих анонсов могут вести на страницы с более подробной информацией. При этом главная страница не должна быть перегружена информацией и графикой. Все указанное выше должно иметь очень сжатую, но информативную форму представления. Дизайн главной страницы необходимо разрабатывать с учетом того, чтобы он облегчал пользователю восприятие всей расположенной на ней информации, а не отвлекал от нее. На сайте интернет-магазина основные рубрики каталога товаров должны находиться на самом видном месте. Поисковаямашинадолжна быть размещена на всех страницах сайта, чтобы пользователь мог совершить необходимый ему поиск в любом месте сайта, где бы он ни находился.Чем больше возможностей сортировки товаров предоставляет каталог, тем удобнее клиенту будет им пользоваться, и тем более приятное впечатление у него останется от посещения магазина. Очень хорошо, если клиент может посмотреть перечень товаров не только в разрезе определенной категории, но и в разрезе фирмы-производителя, страны-изготовителя, интервала цен, каких-либо признаков товара и отсортировать их по одному из этих параметров. Каждый товар в каталоге должен иметь гиперссылку на страницу с подробной информацией, фотографиями и иными материалами, помогающими пользователю сориентироваться в его характеристиках и качествах. На этой же странице может содержаться комментарий администрации магазина, ее рекомендации клиенту обратить внимание на другие товары этой же категории, которые пользуются наибольшим спросом у покупателей. Система навигации служит для того, чтобы облегчить пользователю поиск на сайте интересующей его информации и переход из одного раздела в другой. Главное требование к системе навигации заключается в том, чтобы пользователю с любым уровнем подготовки было с первого взгляда понятно, как ей пользоваться. Кроме того, система навигации должна давать пользователю представление о том, из каких разделов состоит сайт и что можно на нем найти. Желательно, чтобы названия разделов были емкими, но короткими. В качестве средств навигации можно использовать различные виды меню или стрелки для последовательного перемещения с одной страницы на другую и обратно. Хорошим инструментом навигации является карта сайта, представляющая весь сайт в виде наглядной схемы, содержащей названия страниц и связи между ними. Для больших сайтов в качестве средства навигации может быть использована поисковая машина. Для того чтобы иметь возможность совершать покупки, клиенту следует оставить администрации магазина о себе некоторую информацию: контактные данные, адрес доставки и т. п. В целях идентификации ему должно быть присвоено условное имя (login) и пароль. Для совершения этих действий на сайте интернет-магазина существует система регистрации. Она представляет собой форму, в соответствующие поля которой клиент должен внести информацию о себе и подтвердить регистрацию.В дальнейшем, при посещении магазина для совершения покупок клиент проходит процедуру авторизации, пользуясь своим условным именем и паролем. Это позволяет администрации магазина вести историю покупок клиента, показывать ему на сайте целевую рекламу, делать рассылку новостей. Формирование заказа осуществляется клиентом при помощи виртуальной покупательской корзины. По сути, это список товаров, выбранных пользователем для покупки. Напротив каждой позиции в каталоге интернет-магазина размещается кнопка или ссылка "добавить в корзину", при нажатии на которую название соответствующего товара добавляется к списку выбранных. Общая сумма, на которую выбраны товары, калькулируется автоматически. У клиента, как и в реальном магазине, должна быть возможность в любой момент удалить из корзины любой товар. После того, как покупатель окончательно сформировал содержимое корзины, ему необходимо выбрать способ оплаты и доставки товара. Соответствующая информация должна быть у него под рукой. В зависимости от адреса доставки, клиенту предлагаются варианты доставки и оплаты. Выбрав их, клиент получает окончательную цену заказа. Если она его устраивает, он подтверждает заказ щелчком мыши по соответствующей кнопке и получает информацию о дальнейших действиях, которые ему необходимо совершить для получения и оплаты.В случае возникновения нештатной ситуации сотрудники службы поддержки общаются с клиентом по телефону или по электронной почте и решают возникшие проблемы. Проблема платежей в Интернете стоит давно и остро. В последнее время появляется все больше платежных систем, облегчающих движение денег в сети.Варианты оплаты товаров, приобретаемых в интернетмагазинах, делятся на две большие группы: оплата при получении товара и предоплата. Оплата наличными при получении товара возможна в следующих случаях: доставка товара курьером, при получении товара по почте наложенным платежом, оплата заказанного через Интернет товара при визите покупателя в реальный магазин. Предоплата может осуществляться банковским переводом, с помощью кредитных карт, почтовым переводом, через платежные системы, при помощи специальных платежных средств, эмитируемых самим интернет-магазином и продаваемых в банках, почтовых отделениях и обычных магазинах.Чтобы облегчить клиенту ориентацию в вариантах оплаты и документообороте, интернет-магазины создают специальные разделы, содержащие подробные пошаговые инструкции по каждой форме оплаты. Для банковского и почтового переводов обычно создают соответствующую форму, которую клиент может по образцу заполнить прямо на сайте, распечатать на принтере и отнести в банк для оплаты. Чтобы помочь клиенту при оплате по кредитным картам и через платежные системы, создаются описания систем, размещаются ссылки на их сайты, где даны более подробные инструкции. Для интернет-магазина система доставки является одной из наиболее важных структурных составляющих. Ее наличие отличает интернетмагазин от обычного магазина. С одной стороны, это дополнительный сервис для клиента, с другой – дополнительный барьер между клиентом и магазином. Эта особенность заставляет интернет-магазины уделять службе доставки особое внимание. Доставка товара клиенту может осуществляться следующим образом: – собственной или независимой курьерской службой; – федеральной почтовой службой; – международными курьерскими службами; – международной почтовой службой; – российскими коммерческими почтовыми службами; – профессиональными грузоперевозчиками. 1.3 Анализ и выбор интернет-технологий для разработки 1.3.1 Выбор системы управления контентом С развитием Интернета появилось большое количество средств разработки web–приложений. Современный сайт – полноценный программный продукт, который отслеживает действия пользователей, позволяет им между собой общаться и предлагает множество полезных сервисов в зависимости от поставленных владельцем сайта задач.В этой ситуации на помощь разработчикам приходят системы управления контентом (CMS, ContentManagementSystem), которые решают задачи администрирования, управления и функциональности сайта. CMS – специальная система, с помощью которой за короткое время можно создавать новые сайты с базовой функциональностью и в дальнейшем расширить их возможности. IT-рынок предлагает большое количество платных и бесплатных CMS. Одним из популярных CMS являетсяDrupal.Это система, на основе которой можно собрать практически неограниченный функционал сайта. Основные направления разработок на Drupal: блоги, социальные сети, персональные сайты, корпоративные сайты, порталы сообществ, форумы, интернет-магазины, сайты-справочники. Drupal считается одной из самых надежных систем на сегодняшний день. При этом огромный плюс данной CMS – абсолютная бесплатность использования. Имеется документация для разработчиков и пользователей. К недостаткам использования Drupal можно отнести небольшую сложность в работе. Чтобы использовать мощнейший функционал системы Drupal, необходимы знания по web-программирования. Php-Nukeтак же является востребованным среди разработанных CMS. На этом ядре собрано несколько однотипных CMS, которые имеют названия «семейство Nuke». Все эти системы ничем особенным не отличаются в плане функционала от Drupal, только их возможности развития и расширения несколько ограничены. Система распространяется полностью бесплатно, но с соблюдением копирайтов. Основной недостаток системы связан с проблемой в защите системы. Php-Nuke довольно сильно загружает сервер, не оптимизирована по запросам к базе данных, поэтому на этой CMS не рекомендуется создавать проекты с большой посещаемостью: не выдержит либо сервер, либо владельцы сервера.Несмотря на эти недостатки, Php-Nuke можно порекомендовать начинающим разработчикам для усвоения навыков в работе с CMS. Установка, настройка и администрирования очень просты. На Joomla! создано огромное количество самых разнообразных сайтов. Система позволяет создавать сайты-визитки, интернет-магазины, порталы, сообщества, системы блогов, доски объявлений корпоративные мультиязычные сайты и многие-многие другие сайты.Joomla! полностью бесплатна, имеет множество модулей расширения функционала, с помощью которых можно за несколько минут добавить интернет-магазин на сайт компании. Единственный и серьезный недостаток Joomla – уязвимость в защите системы. WordPress – бесплатная CMS для ведения блога.Функциональность WordPress, как и во всех остальных CMS, расширяется установкой дополнительных плагинов. Блоги – это не единственное, для чего используется WordPress. На нем можно построить порталы и фотогалереи, каталоги статей и витрины товаров. Для разработки данного приложение ни одна система управления контентом не была выбрана. Для данного проекта было принято писать сайт исключительно на PHP. Такой вариант имеет два весомых преимущества: – всегда возможно добавить новые функции, доработать или переделать что-либо; – решение полностью создается для конкретного проекта, предназначено только для данной фирмы, и работает исключительно для обеспечения потребностей этой области. 1.3.2 Технологии web-программирования Технологии web-программирования, используемые при разработке Webсайтов, подразделяются на две основные категории: клиентские и серверные. Клиентские сценарии– это приложения, выполняющиеся на стороне клиента под управлением браузера. При написании клиентских сценариев обычно используются языки JavaScript или VBScript. Основное назначение клиентских сценариев – создание привлекательного пользовательского интерфейса, проверка данных, обеспечение интерактивности web-страниц за счет динамического HTML, апплетов Java [1]. Клиентские сценарии являются зависимыми от браузера и язык клиентских сценариев должен поддерживаться браузером. Браузеры различных типов отличаются друг от друга по своим возможностям. Серверные сценарии выполняются на стороне сервера и служат для обработки данных, обеспечивают динамическое обновление webстраниц. Серверные сценарии разрабатываются с целью расширения функциональных возможностей web-страниц и улучшения взаимодействия между клиентом и сервером. Серверные приложения можно использовать для создания таких компонентов сайта, как счетчик, форум, чат, обработка статистики, организация доступа к базам данных. Сценарии, предназначенные для выполнения на стороне сервера, располагаются на сервере. Принимая запрос пользователя, в котором указана программа, сервер запускает эту программу на выполнение. В результате выполнения программы выходные данные передаются web-серверу, а затем клиенту. На выходе с сервера – всегда HTML-документ, но сгенерированный web-приложением. Особенность серверных сценариев – пользователь не может просматривать код серверного сценария. При разработке серверных web-приложений используют различные технологии и языки программирования: CGI-сценарии, ASP (ActiveServerPages), ASP.NET, Java, Perl, PHP, Python, JSP (JavaServerPages), Ruby.На рисунке 1.1 представлена архитектура современного web-сервера [2]. Рисунок 1.1 – Архитектура современного web-сервера 1.3.3 Язык разметкиHTML HTML (от англ. HyperTextMarkupLanguage– «язык разметки гипертекста») – стандартный язык разметки документов во Всемирной паутине. Большинство веб-страниц создаются при помощи языка HTML. Язык HTML интерпретируется браузером и отображается в виде документа, в удобной для человека форме. Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). Однако современное применение HTML очень далеко от его изначальной задачи. 1.3.4 Каскадные таблицы стилей CSS (англ. CascadingStyleSheets – «каскадные таблицы стилей») – язык описания внешнего вида документа, написанного с использованием языка разметки. CSS используется создателями веб-страниц для задания цветов, шрифтов, расположения и других аспектов представления документа. Основной целью разработки CSS являлось разделение содержимого и представления документа. Это разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом. Использование CSSимеет следующие преимущества: – несколько дизайнов страницы для разных устройств просмотра, либо для разных браузеров, для верного и удобного отображения всех элементов; – уменьшение времени загрузки страниц сайта за счет переноса правил представления данных в отдельный CSS-файл. В этом случае браузер загружает только структуру документа и данные, хранимые на странице, а представление этих данных загружается браузером только один раз и могут быть за кэшированы; – простота последующего изменения дизайна. Не нужно править каждую страницу, а лишь изменить CSS-файл; – дополнительные возможности оформления. Например, с помощью CSS-вёрстки можно сделать блок текста, который остальной текст будет обтекать или сделать так, чтобы меню было всегда видно при прокрутке страницы. 1.3.5 Web-сервер Web-сервер – программа, которая отвечает за получение данных от пользователя сайта и подготовку страниц, отправляемых обратно. При осуществлении запросов к базе данных или обращений к другим активным объектам, реализующим бизнес-логику, web-сервер обращается к серверам базы данных или другим серверам приложений. При разработке данного проекта выбор пал на Apache, который является одним из самых популярных серверов Интернет. Его популярность обусловлена прежде всего тем, что он является бесплатным и достаточно быстрым. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать для пользователей, модифицировать сообщения об ошибках и т.д. Несмотря на то, что первоначально данный сервер разрабатывался для операционных систем UNIX, сейчас он адаптирован под операционную систему Windows. Web-сервер Apache – своего рода стандарт сервера в сети Интернет. Apache поддерживает PHP, Perl и сервер MySQL на машине, работающей под управлением MSWindows 95/98/Me/NT/2000/XP.Web-сервер Apache имеет несколько основных отличий: – модульность и расширяемость; – для оптимизации работы и включения дополнительных возможностей необходимо редактировать конфигурационные файлы, но базовые возможности доступны сразу же после установки; – PHP работает в качестве модуля веб-сервера Apache, что позволяет отлаживать программы авторизации пользователей и открывает доступ к ряду дополнительных возможностей [3]. 1.3.6 Язык программированияPHP РНР представляет собой мощный язык написания серверных сценариев для Web, который продолжает развиваться. РНР поддерживает большой диапазон интернет-технологий, что делает его на сегодняшний день ведущим языком сценариев для Web. Язык РНР был разработан специально для создания динамических webстраниц. В серверном коде под динамическим информационным наполнением, подразумевается содержимое страницы, сборка которого происходит оперативно, сразу после поступления запроса на передачу страницы. PHP (англ. PHP:HypertextPreprocessor – «PHP: препроцессор гипертекста») – язык программирования общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостингов и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб-сайтов. Препроцессор – программа, работающая совместно с web-сервером, которая просматривает все или некоторые файлы, выдаваемые web-сервером посетителям, и выполняет над ними определенные действия в зависимости от содержащихся в этих файлах инструкций.Популярность в области построения web-сайтов определяется наличием большого набора встроенных средств для разработки веб-приложений: – автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы; – взаимодействиесбольшимколичествомразличныхсистемуправлениябазамида нных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, MicrosoftSQLServer, Sybase, ODBC, mSQL, IBMDB2, CloudscapeиApacheDerby, Informix, OvrimosSQL, LotusNotes, DB++, DBM, dBase, DBX, FrontBase, FilePro, IngresII, SESAM, Firebird / InterBase, ParadoxFile, Access, MaxDB, ИнтерфейсPDO);