Разработка и внедрение коммерческого сайта ООО "Маркопул Поволжье"
Анализ предметной области деятельности фирмы и технологий разработки коммерческих сайтов, существующих на данный момент. Проведение моделирования базы данных и проектирование структуры коммерческого сайта для предприятия. Разработка и тестирование сайта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 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