Разработка и внедрение коммерческого сайта ООО "Маркопул Поволжье"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 07.08.2018
Размер файла 4,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

int(5)

2.

order_id

Идентификатор заказа

int(5)

3.

product_id

Идентификатор товара

int(5)

В таблице «Categories», которая находится в таблице 2.6, хранится информация о категориях товаров, представленных ООО «Маркопул Поволжье».

Таблица 2.6 - Таблица «Categories»

Атрибут

Семантика

Тип

1.

id

Уникальный идентификатор

int(5)

2.

name

Название категории

varchar(255)

3.

parent_id

Идентификатор родительской категории

int(5)

В таблице «Materials», которая находится в таблице 2.7, хранятся статьи сайта: новости, о доставке, об оплате, контакты, страница «О нас». Имеется внешний ключ editor, который хранит идентификатор менеджера, который последним редактировал материал.

Таблица 2.7 - Таблица «Materials»

Атрибут

Семантика

Тип

1.

id

Уникальный идентификатор

int(5)

2.

title

Заголовок материала

varchar(255)

3.

name

Наименование товара

varchar(255)

4.

system_title

Системный заголовок

varchar(255)

5.

content

Содержимое материала

text

6.

editor

Идентификатор менеджера, который

последним редактировал материал

int(5)

7.

edit_date

Дата последнего редактирования материала

date

Таким образом, неполная концептуальная модель базы данных коммерческого сайта ООО «Маркопул Поволжье» будет выглядеть как показано на рис 2.7.

Рис. 2.7 - Концептуальная модель базы данных коммерческого сайта ООО «Маркопул Поволжье»

Таким образом, была спроектирована концептуальная модель базы данных коммерческого сайта ООО «Маркопул Поволжье». Далее можно приступать к непосредственной разработке и внедрению базы данных и страниц коммерческого сайта ООО «Маркопул Поволжье».

3. Разработка коммерческого сайта ООО «Маркопул Поволжье»

3.1 Разработка базы данных коммерческого сайта ООО «Маркопул Поволжье»

По требованию заказчика в лице директора ООО «Маркопул Поволжье» был зарегистрирован новый домен первого уровня, через сайт www.reg.ru и его представительство www.idm.ru. Требование заказчика совершенно обоснованно, так как домены первого уровня не содержат дополнительной рекламы, а также имеют хорошие шансы на дальнейшее SEO продвижение и индексируются поисковыми роботами в порядке первой очереди. Все финансовые затраты на коммерческий домен и выбранный хостинг несет фирма ООО «Маркопул Поволжье». Домен был выбран с привязкой к названию фирмы и привязкой к городу базирования головного офиса - www.markopul-samara.ru.

При создании коммерческого сайта ООО «Маркопул Поволжье» одним из важных вопросов являлся выбор хостинга. Хостинг - это место (удаленный компьютер) для размещения сайта в Интернете. Надежный, качественный и недорогой хостинг, не требуя от пользователя значительных средств, гарантирует полноценную защиту сайта, круглосуточный доступ к нему и превосходный сервис с широким перечнем услуг.

Хостинг сайтов бывает платным и бесплатным. Для коммерческих компаний, платный хостинг просто необходим. Его преимущества очевидны, а цена варьируется в зависимости от потребностей пользователя. Бесплатный хостинг наоборот, характеризуется достаточно узкими возможностями и небольшим объемом места на диске, поэтому его использование для крупных проектов нецелесообразно.

Используя платный хостинг сайтов, компания может легко создать гостевую книгу, форум или чат, управлять почтовой рассылкой и выполнять многие другие действия. Даже выбор недорогого хостинга даст возможность работать с динамичными данными и использовать инструменты Web-программирования. Благодаря этим возможностям сайт будет более интересным и позволит принимать участие в его развитии сторонним пользователям.

Платный хостинг дает и другие преимущества. Большой объем дискового пространства, и высокая производительность сервера позволяют работать с базами данных, осуществлять FTP и SSH доступ, использовать CMS для более удобного управления. Можно получить гибкие возможности для создания обычной и мобильной версий сайта, надежную систему безопасности, которая обеспечит его защиту от вирусов и хакерских атак.

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

Также очень важно какой набор услуг предоставляется хостингами. По требованию заказчика в лице директора ООО «Маркопул Поволжье» был выбран платный хостинг с самыми современными технологиями последних версий - www.spr.ru.

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

Программное обеспечение необходимое в дальнейшей разработке коммерческого сайта ООО «Маркопул Поволжье»:

MyPhpAdmin, предоставляется хостингом;

Notepad ++, бесплатное программное обеспечение;

Adobe Photoshop лицензионное программное обеспечение, предоставляется компанией заказчиком ООО «Маркопул Поволжье»;

