Файл: Проектирование реализации операций бизнес-процесса. Планирование закупок и размещение заказов поставщикам.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 68

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Популярность языка в создании web-сайтов определяется наличием большого набора средств предназначенных на разработку web-приложений. Основные из них:

  • автоматически извлекаемые GET и POST -параметров, а также переменных окружения веб-сервера в предопределённые массивы;
  • взаимодействует с очень большим количеством разныхСУБД (MySQL, SQLite,MySQLi, Oracle (OCI8), PostgreSQL, Microsoft SQL Server и пр.);
  • автоматическая отправка HTTP-заголовков;
  • работает с HTTP-авторизацией;
  • работает с сессиями и cookies;
  • работает с удалёнными и локальными файлами, сокетами;
  • обрабатывает файлы, загруженные на сервер;

В качестве системы управления базой данных была выбрана СУБД MySQL.

MySQL – разработка шведской компании MySQL AB. СУБД MySQL является программным обеспечением с открытым исходным кодом, распространяемым по лицензии GNU (GPL) и коммерческой лицензии для ситуаций, не подпадающих под действие лицензии GPL.

MySQL поддерживает реляционную модель данных, т. е. представляет собой реляционную СУБД.

Основные достоинства СУБД MySQL:

  • Высокое качество – MySQL характеризуется устойчивой работой.
  • Наряду с Oracle, MySQL считается одной из самых быстрых СУБД в мире.
  • Открытый код доступен для просмотра и модернизации, что позволяет постоянно улучшать программный продукт.
  • СУБД MySQL, разработанная с использованием языков C/C++, протестирована на многих платформах, среди которых Windows, Linux, FreeBSD, Mac OS X, OS/2, Solaris и др.
  • MySQL поддерживает API (Application Programming Interface, программный интерфейс приложения) для С, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl. MySQL можно успешно применять как для построения Web-страниц с использованием Perl, PHP и Java, так и для работы прикладной программы, созданной с использованием Delphi, Builder C++ или платформы .NET.4
  • СУБД MySQL предоставляет широкий выбор типов таблиц, в том числе и сторонних разработчиков, что позволяет реализовать оптимальную для решаемой задачи производительность и функциональность.
  • Локализация в MySQL выполнена корректно. У пользователя, как правило, не возникает проблем при обработке русского содержимого БД

2 Глава. Проектная часть

2.1. Информационная модель и её описание

Информационной моделью называют схему движения входной, промежуточной и результативной информации и функций предметной области. Также с помощью информационной модели объясняется с помощью каких входных данных (документов) и какой нормативно-справочной информации происходит выполнение основных функций. Информационная модель проектируемой ИС представлена на рисунке 4.


Рисунок 4. Информационная модель

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

2.2. Характеристика нормативно-справочной, входной и оперативной информации

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

Таблица 2

Справочники информационной системы

№ пп

Название справочника

Ответственный за ведение

Средний объём справочника в записях

Среднюю частоту актуализации

Средний объем актуализации, %

1

Пользователи

Администратор

5

1 раз в месяц

20

2

Роль

-

2

-

-

3

Статус заказов

-

4

-

-

4

Единица измерения

Администратор

4

1 раз в год

25

5

Товар

Администратор

1500

1 раз в месяц

2

6

Категория товаров

Администратор

10

1 раз в месяц

10

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

Реквизитный состав каждого справочника представлен в виде таблицы 3.

Таблица 3

Реквизитный состав справочников информационной системы

№ пп

Название справочника

Перечень реквизитов

1

Пользователи

ФИО

логин

пароль

электронная почта

телефон

2

Роль

наименование

3

Статус заказов

наименование

4

Единица измерения

наименование

краткое наименование

5

Товар

наименование

описание

6

Категория товаров

наименование


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

На рисунке 5 изображена форма для работы с записями справочника «Пользователи».

Рисунок 5. Форма Пользователь

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

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

Формы для работы с записями других справочников имеют аналогичный вид (Рисунок 6-8).

Рисунок 6. Форма Единица Измерения

Рисунок 7. Форма Товар

Рисунок 8. Форма Категория товара

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

Рисунок 9. Форма для добавления поставщика

Рисунок 10. Форма для добавления товара поставщика

Рисунок 11. Форма для добавления заказа

Рисунок 12. Форма для добавления комментария

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

2.3. Характеристика результатной информации

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

Подробное описание выходных данных представлено в таблице 4.

Таблица 4

Описание результатной информации

Наименование

Заказ поставщику

Отчет о деятельности сотрудников

Реквизиты

Номер заказа поставщику

Наименование поставщика

Товары в заказе (наименование, количество, стоимость, общая сумма);

Дата формирования;

Ответственный сотрудник.

ФИО сотрудника;

Количество назначенных заказов;

Количество выполненных заказов;

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

Таблицы, на основе которых формируется

Заказы

Поставщики

Товары

Категории

Пользователи

Товары поставщиков

Заказ поставщику

Пользователи

Статусы заказа

Частота формирования

По мере необходимости

По мере необходимости

Способ доставки

Файл в формате Word

Таблица на html-странице


2.4. Общие положения (дерево функций и сценарий диалога)

Базовый набор функций разработанной информационной системы можно изобразить в виде дерева, изображенного на рисунке 13.

Рисунок 13. Дерево функций

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

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

Рисунок 14. Сценарий диалога

После открытия ИС пользователю необходимо пройти авторизацию с помощью логина и пароля.

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

2.5. Характеристика базы данных

В качестве системы управления базой данный для разрабатываемой информационной системы была выбрана СУБД Mysql.

Для хранения всех необходимых данных была спроектирована и создана база данных, состоящая из 6 таблиц. ER-модель спроектированной базы данных представлена на рисунке 15.

Рисунок 15. ER-модель базы данных

Описание всех таблиц базы данных представлено в таблице 5.

Таблица 5

Описание таблиц базы данных

Атрибут

Поле таблицы

Тип данных

Размер

Обязательность значений

Таблица Product (Товар)

Идентификатор

id

integer

4

Да

Название

caption

varchar

255

Да

Описание

description

text

65655

Нет

Цена

price

decimal

10

Да

Категория

categoryid

integer

4

Да

Единица измерения

measureid

Integer

4

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Удален

deleted

tinyint

1

Нет

Таблица Measure (Единица измерения)

Идентификатор

id

integer

4

Да

Наименование

caption

varchar

255

Да

Удален

deleted

tinyint

1

Нет

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Краткое название

short

varchar

255

Да

Таблица ProductCategory (Категории товаров)

Идентификатор

id

integer

4

Да

Наименование

caption

varchar

255

Да

Активна

active

tinyint

1

Нет

Таблица Users (Пользователи)

Идентификатор

id

integer

4

Да

ФИО

userfio

varchar

255

Да

Логин

login

varchar

255

Да

Пароль

password

varchar

255

Да

Телефон

phone

varchar

255

Да

Почта

email

varchar

255

Да

Роль

roleid

int

4

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Таблица Role(Роли)

Идентификатор

id

integer

4

Да

Название

caption

varchar

255

Да

Таблица Orders (Заказы)

Номер

id

integer

4

Да

Статус

statusid

integer

4

Да

Дедлайн

plandate

datetime

10

Да

Дата фактического завершения

factdate

datetime

10

Да

Комментарий

description

varchar

255

Нет

Удален

deleted

tinyint

1

Нет

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

ВИП

vip

tinyint

1

Нет

Сжатые сроки

shorttime

tinyint

1

Нет

Таблица Orderproduct (Товары в заказах)

Идентификатор

id

integer

4

Да

Товар

productid

integer

4

Да

Заказ

orderid

integer

4

Да

Комментарий

comment

varchar

255

нет

Количество

amount

integer

4

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Таблица Ordercomment (Комментарии к заказу)

Идентификатор

id

integer

4

Да

Автор

authorid

integer

4

Да

Заказ

orderid

integer

4

Да

Текст комментария

description

varchar

255

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Таблица Provider (Поставщик)

Идентификатор

id

integer

4

Да

Название

caption

varchar

255

Да

Описание

description

varchar

255

Нет

Адрес

address

varchar

255

Нет

ФИО контактного лица

fio

varchar

255

Нет

Электронная почта

email

varchar

255

Нет

Удален

deleted

tinyint

1

Нет

Активен

active

tinyint

1

Нет

Рейтинг

rate

double

4

Нет

Телефон

phone

Varchar

255

Да

Предоплата по умолч

defaultprepay

integer

4

Да

Срок доставки по умолч

defaultdelivarytime

integer

4

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Таблица Providerproduct (Товары поставщика)

Идентификатор

id

integer

4

Да

Поставщик

providerid

integer

4

Да

Товар

productid

integer

4

Да

Комментарий

comment

varchar

255

Нет

Удален

deleted

tinyint

1

Нет

Активен

active

tinyint

1

Нет

Предоплата

prepay

integer

4

Да

Срок поставки

delivarytime

integer

4

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Таблица OrderStatus (Статусы заказа)

Идентификатор

id

integer

4

Да

Название

caption

varchar

255

Да

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да

Таблица Notifiction (Уведомления)

Идентификатор

id

integer

4

Да

Пользователь

userid

integer

4

Да

Текст

desctiption

varchar

255

Нет

Новое

new

tinyint

1

Нет

Дата создания

createdat

datetime

10

Да

Дата изменения

modifiedat

datetime

10

Да


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

Класс формы для реализации работы с данными пользователя