Пояснительная записка (1195819), страница 3
Текст из файла (страница 3)
– взаимодействие с большим количеством различных систем управления базами данных (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO);
– автоматизированная отправка HTTP-заголовков;
– работа с HTTP-авторизацией;
– работа с cookies и сессиями;
– работа с локальными и удалёнными файлами, сокетами;
– обработка файлов, загружаемых на сервер;
– работа с XForms.
В настоящее время PHP используется сотнями тысяч разработчиков. Согласно рейтингу корпорации TIOBE, базирующемся на данных поисковых систем, в мае 2016 года PHP находился на 6 месте среди языков программирования. К крупнейшим сайтам, использующим PHP, относятся Facebook, Wikipedia и др.
Входит в LAMP – распространённый набор программного обеспечения для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP).
Язык запросов SQL
SQL (англ. Structured Query Language – «язык структурированных запросов») – формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей [14].
SQL является прежде всего информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL можно назвать языком программирования, при этом он не является тьюринг-полным, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.
При всех своих изменениях SQL остаётся единственным механизмом связи между прикладным программным обеспечением и базой данных. В то же время современные СУБД, а также информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.
1.5.2 Инструментарии для разработки web-приложения
Для разработки сайта необходимо ознакомиться со следующими инструментами:
– Moqups;
– Редактор исходного кода;
– MySQL Workbench;
– Git;
– Codeception.
Сервис Moqups
Одним из самых главных этапов любой разработки является прототипирование и формирование механики работы нового продукта. Именно они во многом определяют внешний вид и основные функции сайта. Создать детальный макет интернет-магазина поможет онлайн-сервис Moqups. Интерфейс редактора представлен на рисунке 1.1 [15].
Рисунок 1.13 – Интерфейс редактора Moqups
Редактор исходного кода
Практически любой текстовый редактор поддерживает сохранение в форматах .html, .css, .php, .js, поэтому написать код сайта можно даже в стандартном блокноте Windows. Однако редакторы исходного кода имеют встроенные плагины, обеспечивающие удобное написание кода с лексической и синтаксической проверкой используемого языка, простым отслеживание фигурных скобок, автозаполнением слов, подсветкой синтаксиса и другими полезными инструментами.
Среди таких текстовых редакторов можно выделить следующие:
– Notepad++;
– RJ TextEd;
– Emacs;
– Atom.
Исходный код web-приложения будет написан в программе Atom, так как он был выбран как наиболее удобный и функциональный текстовый редактор [16]. На замену Atom в случае сбоя программы или по каким-либо другим причинам идеально подойдет Notepad++.
MySQL Workbench
MySQL Workbench – инструмент для визуального проектирования баз данных, интегрирующий проектирование, моделирование, создание и эксплуатацию БД в единое бесшовное окружение для системы баз данных MySQL [17]:
– возможность представить модель БД в графическом виде, а также редактирование данных в таблице;
– наличие простого и функционального механизма по созданию связей между полями таблиц, среди которых реализована связь «многие-ко-многим» с возможностью создания таблицы связей;
– функция Reverse Engineering позволяет восстанавливать структуру таблиц и связей из той, которая была реализована ранее и хранится на сервере БД;
– наличие редактора SQL-запросов, который дает возможность при отправке на сервер получать ответ в табличном виде и другие возможности.
MySQL Workbench выбран за его широкий функционал, в отличие от многих других систем для работы с базами данных в MySQL, что позволит создать оптимальную базу данных любых размеров.
Git
Git – распределённая система управления версиями. Система спроектирована как набор программ, специально разработанных с учётом их использования в скриптах. Это позволяет удобно создавать специализированные системы контроля версий на базе Git или пользовательские интерфейсы. Например, Cogito является именно таким примером оболочки к репозиториям Git, а StGit использует Git для управления коллекцией исправлений (патчей) [18].
Git поддерживает быстрое разделение и слияние версий, включает инструменты для визуализации и навигации по нелинейной истории разработки. Как и Darcs, BitKeeper, Mercurial, Bazaar и Monotone, Git предоставляет каждому разработчику локальную копию всей истории разработки, изменения копируются из одного репозитория в другой.
Удалённый доступ к репозиториям Git обеспечивается git-daemon, SSH- или HTTP-сервером. TCP-сервис git-daemon входит в дистрибутив Git и является наряду с SSH наиболее распространённым и надёжным методом доступа. Метод доступа по HTTP, несмотря на ряд ограничений, очень популярен в контролируемых сетях, потому что позволяет использовать существующие конфигурации сетевых фильтров.
Codeception
Codeception – инструмент, позволяющий проводить тесты web-сайтов и web-приложений [19]. Тестирование вручную занимает много времени и достаточно сложное в применении, поэтому логичнее всего использовать готовые инструменты тестирования.
2 Проектирование
В графическом интерфейсе пользователя разрабатывается максимально удобная и доступная работа потенциального клиента на страницах интернет-магазина. Помимо привлекательного и не отвлекающего дизайна, интерфейс должен быть удобным, понятным, позволяющим клиенту максимально быстро найти необходимый товар и оформить заказ.
Основываясь на проведенном анализе работы уже работающих интернет-магазинов и выявив преимущества и недостатки различных решений [2], можно сделать вывод о том, что обязательно должно быть реализовано в проекте.
1. Обязательная регистрация пользователей с целью упрощения заполнения своих данных при оформлении заказа, а также сохранения содержимого корзины и списка уже купленных товаров.
2. Поиск товаров по ключевым словам.
3. Удобное меню каталога с отображением всех категорий товаров, включая подкатегории, для возможности перехода к необходимому товару прямо с главной страницы интернет-магазина.
4. Доступ покупателя ко всей необходимой информации с постоянных элементов страниц: шапки и подвала.
5. Возможность обратной связи с компанией: отправить письмо или заказать звонок.
6. Рекомендуемы товары от компании, как эксперта в данной сфере продаж.
Вся необходимая информация для наполнения страниц представлена в уже имеющемся интернет-магазине [3] в виде сплошного текста, поэтому ее следует переработать в более удобный для восприятия вид, либо внести изменения с целью ее обновления и актуализации. А также использовать только ту информацию, которая присутствует в существующем интернет-магазине, при этом не создавая тех страниц, что находятся в стадии заполнения, т.к. их наличие не имеет ценности и является ошибкой программиста на стадии проектирования клиентской части.
После проведенного анализа готового интернет-магазина и его популярных аналогов: ДНС, Озон, AliExpress, Ebay определен список необходимых страниц [4] интернет-магазина:
– главная;
– список товаров в категории;
– как нас найти;
– как сделать заказ;
– оплата;
– доставка;
– обратная связь;
– сертификаты оборудования;
– о компании;
– вакансии;
– новости;
– порядок выполнения работ;
– скачать фирменные каталоги;
– регистрация и вход;
– корзина.
Создание макета интернет-магазина является важным шагом в создании web-приложения и существенно сокращает время на разработку. Упростить задачу проектирования интерфейса можно с помощью существующих сервисов и средств макетирования и прототипирования, таких как Moqups [15].
Бесплатная версия приложения позволяет создать один проект с ограниченным количеством различных элементов в триста штук, что вполне достаточно для создания макетов пятнадцати страниц интернет-магазина. В приложении уже имеются шаблоны различных объектов web-приложения: кнопки, текстовые поля, прямоугольные блоки, таблицы, полосы прокрутки, счетчики, иконки и т.д., представленные на рисунке 2.1.
Рисунок 2.1 – Окно добавления шаблонов объектов
Для того, чтобы добавить элемент на макет, необходимо его перетащить в рабочее поле, и далее изменить цвета, содержание, размеры и расположение.
Таким образом создан макет главной страницы, показанный на рисунке 2.2.
Рисунок 2.2 – Макет главной страницы интернет-магазина
Дизайн главной страницы задает тон всей остальной клиентской части [2], поэтому ее создание занимает самое большое время. Основными цветами интернет-магазина являются ахроматические оттенки серого и выделительный цвет – зеленый средних оттенков. Такая цветовая схема является беспроигрышным вариантом дизайнерского решения и используется большим количеством интернет-магазинов.
Можно заметить, что структура шапки и подвала детально продуманы. В связи с особенностью чтения человека слева направо и вниз, элементы располагаются по диагонали по степени важности и необходимостью запоминания: вход/регистрация, логотип компании, информация покупателям, категории товаров и т.д. Так, в шапке имеется:
– ссылка на вход и регистрацию;
– выпадающий список информационных ссылок покупателю;
– выпадающий список услуг, предоставляемых компанией;
– контакты офисов;
– логотип компании;
– поисковая строка;
– ссылка на корзину.
Подвал же представляет собой полностью информативный объект и содержит:
1) рекламный баннер;
2) блок ссылок «Покупателям»:
– как нас найти;
– доставка;
– оплата;
– как сделать заказ;
– обратная связь;
3) блок ссылок «Компания»:
– о компании;
– вакансии;
– новости;
– сертификаты оборудования;
– порядок выполнения работ;
4) ссылка на скачивания прайс-листа;
5) ссылка на страницу с фирменными каталогами товаров;
6) кнопка перемещения в начало страницы.
Левое вертикальное меню «Категории» является также постоянной частью интерфейса, исключая страницу входа и регистрации. Сделано это для того, чтобы у посетителя всегда в зоне видимости были все категории и подкатегории товаров.
Содержание главной страницы должно быть рекламным, поэтому большую площадь занимает рекламный слайдер, который будет показывать, что компания работает с крупными фирмами-производителями и предоставляет покупателям товары высшего качества и современные сетевые технологии. Ниже располагается область с двумя вкладками «Рекомендуем» и «Новинки», в которой представлены рекомендуемые компанией товары и новые поступления соответственно.
Также необходимо представлять, как будут выглядеть виджеты: раскрывающиеся и выпадающие списки, выделенные ссылки и кнопки. Для этого создан макет на основе макета главной страницы, представленный на рисунке 2.3.
Рисунок 2.3 – Макет главной страницы интернет-магазина
с открытыми виджетами
Разработка макетов остальных страниц велась уже на основе имеющегося макета главной страницы с добавлением «хлебных крошек». Поэтому стоит раскрыть только содержание без упоминания постоянных элементов: шапки, подвала и вертикального меню.
Следующим за главной страницей по значимости идет список товаров. На этой странице должна быть отражена вся информация по каждому товару, возможность добавить ее в корзину. Решением стал вывод товаров строками, представленный на рисунке 2.4.
Рисунок 2.4 – Макет страницы товаров интернет-магазина
Особенности товаров в сфере сетевого оборудования позволяют вывести всю информацию о товаре в небольшой строке и не прибегать к созданию окна с обзором конкретного товара.















