Разработка веб-сайта | Дипломные работы | 2021

Дипломная работа «Разработка web-сайта малого предприятия

Разработка веб-сайта. Структура веб-сайта. Программный комплекс PHPStorm.

Аннотация

Дипломная работа 62 с., 12 рис., 5 табл., 21 источник, 3 прил.

ВЕБ-САЙТ, ВЕБ-ПРОГРАММИРОВАНИЕ, ВЕБ-ДИЗАЙН, PHP, MySQL, HTML, CSS, БАЗА ДАННЫХ, SQL, IDE, СЕРВЕР.

Объектом работы является предприятие «Дом Мебели».

Целью проекта является разработка сайта предприятия «Дом Мебели».

Результатом выполнения дипломной работы была разработка веб-сайта для предприятия «Дом Мебели».

Пояснительная записка включает описание процессов проектирования и создания веб-сайта.

Средой разработки веб-сайта был программный комплекс PHPStorm, структура сайта реализована с помощью HTML, внешний вид с помощью CSS и JavaScript, используемый язык программирования – PHP, база данных – MySQL.

Пояснительная записка выполнена в текстовом редакторе Microsoft Word.

Содержание

Введение

Раздел 1. Теоретические основы темы исследования

1.1 Анализ систем управления контентом сайтов

1.2 Анализ средств разработки Web – приложений   

1.3 Нормативно-законодательная база, регулирующая изучаемую проблему

Раздел 2. Проектирование сайта по теме исследования

2.1 Требования заказчика к функционалу сайта и Web-приложения

2.2 Проектирование базы данных Web-приложения в соответствие с темой исследования

2.3 Теоретико-экономическое обоснование эффективности разработки

2.3.1 Расчет затрат на разработку программного обеспечения

2.3.2 Затраты на эксплуатацию оборудования  

2.3.3 Расчет фонда заработной платы

Заключение

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

Глоссарий

Приложение 1

Приложение 2

Приложение 3

Введение

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

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

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

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

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

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

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

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

  1. Изучить нормативно-законодательную базу, которая регулирует деятельность интернет-представительств компаний;
  2. Проанализировать средства разработки веб-приложений и системы управления контентом;
  3. Определить функционал веб-приложения на основании изученных требований заказчика;
  4. Спроектировать базу данных веб-сайта и экономически обосновать создание веб-приложения.

Объект работы: предприятие «Дом Мебели».

Предмет ВКР: автоматизация приема заявок от клиентов.

Нам нужно еще будет написать в конце введения следующее:

Данная выпускная квалификационная работа содержит введение, две главы, заключение, список использованных источников и приложения.

Раздел 1. Теоретические основы темы исследования

1.1 Анализ систем управления контентом сайтов

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

Все сайты в сети могут быть двух типов: статические и динамические сайты [12]. Статической называется страница, которая целиком хранится на сервере и показывается посетителю в своем неизменном виде.

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

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

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

Использование динамических страниц позволяет хранить некий шаблон дизайна, в который, в зависимости от страницы, на которую зашел посетитель, помещается необходимое наполнение. Такой вариант очень удобен, ведь для всего сайта создается один или несколько шаблонов, и все изменения дизайна, которые требуется сделать на сайте, производятся только с ними [12].

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

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

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

Анализ сайтов, расположенных в сети интернет, показывает, что наиболее используемыми при разработке сайтов технологиями являются PHP, ASP.NET, Perl и Python. Стоит отметить что на платной основе распространяется только технология ASP.NET. Лишь для этой технологии необходим специализированный сервер, а также специальная среда разработки. Она является более сложной в освоении, что обосновывается ее направленностью на разработку крупных проектов. Однако несомненным преимуществом является мощь объектного подхода и поддержка крупнейшего разработчика программного обеспечения [15].

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

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

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

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

Есть две разновидности CMS — коробочные (готовый программный продукт, который можно скачать или купить) и самописные (которые можно получить только от разработчика) [13].

Плюсы разработки сайта с использованием CMS:

— на CMS достаточно просто и быстро можно создать те виды сайтов, которые заложены в функционал этой системы. При этом разработка простых решений часто даже не требует участия в проекте программиста;

— многие бизнес-процессы, которые нужны для конечных пользователей или требуются для управления сайтом, уже заложены в функционал CMS. Например, в рамках предустановленного функционала сайт на CMS уже «умеет» редактировать страницы и управлять их структурой, управлять пользователями системы и их уровнем доступа, сортировать и фильтровать различные объекты и многое другое;

— поддержка сайтов на CMS проще, чем работа с системами, написанными «с нуля», этому способствует как наличие документации, так и высокий профессиональный уровень разработчиков CMS, который находит своё отражение в логичной и понятной архитектуре системы;

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

Минусы разработки сайта с использованием CMS:

—        реализация нестандартного функционала или тонкая настройка под особые бизнес-процессы, как правило, затруднена. Процессы, заложенные в системе, обычно тесно связаны, поэтому модификация одного из них приводит к необходимости модифицировать и зависимые от него. А в некоторых случаях реализация специфического функционала в рамках CMS является и вовсе невозможной;

—        обратной стороной универсальности CMS является избыточность функционала и сопутствующие этому увеличение сложности управления и использования, а также некоторые проблемы с производительностью (сайт на CMS выполняет гарантированно больше операции с данными, чем того требует процесс, а структура хранения данных обычно несколько «раздута» относительно реальных потребностей проекта).

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

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

Основными задачами, которые решают современные CMS, являются следующие:

  1. Автоматизация всего цикла разработки и публикации web-приложений в Интернете;
  2. Автоматическое изменение представлений содержимого страниц web-портала в сети, обеспечивая возможность реализации различных дизайнов преставления страниц за счет использования разных шаблонов отображения информации, плюс возможность широкого использования шаблонов, созданных другими разработчиками;
  3. Разграничение пользовательских полномочий, что позволяет осуществлять независимую настройку web-портала под представления разных категорий пользователей, включая возможность ведения персональных странниц;
  4. Возможность создания web-портала внутри web-портала, что позволяет создавать сложные web-порталы;
  5. Простота редактирования и создание информации для web-портала;
  6. Возможность автоматически модернизировать web-портал к новым стандартам Интернета;
  7. Возможность разрешения или запрета публикации информации без удаления ее из системы;
  8. Возможность интеграции и использования средств управления проектами по разработке web-приложений;
  9. Масштабируемость, что позволяет развивать системы путем подключения программных расширений от разных разработчиков;
  10. Многоязычность, возможность автоматического перевода и поддержки web-портала для разной национальной целевой аудитории;
  11. Поддержка разных версий сайта;
  12. Обеспечение возможности продвижения web-портала в Интернете путем подстройки к механизмам поисковых систем типа Yandex, Rambler, Google, и др.

Реализация вышеприведенных задач приводит к:

— повышению качества разработки;

— уменьшению стоимости и сроков разработки;

— снижению эксплуатационных расходов;

— понижению требований к персоналу поддержки.

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

В таблице 1 приведена статистика использования CMS в мировом Интернете на июнь 2015 года согласно исследованию компании Q-Success (Software Quality Management Consulting) на сайте World Wide Web Technology Surveys.

Таблица 1 — Самые распространенные CMS

№ п/пНаименованиеИспользование
1WordPress24,1%
2Joomla2,8%
3Drupal2,1%
4Blogger1,1%
5Magento1,1%
Самые распространенные CMS

Как видно из таблицы 1, самыми распространенными CMS в мировой практике Интернета являются WordPress, Joomla и Drupal.