Album Animator, предоставляется хостингом;

Flash Gifer, предоставляется хостингом.

Ранее мы создали концептуальную модель базы данных коммерческого сайта для ООО «Маркопул Поволжье». Пришло время реализовать ее в СУБД MySQL.

Заходим в админ панель хостинга как показано на рис 3.1.

Рис. 3.1 - Вход в админ панель хостинга

Создаем базу данных коммерческого сайта для ООО «Маркопул Поволжье» как показано на рис 3.2.

Рис. 3.2 - Создаем базу данных

Входим в базу данных коммерческого сайта для ООО «Маркопул Поволжье» при помощи MyPhpAdmin как показано на рис 3.3.

Рис. 3.3 - База в MyPhpAdmin

Таким образом была создана база данных коммерческого сайта для ООО «Маркопул Поволжье», которую мы назвали по имени логина на хостинге - a0107940_base. Если бы, был выбран другой хостинг без столь современной админ-панели, тогда бы пришлось использовать команды SQL. Для этого в SQL существует оператор create database. Создание базы данных имеет следующий синтаксис:

create database имя_базы_данных.

Максимальная длина имени базы даннных составляет 64 знака и может включать буквы, цифры, символ "_" и символ "$". Имя может начинаться с цифры, но не должно полностью состоять из цифр. Любой запрос к БД заканчивается точкой с запятой (этот символ называется разделителем - delimiter). Получив запрос, сервер выполняет его и в случае успеха выдает сообщение "Query OK ...".

Теперь в этой базе данных нам надо создать семь таблиц, в соответствии с концептуальной моделью на начальном этапе: пользователи, покупки, категории, материалы и сообщения и т.д. Но перед тем, как это делать, нам надо указать серверу в какую именно базу данных мы создаем таблицы, т.е. надо выбрать БД для работы. Для этого используется оператор use или используем MyPhpAdmin. Синтаксис выбора базы данных для работы следующий:

use имя_базы_данных;

Выбирать базу данных необходимо в каждом сеансе работы с MySQL.

Для создания таблиц в SQL существует оператор create table. Создание базы данных имеет следующий синтаксис:

create table имя_таблицы (имя_первого_столбца тип, имя_второго_столбца тип, ..., имя_последнего_столбца тип);

Требования к именам таблиц и столбцов такие же, как и для имен базы данных. К каждому столбцу привязан определенный тип данных, который ограничивает характер информации, которую можно хранить в столбце (например, предотвращает ввод букв в числовое поле). MySQL поддерживает несколько типов данных: числовые, строковые, календарные и специальный тип NULL, обозначающий отсутствие информации. В них у нас всего два типа данных - целочисленные значения (int) и строки (text). Итак, создадим первую таблицу - Итак, мы создали таблицу users (темы) с тремя столбцами:

id_users int - id (целочисленное значение),

users_name text - имя темы (строка),

id_author int - id автора (целочисленное значение).

Аналогичным образом создадим оставшиеся две таблицы - categories (категории) и posts (сообщения) и т.д.

Итак, мы создали базу данных a0107940_base и в ней семь первых таблиц. Сейчас мы об этом помним, но если наша БД будет очень большой, то удержать в голове названия всех таблиц и столбцов просто невозможно. Поэтому надо иметь возможность посмотреть, какие базы данных у нас существуют, какие таблицы в них присутствуют, и какие столбцы эти таблицы содержат. Для этого в SQL существует несколько операторов:

show databases - показать все имеющиеся базы данных;

show tables - показать список таблиц текущей базы данных (предварительно ее надо выбрать с помощью оператора use);

describe имя_таблицы - показать описание столбцов указанной таблицы.

Остальные таблицы в соответствие с концептуальной моделью базы данных коммерческого сайта для ООО «Маркопул Поволжье» создаем аналогично.

Итак, в нашей базе данных a0107940_base есть семь первичных таблиц: users (пользователи), posts (сообщения) и т.д. И мы хотим посмотреть, какие данные в них содержатся. Для этого в SQL существует оператор SELECT. Синтаксис его использования следующий:

SELECT user1 FROM users;

Там находятся данные, которые мы вносили в эту таблицу. Посмотрим только столбец id_user, для этого в запросе мы укажем имя этого столбца: SELECT id_user FROM users;

Ну, а если посмотреть, имена и e-mail наших пользователей, то мы перечислим интересующие столбцы через запятую: SELECT name, email FROM users;

Аналогично, можно посмотреть, какие данные содержат и другие наши таблицы. Надо чтобы они выводились, по алфавиту. Для этого в SQL существует ключевое слово ORDER BY после которого указывается имя столбца по которому будет происходить сортировка. Синтаксис следующий:

SELECT имя_столбца FROM имя_таблицы ORDER BY имя_столбца_сортировки;

