Дипломная работа: Разработка и внедрение Web-сайта для компьютерной фирмы с возможностью формирования заказа в режиме онлайн

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Из недостатков здесь можно выделить следующие:

· Необходимы определенные знания, такие как создать локальный сервер, базу данных, как развернуть движок на сервере, как его настроить, купить хостинг,загрузить сайт на него;

· Есть потенциальные проблемы с безопасностью. Особенно это актуально для бесплатных движков.Если движок бесплатный и открытый (общедоступный), то у него есть потенциальные проблемы с безопасностью и с уязвимостью, потому что любой хакер, может этот движок взять, изучить, найти какие-то «дыры» в нем и затем, зная их, может взламывать любой магазин, построенный на этом движке. Конечно, разработчики постоянно следят за такими уязвимостями в движках и выпускают обновления, устраняющие их. Если вовремя устанавливать обновления для движка, то вероятность того, что его взломают меньше, но она всё равно она сохраняется, потому что, во-первых,можно не успеть обновить движок, во-вторых, новая уязвимость может быть не известна даже разработчикам и так далее. Таким образом, есть определенные проблемы с безопасностью при таком подходе;

· Также есть определенные проблемы с обновлением, потому что, если, допустим, мы создали магазин на определённой версии движка. Установили какие-то дополнительные модули, шаблон и так далее, а потом через какое-то время этот движок сильно обновился. В нем появилось очень много функций, возможно, в нем изменилась структура и теперь, чтобы нам перейти на этот обновленный движок, нужно проделать очень много работы. Например, модули могут перестать работать или шаблон уже может не подходить под новый движок и так далее. Таким образом, это общеизвестная проблема бесплатных готовых движков и некоторых платных;

· Хорошие движки стоят хороших денег. Для того, чтобы получить хороший движок, часто приходится заплатить;

· Отсутствие техподдержки. Это в большей степени относится к бесплатным движкам, потому что мы не можем написать в поддержку бесплатного движка о том, что у нас что-то не работает, или чтобы нам помогли что-то настроить, или что-то сделать. Нам никто не ответит. Правда, для некоторых из них предусмотрена платная поддержка. В такой ситуации мы можем купить техническую поддержку на определенный период времени за определенную сумму, и в таком случае мы уже сможем обращаться к ней за помощью.Как правило, в большинстве бесплатных движков техническая поддержка отсутствует.

Это был второй способ, который уже гораздо проще и быстрее первого, но все-таки он требует определенных знаний и содержит в себе определенные недостатки.

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

Чтобы создать интернет-магазин при таком подходе, нужнозарегистрироваться на определённом SaaS сервисе, после чего станет доступен определенный конструктор. Нужно выбрать шаблон магазина, настроить параметры, добавить товары и указать в настройках свой домен. На этом домене и начнет работать магазин. Таким образом,никаких сложных технических действий производить не нужно. Данный способ является еще более простым вариантом. Здесь вообще не надо никаких технических знаний, при условии, что мы используем стандартные шаблоны. Таких сервисов сейчас появляется все больше и больше. Самые известные из них это: InSales и Shopify. На них создается огромное количество магазинов. Из преимуществ данного подхода можно отметить следующие:

· Быстрота разработки магазина без технических знаний. Таким способом можно за час создать полноценный магазин с товарами, настроенный на нашем домене (при условии, что он у насбыл куплен заранее, и прописаны определенные dns сервера). То есть очень быстро можно открыть магазин этим способом;

· Как правило, в SaaS сервисыуже интегрированы все современные способы оплаты и часто даже способы доставки. Здесь не нужно заботиться о том, что нужно прикрепить к магазину, например, прием оплаты через robokassa или через payOnline системы. Достаточно в настройках указать способы оплаты и по каждому способу нужно вписать свои данные от каждой платежной системы. Это гораздо упрощает весь процесс создания интернет-магазина;

· Сервис выполняет автоматическое резервное копирование и предоставляет, как правило, безлимитные ресурсы (безлимитный трафик, безлимитное дисковое пространство);

· Так как это платный сервис, он предусматривает наличие технической поддержки, в которую можно обратиться с вопросами по разработке магазина. Она включена в ежемесячную абонентскую плату;

· Наличие готовых шаблонов. В большинстве таких сервисов можно сразу выбрать из большого количества тот, который подходит, причем здесь они уже все проверенные и можно быть уверенным в том, что в нем не будет каких-то уязвимостей, каких-то встроенных эксплойтов, через которые потом магазин могут взломать. Часть из них бесплатная, часть платная. Также, если есть определенные технические знания, можно встроить любой другой дизайн;

· Наличие готовых приложений. Как правило, к таким сервисам привлекаются сторонние разработчики, чтобы для этих сервисов писались приложения. Самый простой пример, этой интеграции с «1С». Есть довольно популярные системы «1С:предприятие», «1С:торговля», и часто в SaaS сервисах есть интеграция с такими системами через специальные приложения. Как правило, эти приложения тоже платные. Нужно каждый месяц платить за их использование определённую сумму. Взамен, происходит интеграция между «1С» системой этого предприятия и его интернет-магазином, чтобы все данные синхронизировались. Таких интеграций очень много, например, с разными почтовыми системами. Приложений, которые позволяют расширить функционал этого сервиса, довольно много. Если изначально чего-то не хватает, то можно за счет внешнего приложения расширить;