Мировая статистика по языкам программирования, использующихся на серверной части web-приложений отражена в таблице 2.

Таблица 2 — Самые распространенные языки программирования на web-серверах

№ п/пНаименованиеИспользование
1PHP81,9%
2ASP.NET16,9%
3Java3%
4ColdFusion0,7%
5Ruby0,6%
Самые распространенные языки программирования на web-серверах

Из таблицы 2 видно, что самым популярным языком программирование является PHP, который оставляет далеко позади прочие языки программирования web-приложений.

С точки зрения используемых web-серверов, наиболее распространенным является web-сервер Apache, как видно из нижеприведенной таблицы 3.

Таблица 3 — Самые распространенные web-сервера

№ п/пНаименованиеИспользование
1Apache57,1%
3Nginx24,6%
2Microsoft-IIS13,2%
4LiteSpeed2,2%
5Google Servers1,3%
Самые распространенные web-сервера

Исходя из анализа таблицы 1.2 можно сделать вывод, что наиболее распространенной системой управления базами данных (СУБД) для развертывания приложений в Интернете является MySQL, поскольку и WordPress и Joomla и Drupal изначально и по настоящее время ориентированы в основном на применение MySQL. В последних версиях этих CMS появилась возможность использования таких СУБД как PostgreSQL, MSSQL.

Если провести анализ отечественного Интернета, то получим подобные результаты. Результаты рейтинга CMS по версии компании iTrack представлены в таблице 4.

Таблица 4 — Рейтинг CMS в доменной зоне ru по версии компании iTrack

№ п/пНаименованиеИспользование
1WordPress31,06%
2Joomla24,40%
31С-Битрикс8,20%
4Drupal5,56%
5MODx4,90%
62DataLife Engine4,37%
7uCoz3,38%
8OpenCart2,82%
9WebAsyst Shop-Script1,56%
10UMI.CMS1,22%
11Прочие11,51%
Рейтинг CMS в доменной зоне ru по версии компании iTrack

Как видно из таблицы, популярность WordPress и Joomla в отечественном Интернете в отличие от мирового почти одинаковая.

Таким образом, исходя из вышеприведенной статистики выбор CMS для учебного процесса можно свести к сравнению WordPress и Joomla.

С точки зрения предпринимательской деятельности для используемой CMS можно определить ряд следующих желательных характеристик:

  1. CMS должна характерной (распространенной) в Интернете, и чтобы полученные навыки и знания при работе с выбранной CMS можно было свободно применять для разных тематических областей;
  2. CMS должна позволять создавать web-приложения любой степени сложности, начиная от простых сайтов и кончая сложными профессиональными web-порталами типа Интернет-магазины, Интренет-систем по продаже или бронированию билетов и т. п;
  3. CMS должна иметь дружественный интерфейс, чтобы пользователи могли легко и свободно без дополнительной подготовки осваивать работу с CMS;
  4. Немаловажным фактором является большое наличие на русском языке как обычной бумажной литературы, так и наличие профессиональных и вспомогательных электронных онлайн публикаций, дающих возможность самостоятельного изучения CMS для студентов независимо от знания или незнания английского языка;
  5. Наличие в Интернет форумов по использованию CMS;
  6. Наличие простых процедур инсталляции CMS и интеграции CMS с другими программными продуктами, поддерживающими web-портал;
  7. Система должна быть бесплатна или в крайнем случае условно-бесплатно, чтобы студенты без труда могли осваивать работу с CMS на своих собственных компьютерах;
  8. Желательно чтобы система была с открытым кодом, чтобы была возможность расширять и дорабатывать систему в случае необходимости;
  9. Наличие большого количества бесплатных качественных плагинов, модулей, компонентов, шаблонов в свободном доступе в Интернете, которые с успехом можно было бы использовать в качестве образцов;
  10. CMS должна обеспечивать реализацию и поддержку последних стандартов и методов, используемые для разработки web-приложений;
  11. Возможность интеграции в CMS плагинов, расширений, компонентов, шаблонов, разработанных вне рамок CMS;
  12. Возможность разработки и последующей вставки в CMS обычного web-кода, который мог бы использоваться самостоятельно в Интернет без использования CMS.

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

Сравним эти две системы. Обе эти системы русифицированными, что является немаловажным фактором. Однако наличие русской литературы и online документации Joomla превосходит WordPress.

Основным языком реализации и программирования WordPress и Joomla является широко используемый PHP, что позволяет использовать как обычное, так и объектно-ориентированное программирование для web-приложений, и что с успехом позволяет использовать современные подходы в программировании к разработке web-приложений.

Обе системы используют хорошо зарекомендовавшую СУБД MySQL. В тоже время список поддерживаемых СУБД у Joomla шире, чем у WordPress. СУБД являются реляционными и используют язык программирования SQL. Стоит также отметить тот факт, что Joomla в отличие от WordPress позволяет работать с PostgreSQL, что позволяет студентам получать практические навыки по применению объектно-ориентированных СУБД в Интернете.

Используемая в процессе разработки сайтов теория и практика проектирования автоматизированных систем обработки и управления информации хорошо применима в случае использования Joomla и WordPress.

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

В целом характеристики обоих систем довольно схожи, если не учитывать линейку СУБД и web-серверов, а также функциональные возможности, целевую аудиторию, целевую область применения.

Следует принять во внимание тот факт, что несмотря на большую мировую популярность WordPress, функциональные возможности Joomla шире чем у WordPress. Поэтому по реализации сложных и высокопрофессиональные web-приложений мировым лидером среди бесплатных систем с открытым кодом является Joomla. Joomla также в отличие от WordPress может быть использована в более широком диапазоне тематический областей, в то время как WordPress в основном используется для weblog- приложений.

1.2 Анализ средств разработки Web – приложений

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

Одной из наиболее использованных и удобных программ для программирования является программа Notepad++. Это текстовый редактор, предназначенный для программистов.

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

Среда разработки включает в свое содержание: компилятор, интерпретатор, отладчик, средства автоматизации сборки, а также редактор текста. Компилятор — это такая программа, которая считывает исходные коды, написанные программистом и преобразует эти коды в программу. Интерпретатор — это программа которая считывает команды, находящиеся в исходных кодах, сразу выполняя их.

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

Обычно среда разработки ПО предназначена для разработки только на одном языке программирования. А такая среда разработки как интегрированная, предоставляет право выбрать создателю программы язык программирования для разработки, удобный разработчику (из языков поддерживаемых данной средой) [6]. Примером тому служат: Adobe Dreamweaver, Visual Studio, Komodo, Geany, Kylix, NetBeans, Eclipse.

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

Полная поддержка формата CSS дополнена возможностью быстрого просмотра макета в различных браузерах. Такое решение существенно облегчает работы по созданию дизайна. Очень удобный редактор кода веб-страниц ускоряет написание сайта, при этом сразу же указываются возможные ошибки в коде. Система Adobe Dreamweaver может работать с различными технологиями, полностью поддерживается JavaScript, ASP, XML, Adobe ColdFusion и PHP. Существует официальное добавление, позволяющее создавать Ajax-приложения. Теперь не нужно искать специализированные продукты, чтобы получить информацию из RSS, работать с базами данных или создавать различные визуальные эффекты, на программном уровне [16].

