МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ

Факультет очного и очно-заочного обучения

ТЕМА

РАЗРАБОТКА ИНТЕРНЕТ-СИСТЕМЫ УПРАВЛЕНИЯ ЗАКАЗАМИ НА ПРЕДПРИЯТИИ МАЛОГО БИЗНЕСА

Автор:

Специальность: Прикладная информатика (в экономике)

Курс: 5

Руководитель: , к. т.н, доцент,

профессор кафедры прикладной информатики

Санкт-Петербург

2011 г.

Введение

В России в настоящее время бурно развивается малый бизнес, растет конкуренция между небольшими предприятиями, предоставляющими различные услуги населению. Поэтому руководители предприятий малого бизнеса все больше обращают внимание на интернет, не только как среду рекламы своих услуг, но и как среду взаимодействия работников между собой и с клиентами с централизованным хранением всей информации в базе данных на web-сайте. Такие системы относятся к классу CRM-систем (Customer Relationship Management System) Существующие CRM-системы ориентированы на достаточно крупные фирмы, а небольшие и несложные по функциональности решения для задач малого бизнеса практически отсутствуют. Кроме этого, стоимость таких систем тоже является непреодолимым барьером на пути автоматизации компании малого бизнеса.

Цель работы – на основе анализа рынка CRM-систем разработать действующую интернет-систему для управления заказами на предприятии малого бизнеса, опираясь на Open Source продукты, распространяемые по бесплатной лицензии.

Основные задачи, решаемые в работе:

1. Выполнен обзор рынка система управления заказами и определена платформа для построения Интернет-системы управления заказами для предприятия малого бизнеса.

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

3. Исследована технология разработки и интеграции новых компонентов с Open Source CMS Joomla.

4. Разработана модель и написан программной код компонента управления заказами для CMS Joomla.

5. Проведен анализ функционирования разработанной системы.

1. Обзор рынка Интернет-систем управления заказами и выбор платформы

Для обзора рынка систем управления заказами (или заявками) (СУЗ) необходимо выделить функционал, который должен присутствовать обязательно, а также дополнительные возможности, которые являются дополнительным плюсом. Так же, стоит отметить, что данный обзор будет производиться через призму потребностей фирмы, занимающейся компьютерным сервисом. Такого плана фирма оказывает услуги по ремонту ПК и ноутбуков, восстановлению, установке и настройке программного обеспечения и другого подобного плана. Данный пример приведен с целью конкретизации критериев отбора и сравнения систем. Но стоит отметить, что бизнес-процессы в такой фирме являются типовыми для фирм малого бизнеса, которые оказывают услуги населению.

Таким образом, необходимый функционал СУЗ будет состоять из следующих функций CRM систем: управление контактами, управление временем, поддержка и обслуживание клиентов и функциональность для высшего руководства. Система управления заявками должна иметь следующие возможности:

·  регистрация заявок на выполнение работы;

·  классификация приходящих заявок, в том числе для назначения исполнителей, категории;

·  отслеживание текущего статуса заявки;

·  протоколирование работ, выполняемых по заявке, а также всех вносимых в нее изменений;

·  разграничение прав доступа к системе;

·  регистрация трудозатрат исполнителей;

·  построение отчетов по исполнению заявок, загрузке исполнителей и т. д.

А также важным критерием при рассмотрении зарубежных разработок является наличие русифицированной версии.

Готовые CRM решения продаются пакетами лицензий, и от этого зависит стоимость такого решения. В среднем базовый пакет на одно рабочее место стоит 4000 рублей. Стоимость уменьшается при закупке большого количества лицензий, в среднем при приобретении более 30 лицензий стоимость лицензии уменьшается до 2500 рублей. Таким образом, для компании с минимум 10 сотрудниками, работающими с системой, покупка лицензий обойдется в 40000 рублей. Так же стоит учитывать, что приобретение такого решения влечет за собой затраты фирмы на обучение сотрудников работы с ней.

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