· Быстрая работа сервиса. Сервис оптимизирован таким образом, что все работает быстро даже при большом количестве посетителей. Это происходит благодаря использованию определенных технологий, в том числе SDN;

· Также стоит отметить безопасность, потому что система закрытая и злоумышленник не знает, как она устроена, поэтому емусложно её взломать.

Недостатками данного подхода являются следующие:

· Привязка к конкретному сервису. Если мы создаём магазин в определённом сервисе, то его уже будет трудно перенести на другой сервис, поэтому мы должны максимально доверять выбранной площадке. Нужно выбирать проверенные системы, которые уже давно на рынке, у которых много клиентов, потому что мы будем зависеть от них;

· Также стоит отметить наличие недостатков конкретного сервиса, потому что таких сервисов сейчас много. У каждого из них есть свои какие-то мелкие и крупные недостатки. Именно эти недостатки придется принять при выборе конкретного SaaS сервиса.

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

Каждый из этих вариантов имеет место быть. Нельзя сказать, что вот этот самый лучший, а этот самый худший. Для каждого отдельного случая подойдет свой вариант.

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

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

2. ПРОЕКТИРОВАНИЕ САЙТА

2.1 Выделение структурных элементов

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

Структура web-сайта изображена на рисунке 1.1.

Рисунок 1.1 - Структура web-сайта фирмы

2.2 Создание макета web-сайта

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

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

Рисунок 2.1 - Макет web-сайта для фирмы

2.3 Выбор средств разработки

Для разработки любого сайта потребуется HTML - язык разметки гипертекста (HypertextMarkupLanguage). На этом языке браузеру сообщается, что и в каком виде отображать на странице. Это может быть какой-либо текст, картинки, таблицы, формы и какие-нибудь другие элементы.

Хорошей практикой является применение CascadingStyleSheets - каскадные таблицы стилей - формальный язык описания внешнего вида документа, написанного с использованием языка разметки. Они позволяют значительно сократить трафик сети, потому что сохраняются в кеш браузера при первой загрузке сайта, а при последующих - достаются из него.

Для динамического формирования содержимого HTML - документа применятся языки, описанные ниже.

Для создания скриптов, работающих на стороне сервера, используется язык PHP. Он способен обрабатывать данные HTML-форм, динамически генерироватьHTML-страницы и тому подобное. У PHP есть множество встроенных функций, позволяющих работать различными веб-серверами (HTTP сервер), серверами баз данных и файловой системой сервера.

Также для создания интерактивных страниц сайтов в браузере был разработан объектно-ориентированный язык программирования JavaScript. Приложения, написанные на этом языке, могут выполняться как на стороне клиента, так и на стороне сервера. Основными областями применения являются: динамическое создание HTML-документа с помощью сценария, проверка на клиенте правильности заполняемых пользователем полей форм HTML-документа до передачи их на сервер, создание динамических HTML-страниц с динамическими стилями.

Поскольку сайт будет не одностраничным, а на нем требуется некоторая функциональность (ведение рубрикатора, добавление статей, работа с товарами и тому подобное), поэтому мне потребуется система управления содержимым (CMS).

В 2017 году «Рейтинг Рунета» объявил рейтинг самых популярных CMS. Он изображен на рисунке 2.3.1. Он учитывал тематический индекс цитирования и посещаемость ресурсов, созданных с помощью разных систем управления контентом. Среди бесплатных CMS победителем был «WordPress» и это можно объяснить следующими его преимуществами:

· Интерфейс админ-панели рассчитан на рядового пользователя;

· Отличная SEO оптимизация;

· Множество бесплатных плагинов и шаблонов с открытым кодом;

· Частое обновление, устранение уязвимостей;

· Большое количество информации в Сети по работе с WordPress;

· Управление блогом откуда угодно - наличие официальных программ WordPress на системах Android, iOs, и других.

Рисунок 2.3.1. - Рейтинг самых популярных CMS в 2017 году по данным «Рейтинг Рунета».

Рейтинг систем управления сайтом (CMS -- ContentManagementSystem, движок для сайта) строится на основе данных, которые собирает аналитический портал рынка веб-разработок «CMS Magazine». Эти данные через личный кабинет вносят веб-студии. Формируются рейтинги коробочных коммерческих CMS, opensource CMS, студийных CMS.

Ттематический индекс цитированиярассчитывается поисковой системой «Яндекс» и определяет «авторитетность» сайтов с учетом качественной характеристики ссылок на них с других сайтов, при этом особое значение придаётся тематической близости ресурса и ссылающихся на него сайтов.

Свободные (open-source) CMS -- это программное обеспечение, отвечающее следующим условиям: программу можно свободно использовать с любой целью; доступность исходного текста программы; можно свободно распространять копии программы; программу можно свободно улучшать и публиковать свою улучшенную версию.

2.3.1 Выбор CMS

Произведём сравнение трех самых распространенных бесплатно распространяемых CMS, которые были определены в предыдущем пункте.