Помимо отличной среды для разработки веб-проектов, Adobe Dreamweaver позволяет тестировать и дорабатывать их буквально на лету. Встроенный многоэкранный просмотр позволяет тестировать сайты, проводя рендеринг в HTML5. Обновленный сервис работает быстрее и специально предназначен для тестирования ресурсов, открываемых с планшетов или смартфонов. Система резиновых макетов будет полезна дизайнерам. Ведь, можно импортировать CSS3-макеты, переводя ресурс на принципиально новый уровень качества. Встроенная система тестирования позволит подогнать резиновый макет под любой браузер или разрешение экрана без длительной отладки и написания сотен строк кода.

Отдельно следует упомянуть модуль jQuery Mobile в продукте Adobe Dreamweaver. Эта программа позволяет создавать мобильные приложения для устройств на Android и iOS. Модуль для разработки отлично дополняется Adobe PhoneGap Build, которая позволяет скомпоновать проект и протестировать его на эмуляторе различных мобильных устройств. Улучшенные алгоритмы работы с FTP, сэкономят время при загрузке проектов. Совсем недавно был представлен новый продукт для создания сайтов от компании Adobe — Dreamweaver CC. Основным нововведение стал «улучшенный конструктор CSS», в котором применяется новая палитра цветов и различные функции, позволившие ускорить процессы визуального контроля и поиска, что привело к значительному сокращению времени редактирования.

Также стоит отметить интерактивное выделение и режим интерактивного просмотра Live View. Теперь можно создавать динамичные макеты в визуальном режиме. Обновленный интерфейс Dreamweaver CC стал проще в понимании и освоении, рабочие процессы — удобнее и быстрее. Контекстные меню позволяют легко применять настройки, что повышает эффективность процесса разработки. Данная версия редактора поддерживает самые современные платформы, такие как PHP 5.4, HTML5, jQuery и jQuery Mobile, а также системы управления контентом, такие как WordPress, Joomla! и Drupal [16].

В июне 2015 года компания Adobe показала свой новый продукт Adobe Dreamweaver CC 2015, который, как и другие продукты этой компании может подключаться к магазину Adobe Stock для поиска изображения. Редактор дает возможность создавать веб-сайты, которые динамически адаптируются к разным размерам экрана, с помощью встроенной интеграции начальной загрузки. Новый интерфейс и настройки редактора кода, подтверждение кода в реальном времени при помощи анализа статического исходного кода и автозаполнение с поддержкой Emmet делают написание кодов в Dreamweaver быстрее и легче.

Существенно экономит время новая функция для быстрого извлечения изображений, оптимизированных для Интернета, из документов Adobe Photoshop в формате PSD. Впервые разработана и внедрена панель DOM для легкой навигации и редактирования элементов страниц HTML. Использован предпросмотр цветов и изображений в реальном времени в представлении «Код» и многое другое. Все эти нововведения вместе с русскоязычным интерфейсом программы делает создание сайтов быстрым и удобным [16].

Microsoft Visual Studio (рис. 1) — одна из интегрированных сред разработки, разработана на С++ и С#, поддерживается Windows OS. Данная среда разработки переведена на десять языков (также и на русский язык). В Visual Studio создатель может вести разработку вебсайтов, веб-служб, писать консольные приложения, а также приложения с графическим интерфейсом. Также VS поддерживает разного рода дополнений. Самые знаменитые дополнения — это ReSharper (выполняет поиск ошибок в коде во время написания кода программы разработчиком, до компиляции); Visual Assist (в отличии от ReSharper поддерживает также и С++); AnkhSVN (использует в Visual Studio систему контроля версий, которая носит название Subversion).

Рабочее окно программы Visual Studio
Рисунок 1. Рабочее окно программы Visual Studio

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

Недостатки: Сложно для начинающих программистов.

Среда особенно распространена в англоговорящих странах, России, Китае, Германии, Франции, Португалии, Италии, Японии, Испании и Корее.

Geany также интегрированная среда разработки ПО. Поддерживается на ОС Linux, а также на Mac Os и на Windows. Работает с тридцатью двумя языками (также и с русским языком). В составе Geany отсутствует компилятор. Компилятор можно установить, как дополнение. Поддерживает достаточно много языков программирования, среди которых присутствуют классический С, С++ и С#.

Пример работы в среде Geany, на Linux OS
Рисунок 2. Пример работы в среде Geany, на Linux OS

Достоинства: Простота и удобность, подсветка исходного кода, возможность подключать дополнения.

Недостатки: Не включает в свой состав компилятор.

Среда распространена во многих странах (Более чем в тридцати).

Komodo или ActiveState Komodo — была написана на JavaScript, XUL, Python. Интерфейс данной среды только на английском языке. Работает на тех же операционных системах как Geany: на Os Linux, Windоws и Mac Os. Поддерживает десять языков программирования, среди которые присутствуют: PHP, Ruby, HTML5 [6].

Окно работы программы ActiveState Komodo
Рисунок 3. Окно работы программы ActiveState Komodo

Достоинства: Дополнение Code Explorer позволяет просматривать объектное дерево скрипта или библиотеки, среда является кроссплатформенной, удобный отладчик с возможностью удаленной отладки, возможность настроить интерфейс среды «под себя».

Недостатки: Высокая стоимость, поддерживает мало языков программирования, сильно загружает компьютер (а именно оперативную память), является сложным для понимания.

Распространена в основном в англоговорящих странах.

Kylix — интегрированная среда. Функционирует на OS Linux. Работает с С, С++ и ObjectPascal.

В данной среде есть возможность писать приложения веб-служб.

Kylix выпускался в трёх пакетах. Эти пакеты: Enterprise Edition — включал в себя сто девяносто компонентов (являлся самым большим и самим дорогим пакетом программы); Professional Edition (более дешевый вариант, который включал в себя около 165 компонентов); Open Edition — бесплатный пакет программы, содержащий в себе 75 компонентов, в нём отсутствует средства для работы с базами данных [6].

Обновленная версия Kylix 2, в отличии от Kylix работала гораздо быстрее. Например, Kylix 1 осуществлял сортировку пузырьком массива из 115 элементов полторы минуты, Kylix 2 — одну секунду.

В 2002 году данную среду разработки прекратил поддерживать разработчик.

Пример разработки в среде Kylix:
Рисунок 4. Пример разработки в среде Kylix:

Достоинства: Удобен в переносе написанного с одной операционной системы на другую.

Недостатки: Данная среда больше не поддерживается разработчиком.

Распространена в основном в Европейских странах и США, из-за того, что разработчик (Borland) перестал поддерживать Kylix — становится всё менее популярной и не востребованной.

Netbeans — интегрированная среда разработки ПО. Была реализована на программном языке Java. Эта среда разработки высокого качества. Умеет работать на нескольких операционных системах, то есть является кроссплатформенной. Работает более чем с пятью программными языками.

Пример разработки в среде NetBeans:
Рисунок 5. Пример разработки в среде NetBeans:

Достоинства: Является бесплатной, присутствует система контроля версий, подсветка синтаксиса, возможно переименовывать переменную/класс одним кликом, в том случае если вручную переименовывать слишком долго (автоматизированное переименование), имеется возможность форматирования кода по CodeStyle, разработчиком среда постоянно совершенствуется, улучшается [6].

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

Распространена во многих странах, в силу того, что является удобной и бесплатной.

Eclipse — ещё одна интегрированная среда разработки ПО. Написана на языке Java в две тысячи третьем году. Также является кроссплатформенной. За счёт присоединяемых к этой среде дополнений — имеется возможность создавать программные продукты более чем на пяти языках программного кода.

Пример разработки программы в IDE Eclipse:
Рисунок 6. Пример разработки программы в IDE Eclipse:

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

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