CMS (от англ. content management system) система управления содержимым (контентом), используемая для организации процесса создания и редактирования страниц на web-сайте. Сегодня на рынке бизнес-инструментов в Интернете представлено немало CMS, на базе которых можно достаточно быстро и легко построить эффективный сайт, способный решать серьезные коммерческие задачи. Выбор CMS определяет не только удобство работы с сайтом, но и сильно влияет на стоимость работ по программированию и способ реализации требуемых функциональных возможностей. CMS это не только редактор страниц сайта, это целая платформа, содержащая модули для решения всевозможных задач, а также имеющая возможность подключения компонентов. Компоненты предназначены для расширения функционала[1].

Сейчас на данном российском рынке есть два крупнейших игрока это бесплатная платформа Joomla! и платная «1С-Битрикс». По данным «Исследования рынка веб-разработок в России », проведенным аналитическим порталом веб-разработок CMS magazine, «1С-Битрикс» занимает первое место, а Joomla! второе по распространенности в России. Обе CMS крупные и широко известны, поэтому и программистов работающих с ними много, их просто найти, и они относительно недорого стоят. Поэтому будем проводить сравнительный анализ только этих двух платформ.

У компании «1С-Битрикс» нет продукта, который бы полностью отвечал заявленным потребностям предприятия малого бизнеса. Есть ряд продуктов с избыточным для данного случая функционалом, и приобретение такого продукта повлечет за собой лишние финансовые затраты как на приобретение, так и на дополнительную настройку продукта под конкретные потребности фирмы. Это сравнимо с затратами на создание нового компонента для Joomla!

Так как фирма по оказанию услуг является небольшой, то стоит выбрать наиболее дешевый вариант, то есть конструктор CMS с бесплатной лицензией. Joomla! – это модульная и расширяемая CMS, основанная на PHP и MySQL. Joomla! является проектом с открытым исходным кодом и распространяется по второй версией лицензии GPL.

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

Каркас Joomla! состоит из полного (всестороннего) набора классов, который обеспечивает основную функциональность всех компонентов системы, в том числе и вновь разрабатываемых. Основные классы – это классы JFactory и JVersion.

Плагины расширяют основную функциональность каркаса Joomla! и предназначены для обработки определенного набора событий.

Уровень прикладных приложений Joomla! расширяет основной класс JApplication за счет приложений, разработанных для управления и выполнения определенных задач. Установка расширений (компонентов, модулей, плагинов, шаблонов и языковых файлов) достигается использованием функциональных возможностей приложения JAdministrator. Приложение JAdministrator предназначено для администрирования Joomla!. Это приложение управляет всеми административными функциями в области администрирования сайта. Приложением, ответственным за создание и вывод страниц в области сайта является JSite.

Для разработки новых расширений в Joomla! 1.6 система пользователя должна удовлетворять основному набору требований. В этом списке приведены минимальные требования:

·  Apache: версии 2.x

·  PHP: версии 5.2.4 +

·  MySQL: версии 5.0.4+

На сегодняшний день не существует расширения для Joomla!, которое обладало бы функционалом СУЗ. Поэтому автором было принято решение разработать такой компонент. Это должно стать типовым решением по внедрению системы управления заявками для небольших фирм, работающих в сфере оказания услуг.

2. Описание и моделирование основного бизнес-процесса

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

·  формирование заявки на оказание услуги;

·  последовательное выполнение сотрудниками компании операций по данной услуге;

·  закрытие заявки по результатам выполненных операций.

Вербальное описание основного бизнес-процесса:

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

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

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

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

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

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

Модель бизнес-процесса ведения управления, учета и анализа заявок была спроектирована с помощью функционально-организованной IDEF - методологии. При этом для создания процессной модели был использован специальный программный продукт CASE-средство BPwin. На рис. 1 представлен верхний уровень модели бизнес-процесса «Вести управление, учет и анализ заявок» в нотации IDEF0. На рис. 2 представлен второй уровень модели бизнес-процесса «Вести управление, учет и анализ заявок» в нотации IDEF0. На рис.3 и рис. 4 представлены диаграмма третьего уровня – результат декомпозиции предыдущего уровня.

