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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
45
склада и процесса закупок, а компания не ставила данную задачу перед
разработчиками и это так же повлекло бы дополнительные финансовые затраты.
1.5 Обоснование проектных решений
1.5.1. Обоснование проектных решений по информационному
обеспечению (ИО)
Информационное обеспечение (ИО) — важнейшая обеспечивающая
подсистема АИС, предназначенная для снабжения пользователей информацией,
характеризующей состояние управляемого объекта и являющейся основой для
принятия управленческих решений
Для любой АИС входными данными, либо исходными данными может
являться как один вид информации, так и комбинирование нескольких видов
информации. Существует четыре вида представления информации:
1) текстовая – это различные текстовые данные, такие как сообщения,
электронные книги, статьи, документация, электронная почта и т.д.;
2) графическая – различные снимки, изображения, чертежи;
3) мультимедийная – видео фильмы, видео ролики, презентации и
анимации, музыкальные данные;
4) смешанная – комбинированный вид текстовой, графической и
мультимедийной информации.
Назначение разрабатываемой АИС – различные действия: принятие,
выдачу, обработку, хранение текстовой информации. Все данные будут храниться
в БД.
Исходные данные разрабатываемой АИС представляют собой текстовую
информацию, которая будет заноситься в АИС через клавиатуру и храниться в БД.
Такими исходными данными будут:
данные клиента;
данные о заказе;
данные о товаре;
данные о категории;
данные об услуге;
данные компании;
46
Выходная информация, разумеется, будет формироваться на основании
текстовой информации, которая имеется в БД и представлять собой:
сформированный заказ, содержащий данные о клиенте, товаре,
количество товара и общую стоимость;
отчет о заказах за прошедший период;
план закупок на будущий период;
отчет о чистой прибыли;
Для ввода исходных данные будет использована стандартная экранная
форма, содержащая в себе наименование документа, все необходимые поля, а так
же кнопки подтверждения ввода информации и отмены изменений. На рисунке
ниже представлена форма редактирования информации о компании.
Рисунок 6 – Экранная форма редактирования информации о компании
47
Состав данной экранной формы был определен требованиями Заказчика.
Необходимо было создать окно ввода информации о компании, которая
отображалась бы на странице обратной связи, а так же в шапке и подвале сайта. В
данном проекте информацией о компании были:
логотип;
адрес;
время работы;
телефон;
телефон сотовый;
электронная почта.
Экранная форма представляет собой стандартную экранную форму. В
данном проекте выбрана стандартная экранная форма, которая представляет
собой наименование документа (располагается в верхнем левом углу), список
полей, кнопки подтверждения ввода или отмены (располагаются в нижнем левом
углу). Вся форма выравнена по левому краю. Выбор данного варианта
обуславливается удобством взаимодействия с пользователем, так как данный вид
форм используется практически во всем программном обеспечении и интернет-
платформах.
Форма вывода информации так же является стандартной. Список товаров,
категорий и услуг представляется в виде таблицы с выводом необходимых полей,
так же с кнопками редактировать, просмотреть и удалить. Кнопки располагаются
справа от товара, категории или услуги. Данное представление так же удобно для
использования пользователем, так как видна только необходимая информация о
товаре, категории, услуге и виден весь список товаров, категорий, услуг.
Сайт, а так же вся административная панель используют дизайн
фраймворка Bootstrap, который полностью соответствует требованиям удобства
использования, а так же является наиболее распространённым фраймворком.
Так меню сайта и административной панели располагается вверху, логотип
компании и ссылка на главную страницу в левом верхнем углу. Подвал сайта
располагается внизу и содержит в себе контактную информацию, а так же
дублирует меню сайта.
48
Информационная база так же будет иметь стандартный вид. Она будет
состоять из базы данных и файлов сайта. Файлы сайта будут располагаться в двух
папках frontend и backend, пользовательская часть и административная панель
соответственно. Файлы сайта будут организованы по модели MVC (model-view-
controller). Так файлы представления будут в папке view. Файлы модели,
работающие с базой данных, будут в папке model, а файлы обрабатывающие
данные из базы данных и передающие их в представления в папке controller.
Данная модель организации файлов выбрана по причине удобства в
последующей разработке системы, а так же эта модель является базовой для
большинства фраймворков и наиболее распространена, что важно, так как в
будущем возможна доработка сайта другой командой разработчиков.
1.5.2. Обоснование проектных решений по программному обеспечению
(ПО)
АИС будет разработано в виде веб-приложения, чтобы любой
потенциальный клиент мог ознакомиться с продукцией предприятия и сделать
заказ на сайте.
Анализ начнется с имеющихся на данный момент языков и технологий
создания веб-проектов, количество которых не очень большое, но каждый язык
или технология в чем-то лучше другого и разработан для более узкой цели, чем
другой. Приведем существующие и наиболее часто используемые языки
программирования и технологии:
PHP расшифровывается как препроцессор гипертекста, язык
программирования, деятельность которого направлена на генерацию страницы,
использующую гипертекстовую разметку. На данный момент это одно из
наиболее популярных направлений программирования для интернета: только
русскоязычных сайтов десятки миллионов. Подавляющее большинство хостеров
по умолчанию включает для своих пользователей интерпретатор PHP.
Интерпретатор - программа или аппаратное средство, выполняющее анализ,
обработку и выполнение исходной программы или запроса. Это довольно простой
язык с высокой скоростью выполнения, который позволяет подключать
сторонние модули. Используя PHP и дополнения к нему можно работать с
49
криптографическими алгоритмами, графикой, базами данных и различными
документами. Интерпретаторы PHP на данный момент существуют для всех ОС;
ASP.NET. Продолжение технологии ASP. После значительных изменений
это пакет, схожий с Microsoft ASP, но обладающий значительно большим
функционалом. В целом и общем среда стала частью большого проекта по
развитию интернета. Платформа .NET Framework программная платформа,
выпущенная компанией Microsoft. Основой платформы является исполняющая
среда Common Language Runtime (CLR), способная выполнять как обычные
программы, так и серверные веб-приложения. .NET Framework поддерживает
создание программ, написанных на разных языках программирования. Веб-
проекты, написанные по новой технологии, отличаются более быстрой
компиляцией и выполнением. Кроме того, была значительно переработана
компиляция и исполнение кода между операторами try и catch. Появились новые
элементы управления, что значительно упростило разработку пользовательского
интерфейса;
JSP технология, которая представляет собой страницы, написанные на
языке Java, которые выполняются в большинстве своем непосредственно на
сервере. Существует несколько компиляторов. В случае использования Jasper
первоначальное выполнение заключается в создании высоко оптимизированного
байтового кода, который передается Java-машине на выполнение. Второй вариант
Tomcat сервлет-контейнера. Контейнер сервлетов - программа, представляющая
собой сервер, который занимается системной поддержкой сервлетов и
обеспечивает их жизненный цикл в соответствии с правилами, определёнными в
спецификациях. Tomcat может работать как полноценный самостоятельный веб-
сервер, быть поставщиком страниц для другого веб-сервера, например Apache,
или интегрироваться в Java EE сервер приложений. Tomcat обеспечивает обмен
данными между сервлетом и клиентами, берёт на себя выполнение таких
функций, как создание программной среды для функционирующего сервлета,
идентификацию и авторизацию клиентов, организацию сессии для каждого из
них. Это довольно популярное решение для бизнеса – интернет-магазины,
аукционы и т.д. Оптимизированный код может выполняться на сервере или прямо
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;

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

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