Atom — это бесплатный текстовый редактор с открытым исходным кодом для разные операционных систем (OS X, Linux, Windows) с поддержкой плагинов, написанных на Node.js, и встраиваемых под управлением Git Control. Большинство плагинов имеют статус свободного программного обеспечения, разрабатываются и поддерживаются сообществом. Сайт программы — https://atom.io.

Atom — это программа для редактирования текста и программного кода с максимально привычным для разработчиков интерфейсом (рис. 8). Она умеет работать практически со всеми распространенными кодировками и форматами текстовых файлов, а также включает в себя функцию подсветки синтаксиса. При желании Atom можно вполне успешно использовать в качестве менеджера файлов. Встроенный «обзорщик» позволяет легко переключаться между файлами и папками, перемещать текстовые документы «по одиночке» и массово, а также комфортно просматривать структуру директорий древовидным списком.

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

Atom — полностью бесплатная программа. Редактор является превосходным инструментом для разработчиков, копирайтеров и тем, кому функционала стандартного «Блокнота» Windows недостаточно.

Ключевые особенности и функции редактора Atom [21]:

  • включает в себя удобный файловый менеджер с возможностью просмотра древовидным список;
Рабочее окно программы Atom
Рисунок 7 — Рабочее окно программы Atom
  • содержит функцию подсветки синтаксиса;
  • поддерживает массовое выделению и работу с несколькими курсорами;
  • работает практически со всеми существующими кодировками и форматами текстовых файлов;
  • является совершенно бесплатным;
  • возможна установка множества плагинов, которые значительно расширяют функционал редактора, превращая его в мощный инструмент разработки.

PhpStorm 10 – это интегрированная среда разработки на PHP с интеллектуальным редактором, которая глубоко понимает код, поддерживает PHP 7.0, 5.6, 5.5, 5.4 и 5.3 для современных и классических проектов, обеспечивает лучшее в индустрии автодополнение кода, рефакторинги, предотвращение ошибок на лету и поддерживает смешивание языков.

Сотни инспекций заботятся о верификации кода, анализируя проект целиком во время разработки. Поддержка PHPDoc, code (re)arranger, форматтера кода с конфигурацией стиля кода и другие возможности помогают разработчикам писать опрятный и легко поддерживаемый код.

Поддерживаются передовые технологии веб-разработки, включая HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, шаблоны Jade, Zen Coding, Emmet, и, конечно же, JavaScript.

PhpStorm включает в себя всю функциональность WebStorm (HTML/CSS редактор, JavaScript редактор) и добавляет полнофункциональную поддержку PHP и баз данных / SQL.

Основные функции PhpStorm 10:

— интеллектуальный редактор PHP кода с подсветкой синтаксиса, автодополнением кода, расширенными настройками форматирования кода, предотвращением ошибок на лету;

— поддерживает PHP 7.0, 5.6, 5.5, 5.4 и 5.3, генераторы, сопрограммы и все синтаксические улучшения;

— PHP рефакторинги, code (re)arranger, детектор дублируемого кода;

— поддержка Vagrant, Composer, встроенный REST клиент, Command Line Tools, SSH консоль;

— поддержка фреймворков (MVC view для Symfony2, Yii) и специализированные плагины для ведущих PHP фреймворков (Symfony, Magento, Drupal, Yii, CakePHP и многие другие);

— визуальный отладчик для PHP приложений, валидация конфигурации отладчика, PHPUnit с покрытием кода (поддержка PHPUnit 5), а также интеграция с профилировщиком;

— HTML, CSS, JavaScript редактор; отладка и модульное тестирование для JS; поддержка HTML5, CSS, Sass, SCSS, Less, Stylus, Compass, CoffeeScript, TypeScript, ECMAScript Harmony, Emmet и других передовых технологий веб-разработки;

— полный набор инструментов для фронтенд-разработки;

— поддержка стилей кода, встроенные стили PSR1/PSR2, Symfony2, Zend, Drupal и другие;

— интеграция с системами управления версиями, включая унифицированный интерфейс;

— удалённое развёртывание приложений и автоматическая синхронизация с использованием FTP, SFTP, FTPS и др.;

— Live Edit: изменения в коде можно мгновенно просмотреть в браузере без перезагрузки страницы;

— PHP UML;

— интеграция с баг-трекерами;

— инструменты работы с базами данных, SQL редактор;

— кросс-платформенность (Windows, Mac OS X, Linux).

Нововведения, улучшения PhpStorm 10:

PhpStorm 10 обеспечивает расширенную поддержку PHP 7, включая инспекции совместимости.

Возможность работы с:

— безымянными классами;

— декларациями типов возвращаемого значения;

— операторами объединения со значением «ноль»;

— декларациями группового использования;

— лексическими анализаторами, учитывающими контекст.

А также много других возможностей, раскрывающих все возможности PHP 7.

Автоматическое завершение кода было значительно переработано:

— рекомендации по наименованию: имя значения по имени массива в конструкции foreach;

— завершение имени и сигнатуры метода для родительского переопределения и внедрения интерфейса;

— завершение свойств и констант для родительского переопределения;

— завершение языков при постоянных добавлениях после @lang;

— улучшенное завершение конструкций языка (exit, isset и т.д.), приведения типов данных и т.д.

При реорганизации кода в PhpStorm 10 можно локально переименовать переменные, параметры, классы, методы, константы или метки команд перехода прямо в редакторе.

Благодаря значительному обновлению механизма реорганизации необходимый для переименования элемент будет подсвечиваться на панели редактора.

Другие улучшения PHP:

— дублирование поиска по выделению метода;

— интеллектуальное копирование/добавление в последовательности;

— возможность конфигурации значений date() или time() в шаблонах Live Templates в качестве временных отметок Unix.

Интерактивная консоль отладки для PHP (REPL) — эта новейшая возможность PhpStorm 10 позволяет преобразовывать переменные, вызывать функции PHP и определять дополнительные функции – всё в процессе работы.

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

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

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

PhpStorm 10 поддерживает все новые функции и улучшения, выпущенные недавно в PHPUnit 5, широко используемой тестовой платформе для PHP. Среди возможностей также есть:

— новый принцип действия аннотации @depends;

— тесты, помеченные @small, могут быть также помечены в качестве рискованных, если они осуществляют ввод-вывод;

— добавленные подтверждения assertFinite(), assertInfinite() и assertNan().

С помощью нового плагина Docker для PhpStorm можно добавить в имеющиеся проекты поддержку Docker, просматривать логи и управлять хранилищами Docker прямо в PhpStorm.

Также есть возможность отладки веб-приложений в Xdebug или Zend Debugger.

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

С помощью PhpStorm 10 можно использовать сигнатуры типов, которые Flow добавляет в JavaScript. При использовании аннотированных функций или методов можно получить информацию по типизированным параметрам в автоматическом завершении кода.

Поддержка Angular 2 в PhpStorm включает в себя автоматическое завершение кода и навигацию по директивам и связкам и распознает новые атрибуты событий для TypeScript или ECMAScript 2015.

PhpStorm обеспечивает интеграцию с TSLint, анализатором для кода TypeScript. Позволяет увидеть предупреждения и ошибки прямо в редакторе по мере ввода кода.

Все функции и улучшения WebStorm доступны в PhpStorm, встроенные по умолчанию или доступные в качестве бесплатных плагинов в репозитории. Другие заслуживающие упоминания функции включают в себя улучшенную поддержку ECMAScript 2015, TypeScript 1.5 и 1.6, обновлённую поддержку React, форматирование связанных вызовов метода, новые инспекции Node.js, графики в CPU-профайлере Node.js, возможность запуска отдельных тестирований Mocha и т.д.