По умолчанию сортировка идет по возрастанию, но это можно изменить, добавив ключевое слово DESC. Теперь наши данные отсортированы в порядке по убыванию. Сортировку можно производить сразу по нескольким столбцам.

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

В SQL предусмотрена возможность объединять такие запросы в один путем превращения одного из них в подзапрос (вложенный запрос). Итак, чтобы узнать, кто создал положил товар "бассейн", мы сделаем вложенный запрос. То есть, после ключевого слова WHERE, в условие мы записываем еще один запрос. MySQL сначала обрабатывает подзапрос, возвращает id_author=2, и это значение передается в предложение WHERE внешнего запроса. В одном запросе может быть несколько подзапросов, синтаксис у такого запроса следующий:

SELECT имя_столбца FROM имя_таблицы WHERE часть условия IN

(SELECT имя_столбца FROM имя_таблицы WHERE часть условия IN

(SELECT имя_столбца FROM имя_таблицы WHERE условие)

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

Аналогично создаем запросы к таблицам в базе данных согласно разработанной ранее концептуальной модели базы данных коммерческого сайта, для ООО «Маркопул Поволжье».

Таким образом была разработана и размещена на выбранном хостинге база данных коммерческого сайта для ООО «Маркопул Поволжье». Далее можно приступать к соединению базы данных с разрабатываемыми страницами коммерческого сайта для ООО «Маркопул Поволжье».

3.2 Разработка и тестирование коммерческого сайта ООО «Маркопул Поволжье»

Далее согласно ранее разработанной архитектуре коммерческого сайта для ООО «Маркопул Поволжье» и для соединения с разработанной базой данных создаем страницы при помощи PHP скриптов.

Согласно архитектуре, реализованы следующие компоненты файлы и скрипты как показано на рис 3.4: модели, контроллеры и представления.

Рис. 3.4 - Диаграмма компонентов

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

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

Описание всех реализованных функций для интерфейса клиента приведено в таблице 3.1.

Таблица 3.1 - Описание функций интерфейса клиента

Файл-контроллер main

Название

Семантика

index

Функция, загружаемая по умолчанию. Выводит название категорий и каталог товаров.

materials

Выводит материалы сайта (новости, контакты, о доставке и пр.)

category

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

product

Выводит страницу с отдельным товаром.

price

Выводит страницу со сгенерированным прайс-листом.

search

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

user

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

cart

Выводит страницу с корзиной товаров пользователя

checkout

Выводит страницу оформления заказа

Модель catalog_model

get_categories

Возвращает в контроллер массив с категориями товаров.

Модель material_model

get_materials

Принимает системное имя материала и возвращает в контроллер массив с информацией о материале.

Модель products_model

get_all_products

Возвращает в контроллер все товары из базы данных.

get_products_of_cat-egory

Принимает id категории товаров и возвращает в контроллер все товары этой категории.

get_one_product

Принимает id товара и возвращает в контроллер массив с данными о нем.

Модель search_model

search_products

Принимает поисковый запрос и возвращает массив с данными о соответствующих поисковому запросу товарах.

Модель user_model

login

Авторизация пользователя и запись данных в сессию.

logout

Удаление данных сессии пользователя.

new

Регистрация нового клиента.

info

Вывод клиентом собственной регистрационной информации.

Модель cart_model

create

Создание корзины пользователя и запись данных в сессию.

add

Добавление товара в корзину.

delete

Удаление товара из корзины.

сheckout_order

Запрос на подтверждение и оформление заказа.

Кроме описанных функций, в ряде моделей описаны атрибуты классов, передаваемые в контроллер по запросу. В модели user_model описан массив registration_rules, хранящий данные валидации формы регистрации. В модели feedback_model описан массив feedback_rules, хранящий данные валидации формы обратной связи. В модели cart_model хранится массив cart_rules с данными валидации формы оформления заказа.

Описание функций интерфейса менеджера, отличных от функций клиентского интерфейса, приведено в таблице 3.2.

Таблица 3.2 - Описание функций интерфейса менеджера

Файл-контроллер main

Название

Семантика

index

Функция, загружаемая по умолчанию. Выводит приветствие и последние изменения (заказы, новые клиенты, запросы из формы обратной связи)

materials

Выводит список материалов сайта

category

Выводит список категорий товаров сайта

products

Выводит список товаров сайта

user

Выводит список зарегистрированных пользователей

Модель catalog_model

get_categories

Возвращает массив со списком категорий товаров.

add_categoty

Добавление категории

delete_category

Принимает в качестве параметра id категории и удаляет ее из базы данных.

edit_category

Принимает в качестве параметра id категории, а также массив с новыми данными категории и вносит изменения в базу данных.

Модель material_model

get_materials

Возвращает список материалов сайта

edit_materials

Принимает системное имя материала (system_title), а также массив с новыми данными материала и вносит изменения в базу данных.

Модель products_model

get_all_products

Возвращает все товары из базы данных.

add_product

Добавление товара

delete_product

Принимает в качестве параметра id товара и удаляет его из базы данных.

edit_product

Принимает в качестве параметра id товара, а также массив с новыми данными товара и вносит изменения в базу данных.

Модель user_model

get_users

Возвращает массив со списком пользователей и информацией о них

get_feedbacks

Возвращает массив со списком сообщений обратной связи

get_orders

Возвращает массив со списком заказов всех пользователей

Поиск товаров по названию реализован в скрипте модели search_model, в функции search_products с помощью SQL-запроса как показано на рис 3.5.

Рис. 3.5 - Реализация поиска

$search_query - это введенная в поисковой форме пользователем строка, которая передается методом POST в контроллер. Далее, эта переменная передается в виде параметра в функцию search_products. Строка является параметром запроса для организации полнотекстового поиска по базе данных коммерческого сайта для ООО «Маркопул Поволжье». В переменной $sql помещается SQL-запрос поиска по полю name таблицы Products. Затем, с помощью функции query стандартного класса database, встроенного в PHP, SQL-запрос отправляется в базу данных. Результат возвращается в виде массива.

Вывод товаров реализован в модели products_model, в функции get_products_of_category. Исходный код функции частично представлен в приложении.

Описание функции. В качестве параметра функция принимает id выбранной категории. На основании этого id из базы данных запрашивается информация о категории, в частности id родительской категории. Если id родительской категории не равен 0, то выбранная категория является категорией второго уровня, и мы просто выводим все ее товары. Иначе, выбранная категория является категорией первого уровня. В этом случае мы записываем в массив товары из главной категории, если таковые есть, затем находим все категории второго уровня, принадлежащие к этой категории, и добавляем к массиву с товарами главной категории товары подкатегорий.

В этой модели также использованы функции стандартного класса database функций языка PHP. Класс database позволяет использовать шаблон ARecord, который содержит полный набор функций для работы с данными. Например функция where(), которая нужна для выборки из базы данных аналогично SQL запросу с оператором WHERE, а также функция get(), которая позволяет делать собственно выборку из БД.

Обратная связь реализована в контроллере main. Частично исходный код функции представлен в приложении.

Описание функции. Сначала контроллер загружает библиотеку captcha_lib, которая служит для создания визуального элемента подтверждения действий пользователя. Далее, если не нажата кнопка «отправить», контроллер просто загружает файлы-модели и виды для данной страницы. Иначе загружаются правила валидации формы из модели feedback_model и проходит проверка формы. Если форма не прошла валидацию, контроллер снова загружает виды и модели страницы, но уже с выводом сообщений об ошибках при вводе в поля формы. Если форма прошла валидацию, тогда сравниваем введенное пользователем значение с кодом Captcha. В случае несовпадения, снова загружается страница, но с сообщением об ошибке. Иначе происходит отправка запроса пользователя на электронный адрес, который хранится в переменной $address. Сообщение отправляется в виде обычного текста.

При реализации формы были использованы стандартные функций языка PHP, а именно:

функция form_validation - валидация формы в соответствии с уста- новленными в модели feedback_model правилами;

helper captcha - стандартный помощник (заранее реализованная функция) для создания визуального кода Captcha;

библиотека typography для форматирования текста.

Коммерческий сайт для ООО «Маркопул Поволжье» был реализован на основе функций языка PHP в соответствии с разработанной архитектурой. Данные хранятся в таблицах СУБД MySQL. Реализация функциональности системы по выборке, добавлению, удалению и изменению данных осуществлена с помощью SQL-запросов и стандартных функций языка PHP.

Далее проведем функциональное тестирование. Функциональное тестирование - это тестирование программного обеспечения в целях проверки реализуемости функциональных требований, то есть способности программного обеспечения в определенных условиях решать задачи, нужные пользователям [18]. Функциональные требования определяют, что именно делает программное обеспечение, какие задачи оно решает. Также с помощью функционального тестирования проверим работоспособность ссылок.

Тест № 1. Переход по ссылкам меню.

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

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

Полученный результат: пользователь без затруднений смог найти каталог товаров, информацию о товаре, а также материал «Контакты» как показано на рис 3.6.

Рис. 3.6 - «Контакты»

Тест успешно пройден.

Тест № 2. Поиск товара.

Входные данные: пользователь пробует воспользоваться поиском, вводит составной запрос «Бассейн», который является частью названия одновременно нескольких товаров.

Ожидаемый результат: на странице отображения результатов поиска выводятся товары, в названии которых присутствует «Бассейн».

Полученный результат: полученный результат совпадал с ожидаемым как показано на рис 3.7.

Рис. 3.7 - Результаты поиска товара, в названии которого присутствует «Бассейн»

Тест успешно пройден.

Тест № 3. Тестирование формы обратной связи.

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

Ожидаемый результат: сообщение в исходном виде должно поступить на электронный адрес менеджера.

Полученный результат: полученный результат совпал с ожидаемым. Тест успешно пройден.

Тест № 4. Тестирование регистрации и авторизации пользователя.

Входные данные: на странице регистрации пользователь заполняет все поля формы регистрации в соответствии с подсказками и нажимает кнопку «зарегистрироваться».

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

Полученный результат: полученный результат совпал с ожидаемым. Тест успешно пройден.

Тест № 5.Добавление товара в корзину.

Входные данные: авторизованный пользователь нажимает на кнопку «добавить в корзину», расположенную возле произвольно выбранного товара.

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

Полученный результат: полученный результат совпал с ожидаемым как показано на рис 3.8.

Рис. 3.8 - Товар в корзине

Тест успешно пройден.

Тест № 6. Оформление заказа.

Входные данные: авторизованный пользователь, у которого в корзине присутствует хотя бы один товар, нажимает кнопку «оформить заказ».

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

Полученный результат: полученный результат совпал с ожидаемым.

Тест успешно пройден.

В ходе функционального тестирования ошибок не обнаружено.

Юзабилити-тестирование. Юзабилити-тест (тест на эргономичность) - метод оценки удобства продукта в использовании, основанный на привлечении пользователей в качестве тестеров, испытателей и суммировании полученных от них выводов [22].

При прохождении данного теста тестерами (в роли тестеров выступали представители заказчика ООО «Маркопул Поволжье») было предложено решить следующие задачи:

найти конкретный товар в каталоге;

найти конкретный товар с помощью формы поиска;

найти информацию о доставке;

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

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

Тест пройден успешно.

Кроме того, было проведено тестирование интерфейса пользователя. Интерфейс был протестирован в браузерах: Google Chrome, Mozilla Firefox, Internet Explorer, Opera, Safari. Проблем с версткой не обнаружено. Интерфейс пользователя в разных браузерах идентичен. Результаты тестирования совпали в ожидаемыми. Тест пройден успешно.

Тестирование безопасности

Тестирование безопасности - это оценка уязвимостей программного обеспечения [28]. На уровне СУБД безопасность обеспечивается ограничением доступа к БД.

На уровне PHP безопасность обеспечивается такими средствами, как:

ограничение доступного функционала для разных групп пользователей (не авторизованные, авторизованные, администраторы). Реализуется самостоятельно, с помощью функций модели user;

хранение и передача паролей пользователей осуществляются в зашифрованном виде;

валидация форм и Captcha. Реализуется встроенными средствами PHP, такими как помощник Captcha, функция form_validation.

На программном уровне при заполнении формы используются правила валидации, реализованные самостоятельно в моделях feedback_model, users_model, cart_model. Данные средства являются основными при обеспечении безопасности и позволяют защитить приложение от xss-атак, несанкционированного доступа к информации на сайте и функциональности.

С использованием этих средств обеспечивается безопасности исполнения следующих действий пользователя:

авторизация. Выполняется проверка отсутствия xss-скриптов, проверка верности введенных данных, проверка уровня доступа менеджера или клиента;

отправка формы обратной связи. Выполняется проверка отсутствия xss-скриптов, проверка верности введенных данных, а также защита от спама с помощью Captcha;

оформление товара. На данном этапе уже пройдена проверка уровня доступа, поэтому реализована только проверка отсутствия xss-скриптов.

Тестирование безопасности включало в себя проверку работоспособности приложения в нештатных ситуациях.

Входные данные: пользователь вводит неверные учетные данные при входе на сайт.

Ожидаемый результат: система не позволит пользователю авторизоваться. Будет выдано сообщение об ошибке.

Полученный результат: полученный результат совпал с ожидаемым. Тест успешно пройден

Входные данные: пользователь заполняет форму регистрации или обратной связи и в поле Captсha вводит неверные данные.

Ожидаемый результат: система не отправит данные. Будет выдано сообщение об ошибке.

Полученный результат: полученный результат совпал с ожидаемым. Тест успешно пройден.

Таким образом, функциональное тестирование приложения, юзабилити-тестирования и тестирование безопасности пройдено успешно.

На рис 3.9 отображена главная страница коммерческого сайта ООО «Маркопул Поволжье».

Рис. 3.9 - главная страница коммерческого сайта ООО «Маркопул Поволжье»

Таким образом бал разработан, размещен, связан с базой данных и протестирован коммерческий сайт ООО «Маркопул Поволжье».

Заключение

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

Целью данной выпускной квалификационной работы являлась разработка и внедрение коммерческого сайта ООО «Маркопул Поволжье».

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

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

В перспективе планируется реализовать следующие возможности:

онлайн-оплата с помощью банковских карт или электронных кошельков;

отслеживание активности пользователя, а именно: работа по недооформленным заказам, адаптация вывода рекламных материалов к предпочтениям пользователя;

доработка поиска: создание формы расширенного поиска, пошаговое ведение пользователя с помощью подсказок, реализация «живого» по- иска;

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

Коммерческий сайт для ООО «Маркопул Поволжье» разработан и внедрен по адресу www.markopul-samara.ru, о чем свидетельствует акт о внедрении от фирмы.

Список использованных источников

1. Darie, C. Beginning PHP and MySQL E-Commerce from novice to professional. 2nd ed. [Текст] / C. Darie, E. Balanescu - NY: Apress, 2008. - 737 с.

2. Myer, T. Professional CodeIgniter. [Текст] / T. Myer, - USA: Wiley Publishing, Inc., 2008. - 339 с.

3. Бикнер, К. Экономичный веб-дизайн. [Текст] / К. Бикнер, - СПб: «БХВ-Петербург», 2015. - 248 с.

4. Дари, К. PHP и MySQL. Создание интернет-магазина. [Текст] / К. Дари, Э. Баланеску - М.: Издательский дом «Вильямс», 2010. - 640 с.

5. Григорьев, Ю.А. Банки данных: Учеб. для вузов. [Текст] / Ю.А. Григорьев, Г.И. Ревунков - М.: Изд-во МГТУ им. Н.Э. Баумана, 2012

6. Постников, В.М. Методы принятия решений в системах организационного управления: учеб. пособие [Текст] / В.М. Постников, В.М. Черненький - М.: Издательство МГТУ им. Н.Э.Баумана, 2014. - 205 с.

7. Алексунин, В.А. Электронная коммерция и маркетинг в Интернете [Текст] / В. А. Алексунин, В.В. Родигина. - Изд.: Дашков и Ко, 2009. - 216 с.

8. Реклама и маркетинг в Интернете [Текст] / Т. Кеглер, П. Доулин, Б. Тейлор, Д. Тестерман. - Изд.: Альпина Паблишер, 2013. - 640 с.

9. Матросов, А.В. Самоучитель Perl [Текст] / А.В. Матросов, М.П. Чаунин. - Изд.: BHV, 2013. - 216 с.

10. Кристиансен, Т. Perl. Сборник рецептов. Для профессионалов [Текст] / Т. Кристиансен, Н. Торкингтон. - Изд.: Питер, Санкт-Петербург, 2014. - 928 с.

11. Соколов, В. JavaScript в примерах, типовых решениях и задачах [Текст] / В. Соколов, С. Соколов. - Изд.: Вильямс, 2009. - 592 с.

12. Васильева, Ю. Направления развития интернет-сайта [Электронный ресурс]. - Режим доступа: http://EuroWeb.Ru. свободный - Загл. с экрана.

13. Холмогоров, В. Интернет-маркетинг [Текст] / В. Холмогоров. М: изд. Дом «Питер», 2006 г.

14. Стотлемайер, Д. Тестирование Web-приложений. [Текст] / Д. Стотлемайер, - М.: «КУДИЦ- образ», 2003. - 240 с.

15. Ташков, П. Веб-мастеринг на 100%: HTML, CSS, JavaScript, PHP, CMS, AJAX, графика, раскрутка. [Текст] / П. Ташков, - СПб: «Питер», 2010. - 512 с.

16. Фаулер, М. Шаблоны корпоративных приложений. [Текст] / М. Фаулер,- М.: Изда- тельский дом «Вильямс», 2012. - 544 с

17. Котеров, Д. PHP 5. Наиболее полное руководство в подлиннике. 2-е издание. [Текст] / Д. Котеров, А. Костарев - СПб.: БХВ Петербург: БХВ, 2008. - 1107 с.

18. Майерс, Г. Искусство тестирования программ. Пер. с англ. [Текст] / Г. Майерс, Т. Баджетт- М.: Издательский дом «Вильямс», 2012. - 272 с.

19. Макнейл, П. Веб-дизайн. Книга идей веб-разработчика. [Текст] / П. Макнейл, - СПб.: «Питер», 2014. - 288 с.

20. Натан, А. WPF 4. Подробное руководство. [Текст] / А. Натан, - СПб.: «Символ- Плюс», 2011. - 880 с.

21. Бокарев, Т. Энциклопедия интернет-рекламы [Электронный ресурс]. - Режим доступа: http\\:www.promo.ru. свободный - Загл. с экрана.

22. Видеокурсы по PHP и MySQL [Электронный ресурс]. - Режим доступа: https://teamtreehouse.com/home. свободный - Загл. с экрана.

23. Электронный справочник по PHP [Электронный ресурс]. - Режим доступа: http://php.net. свободный - Загл. с экрана.

24. Электронный справочник по MySQL [Электронный ресурс]. - Режим доступа: https://dev.mysql.com/doc/refman/5.6/en/index.html. свободный - Загл. с экрана.

25. Документация CakePHP. [Электронный ресурс]. - Режим доступа: http://book.cakephp.org/2.0/ru/index.html. свободный - Загл. с экрана.

26. Документация CodeIgniter. [Электронный ресурс]. - Режим доступа: http://ellislab.com/codeigniter/user-guide/. свободный - Загл. с экрана.

27. Документация Kohana. [Электронный ресурс]. - Режим доступа: http://kohanaframework.org/documentation. свободный - Загл. с экрана.

28. Документация Symphony. [Электронный ресурс]. - Режим доступа: http://symfony.com/doc/current/index.html. - Загл. с экрана.

29. Документация Yii. [Электронный ресурс]. - Режим доступа: http://www.yiiframework.com/doc/. свободный - Загл. с экрана.

30. Документация Zend Framework. [Электронный ресурс]. - Режим доступа: http://framework.zend.com/learn/. свободный - Загл. с экрана.

31. Интернет-магазин Archiduchesse. [Электронный ресурс]. - Режим доступа: http://archiduchesse.com. свободный - Загл. с экрана.

32. Интернет-магазин Bonlook. [Электронный ресурс]. - Режим доступа: http://bonlook.com. свободный - Загл. с экрана.

33. Интернет-магазин Coucoushop. [Электронный ресурс]. - Режим доступа: http://www.coucoushop.ch/. - Загл. с экрана.

34. Интернет-магазин Jenierteas. [Электронный ресурс]. - Режим доступа: http://jenierteas.com. свободный - Загл. с экрана.

35. Интернет-магазин madein. [Электронный ресурс]. - Режим доступа: http://madein33.com. свободный - Загл. с экрана.

36. Классификация шаблонов проектирования Мартина Фаулера. [Электронный ресурс]. - Режим доступа: http://martinfowler.com/ eaaCatalog/index.html. свободный - Загл. с экрана.

37. Описание MVC и его производных. [Электронный ресурс]. - Режим доступа: http://www.pvsm.ru/shpargalka/14840. свободный - Загл. с экрана.

38. Сайт компании BBC. [Электронный ресурс]. - Режим доступа: http://bbc.co.uk. свободный - Загл. с экрана.

39. Сайт компании BNP Paribas. [Электронный ресурс]. - Режим доступа: http://bnpparibas.com. свободный - Загл. с экрана.

40. Сайт компании Shaklee. [Электронный ресурс]. - Режим доступа: http://shaklee.com. свободный - Загл. с экрана.

41. Сравнение CMF и CMS. [Электронный ресурс]. - Режим доступа: http://forma- pro.com/cms-vs-framework. свободный - Загл. с экрана.

42. Сравнение популярных php-фреймворков. [Электронный ресурс]. - Режим доступа: http://rmcreative.ru/playground/php-frameworks/. свободный - Загл. с экрана.

43. Статистика использования PHP на веб-сайтах. [Электронный ре- сурс]. - Режим доступа: http://w3techs.com/technologies/details/pl-php/all/all. свободный - Загл. с экрана.

Приложение А

Скриншот главной страницы коммерческого сайта ООО «Маркопул Поволжье»

Приложение Б

Часть кода главной страницы коммерческого сайта ООО «Маркопул Поволжье»

Приложение В

Презентационный материал

Размещено на Allbest.ru

...

Подобные документы

  • Анализ предметной области. Характеристика информационной системы. Обоснование выбора среды разработки. Проектирование, разработка, тестирование и внедрение сайта образовательной организации. Содержания школьного сайта, его организационной структуры.

    дипломная работа [3,4 M], добавлен 15.02.2017

  • Актуальность создания фирменного web-сайта. Разработка, внедрение web-сайта под названием "Удачная постройка". Анализ существующих программных решений, выбор инструментальных средств разработки. Архитектура сайта, структура данных. Тестирование и отладка.

    дипломная работа [4,7 M], добавлен 19.01.2017

  • Анализ предметной области и функций сайта. Разработка структуры базы данных, структуры и дизайна web-сайта. Описание установки CMS "Joomla!" и программной оболочки Denwer, создание гостевой книги, галереи и карты Google, результаты их тестирования.

    дипломная работа [2,3 M], добавлен 19.01.2017

  • Анализ существующих сайтов образовательный учреждений учебных сайтов Астраханской области. Обзор среды реализации разработки веб-сайта. Требования к официальным сайтам образовательных учреждений. Разработка логической структуры веб-сайта колледжа.

    дипломная работа [6,1 M], добавлен 10.06.2014

  • Анализ сайтов для обучения иностранным языкам в сети Интернет и методик их изучения. Разработка сайта Foreign Dimension для обучения английскому языку. Структура сайта, разработка упражнений, базы данных, интерфейса. Тестирование основных элементов сайта.

    дипломная работа [966,9 K], добавлен 19.01.2017

  • Основные технологии разработки ресурсов Интернет. Процесс разработки веб-сайта. Понятие Web-сайта и классификация Web-сайтов. Основные этапы разработки Web-сайта. Использование HTML, CSS, JavaScript, FLASH, PHP и реляционной базы данных MySQL.

    презентация [1,3 M], добавлен 28.11.2015

  • Обзор проблемы разработки сайтов. Системы управления контентом. Сайты для агентств недвижимости. Контекстная диаграмма и оценка трудоемкости разработки сайта. Анализ предметной области и выделение информационных объектов. Описание реализации сайта.

    дипломная работа [2,9 M], добавлен 12.08.2017

  • Суть выбора редактора для создания коммерческого сайта. Формирование интерфейса взаимодействия пользователя с системой. Изучение основных языков проектирования. Особенность тестирования программных средств. Анализ разработки сопроводительных документов.

    отчет по практике [2,4 M], добавлен 20.05.2017

  • Виды структур Web-сайтов: линейная, древовидная, решетчатая и произвольная. Структура и содержание сайта гостиничного комплекса "Воздвиженское", "Смоленск" и "Иртыш". Идеи сайта и целевая аудитория. Заполнение страниц информацией и тестирование сайта.

    курсовая работа [1,7 M], добавлен 25.04.2015

  • Основы моделирования и разработки Web-сайтов. Обзор и сравнительный анализ языков программирования. Фреймворки, используемые при создании сайта. Разработка графического дизайна, моделирование и создание Web-сайта, руководство по администрированию.

    курсовая работа [1,7 M], добавлен 07.11.2013

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

    дипломная работа [1,8 M], добавлен 09.07.2017

  • Описание логической структуры таблиц базы данных для разработки web-приложения с помощью технологий ado.net и asp.net. Система меню, программы и модули, используемые в работе сайта. Класс, выполняющий операции и связующий информацию сайта с базой данной.

    курсовая работа [104,5 K], добавлен 26.09.2012

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

    контрольная работа [310,6 K], добавлен 25.12.2012

  • Проектирование web-сайта. Пользовательские персонажи, детальная концепция сайта. Разработка скелетной схемы страниц, информационной архитектуры. Создание прототипа web-сайта. Выбор среды разработки. CMS системы и их анализ. Стадии проектирования сайта.

    курсовая работа [346,7 K], добавлен 18.09.2016

  • Анализ существующих сайтов данной сферы деятельности, сравнительный анализ существующих технологий их создания. Инструментарий для разработки сайта-визитки кафе "Family", программное обеспечение. Принцип работы, внутренняя структура и компоненты.

    курсовая работа [3,8 M], добавлен 21.06.2015

  • Разработка архитектуры сайта, структуры данных и необходимых программных модулей. Учет фирменного стиля компании при создании дизайна. Внедрение интерфейса административного редактирования сайта. Проведение экспериментального тестирования и отладки.

    дипломная работа [3,0 M], добавлен 19.01.2017

  • Анализ сетевых технологий в гостиничном деле. Официальные сайты компаний. Технологии при создании и поддержке сайтов. Разработка модели web-ресурса, шаблона, тестового примера. Основные этапы создания веб-сайта и презентации. Цены на разработку сайта.

    курсовая работа [3,6 M], добавлен 30.03.2014

  • Выявление целей создания сайта и постановка проблемы, решаемой с его созданием. Анализ сайтов–аналогов, обоснование типа разрабатываемого web–узла. Специфика разработки набора макетов страниц. Оптимизация контента сайта, его верстка и тестирование.

    курсовая работа [1,4 M], добавлен 12.02.2011

  • Разработка проектных решений по созданию автоматизированной системы управления "модератор сайта". Проектирование структуры базы данных. Выбор среды разработки. Описание программного средства. Разработка web-сайта на примере ЗАО Молкомбинат "Адыгейский".

    дипломная работа [1,8 M], добавлен 09.02.2013

  • Теоретические основы разработки web-сайта. Сбор и анализ данных для качественной реализации программного продукта. Разработка модели сайта магазина детских игрушек. Графическое оформление страниц. Выбор средств и технологий, тестирование и отладка.

    курсовая работа [349,2 K], добавлен 09.04.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.