Рис.1. Диаграмма верхнего уровня модели бизнес-процесса «Вести управление, учет и анализ заявок»

Рис. 2. Диаграмма второго уровня модели

Рис. 3. Диаграмма третьего уровня модели. Подпроцесс «Управление заявками»

Рис. 4. Диаграмма третьего уровня модели. Подпроцесс «Анализировать деятельность сотрудников»

3. Разработка функциональности пользовательских интерфейсов

В системе предусмотрены следующие роли: «Администратор», «Диспетчер», «Мастер», «Руководитель» и «Зарегистрированный клиент». На рис. 5 – рис. 7 представлены UML-диаграммы функциональности их интерфейсов.

Рис. 5. UML-диаграммы «Администратор» и «Диспетчер»

Рис. 6. UML-диаграммы «Мастер» и «Руководитель»

Рис. 7. UML-диаграммы «Зарегистрированный клиент»

4. Разработка компонента

Для хранения информационных данных любого компонента в Joomla имеется база данных на платформе СУБД MySql. Добавление нового компонента предполагает расширение базы данных набором необходимых таблиц. Дистрибутив компонента включает в себя SQL скрипт, дополняющий базу данных такими таблицами.

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

·  проблемы (jos_problems);

·  категории проблем (jos_category);

·  услуги (jos_services);

·  улицы (jos_streets);

·  пользователи системы (jos_users – использована уже имеющаяся в базе данных Joomla);

·  группы пользователей (jos_usergroups);

·  заказы (jos_orderакты (jos_documents);

·  услуги заказа (jos_doc_serv);

·  акты (jos_akt).

В круглых скобках указаны имена таблиц базы данных в сгенерированном SQL скрипте.

Для написания PHP кода компонента был использован подход, рекомендуемых разработчиками Joomla, что Joomla! - это фремворк, который широко использует патерн MVC (Модель-Вид-Контролер). Model-View-Controller - архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных части, так, что модификация одной из них оказывает минимальное воздействие на другие.

Разработка нового компонента для Joomla основана на методологии описанной в различных источниках, в частности в [8] и официальной документации Joomla.

Для реализации необходимой функциональности были написаны на языке программирования PHP-5 следующие расширения базовых классов Joomla:

·  класс OMSController, расширяющий базовый класс JController, который является классом управления контроллерами (как для административного, так и для публичного интерфейсов);

·  набор классов, расширяющих базовые классы JControllerAdmin, JControllerForm и JModelAdmin, которые задают функциональность административного интерфейса;

·  набор классов, расширяющий базовый класс JView, который обеспечивает работу с базой данных через стандартизованные интерфейсы, а также использованы методы абстрактного класса JDatabase для работы с различными СУБД;

·  для формирования основных элементов интерфейсов (таблиц, ссылок, флажков и т. п.) использованы базовые классы JTable и JHTML;

·  набор функциональных элементов в этих интерфейсах расширен при помощи статических методов из базового класса JToolBarHelper;

·  набор классов, расширяющий базовый класс JModelList, который является основной моделью, ассоциированной с представлением;

·  для локализации компонента на русский язык созданы текстовые файлы language в административном и публичном интерфейсах, при помощи которых метод JText::_ реализует перевод компонента. Метод JText::_ ищет текстовую строку в языковом файле компонента и возвращает переведенную строку. Если компонент нужно перевести на другой язык, все, что нужно сделать - создать языковый файл, включающий строки и их перевод на требуемый язык;

·  установочный XML файл, позволяющий системе Joomla распаковать и правильно интерпретировать все элементы дистрибутива созданного компонента.

Из всех файлов с написанными кодами был сформирован дистрибутивный пакет компонента СУЗ.

5. Анализ функционирования разработанного компонента

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

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

Разработанный компонент устанавливается встроенными механизмами Joomla. Для того чтобы получить доступ к системе необходимо быть зарегистрированным пользователем. И в зависимости от того, к какой группе пользователей принадлежит пользователь, он получает права доступа в системе. За счет стандартного компонента Joomla! 1.6 реализуется настройка прав доступа.

После установки компонента СУЗ в административной панели Joomla этот компонент появляется в списке компонентов (рис. 8).

Рис. 8. Компонент СУЗ в списке компонентов Joomla

Главная страница компонента в административном интерфейсе представлена на рис. 9.

Рис. 9. Главная страница компонента СУЗ в административном интерфейсе (Диспетчера)

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

Рис. 10. Форма просмотра и редактирования заявки

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

Остальные группы пользователей («Диспетчер», «Мастер», «Руководитель» и «Зарегистрированный клиент») работают с компонентом через публичный интерфейс системы.

В качестве примера на рис. 11 – рис. 13 демонстрируется функциональность интерфейса диспетчера.

Рис. 11. Меню диспетчера

Рис. 12. Форма ввода новой заявки диспетчером

Рис. 13. Форма списка заявок

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

Заключение

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

В практической части работы написан программный код основной части компонента. В частности есть возможность:

регистрации заявок на выполнение работы;

классификация приходящих заявок по указанной проблеме;

отслеживание текущего статуса заявки;

протоколирование работ, выполняемых по заявке;

разграничение прав доступа к системе;

регистрация трудозатрат исполнителей и т. д.

По аналогии с описанной частью данную систему можно расширить и улучшить, в том числе с помощью других расширений, таких как рассылка уведомлений, календарь и других.

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

1.  Что такое СИСТЕМЫ CRM/ERP? [Электронный ресурс] <http://www. *****/article1.html>

2.  CRM. Российская практика эффективного бизнес [Электронный ресурс] <http:///book_629.html>

3.  Система управления заказами [Электронный ресурс] <http://*****/node/50>

4.  Решения Летограф в области управления бизнесом [Электронный ресурс] <http://www. *****/letograf/site/solutions/pages/letograf. CRM. html>

5.  Система управлениями заявками (Order Management) в «Сумме Телеком» [Электронный ресурс] <http://www. *****/projects_322.htm>

6.  CMS [Электронный ресурс] <http://neotiran. *****/index. php/web/77-cms/146-cms. html>

7.  Framework/1.6 [Электронный ресурс] http://docs. joomla. org/Framework

8.  Joomla 1.6 [Электронный ресурс] <http:///cms-joomla>

9.  Klas Berlič. Joomla 1.6 caching demystified [Электронный ресурс] <http://www. bzzzz. biz/blog/joomla/joomla-1.6-caching-demistified-jennifer-series. bzzzz>

10.  Сравнительные особенности современных CMS [Электронный ресурс] <http://www. /ru/info/sravnitelnie-osobenosti-mms. html>

11.  Схемы процессов на Joomla! [Электронный ресурс] < http://laurus. su/joomla/osvoenie-joomla-15/glava-2-osnovnye-ponyatiya/37-sxemy-proczessov-na-joomla>

12.  Работа с объектом текущего пользователя [Электронный ресурс] < http://*****/index. php/>

13.  Введение в Модель-Вид-Контролер (MVC) Joomla [Электронный ресурс] <http://*****/development/creating-component/introduction-to-the-model-view-controller>

14.  Developing a Model-View-Controller (MVC) Component for Joomla!1.6 [Электронный ресурс] <http://docs. joomla. org/Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!1.6_-_Part_05>

15.  JTable [Электронный ресурс] <http://api. joomla. org/Joomla-Framework/Table/JTable. html>

16.  Standard form field types [Электронный ресурс] <http://docs. joomla. org/Standard_form_field_types>

17.  Free yourself with Joomla template overrides [Электронный ресурс] <http://www. /joomla-tutorials/joomla-core-tutorials/understand-template-overrides-in-joomla/>

18.  Система "Модель-Вид-Контроллер" [Электронный ресурс] <http://*****/documentation/articles/programmirovanie/1572-mvc-model-view-controller. html>

[1] Источник [6]