PhpStorm 10 помогает кодировать специальные символы в HTML-коде, заменяя их HTML-элементами, начинающимися с &. Также можно выбрать символы или блок кода и применить кодировку специальных символов XML/HTML.

Чтобы сделать команду Find in Path более эффективной, разработчики добавили вкладку предпросмотра, которая отображает первые 100 результатов в режиме реального времени. Теперь для того, чтобы найти всё необходимое, не нужно выходить из диалога.

Конфигурация стиля кода стала ещё проще. Нужно выбрать фрагмент кода, нажать Alt+Enter и выбрать действие настройки стиля. Можно просмотреть и настроить стиль кода, который может быть применён к данной части кода, в доступном режиме предварительного просмотра.

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

Обновлённые инструменты базы данных:

— исходная самодиагностика для MySQL, PostgreSQL, MS SQL;

— настраиваемая форма поведения действия Execute;

— новое окно преобразования таблиц.

Другие улучшения:

— обновлённые регулярные выражения в действии поиска с заменой;

— настройки для пользователей с нарушением цветового зрения;

— совместимость с SVN 1.9.

Поддерживаемые операционные системы:

— Windows 10;

— Windows 8;

— Windows 7;

— Windows Vista;

— Windows 2003;

— Windows XP (вкл. 64-бит);

— Mac OS X 10.5 и выше;

— Linux.

Требования к компьютеру:

— объём оперативной памяти: 1 Гб (минимум);

— объём оперативной памяти: 2 Гб (рекомендуется);

— минимальное разрешение экрана: 1024х768.

Сайт программы — http://www.jetbrains.com/phpstorm.

Рабочее окно программы Atom
Рисунок 7 — Рабочее окно программы Atom

Таким образом можно заметить, что данные среды разработки программного обеспечения (или подобные) можно осуществлять весь цикл разработки программного обеспечения. Но есть также интегрированные среды, которые предназначены для одного программного языка. К примеру такая среда как Visual Basic [6].

Для больших (или командных) проектов в среду разработки должны быть включены файловый менеджер, интегрированная среда разработки программного обеспечения, PlSql (используется и для работы с Системой Управления БД и как инструмент отчётов), Cristal Reports (создание отчётов), StarTeam (ведение журнала версий разрабатываемого продукта).

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

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

1.3 Нормативно-законодательная база, регулирующая изучаемую проблему

Основу нормативно-правового регулирования купли-продажи товаров через Интернет составляют:

— Гражданский кодекс Российской Федерации (ГК РФ);

— Закон РФ «О защите прав потребителей» (Закон о ЗИП);

— Правила продажи товаров дистанционным способом, утверждены Постановлением Правительства РФ от 27 сентября 2007 г. № 612.

Следует отметить, что на отношения между продавцом и покупателем при покупке товаров через Интернет распространяются не только специальные нормы законодательства (т.е., регулирующие именно этот вид купли-продажи), но и общие положения Закона о ЗИП и ГК РФ. Покупатель по «дистанционному» договору обладает всеми правами, предоставленными законом каждому потребителю — правом на безопасность товара (ст. 7 Закона о ЗПП), правом на информацию об изготовителе и продавце (ст. 9 Закона о ЗПП) и т.д.

Интернет-магазин (англ. online shop или e-shop) — сайт (место в сети), торгующий товарами в Интернете. Сам по себе Интернет-магазин (как и обычный магазин) не является юридическим лицом. Юридически деятельность осуществляется индивидуальным предпринимателем (ИП) или юридическим лицом (ООО, ЗАО или иное), которому принадлежит этот Интернет-магазин. Именно этот индивидуальный предприниматель или юридическое лицо заключает договоры с покупателями (потребителями), принимает на себя обязательства и исполняет их, получает прибыль.

Именно в отношении этого лица закон устанавливает определенные обязанности, а потребитель обладает соответствующими правами. Согласно п. 2 Правил продавцом признается организация независимо от ее организационно-правовой формы, а также индивидуальный предприниматель, осуществляющие продажу товаров дистанционным способом.

Для покупки товаров через Интернет-магазины ГК РФ (п. 2 ст. 497) и Закон о ЗИП (п. 1 ст. 26.1) установили особую разновидность купли-продажи — дистанционный способ продажи товаров. Его характерными отличиями, согласно указанных правовых норм, являются:

— во время покупки (при заключении договора купли- продажи) покупатель не имеет возможности непосредственно ознакомиться с приобретаемым товаром либо хотя бы с образцом этого товара;

— договор заключается на основании ознакомления потребителя с предложенным продавцом описанием товара;

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

Не считается дистанционным способом продажи:

— договоры купли-продажи, заключенные на торгах.

— продажа товаров с использованием автоматов;

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

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

Раздел 2. Проектирование сайта по теме исследования

2.1 Требования заказчика к функционалу сайта и Web-приложения

Требования к веб-приложению для автоматизации бизнес-процессов:

— страницы на сайте: главная, о компании, услуги, примеры, заказать, контакты;

— на главной странице подана общая информация о компании, на страницах «О Компании», «Услуги», «Примеры» подана информация по теме названия страницы;

— наличие формы заказа товара;

— форма обратной связи;

— админ-панель с доступом по паролю;

— в админ-панели страницы просмотра заявок и вопросов;

— просмотр заказов за последний день;

— просмотр заказов за последние 3 дня;

— просмотр заказов за последние 7 дней;

— просмотр вопросов из формы обратной связи;

— функция выхода из системы.

2.2 Проектирование базы данных Web-приложения в соответствие с темой исследования

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

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

Архитектура MySQL очень сильно отличается от архитектур других серверов баз данных и делает эту СУБД эффективной для широкого спектра задач. MySQL не универсальна, но обладает достаточной гибкостью, чтобы отлично работать в очень требовательных средах, например, в веб-приложениях. В то же время MySQL может использоваться во встроенных приложениях, хранилищах данных, программном обеспечении индексирования и доставки содержимого, высоконадежных системах с резервированием, системах оперативной обработки транзакций (OLTP) и других системах.

Чтобы максимально эффективно использовать возможности MySQL, нужно понимать ее устройство. Гибкость MySQL многогранна. Ее можно настраивать для взаимодействия с самым различным оборудованием, она поддерживает различные типы данных. Однако самой необычной и важной особенностью MySQL является архитектура подсистем хранения данных, которая отделяет обработку запросов и другие серверные задачи от хранения и извлечения данных. В MySQL 5.1 даже можно загружать подсистемы хранения| данных как дополнительные модули во время работы. Такое разделение задач позволяет выбирать для каждой таблицы способ хранения данных, а также решать, какую производительность, возможности и прочие характеристики вы хотите получить.

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

Второй уровень представляет гораздо больший интерес. Здесь сосредоточена значительная часть интеллекта MySQL: синтаксический анализ запросов, оптимизация, кэширование и все встроенные функции (например, функции работы с датами и временем, математические функции, шифрование). На этом уровне реализуется любая независимая от подсистемы хранения данных функциональность, например, хранимые процедуры, триггеры и представления [19].

Рисунок 9 — Логическая архитектура сервера MySQL

