Файл: Проектирование реализации операций бизнес-процесса «Планирование закупок и размещение заказов поставщикам».pdf
Добавлен: 29.06.2023
Просмотров: 74
Скачиваний: 2
СОДЕРЖАНИЕ
1.1. Выбор комплекса задач автоматизации
1.2. Характеристика существующих бизнес – процессов
1.3. Характеристика документооборота, возникающего при решении задачи
1.4. Обоснование проектных решений по информационному обеспечению
1.5. Обоснование проектных решений по программному обеспечению
2.1. Информационная модель и её описание
2.2. Характеристика нормативно-справочной, входной и оперативной информации
2.3. Характеристика результатной информации
2.4. Общие положения (дерево функций и сценарий диалога)
2.5. Характеристика базы данных
2.6. Структурная схема пакета (дерево вызова программных модулей)
2.6. Структурная схема пакета (дерево вызова программных модулей)
Популярность языка php обусловила появление большого числа фреймворков, основанных на нем. Фреймворк – программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
Для написания информационной системы использовался фреймворк языка php Symfony 2.
Symfony 2 – самый популярный PHP-фреймворк в мире. Он включает в себя весь набор инструментов, используемый для быстрой разработки веб-приложений, и при этом абсолютно ничего не навязывает создаваемому приложению. Разработчик может быстро начать работу, используя дистрибутив Symfony2.
Данный фреймворк работает с подходом к программированию, называемый Model-view-controller (MVC, «модель-представление-контроллер», «модель-вид-контроллер»).
Основная идея данного подхода заключается в разделении данных, их представлениях и обработку действий пользователей на три больших группы:
- Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Объекты данной группы не содержат информации, как эти знания можно визуализировать.
- Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами. Главная задача – представить информацию, хранимой в модели в виде, воспринимаемым пользователем.
- Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Общая схема архитектуры ИС согласно данной парадигмы изображена на рисунке 16.
Рисунок 16. Архитектура ИС (Model-view-controller)
Список разработанных программных модулей и их назначений представлен в таблице 6.
Таблица 6
Программные модули.
Название |
Описание |
routing.yml |
Файл с настройками маршрутов для маршрутизатора Symfony |
InitializableController.php |
Класс контроллера, содержащий общие методы для всех контроллеров ИС, является родительским классов для всех остальных контроллеров |
DefaultContoller.php |
Класс контроллера, содержащий методы для отображения главной страницы системы |
MeasureController.php |
Класс контроллера, содержащий методы для отображения данных и форм о единицах измерения товаров, обработки отправленных форм |
OrderController.php |
Класс контроллера, содержащий методы для отображения данных и форм, предназначенных для создания, просмотра заказов и управления ими |
ProductCategoryController.php |
Класс контроллера, содержащий методы для отображения данных и форм о категориях товаров, обработки отправленных форм |
ProductsController.php |
Класс контроллера, содержащий методы для отображения данных и форм о товарах, обработки отправленных форм |
ProviderController.php |
Класс контроллера, содержащий методы для отображения данных и форм о поставщиках, обработки отправленных форм |
SecurityController.php |
Класс контроллера, содержащий методы и функции, необходимые для реализации функций авторизации, выхода из сайта, управления профилем пользователя |
UsersController.php |
Класс контроллера, содержащий методы для отображения данных и форм о пользователях, обработки отправленных форм |
AbstractEntity.php |
Класс модели, содержащий общие методы для всех классов модели данных ИС, является родительским классов для всех остальных классов модели |
Measure.php |
Класс модели, содержащий атрибуты и методы для работы с объектом единицы измерения |
Notification.php |
Класс модели, содержащий атрибуты и методы для работы с объектом уведомления пользователя |
Order.php |
Класс модели, содержащий атрибуты и методы для работы с объектом заказа покупателя |
OrderComment.php |
Класс модели, содержащий атрибуты и методы для работы с объектом комментария к заказу |
OrderProduct.php |
Класс модели, содержащий атрибуты и методы для работы с объектом товара в заказе |
OrderProvider.php |
Класс модели, содержащий атрибуты и методы для работы с объектом поставщика в списке поставщиков заказа |
OrderProviderComment.php |
Класс модели, содержащий атрибуты и методы для работы с объектом комментария к поставщику в списке поставщиков заказа |
OrderStatus.php |
Класс модели, содержащий атрибуты и методы для работы с объектом статуса заказа |
Product.php |
Класс модели, содержащий атрибуты и методы для работы с объектом товара |
ProductCategory.php |
Класс модели, содержащий атрибуты и методы для работы с объектом категории товара |
Provider.php |
Класс модели, содержащий атрибуты и методы для работы с объектом поставщика |
ProviderPhone.php |
Класс модели, содержащий атрибуты и методы для работы с объектом телефона поставщика |
ProviderProduct.php |
Класс модели, содержащий атрибуты и методы для работы с объектом товара поставщика |
Role.php |
Класс модели, содержащий атрибуты и методы для работы с объектом роли пользователя |
User.php |
Класс модели, содержащий атрибуты и методы для работы с объектом пользователя |
AbstractFormType.php |
Класс формы, родительский для всех классов форм ИС |
LoginFormType.php |
Класс формы авторизации |
MeasureFormType.php |
Класс формы управления единицами измерения |
OrderCommentFormType.php |
Класс формы для отправки комментария к заказу |
OrderEndFormType.php |
Класс формы для реализации завершения заказа |
OrderFilterFormType.php |
Класс формы для реализации фильтра в списке заказов |
OrderFormType.php |
Класс формы для создания и управления заказом |
OrderProviderCommentFormType.php |
Класс формы для отправки комментария к поставщику в списке поставщиков заказа |
ProductCategoryFilterFormType.php |
Класс формы для реализации фильтра в списке категорий товаров |
ProductCategoryFormType.php |
Класс формы управления данными категории товаров |
ProductFilterFormType.php |
Класс формы для реализации фильтра в списке товаров |
ProductFormType.php |
Класс формы управления товарами |
ProfileFormType.php |
Класс формы для реализации работы с профилем пользователя |
ProviderFilterFormType.php |
Класс формы для реализации фильтра в списке поставщиков |
ProviderFormType.php |
Класс формы управления поставщиками |
ProviderPhoneFormType.php |
Класс формы управления телефонами поставщика |
ProviderProductFormType.php |
Класс формы управления товарами поставщика |
ReportFormType.php |
Класс формы для ввода параметров отчета по заказам |
UserFilterFormType.php |
Класс формы для реализации фильтра в списке пользователей |
UserFormType.php |
Класс формы для реализации работы с данными пользователя |
Исходный код всех программных модулей с комментариями представлен в приложении.
2.8. Контрольный пример реализации проекта и его описание
После перехода на адрес ИС открывается страница авторизации (Рисунок 17).
Рисунок 17. Страница авторизации в ИС
После прохождения авторизации открывается страница просмотра уведомлений (Рисунок 18).
Рисунок 18. Страница просмотра уведомлений
Все уведомления сортируются по дате их отправки пользователю. Не просмотренные уведомления выделяются с помощью зажирнения. Также в панели навигации, расположенной слева, отображается количество не просмотренных уведомлений напротив соответствующего пункта меню. Переход между разделами ИС осуществляется с помощью этой панели навигации (Рисунок 19).
Рисунок 19. Панель навигации
Стоит отметить, что пункты меню «Отчеты» и «Пользователи» доступны только Администратору (руководителю отдела закупок).
При переходе в раздел заказы отображается список всех заказов, а также форма для поиска нужного заказа и их фильтрации (Рисунок 20).
Рисунок 20. Страница со списком заказов
Для добавления нового заказа необходимо нажать на кнопку «Добавить заказ», откроется форма добавления нового заказа (Рисунок 21).
Рисунок 21. Форма добавления нового заказа
После создания нового заказа он получает статус «Черновик», и он виден в списке только Администратору. С данным заказом может работать только Администратор. Работа заключается в добавлении в заказ товаров, которые необходимо заказать. Товары добавляются на отдельной вкладке с помощью специальной формы (Рисунок 22).
Рисунок 22. Вкладка добавления товаров в заказ
После добавления всех товаров нужно отправить его в работу выбранному менеджеру по закупкам, для этого необходим нажать кнопку «Отправить в работу», статус заказа меняется на «Новый» (Рисунок 23).
Рисунок 23. Кнопка «Отправить в работу»
При отправке заказа в работу менеджеру, назначенному на заказ, приходит уведомление (Рисунок 24).
Рисунок 24. Уведомление менеджеру о назначении его на заказ
Менеджеру необходимо подтвердить принятие заказа в работу, перейдя в него. Для этого на первой вкладке страницы работы с заказами имеется специальная кнопка «Подтвердить принятие в работу», она отображается только тому пользователю, который был назначен на заказ (Рисунок 25).
Рисунок 25. Кнопка «Подтвердить принятие в работу»
После подтверждения принятия заказа в работу его статус меняется на «В работе».
Для того, чтобы автоматически сформировать список потенциальных поставщиков для заказа необходимо перейти на вкладку «Список поставщиков» и нажать на кнопку «Получить список поставщиков» (Рисунок 26).
Рисунок 26. Вкладка «Список поставщиков»
Системой будет сформировать список потенциальных поставщиков для данного заказа на основании списков товаров, которые поставщики могут поставлять. Подбираются поставщики по совпадениям не только по товару, но и по категориям товаров (например, если нужна определенная модель планшета, то в список потенциальных поставщиков попадут также поставщики, которые имеют хоть один товар из категории «Планшеты»). Список поставщиков сортируется по рейтингу (Рисунок 27).
Рисунок 27. Вкладка «Список поставщиков» с сформированным списком
Для просмотра более подробных данных и добавления комментария необходимо нажать на ссылку «Подробнее» напротив нужного поставщика в списке. Откроется форма работы с поставщиком (Рисунок 28).
Рисунок 28. Форма работы с поставщиком для заказа
На данной форме помимо общей информации по поставщику отображается также и информация по каждому продукту из заказа: цена продукта, размер предоплаты, срок поступления и количество выполненных заказом данным поставщиком с данным товаром. Также имеется возможность отправить комментарий именно к данному поставщику в данном заказе.
В нижней части страницы расположены кнопки, с помощью которых можно выбрать поставщика, или скрыть его из списка. Скрытые поставщики опускаются вниз списка и помещаются зачеркиванием. Выбранный поставщик поднимается, наоборот, в верх списка и выделяется зеленым цветом (Рисунок 29).
Рисунок 29. Выбранный и скрытый поставщик в списке
После того, как в заказе выбран поставщик, кнопки скрытия и выбора поставщиков больше не отображаются, а заказ переходит в статус «Ждет подтверждения». Администратору приходит соответствующее уведомление (Рисунок 30), он должен перейти в заказ и подтвердить выбор менеджера.
Рисунок 30. Уведомление администратору о выборе поставщика
После подтверждения выбора заказ переходит в статус «Поставщик выбран, ждет поставки». Менеджер должен зайти в заказ и сформировать его в виде документа Word.
После того, как по данному заказу товары поступят на предприятие, менеджер должен поставить оценку действия поставщика и оставить комментарий с общим впечатлением о работе с поставщиком. На основании оценки будет пересчитан рейтинг поставщика, а комментарий будет отображаться в истории заказов поставщика.
Естественно, чтобы система корректно формировала список потенциальных поставщиков и выбор нужно поставщика был точным и верным, необходимо ввести данные по поставщикам: как общие первичные данные, так и данные по товарам, которые поставщики могут поставлять. Эти данные вводятся в разделе «Поставщики». При переходе в данный раздел открывается форма со списком поставщиков (Рисунок 40).
Рисунок 40. Список поставщиков
Добавление нового поставщика выполняется с помощью формы, вызываемой нажатием на кнопку «Добавить поставщика». Для открытия формы редактирования данных необходимо нажать на имя поставщика в списке, откроется страница, состоящая из нескольких вкладок: общие данные, список товаров, история заказов (Рисунок 41).
Рисунок 41. Страница работы с данными поставщика
На второй вкладке отображается список товаров поставщика (Рисунок 42).
Рисунок 42. Вкладка «Список товаров»
На третьей вкладке – «Список заказов», выполненных данным поставщиком (Рисунок 43).
Рисунок 43. Вкладка «Список заказов»
Список товаров заполняется на основе данных справочников «Товары», «Категории товаров» и «Единицы измерения». Работа с этими справочниками выполняется в соответствующих разделах. При переходе в раздел открывается форма со списком записей справочника, добавление и редактирование товара выполняется с помощью соответствующей формы. На рисунке 44 приведен пример формы редактирования данных товара.
Рисунок 44. Форма работы с данными товара
Раздел формирования отчетов доступен только Администратору. При переходе в него открывается форма ввода интервала, за который необходимо сформировать отчет (Рисунок 45).
Рисунок 45. Форма для ввода интервала формирования отчета
После ввода интервала и нажатия на кнопку «Получить данные» под формой отображается таблица с результатами построения отчета (Рисунок 46).
Рисунок 46. Результат формирования отчета
ЗАКЛЮЧЕНИЕ
В ходе проделанной работы были решены следующие задачи:
- Была проанализирована текущая организация бизнес-процесса планирования закупок и размещения заказов поставщикам в компании ООО «Протек», были выделены основные этапы выполнения бизнес-процесса, изучен возникающий документооборот;
- Были выбран проектные решения по информационному обеспечению и программному, в качестве языка программирования был выбран php , а в качестве СУБД – Mysql;
- Была составлена информационная модель информационной системы, которая отражает пути преобразования входной информации в выходную;
- Была разработана база данных и программные модули, реализующие работу ИС.
- Был описан контрольный пример реализации проекта.
Таким образом, все задачи, поставленные перед данным курсовым проектом выполнены, а значит и основная цель достигнута.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. ГОСТ 2.105 – 95. Общие требования к текстовым документам.
2. ГОСТ 7.32 – 2001. Отчет по научно-исследовательской работе. Структура и правила оформления.
3. ГОСТ 7.82-2001. Библиографическое описание электронных ресурсов.
4. ГОСТ 24.702-85 Эффективность автоматизированных систем управления.
5. ГОСТ Р 7.0.5-2008. Библиографическая запись. Библиографическое описание.
6. Алистер Коберн, Современные методы описания функциональных требований к системам, М.: издательство "Лори", 2017. – 288 с
9. Дунаев В. HTML, скрипты и стили / В. Дунаев. – Спб. : БХВ-Петербург, 2015. – 816 с.
10. Жадеев А. PHP для начинающих / А. Жадеев. – Спб.: «Питер», 2014. – 592 c.
11. Колисниченко Д. PHP и MySQL. Разработка WEB-приложений / Д. Колисниченков – Спб: БХВ-Петербург, 2013. – 560 с.
12. Конналли Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Коналли, К. Бегг. – М.: Издательский дом «Вильямс», 2013. – 1093 c.
13. Лобова Г. Моделирование и анализ бизнес-процессов SADT. – М.: LAP Lambert Academic Publishing, 2014. – 352 c.