Дипломная работа: Исследование и разработка информационной системы учета сбыта продукции на примере ТОО "GT MACHINERY"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
50
в пользовательском браузере, а язык дает возможность полноценного
программирования с классами, разделениями прав доступа к процедурам. [5]
Далее необходимо выбрать базу, на которой будет строиться каркас. В
данном проекте выбран HTML, поскольку использование XML и прочих
модификаций осложнено подключением технологий объектного проектирования
для веб-проектов. HTML язык гипертекстовой разметки, является на сегодня
самым распространённым, благодаря этому имеется большое количество
справочного материала, а так же фраймворков, шаблонов и модулей
разработанных именно для этого языка.
Так же будут использованы каскадные стили CSS. Что так же является
негласным стандартом в сфере интернета, что обуславливает большое количество
готовых модулей и совместимость практически с любым программным
обеспечением.
В данном проекте будут присутствовать динамические страницы.
Использование динамических страниц красиво и эффектно, но с другой стороны
для работы такого сайта необходим канал с большой пропускной способностью,
иначе загрузка страницы займет большое количество времени. Кроме того с точки
зрения SEO не желательно их использование, поскольку поисковые машины
практически не индексируют такие сайты. В большей степени это коснулось
AJAX. Поэтому наиболее подходящим решением для серьезного проекта является
использование HTML в качестве основы представления, подкрепленной AJAX и
каскадными стилями.
Для обеспечения аутентификации пользователей и работой с БД лучше
использовать, или платформу dot.net (ASP, ASP.NET) или PHP. Выбор между PHP
и ASP.NET обусловлен исключительно возможностями хостинга или сервера.
Стоит отметить, что интерпретатор для платформы .NET в большинстве своем
прерогатива собственного или выделенного сервера, которая стоит денег. На
виртуальном хостинге гораздо проще воспользоваться PHP, веб-проект можно
установить через веб-интерфейс и это требует минимальных усилий.
Оценив преимущества и недостатки приведенных выше языков, выбор пал
на языки HTML для разметки страниц, CSS для оформления страниц,
JavaScript и технологию, базирующуюся на нем AJAX для быстрой работы
51
страницы, для проверки введенных данных на корректность, PHP в качестве
основного веб-языка.[6]
При разработке АИС будет использоваться js-фреймворк jquery.
jQuery - библиотека JavaScript, фокусирующаяся на взаимодействии
JavaScript и HTML. Библиотека jQuery помогает легко получать доступ к любому
элементу DOM, обращаться к атрибутам и содержимому элементов DOM,
манипулировать ими. Также библиотека jQuery предоставляет удобный API для
работы с AJAX. [7]
Возможности:
движок кроссбраузерных CSS-селекторов Sizzle, выделившийся в
отдельный проект;
переход по дереву DOM, включая поддержку XPath как плагина;
события;
визуальные эффекты;
AJAX-дополнения;
JavaScript-плагины.
Точно так же, как CSS отделяет визуализацию от структуры HTML, JQuery
отделяет поведение от структуры HTML. Например, вместо прямого указания на
обработчик события нажатия кнопки, управление передаётся JQuery, которая
идентифицирует кнопки и затем преобразует его в обработчик события клика.
Такое разделение поведения и структуры также называется принципом
ненавязчивого JavaScript.
Библиотека jQuery содержит функциональность, полезную для
максимально широкого круга задач. Тем не менее, разработчиками библиотеки не
ставилась задача совмещения в jQuery функций, которые подошли бы всюду,
поскольку это привело бы к большому коду, большая часть которого не
востребована. Поэтому была реализована архитектура компактного
универсального ядра библиотеки и плагинов. Это позволяет собрать для ресурса
именно ту JavaScript-функциональность, которая на нём была бы востребована.
Так же будет использован фраймворк Bootstap, как было сказано выше.
Bootstrap-это открытая и бесплатная структура HTML, CSS и JS,
используемая веб-разработчиками для быстрого создания адаптивных веб-сайтов.
52
Bootstrap используется не только независимыми разработчиками, но и
целыми компаниями. Основной областью его применения является разработка
интерфейсных компонентов сайтов и интерфейсов администраторов. Среди
подобных систем (Foundation, UIkit, Semantic-UI, и т.д.) Bootstrap является самым
популярным.
Bootstrap-это всего набор файлов CSS и JavaScript. После подключения
файлов к странице можно создать большое количество классов и готовых
компонентов. С их помощью можно быстро и эффективно создавать современный
отзывчивый дизайн сайта.
В качестве PHP-фраймворка был выбран Yii2.
Yii-это высокоэффективная платформа PHP на основе компонентов для
разработки крупных веб-приложений, что позволяет максимизировать
использование кода для повторного использования и значительно ускорить веб-
разработку. Yii означает простой, эффективный и расширяемый.
Возможности Yii2 и особенности:
Yii2 - один из самых быстрых фреймворков;
структура проекта основана на шаблоне MVC;
для работы с базой данных существуют классы DAO и ActiveRecord.
DAO - это набор классов для прямых запросов к базе данных. Классы
ActiveRecord, реализующие подход ORM, где таблица представлена классом, а
записи таблицы являются экземплярами таблицы. DAO и ActiveRecord, работают
через PDO, из этого следует большой список поддерживаемых баз данных:
SQLite, MySQL / MariaDB, PostgreSQL, SQL Server, Oracle, Firebird / Interbase 6 и
другие;
создание базового кода PHP посредством генератора Gii, который
является модулем Yii. Можно создать модель, контроллер или сразу модель,
контроллер и представление для операций CRUD на сущности, таблице. Gii имеет
шаблоны генерации кода, которые могут быть изменены для создания файлов, как
вам нравится;
кэширование страниц и отдельных фрагментов;
поддержка тем;
53
возможность подключения сторонних классов и библиотек. Можно
подключить сторонний CRM, если встроенный не подходит;
можно легко подключить Yii к другому проекту. Необходимо
подключить файлы и создать экземпляр приложения.
миграции баз данных;
поддержка REST;
аутентификация и авторизация. Контроль доступа основан на ролях-
RBAC. Древовидная структура может быть большой. Роль назначается
пользователю. Пользователь может иметь несколько ролей;
перехват и обработка ошибок;
проверка входящих данных, записанных данных;
автоматический контроль;
есть большие возможности, функциональные компоненты и
поведения, расширения модулей;
виджеты, форм, таблиц, jQuery для интеграции дополнительных
функций проверки клиента, ajax-валидации и т.д.
Данный фраймворк был выбран исходя из предыдущего опыта
использования, а так же по причине широкой распространённости. В сети имеется
множество справочного материала, готовых модулей, а так же шаблонов
подходящих для данного материала. Кроме того на сегодняшний момент рынок
изобилует программистами специализирующимися на разработке сайтов на
платформе Yii2, что значительно удешевит последующую доработку сайта, если
таковая потребуется.
Следует выбрать среду разработки проекта (IDE) для языка PHP. Сравнение
IDE приведено в таблице 4.
Таблица 4
Сравнение сред разработки (IDE)
Название
Возможности
Codelobster
PHP Edition
подсветка синтаксиса, автодополнение команд, тегов,
переменных, контекстная и динамическая помощь,
встроенный собственный PHP debugger, автоматическая
54
Название
Возможности
проверка синтаксиса, сворачивание кода, HTML/CSS
инспектор по типу Firebug
PhpStorm
поддержка PHP 5.1 - 5.5, автодополнение кода, поддержка
PHPDoc, проверка кода на лету, поддержка редактирования
шаблонов Smarty, MVC представление для Symfony2 и Yii
фреймворков, распознавание кода, запакованного в PHAR-
архивы
PHP
Development
Tools
сворачивание кода, рефракторинг, генерация кода (методы
доступа к членам класса, мастер классов и интерфейсов),
анализ и исправление кода, поддержка PHP 5, иерархическое
представление классов и методов, отладка PHP-скриптов
Перечислив возможности, которые имеют рассмотренные среды по
создания веб-проектов, следует обратить внимание на то, что для
разрабатываемого веб-проекта требуется автоматическая подстановка
переменных и методов, а также поддержки интеграции с системами контроля
версий (GitHub). Поэтому, выбор пал на среду разработки PhpStorm, которая
после индексации каталога с проектами позволяет обращаться к любому методу
либо переменной, а также поддержка аннотаций PHPDoc позволяет задавать
поведение переменных и методов без написания дополнительных строчек кода.
Использование двух видов дебаггера позволяет выявлять ошибки при разработке
и локализовать их, а встроенный визард среды позволяет генерировать таблицы
БД на основании описания классов.
Так как АИС будет представлять собой веб-приложение, то при его
разработке требуется использовать веб-сервер. Наиболее часто используемые веб-
серверы – это Apache и Nginx.
В наше время существует несколько комплексов программного
обеспечения (ПО), в основе которых лежит необходимый набор программных
средств для разработки веб-приложений на языке PHP, а также включен и веб-
сервер, СУБД. Это комплексы:
1) WAMP;
2) LAMP;
Источник: https://baza.diplomsite.ru/previewfile/8737