Третий уровень содержит подсистемы хранения данных. Они отвечают за сохранение и извлечение всех данных, хранимых в MySQL. Подобно различным файловым системам GNU/Linux, каждая подсистема хранения данных имеет свои сильные и слабые стороны. Сервер взаимодействует с ними с помощью API (интерфейса прикладного программирования) подсистемы хранения данных. Этот интерфейс скрывает различия между подсистемами хранения данных и делает их почти прозрачными на уровне запросов. Кроме того, данный интерфейс содержит пару десятков низкоуровневых функций, выполняющих операции типа «начать транзакцию» или «извлечь строку с таким первичным ключом».

Подсистемы хранения не производят синтаксический анализ кода SQL (за исключением InnoDB, где происходит синтаксический разбор определений внешних ключей, поскольку в самом сервере MySQL эта функциональность не реализована.) и не взаимодействуют друг с другом, они просто отвечают на исходящие от сервера запросы.

Для каждого клиентского соединения выделяется отдельный поток внутри процесса сервера. Запросы по данному соединению исполняются в пределах этого потока, который, в свою очередь, выполняется одним ядром или процессором. Сервер кэширует потоки, так что их не нужно создавать или уничтожать для каждого нового соединения [19].

Когда клиенты (приложения) подключаются к серверу MySQL, сервер должен их идентифицировать. Идентификация основывается на имени пользователя, адресе хоста, с которого происходит соединение, и пароле. Также можно использовать сертификаты Х.509 при соединении по протоколу Secure Sockets Layer (SSL). После того как клиент подключился, для каждого запроса сервер проверяет наличие необходимых привилегий.

MySQL осуществляет синтаксический разбор запросов для создания внутренней структуры (дерева разбора), а затем выполняет ряд оптимизаций. В их число входят переписывание запроса, определение порядка чтения таблиц, выбор используемых индексов и т. п. Можно повлиять на работу оптимизатора, включив в запрос специальные ключевые слова-подсказки (hints). Также существует возможность попросить сервер объяснить различные аспекты оптимизации. Это позволит понять, какие решения принимает сервер, и даст отправную точку для изменения запросов, схем и настроек с целью достижения максимальной эффективности работы.

Оптимизатор не интересуется тем, в какой подсистеме хранения данных находится каждая таблица, но подсистема хранения данных влияет на то, как сервер оптимизирует запрос. Оптимизатор запрашивает подсистему хранения данных о некоторых ее возможностях и стоимости определенных операций, а также о статистике по содержащимся в таблицах данным. Например, некоторые подсистемы хранения поддерживают типы индексов, которые могут быть полезными для выполнения определенных запросов [19].

Содержимое приложения, основанного на базе данных, хранится в этой самой базе, откуда затем динамически извлекается для создания веб-страниц, отображаемых в обычном браузере. Таким образом, с одной стороны есть пользователь, который зашел на ваш сайт и запросил страницу с помощью браузера. Браузер при этом ожидает получить в ответ стандартный документ в формате HTML. С другой стороны, есть содержимое приложения, которое хранится в таблицах внутри базы данных MySQL, умеющей отвечать только на SQL-запросы (команды). РНР — обрабатывает запрос страницы и извлекает информацию из базы данных MySQL, используя SQL-запросы. Полученная PHP информация выдается в виде хорошо отформатированной HTML-страницы, которая и была необходима браузеру (рис. 10).

Извлечение данных из MySQL
Рисунок 10 – Извлечение данных из MySQL

Таким образом, когда пользователь заходит на страницу веб-приложения, основанного на базе данных, происходит ряд операций:

— браузер пользователя запрашивает веб-страницу у сервера;

— программное обеспечение веб-сервера распознает запрашиваемый PHP-скрипт и запускает интерпретатор для выполнения кода, содержащегося в соответствующем файле;

— с помощью определенных команд языка PHIP происходит подключение к базе данных MySQL и выполняется запрос содержимого, которое должно находиться на странице [20];

— база данных MySQL посылает в ответ PHP-скрипту запрашиваемое содержимое;

— PHP-скрипт сохраняет содержимое в одной или нескольких переменных, а затем выводит его как часть веб-страницы с помощью выражений echo;

— интерпретатор PHP завершает свою работу, отправляя созданную им копию HTML-документа веб-серверу;

— веб-сервер отправляет браузеру документ, в виде обычного HTML-файла [20].

Для управления MySQL используются команды, которые являются частью стандарта — структурированного языка запросов (Structured Query Language, или SQL). Такие команды называют запросами.

SQL — стандартный язык, который служит для взаимодействия со множеством баз данных. Большая часть команд для разных баз данных выглядит одинаково. MySQL — сервер баз данных, a SQL — язык, с помощью которого происходит взаимодействуете базами данных [20].

Для проектирования базы данных была использована среда MySQL Workbench. Она предназначена для визуального проектирования баз данных и управления сервером mySQL. Для построения моделей предназначена секция Data Modeling.

Функционал программы:

— программа позволяет наглядно представить модель базы данных в графическом виде;

— наглядный, функциональный механизм установки связей между таблицами, в том числе «многие ко многим» с созданием таблицы связей;

— восстановление структуры таблиц из уже существующей на сервере БД (связи восстанавливаются в InnoDB, при использовании MyISAM — связи необходимо устанавливать вручную);

— удобный редактор SQL запросов, позволяющий сразу же отправлять их серверу и получать ответ в виде таблицы;

— возможность редактирования данных в таблице в визуальном режиме.

На рис. 11 показан процесс добавления колонок в таблицу orders.

Рисунок 11 – колонок в таблицу базы данных

Опишем сущности в базе данных и укажем их атрибуты:

— feedback: id_feedback, name, email, phone_number, company_name, subject, message, date;

— furniture: id_furniture, name_of_furniture;

— orders: id, name, email, phone_number, wishes, service, furniture, date;

— service: id_service, name_of_service.

На рис. 12 показана модель базы данных для информационной системы.

Рисунок 12 – Модель базы данных

2.3 Теоретико-экономическое обоснование эффективности разработки

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

В основу определения требуемых объемов ресурсов должны быkb положены:

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

В качестве основных показателей оценки стоимости программной системы используются:

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

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

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

1. Затраты на разработку программного обеспечения, в том числе: затраты на программное обеспечение, на эксплуатацию оборудования, затраты на заработную плату студенту во время выполнения дипломной работы, затраты на заработную плату руководителю дипломной работы и консультантам, затраты на единый социальный налог, затраты на накладные расходы.

2. Затраты на эксплуатацию веб-приложения, в том числе: затраты на обучение (ознакомление) пользователя с данной программой, затраты на эксплуатацию оборудования, затраты на единый социальный налог, затраты на накладные расходы, затраты на годовые амортизационные отчисления.

Рассмотрим более подробно каждый вид затрат:

2.3.1 Расчет затрат на разработку программного обеспечения

Сумма единовременных затрат на разработку программы (затраты на приобретение книжной продукции):

Седин = Слит 1 + Слит 2, (3.1)

где:

Слит — сумма затрат на приобретение книжных пособий.

Слит 1 — Янк К. РНР и MySQL. От новичка к профессионалу, 2013 г.

Слит 2 – Маклафлин Б. PHP и MySQL. Исчерпывающее руководство, 2014 г.

Седин = 1580 +2145 = 3725 руб.

2.3.2 Затраты на эксплуатацию оборудования

Зэкп = П х К, (2.2)

Где: П – стоимость эксплуатации ЭВМ на 1 ч. (включая обслуживание, наладку, потребляемую энергию и т.д.), руб./час;

К – общее количество часов эксплуатации ЭВМ, (3 часа в день, 6 дней в неделю, 12 недель), час.

П = 40 руб./час;

К = 4 х 5 х 12 = 216часов;

Тогда затраты на эксплуатацию оборудования составят:

3экп = 40х216 = 8640 руб.

2.3.3 Расчет фонда заработной платы

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

1. Затраты на заработную плату исполнителю во время выполнения выпускной квалификационной работы

Величина этих затрат ЗПСТ определяется по формуле:

ЗПст ст  х N, (2.3)

Где: Сст – стипендия студента за один месяц, руб.;

N – количество месяцев, отводимое на выполнение дипломной работы.

Сст = 1500 руб.

N = 3.

Следовательно, ЗПст = 1500*3= 4500 руб.

2. Затраты на заработную плату руководителю дипломной работы и консультантам

Величина этих затрат определяется по формуле:

ЗПпр = ЗПрук + ЗПконс.эк + ЗПконс.тб, (2.4)

где: ЗПрук – заработная плата руководителя дипломной работы;

ЗПконс.эк – заработная плата консультанта по экономике;

ЗПконс.тб – заработная плата консультанта по охране труда и тех. безопасности.

2). Заработная плата руководителя дипломной работы:

ЗПрук = (ОТч х Нвр )рук, (2.5)

где: ОТч – почасовая оплата труда преподавателя (руководителя);

Нвр – норма времени на консультацию дипломника.

Почасовая оплата труда преподавателя:

ОТч = ЗП(м) рук / Чотр, (2.6)

где: ЗП(м)рук – заработная плата преподавателя, руб./мес.;

Чотр – число отработанных за месяц часов:

Чотр = Ч(н) отр  х n, (2.7)

где: Ч(н) отр – число отработанных часов в неделю;

n – число недель в месяце.

Ч(н) отр = 40 часов (при восьмичасовом рабочем дне и пятидневной рабочей неделе);

n = 4;

Чотр =40 х 4= 160 часов;

ЗП(м) рук = 12000 руб./мес.

Тогда почасовая оплата труда руководителя будет равна:

ОТч = (ЗП(м) рук ) / Чотр = 12000 / 160 = 75руб.

Норма времени на консультации дипломника руководителем: Нвр = 24 часа

Следовательно, затраты на заработную плату руководителю составят:

ЗПрук = (ОТч х Нвр)рук = 75 х 24 = 1800 руб.

3. Заработная плата консультанта по экономике:

ЗПконс.эк = (ОТч х Нвр)конс.эк, (2.8)

где: ОТч* – почасовая оплата труда консультанта по экономике;

Нвр* – норма времени на консультацию дипломника.

Почасовая оплата труда консультанта по экономике:

ОТч* = ЗП(м) конс.эк / Чотр, (2.9)

где: ЗП(м) конс.эк – заработная плата консультанта по экономике, руб./мес.;

Чотр – число отработанных за месяц часов:

Чотр= Ч(н) отр  х n, (2.10)

где: Ч(н) отр – число отработанных часов в неделю;

n – число недель в месяце.

Ч(н) отр = 36 часов (при шестичасовом рабочем дне и шестидневной рабочей неделе);

n=4;

Чотр= 36 х 4 = 144 часа;

ЗП(м) конс.эк = 6000 руб.

ОТч*= 6000 / 144 = 41,7 руб.

Норма времени Нвр на консультацию дипломника по экономике:

Нвр *= 2 часа

Затраты на заработную плату консультанту по экономике:

ЗПконс.эк = (ОТч*х Нвр *)конс.эк = 41,7 х 2 =83,3 руб.

  • Заработная плата консультанта по охране труда и технике безопасности:

ЗПконс.тб =(ОТч**х  Нвр **)конс.тб, (2.11)

где

ОТч ** – почасовая оплата труда консультанта по охране труда и технике безопасности;

Нвр **– норма времени на консультацию дипломника.

Почасовая оплата труда консультанта по охране труда и технике безопасности:

ОТч**= ЗП(м) конс.тб / Чотр, (2.12)

где: ЗП(м) конс.тб – заработная плата консультанта по охране труда и безопасности, руб./мес.;

Чотр – число отработанных за месяц часов:

Чотр = Ч(н) отр х n, (2.13)

где: Ч(н) отр – число отработанных часов в неделю;

n – число недель в месяце.

Ч(н) отр = 36 часов (при шестичасовом рабочем дне и шестидневной рабочей неделе)

n = 4

Чотр =36 х 4= 144 часа

ЗП(м) конс.тб = 7000 руб.

ОТч**= 7000 / 144=48,6 руб.

Норма времени Нвр ** на консультацию дипломника по охране труда и технике безопасности: Нвр ** = 1,5 часа.

Затраты на заработную плату консультанту по охране труда и технике безопасности:

ЗПконс.тб = (ОТч** х Нвр **)конс.тб = 48,6 х l,5 = 72,9 руб.

Следовательно, затраты на заработную плату руководителю дипломной работы и консультантам составляют:

ЗПпр = ЗПрук +ЗПконс.экз +ЗПконс.тб =1800 + 83,3 + 79,9 = 1963,2 руб.

Единый социальный налог составляет 26 % от затрат на заработную плату студенту и преподавателям:

ЕСН = (ЗПст + ЗПпр) х 0,26 (2.14)

ЕСН = (4500 + 1963,2) х 0,26 = 6463,2 х 0,26 = 1680,4 руб.

Накладные расходы составляют 110% от затрат на заработную плату студенту и преподавателям с отчислением на социальное страхование:

Рн = (ЗПст+ЗПпр+ЕСН) х 1,10

Рн = (4500+1963,2+1680,4) х 1,1 = 8143,6 х 1,1 = 8957,99 руб.

Таблица 5 — Сводная таблица затрат на разработку веб-приложения

Сводная таблица затрат на разработку веб-приложения

Заключение

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

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

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

В результате выполнения выпускной квалификационной работы был разработан сайт для компании «Дом Мебели». Созданный сайт предназначен для упрощения приема заявок из сайта. Создан сайт на основании технологий HTML, CSS, JavaScript, связь с базой данных MySQL реализован средствами языка программирования PHP. На сайте есть возможность для посетителя сайта оставить заявку на получение определенных услуг, после заполнения формы, данные из формы записываются в базу данных. При входе в административную панель есть возможность просмотреть оформленные заявки, а также сформировать выборки заявок за последний день, 3 дня и 7 дней.

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

  1. Вальчевский А. С. Технология системы управления контентом [Электронный ресурс] / А. С. Вальчевский, Е. Б. Никитин // http://belisa.org.by/pdf/PTS2005/219-220.pdf (дата обращения 29.04.2016)
  2. Горнаков С. Г. Осваиваем популярные системы управления сайтом (CMS). – М.: ДМК Пресс, 2009. – 336 с. С. 20 — 31
  3. Грачев А. Создаем свой сайт на WordPress: быстро, легко и бесплатно. Работа с CMS WordPress 3 / А. Грачев — СПб.: Питер, 2011. — 288 с.
  4. Декстер М. Joomla programming: пер. с англ. / М. Декстер, Л. Лэндри. — М.: Вильямс. 2013 — 592 с.
  5. Дж. Мэрриотт. Joomla 3.0. Официальное руководство: пер. с анг. / Дж. Мэрриот, Э. Уоринг. — СПб: Питер. 2013-496 c.
  6. Зашеловский А. Е. Среды разработки программного обеспечения, ориентированные на процессы [Электронный ресурс] / А. Е. Зашеловский, О. Ф. Абрамова. – Режим доступа: http://www.scienceforum.ru/2015/pdf/15128.pdf (дата обращения 18.09.2016).
  7. Каталог сервисов для электронной коммерции. [Электронный ресурс] / Сентябрь 2015 г. Режим доступа: http://www.shopolog.ru/files/shopolog_services_october_2015.pdf (дата обращения 20.09.2016)
  8. Корнилов В. С. Анализ систем управления контентом, используемых в системе образования [Электронный ресурс] / В. С. Коринлов, В. И. Цыганов // Режим доступа: http://www.ido.rudn.ru/vestnik/2013/2013_1/9.pdf (дата обращения 11.10.2016)
  9. Круг С. Как сделать сайт удобным. Юзабилити по методу Стива Круга / С. Круг – СПб.: Питер, 2010. – 208 с.
  10. Курзыбова Я. В. Средства создания динамических web-сайтов: учеб. пособие / Я. В. Курзыбова. – Иркутск: Изд-во ИГУ, 2011. – 121 с.
  11. Масляк Т. А. Анализ методов разработки сайтов / Т. А. Масляк, Т. А. Колесникова // Информационные технологии: наука, техника, технология, образование, здоровье: Тезисы докладов XXIII Международной научно-практической конференции, Ч.IV (20-22 мая 2015 г., Харьков). – С. 230.
  12. Методические указания к выполнению лабораторных работ по дисциплине «Технологии Web-приложений» для студентов очной формы обучения по направлению 09.03.01 «Информатика и вычислительная техника» / Сост. доцент кафедры ИТКС Лелеков С.Г. — Севастополь: Изд-во СГУ, 2015. – 36 с.
  13. Муравьев А. Технические аспекты веб-разработки [Электронный ресурс] / А. Муравьев, А. Григорьев. – Режим доступа: http://netology.ru/files/2930/Технические аспекты веб-разработки.pdf (дата обращения 16.09.2016)
  14. Обзор свободных скриптов для интернет-магазинов [Электронный ресурс] / Компьютерные вести. – 2013. — № 018. – Режим доступа: http://www.kv.by/content/324834-obzor-svobodnykh-skriptov-dlya-internet-magazinov (дата обращения 29.09.2016)
  15. Приступа В. В. Подход к выбору технологии создания динамического сайта [Электронный ресурс] / В. В. Приступа. — Режим доступа: http://www.repository.hneu.edu.ua/jspui/bitstream/123456789/6097/29/sect3_Prystupa.pdf (дата обращения 19.09.2016)
  16. Редактор для создания сайтов —  Adobe Dreamweaver [Электронный ресурс] / Режим доступа: http://archicad-autocad.com/dreamweaver/dreamweaver.html (дата обращения 29.09.2016).
  17. Росс В. С. Создание сайтов: HTML, CSS, PHP, MySQL. Учебное пособие, ч. 2 / В. С. Росс — МГДД(Ю)Т, М. — 2011 – 68 с.
  18. Филлипов С. А. Основы современного веб-программирования: Учебное пособие / С. А. Филлипов. – М.: НИЯУ МИФИ, 2011. – 160 с.
  19. Шварц Б. MySQL. Оптимизация производительности / Б. Шварц и др., 2-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2010. – 832 с.
  20. Янк К. РНР и MySQL. От новичка к профессионалу / Кевин Янк. — М.: Эксмо, 2013. — 384 с.
  21. Atom [Электронный ресурс] / Режим доступа: http://soft.mydiv.net/win/download-Atom.html (дата обращения — 26.09.2016).

Глоссарий

АЛГОРИТМ — последовательность действий, которая приводит к решению поставленной задачи. Алгоритмы для ЭВМ удобнее составлять в виде блок-схемы.

ВЕБ-ДИЗАЙН – проектирование и разработка внешнего вида интернет сайтов и пользовательского интерфейса веб-приложений.

ВЕБ-ПРОГРАММИРОВАНИЕ – направление в программировании, ориентированное на разработку приложений для сети интернет (веб-приложений).

ВЕБ-САЙТ, ИНТЕРНЕТ-САЙТ (Web site) – основной вид ресурсов всемирной паутины, представляющей собой совокупность веб-страниц, созданных на основе языка разметки HTML и объединенных общим доменным именем.

ВЕБ-СЕРВИС, ВЕБ-СЛУЖБА (Web service) – вид программного обеспечения, предоставляющего свою функциональность клиентам на уровне программных интерфейсов, построенных на базе HTTP протокола.

ДАННЫЕ — информация, представленная в такой форме, которую можно распознать автоматическому устройству или человеку.

ИНТЕРПРЕТАТОР — специальная программа, которая последовательно преобразует по смыслу каждый отдельный оператор программы и исполняет его.

КОММЕНТАРИЙ — фрагмент программы, предназначенный для восприятия ее человеком. При вводе в ЭВМ игнорируется.

РЕЛЯЦИОННАЯ БАЗА ДАННЫХ — база данных, основанная на реляционной модели данных.

СИСТЕМА УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ (СУБД) – программное обеспечение (информационная система), осуществляющее весь спектр операций по управлению базами данных, к которым относятся сама организация хранения данных, обработка инструкций SQL, организация резервного копирования, восстановление резервных копий и т.п.

ЯЗЫК ПРОГРАММИРОВАНИЯ — искусственный язык для представления программ в виде, «понятном» ЭВМ.

CSS – Cascading Style Sheets – каскадные таблицы стилей.

ER ДИАГРАММЫ – графическая нотация визуализации данных ER модели.

HTML – HyperText Markup Language – «язык гипертекстовой разметки».

HTTP – HyperText Transfer Protocol – «протокол передачи гипертекста».

IDE – Integrated Development Environment – интегрированная среда разработки.

JAVASCRIPT – встроенный в интернет браузер процедурный язык программирования.

MySQL –  Свободная реляционная система управления базами данных.

PHP – PHP (Personal Home Page): Hypertext Preprocessor.

SQL –  Structured Query Language – «язык структурированных запросов».

Приложение 1

Руководство администратора сайта

  1. Для входа а административную панель необходимо перейти по адресу — http://vashdivan.16mb.com/login.php.
Авторизация на сайте

2. После ввода логина и пароля администратор попадает на страницу где есть возможность просмотра заявок и вопросов от посетителей.

Просмотр заявок и заказов

3. При выборе пункта «Заявки» в отдельной вкладке открывается страница с заявками. На странице выводятся оформленные на сайте заявки. Также есть возможность вывести заявки за последний день, последние 3 и 7 дней.

Просмотр оформленных заявок

4. При выборе пункта «Вопросы» в отдельной вкладке открывается страница с вопросами от посетителей сайта.

Просмотр вопросов от посетителей

5. Для выхода из система на странице http://vashdivan.16mb.com/admin.php необходимо нажать на ссылке «Выйти из админ-панели».

Приложение 2

Веб-приложение создано на основании технологий HTML, CSS, JavaScript, PHP, MySQL.

Средствами HTML, CSS, JavaScript реализован внешний вид сайта. Средствами PHP реализован функционал административной панели, а также связь с базой данных MySQL, в которую записываются данные посетителей после заполнения и отправки форм. Также, средствами PHP реализована возможность просмотра данных из базы данных в административной панели.

Внешний вид сайта

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

Создание формы для оформления заявок
Создание формы для оформления заявок

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

Код обработчика формы на сайте
Код обработчика формы на сайте

Приложение 3

Диск с исходными программными кодами разрабатываемого web-приложения, базой данных, файлов сайта.

Купить данную работу или заказать подобную