Автоматизация бизнес-процессов продажи билетов ООО "Зритель"
Распределение предоставляемых финансовых средств:
Как бы точно ни была рассчитана финансовая потребность проекта, реальная жизнь вносит свои коррективы в априорный план. В этой связи задача распределения финансовых средств возникает независимо от того, какого типа проект выполняется.
Как и для распределения времени на стадии подготовки к проекту можно говорить не о конкретном распределении финансовых средств, а лишь о стратегии. Основная задача здесь заключается в том, чтобы обеспечить максимально быстрое получение первых результатов, т.е., имея в виду объектно-ориентированный подход, необходимо приложить усилия для скорейшего выполнения первой итерации. Причина здесь в том, что только решение конкретных задач проекта (в частности, ближайших задач, являющихся первыми из них) дает основание для предъявления заказчику счета на проведенные работы. До тех пор все затраты, связанные с проектом носят авансовый характер.
Основой стратегии распределения финансовых средств служат календарный план, сетевой график и рассчитанные финансовые потребности проекта. По ним менеджер составляет смету проекта с привязкой затрат к срокам их проведения. Утвержденная смета -- есть фиксированное распределение финансовых ресурсов. Неутвержденная смета требует своего пересмотра, иными словами, перераспределения финансовых ресурсов.
Неутверждённые сметы возможно в трех случаях:
· при обнаружении в ней разного рода ошибок;
· при нарушении общего баланса: суммарные расходы превышают суммарные плановые доходы;
· при локальном (в какие-либо периоды) расхождении предоставляемых средств с объявленной в смете потребностью.
Первый случай неинтересен для рассмотрения: ошибки должны быть исправлены и процедура утверждения сметы повторена. В качестве типичной ошибки менеджера можно указать на нарушение нормативов затрат. Иногда такое нарушение можно обосновать (например, в случае изменения цен на рынке билетов и услуг), и тогда рассмотрение представленной менеджером сметы становится оправданным. В противном случае менеджеру предлагается привести смету в соответствии с принятыми показателями.
Если по смете выходит, что суммарные расходы превышают суммарные плановые расходы (случай 2), то менеджер должен попытаться объяснить руководству причины расхождений и попытаться обосновать предложенный вариант расходов. Если обоснование менеджера принимается, то руководство решает, фирма или заказчик должны нести дополнительные (сверхсметные) расходы. Варианты распределения дополнительных расходов, предлагаемых заказчику, могут быть различными: оплата счетов, включение в итоговые расчеты и т.п. Когда заказчик не соглашается ни на один из вариантов, то либо контракт расторгается, либо дополнительные расходы несет фирма, либо заказ выполняется в сокращенном объеме. Если предусматривается продолжение работ, то от менеджера требуется идентификации ситуаций, в которых проявляется расхождение между объявленной в новой смете потребностью и первоначально выделяемых средств. Таким образом, в указанных условиях случай 2 сводится к случаю 3 или к утверждению новой сметы.
В третьем случае ставится болезненная задача перераспределения ресурсов, найти решение которой необходимо менеджеру. Ниже предлагается один из возможных подходов к перераспределению, согласно которому выполняются следующие шаги:
Выделить работы, которые можно отложить, не нарушая сетевого графика проекта (возможны сдвиги времени планируемого начала работы, изменение фактической продолжительности работы, когда это сокращает ресурсную потребность работы).
Выделить работы, которые можно отложить, c нарушением времени выполнения проекта и за счет этого сократить ресурсную потребность, как это делается на шаге 1. Согласовать с заказчиком перенос сроков.
Выделить части операционных маршрутов сетевого графика, соответствующие работы которых относительно замкнуты и допускают независимую разработку, и оценить их финансовую потребность. Определить наиболее ресурсоемкие из таких частных маршрутов и результирующие работы, выполнение которых не может быть осуществлено без прохождения каждого из них. Установить и согласовать с заказчиком, какими из этих работ можно пожертвовать с незначительной потерей достигаемых целей проекта.
Частный случай предыдущего: произвести переоценку значимости достигаемых целей и соответствующих им работ. Быть может, в проекте чрезмерное внимание уделено демонстрационным задачам, повышению эффективности. Возможно, что проект перегружен за счет работ, ориентированных на переиспользование в будущем. Этот список легко продолжить.
Выделить максимально большую часть работ проекта, которая выполнима при заданном финансировании.
Общий принцип любой стратегии распределения финансов состоит в том, чтобы максимально полно обеспечить финансовую потребность решения ближайших задач проекта.
2.2 Информационное обеспечение задачи
2.2.2 Информационная модель и её описание
Задача использует одну БД, которая размещена вместе с сайтом системы. Ниже (табл. 2.3) приведена таблица наборов данных задачи.
Таблица 2.3.
Перечень и описание структурных единиц входных документов
Наименование структурной единицы
|
Точность числового значения
|
Источник
информации (документ, массив)
|
Идентификатор источника
|
|
Окончательная ведомость
|
|
Дата ведомости
Код билета
Наименование билета
Количество билета
Цена билета
Стоимость билета
|
99.X(8).9999
999999
X(150)
99999999
99999,99
99999999,99
|
Состав
|
Sclad
|
|
|
На рис. 2.6 приведена информационная модель логического уровня БД.
При формулировке требований в БД было определено: БД должна быть свободно переносимой, хранить данные о клиентах, заказах клиентов, характеристиках билетов и обеспечивать некоторые возможности для динамического формирования документа.
При проектировании БД необходимо обеспечить формирование таблиц в порядке от файлов НИИ к оперативным файлам. При заполнении данными файлов, нужно вводить данные в такой же последовательности, то есть, заполнить данными файлы НИИ, а только потом предоставить возможность пользователям наполнять данными файлы оперативной информации.
Рис. 2.6. Информационная модель логического уровня БД
Так как программа реализует учетные функции, то такой экономико-математической модели решения задачи не существует. Но можно выделить некоторые показатели, которые рассчитываются при формировании реестра заказов.
Сумма заказа клиента - складывается из суммы стоимостей билетов, учитывая их количество.
Формула 2.1.
,
где,
Sum - сумма j-го заказа клиента;
Price - цена i-того билета в j-м заказе;
Count - количество i-того билета в j-м заказе;
n - количество разновидностей билетов.
Сумма заказов за день - складывается из общей суммы всех заказов клиентов на определенную дату.
Формула 2.2.
,
где,
Sum - сумма заказов за день;
m - количество заказов за день.
2.2.3 Используемые классификаторы и системы кодирования
Анализируя алгоритм решения задачи можно сказать, что он носит учетный характер. Клиент последовательно проходит этап регистрации, добавление билетов в корзину и регистрацию заказа в БД.
Таблица 2.4.
Описание системы кодировки
Наименование признака
|
Значительность
|
Система кодировки
|
Структура кодового обозначения
|
|
Код покупателя
|
5
|
последовательная
|
99999
|
|
Код билета
|
6
|
последовательная
|
999999
|
|
Код заказа
|
6
|
последовательная
|
999999
|
|
Код вида оплаты
|
1
|
последовательная
|
9
|
|
Код категории билета
|
2
|
последовательная
|
99
|
|
Код характеристики
|
2
|
последовательная
|
99
|
|
|
Алгоритм решения задачи необходим для формирования реестра подтвержденных заказов клиентов, поэтому в программе реализуются методы поддержки ведения справочника клиента и его заказов.
Для решения задачи требуется наличие всех данных о билетах и их характеристиках. Также от СУБД требуется сохранение всех видов целостности БД при функционировании задачи.
Таблица 2.5.
Словарь данных
№
данных
|
Название элемента данных
|
Идентификатор
|
Тип, длина и
точность
|
Назначение
|
|
1.
|
№ платежного поручения
|
Por_id
|
9999
|
Для однозначной идентификации поручений
|
|
2.
|
Банк получателя
|
Por_bnk_pol
|
Х(50)
|
Наименование банка получателя
|
|
3.
|
Банк плательщика
|
Por_bk_plt_naim
|
Х(50)
|
Наименование банка плательщика
|
|
4.
|
Вид оплаты
|
Ps_id
|
Х
|
Код вида оплаты
|
|
5.
|
Дата ведомости
|
vdata
|
99.X(8).9999
|
Для разделения остатков| на дату
|
|
6.
|
Дата получения банком
|
Por_bk_date
|
99.X(8).9999
|
|
|
7.
|
Дата оформления поручения
|
Por_date
|
99.X(8).9999
|
Дата оформления поручения
|
|
8.
|
Дата прайс-листа
|
Pr_date
|
99.X(8).9999
|
Дата прайс-листа
|
|
9.
|
Дата проведения банком
|
Por_bnk_prov
|
99.X(8).9999
|
Дата проведения банком
|
|
10.
|
Дата реестра
|
Re_date
|
99.99.9999
|
Дата реестра
|
|
11.
|
Дебет счета №
|
Por_deb_c
|
Х(14)
|
Дебет счета №
|
|
12.
|
Код банка получателя
|
Por_bnk_pol_id
|
Х(6)
|
Для однозначной идентификации банка
|
|
13.
|
Код банка плательщика
|
Por_plat_bnk_id
|
Х(6)
|
Для однозначной идентификации банка
|
|
14.
|
Код клиента
|
id
|
99999
|
Для однозначной идентификации клиента
|
|
15.
|
Код получателя
|
Por_pol_id
|
Х(14)
|
Для однозначной идентификации получателя
|
|
16.
|
Код плательщика
|
Por_plat_id
|
Х(14)
|
Для однозначной идентификации плательщика
|
|
17.
|
Код билета
|
pr_id
|
999999
|
Для однозначной идентификации
|
|
18.
|
Кредит счета №
|
Por_cred_c
|
Х(14)
|
Кредит счета №
|
|
19.
|
Наименование категории билета
|
Cat_naim
|
X(50)
|
Для различения
|
|
20.
|
Наименование билета
|
name
|
X(150)
|
Для пользователей билетов
|
|
21.
|
Номер заказа
|
o_id
|
99999
|
Для однозначной идентификации заказа
|
|
22.
|
Получатель
|
Por_pol_naim
|
Х(50)
|
Наименование получателя
|
|
23.
|
ФИО клиента
|
fio
|
Х(70)
|
ФИО клиента
|
|
24.
|
Плательщик
|
Por_plat_naim
|
Х(50)
|
Наименование латника
|
|
25.
|
Назначение платежа
|
Por_nazn
|
Х(80)
|
Назначение платежа
|
|
26.
|
Сумма платежа
|
Por_sum
|
99999,99
|
Сумма платежа
|
|
28.
|
Цена билета
|
price
|
99999,99
|
Для оценки остатков|
|
|
29.
|
Наименование характеристики билета
|
Prop_naim
|
X(80)
|
Наименование характеристики билета
|
|
30.
|
Значение характеристики билета
|
Value_
|
X(100)
|
Значение характеристики билета
|
|
|
2.2.4 Характеристика нормативно-справочной, входной и оперативной информации
Таблица 2.6.
Перечень входных и исходных сообщений (документов)
Код документа
|
Название документа
|
Входной или исходный|выходной|
|
|
0805704
|
Окончательная ведомость
|
Входной
|
|
0811301
|
Прайс-лист
|
Выходной
|
|
0811902
|
Реестр подтвержденных заказов
|
Выходной
|
|
0811903
|
Платежное поручение
|
Выходной
|
|
|
Таблица 2.7.
Список входных документов
№
данных
|
Название реквизита
|
Фактический или
рассчитанный
|
Назначение
|
|
1.
|
Стоимость билетов
|
рассчитанный
|
Для оценки остатков|
|
|
2.
|
Дата ведомости
|
фактический
|
Для разделения остатков за датой
|
|
3.
|
Кол-во билетов
|
рассчитанный
|
Для оценки остатков
|
|
4.
|
Код билетов
|
фактический
|
Для однозначной идентификации билетов
|
|
5.
|
Наименование билетов
|
фактический
|
Для покупателей билетов
|
|
6.
|
Цена билетов
|
фактический
|
Для оценки остатков|
|
|
|
2.2.5 Характеристика результатной информации
Таблица 2.8.
Список исходных документов
№
данных
|
Название реквизита
|
Фактический или
рассчитанный
|
Назначение
|
|
1.
|
№ платежного поручения
|
фактический
|
Для однозначной идентификации поручений
|
|
2.
|
№ билета
|
фактический
|
Для однозначной идентификации билета
|
|
3.
|
Банк получателя
|
фактический
|
Наименование банка получателя
|
|
4.
|
Банк плательщика
|
фактический
|
Наименование банка плательщика
|
|
6.
|
Дата получения банком
|
фактический
|
Дата получения банком
|
|
7.
|
Дата оформления поручения
|
рассчитанный
|
Дата оформления поручения
|
|
8.
|
Дата прайс-листа
|
рассчитанный
|
Дата прайс-листа
|
|
9.
|
Дата проведения банком
|
фактический
|
Дата проведения банком
|
|
10.
|
Дата реестра
|
рассчитанный
|
Дата проведения банком
|
|
11.
|
Дебет счета №
|
фактический
|
Дата реестра
|
|
12.
|
Значение характеристики билета
|
фактический
|
Значение характеристики билета
|
|
13.
|
Код банка получателя
|
фактический
|
Для однозначной идентификации банка
|
|
14.
|
Код банка плательщика
|
фактический
|
Для однозначной идентификации банка
|
|
15.
|
Код клиента
|
фактический
|
Для однозначной идентификации клиента
|
|
16.
|
Код получателя
|
фактический
|
Для однозначной идентификации получателя
|
|
17.
|
Код плательщика
|
фактический
|
Для однозначной идентификации плательщика
|
|
18.
|
Кредит счета №
|
фактический
|
Кредит счета №
|
|
19.
|
Наименование производителя
|
фактический
|
Наименование производителя
|
|
20.
|
Наименование категории билета
|
фактический
|
Для различения
|
|
21.
|
Наименование билета
|
фактический
|
Наименование билета
|
|
22.
|
Наименование характеристики билета
|
фактический
|
Наименование характеристики билета
|
|
23.
|
Номер заказа
|
фактический
|
Для однозначной идентификации заказа
|
|
24.
|
Получатель
|
фактический
|
Наименование получателя
|
|
25.
|
ФИО клиента
|
фактический
|
ФИО клиента
|
|
26.
|
Плательщик
|
фактический
|
Наименование латника
|
|
27.
|
Ссылка на сайт производителя
|
фактический
|
Ссылка на сайт производителя
|
|
28.
|
Назначение платежа
|
фактический
|
Назначение платежа
|
|
29.
|
Сумма заказа
|
рассчитанный
|
Сумма заказа
|
|
|
2.2.6 Формализация расчётов показателей
Таблица 2.9.
Формализация таблиц БД и расчет приблизительного объема БД
Таблица
|
Наименование поля
|
Идентификатор поля
|
Тип данных
|
Размер
байт
|
|
BANNER
|
Код баннера
|
B_ID
|
INTEGER
|
4
|
|
|
Файл баннера
|
BANNER_FILE
|
VARCHAR(256)
|
256
|
|
260*8=2080
|
|
CATEGORY
|
Код категории
|
CAT_ID
|
INTEGER
|
4
|
|
|
Наименование категории
|
CAT_NAIM
|
VARCHAR(50)
|
50
|
|
54*10=540
|
|
CUSTOMER
|
Код клиента
|
ID
|
INTEGER
|
4
|
|
|
ФИО клиента
|
FIO
|
VARCHAR(70)
|
70
|
|
|
Адрес клиента
|
ADDRESS
|
VARCHAR(70)
|
70
|
|
|
Телефон
|
TEL
|
VARCHAR(18)
|
18
|
|
|
Дата регистрации
|
REG_DATE
|
DATE
|
4
|
|
|
Адрес электронной почты
|
EMAIL
|
VARCHAR(50)
|
50
|
|
216*30=6480
|
|
MAN
|
Код пользователя
|
ID
|
INTEGER
|
4
|
|
|
Логин
|
LOGIN
|
VARCHAR(20)
|
20
|
|
|
Пароль
|
PASSWORD
|
VARCHAR(20)
|
20
|
|
|
Признак менеджера
|
ADM
|
CHAR(1)
|
1
|
|
45*32=1140
|
|
O_ID
|
Код заказа
|
ID
|
INTEGER
|
4
|
|
|
Дата заказа
|
DAT_ORD
|
DATE
|
4
|
|
|
Адрес заказа
|
ADDRESS
|
VARCHAR(70)
|
70
|
|
|
Вид оплаты
|
PAY_ID
|
INTEGER
|
4
|
|
|
Дата доставки
|
DAT_DOS
|
DATE
|
4
|
|
|
Дата фактическойдоставки
|
DAT_FACT
|
DATE
|
4
|
|
|
Признак подтверждённого заказа
|
APPLIED
|
CHAR(1)
|
1
|
|
91*100=9100
|
|
ORDER_DESC
|
Код заказа
|
O_ID
|
INTEGER
|
4
|
|
|
Код билета
|
PR_ID
|
INTEGER
|
4
|
|
|
Количество
|
QNTY
|
INTEGER
|
4
|
|
12*300=3600
|
|
PRODUCER
|
Код производителя
|
PRDCR_ID
|
INTEGER
|
4
|
|
|
Наименование производителя
|
NAME
|
VARCHAR(50)
|
50
|
|
54*15=810
|
|
PRODUCT
|
Код билета
|
PR_ID
|
INTEGER
|
4
|
|
|
Код категории
|
CAT_ID
|
INTEGER
|
4
|
|
|
Наименование билета
|
NAME
|
VARCHAR(50)
|
50
|
|
|
Файл малого изображения билета
|
IMAGE_SRC
|
VARCHAR(256)
|
256
|
|
|
Цена
|
PRICE
|
NUMERIC(6,2)
|
4
|
|
|
Признак новинки
|
NEW_FLAG
|
CHAR(1)
|
1
|
|
|
Файл большого изображения билета
|
HIGH_IMG_SRC
|
VARCHAR(256)
|
256
|
|
|
Файл описания билета
|
DESCRIPTION_URL
|
VARCHAR(256)
|
256
|
|
|
Код производителя
|
PRDCR_ID
|
INTEGER
|
4
|
|
835*150=125250
|
|
PROD_PROP
|
Код билета
|
PR_ID
|
INTEGER
|
4
|
|
|
Код характеристики билета
|
PROP_ID
|
INTEGER
|
4
|
|
|
Значениехарактеристики
|
VALUE_
|
VARCHAR(100)
|
100
|
|
108*500=54000
|
|
PROPERTY
|
Код характеристики
|
PROP_ID
|
INTEGER
|
4
|
|
|
Код категории билета
|
CAT_ID
|
INTEGER
|
4
|
|
|
Наименование характеристики
|
PROP_NAIM
|
VARCHAR(80)
|
80
|
|
88*150=13200
|
|
SITE
|
Код сайта производителя
|
SITE_ID
|
INTEGER
|
4
|
|
|
Код производителя
|
PRDCR_ID
|
INTEGER
|
4
|
|
|
Ссылка на сайт
|
SITE_URL
|
VARCHAR(256)
|
256
|
|
264*15=3840
|
|
220340 байт
|
|
|
Страницы: 1, 2, 3, 4, 5
|