Диплом: Разработка веб-сайта для компании "SUSHI KING"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
47
Рис.7. Корзина
48
Рис. 8. Оформление заказа
49
Рис. 9. Личный кабинет
Особенностью верстки проекта является адптивная верстка, т.е.
адаптация контента под любые разрешения устройств мультимедиа. Для
каждого диапазона разрешений экрана устанавливается внешний вид
страницы. Установленные диапазоны внешнего вида:
Мобильная версия – 320px 720px;
Планшетная версия – 720px 960px;
Дисплеи с маленьким разрешением – 960px 1200px;
Обычные широкоформатные дисплеи – от 1200px.
50
Также эти требования по разрешению экрана согласовываются с
заказчиком.
В качестве рисков для данного этапа может входить неверно
истолкованное техническое задание, которое противоречит всем
представлениям заказчика, что может привести к откату проекта к
предыдущему этапу жизненного цикла. Очень частое явление наблюдается
со стороны заказчика, что проект на данном этапе дополняется
дополнительным функционалом, что может в корне изменить сроки,
техническое задание и сроки выполнения всех необходимых работ,
предусмотренные проектом.
Технический проект, разработка проекта
Технически разработка проекта началась уже на предыдущем этапе,
но весь основной функционал разрабатывается в данном этапе.
Программисты на данном этапе на основе разработанного технического
задания реализуют все описанные функции в техническом задании.
Разработка проекта велась на тестовом сервере, т.к. в ходе которого
могут быть допущены определенные ошибки разработчиком, влияющие на
работу всего сервера в целом.
В качестве тестового сервера был выбран VDS сервер со
следующими характеристиками:
Процессор 3 X QEMU Virtual CPU version (cpu64-rhel6)
2593.748 MHz;
Оперативная память 3008 MiB;
Размер дискового пространства 88.46 GiB;
Веб-сервер Apache 2.4.18-2ubuntu3.5;
MySQL 5.7.20-0ubuntu0.16.04.1;
ОС Ubuntu 4.4.0-101-generic;
Тип виртуализации KVM.
51
Для экономии времени для разработки на сервер была
предустановлена панель управления веб-хостингом ISPmanager Lite
5.134.0, которая представлена на рис. 10.
Данная панель управления веб-хостингом позволяет управлять
программным обеспечением, таким как веб-сервер (Apache/Nginx), сервер
баз данных (MySQL/PostgreSQL), почтовый сервер (Sendmail/Exim/Postfix)
и другими сопровождающими программами через веб-интерфейс.
Главными особенностями являются работа со стандартной
конфигурацией программного обеспечения, которое устанавливается из
репозитория операционной системы, наличие локализации на несколько
языков, поддержка API-интерфейса.
Рис. 10. Панель управления ISPmanager Lite
При помощи данной панели при разработке проекта была создана
отдельная учетная запись, которая имеет доступ только к указанному
52
рабочему каталогу. Также для проекта была создана база данных MySQL,
которая аналогично дает разрешение на манипулирование данными
созданному пользователю.
Для обеспечения доступа к файлам и программному коду для
пользователя был предоставлен доступ к протоколу sFTP и SSH.
Еще не маловажной задачей на данном этапе является выбор языка
программирования и используемых инструментов. Программист в рамках
своей компетенции и профессиональных навыков, если это не
предусмотрено утвержденным техническим заданием, выбирает наиболее
удобный и отвечающий требованиям проекта язык программирования. В
качестве языка программирования был выбран PHP версии 7.
PHP — скриптовый язык общего назначения, интенсивно
применяемый для создания веб-приложений. В настоящее время
поддерживается подавляющим большинством хостинг-провайдеров и
является одним из лидеров среди языков, применяющихся для разработки
динамических веб-сайтов.
Язык и его интерпретатор (Zend Engine) разрабатываются группой
энтузиастов в рамках проекта с открытым исходным кодом. Проект
распространяется под частной лицензией, несовместимой с GNU GPL.
Седьмая версия основывается на экспериментальной ветви PHP,
которая изначально называлась phpng (PHP Next Generation — следующее
поколение), и разрабатывалась с упором на увеличение
производительности и уменьшение потребления памяти. В новой версии
добавлена возможность указывать тип возвращаемых из функции данных,
добавлен контроль передаваемых типов для скалярных данных и новые
операторы.
Наиболее подходящим инструментом для языка программирования
стал веб-фрейморк Yii2. Основные достоинства данного фреймворка были
описаны в главе 1.
53
И последним и немаловажным этапом является выбор системы
управления базами данных (СУБД). В качестве СУБД была выбрана
MySQL.
MySQL — свободная реляционная система управления базами
данных. Разработку и сопровождение СУБД осуществляет корпорация
Oracle, получившая права на торговую марку вместе с поглощённой Sun
Microsystems, которая ранее приобрела шведскую компанию MySQL AB.
Продукт распространяется под лицензией GNU General Public License, а
также под собственной коммерческой лицензией. Помимо этого,
разработчики разрабатывают функциональность по заказу лицензионных
пользователей. Именно благодаря такому заказу почти в самых ранних
версиях появился механизм репликации.
MySQL является решением для небольших и средних приложений.
Входит в состав серверов AppServ, LAMP, WAMP и в портативные сборки
серверов XAMPP, Денвер, VertrigoServ. Обычно MySQL используется в
качестве сервера, к которому обращаются локальные или удалённые
клиенты, однако в дистрибутив входит библиотека внутреннего сервера,
позволяющая включать СУБД в автономные программы.
Гибкость СУБД MySQL обеспечивается поддержкой большого
количества типов таблиц: пользователи могут выбрать как таблицы типа
MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB,
поддерживающие транзакции на уровне отдельных записей. Более того,
она поставляется со специальным типом таблиц EXAMPLE,
демонстрирующим принципы разработки новых типов таблиц. Благодаря
открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно
появляются новые типы таблиц.
Рисков в данном этапе довольно много, но стоит указать только
наиболее важные из них. Не правильно сконфигурованный сервер и
подобранный комплекс программно-аппаратных средств может влиять на
54
стабильность работы веб-приложения. Это нехватка процессорного
времени на выполнения задачи, оперативной памяти, неверно
сконфигурированной системы кеширования данных влияет на общую
производительность и отражается при работе пользователей. Что может
привести к не желаемым потерям времени, как и со стороны
пользователей, так и со стороны разработчиков системы.
Часто допускаются при разработке логические ошибки, которые
могут не выявить на стадии тестирования и нарушить работу всей
разработанной информационной системы. На исправление таких ошибок
требуется значительное количество времени.
Ну и основным риском присущий многим веб-компаниям это
исполнение сроков. Зачастую разработчику делегируют много других
срочных и важных задач не относящиеся к проекту, что может сказаться на
качестве «кодописания», его масштабируемости и производительности.
Подбор квалифицированных программистов сводит к минимуму
указанные риски, что повышает вероятность заблаговременного
выполнения данной части проекта.
Тестирование проекта
Для тестирования сайтов оптимально подходит метод чеклиста -
списка операций, которые нужно обязательно выполнить.
Контрольный список список факторов, свойств, аспектов,
параметров, компонентов, критериев или задач, структурированных
особым образом с целью достижения поставленных задач.
В процессе тестирования проверяется много важных деталей,
которые воспроизводятся из проекта в проект. Программисты часто
говорят, что помнят их - на самом деле опыт показывает, что не помнят,
пропускают важные моменты и занимаются «наступанием на грабли». Не
зря опытные руководители проектов закрывают этапы/релизы только при
55
наличии оформленных ответственными сотрудниками отчетов: начиная от
верстальщиков, заканчивая системными администраторами.
Чеклисты обычно составляются опытными сотрудниками. По мере
накопления умственного багажа компании в базах знаний, развиваются и
совершенствуются и чеклисты. Суть проста — сэкономить время и деньги,
не позволив сотрудникам непроизвольно (а иногда и произвольно)
наступать на грабли два и более раза.
Для сдачи проекта был составлен чеклист. На основе полученного
опыта веб-разработки были включены основные моменты:
Поиск. Если на веб-сайте используется форма поиска, то её следует
протестировать в первую очередь. Обязательно надо проверить,
чтобы ссылки в результатах были рабочими. Если на веб-сайте
используется несколько инфоблоков с динамической информацией,
то нужно сделать поисковые запросы, чтобы найти по отдельности
элементы различных инфоблоков и проверить, корректно ли
работают ссылки в результатах поиска.
F5. Во всех формах, в которых пользователь может оставлять какие-
либо данные (например, комментарии), нужно проверить, не
отправляются ли данные снова при нажатии кнопки F5 в веб-
браузере.
Пользователи и права доступа. Следует протестировать веб-сайт в
трёх состояниях: неавторизованным, авторизованным и
авторизованным под администратором. Часто бывает, что, создавая
инфоблок из-под администратора, ему забывают поставить нужные
права доступа, и он остается доступным только для
администраторов.
56
Карта сайта. Если основная информация на сайте – каталог товаров,
то в карте сайта логично вывести разделы каталога, а не только
разделы веб-сайта.
Стандартные шаблоны. Необходимо проверить, не используются ли
где-либо на веб-сайте стандартные шаблоны. Может получиться не
очень хорошо, если, например, пользователь пытается восстановить
пароль, ему на почту уходит письмо со ссылкой на веб-сайт, он
нажимает на ссылку и видит не привычный ему дизайн веб-сайта, а
пример стандартного веб-сайта.
Стили в визуальном редакторе. Хорошо, когда контент-менеджер,
пользуясь визуальным редактором, видит в нём текст, максимально
похожий на текст, который отобразится на веб-сайте. То есть для
абзацев, заголовков и т.п. свой кегль шрифта, цвет и т.п.
Динамическая информация во включаемых областях. Если во
включаемой области содержится какая-либо динамическая
информация, то она может закешироваться, что скорее всего
приведет к нежелательному результату. Рекомендуется не
использовать динамическую информацию во включаемой области.
Резервная копия, обновления. Необходимо обновить фреймворк до
актуальной версии, сделать резервную копию веб-сайта и сохранить
её на локальный компьютер.
Кеш. Следует проверить, включено ли автокеширование. Если оно не
включено, то нужно его включить и повторить все тестирование с
самого начала.
Права доступа. Проверка на корректность прав доступа различных
групп пользователей веб-сайта.
Ядро системы. Проверка работы ядра и соответствие его оригиналу.
Временами разработчики позволяют себе править непосредственно
компоненты фреймворка и, чтобы не разрушить функционал веб-

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран