Разработка подсистемы учета товара



Подсистема учета товара позволяет построить отчеты по трем основным задачам:

· Внутреннее перемещение товара;

· Списание товаров;

· Отслеживание остатков на складах.

 

Входные данные:

Множество товаров: Tovar ={ tovari ,}, i = 0,…, L ,

где tovari – i - ый товар;

 i - порядковый номер товара;

L – количество товаров.

tovari =< tovar Num, tovar Name, tovarPrice , isUsable >,

где

tovar Num – номер товара;

tovar Name – название товара;

tovarPrice – цена товара;

isUsable – признак, является ли товар списанным.

Множество складов: Sklad={ skladj }, j =0,…, N ,

где skladj – j - ый склад;

i - порядковый номер склада;

N – количество складов.

skladj =< sklad Num , skladAddress , skladSotrudnik >,

где

sklad Num – номер склада;

skladAddress – адрес склада;

skladSotrudnik – сотрудник скада.

Множество товаров на складе на учетную дату: TovarSklad=< tovar Num, sklad Num , count , date >,

где tovar Num – номер товара;

sklad Num - номер склада;

dount – количество товара;

cate – дата учета.

Action – событие; Action Î {Внутреннее перемещение товаров, Списание товаров, Отслеживание остатков на складах}.

 

Выходные данные:

Отчеты по внутреннему перемещению товара, списанию товара, отслеживанию остатков на складах.

 

Алгоритм:

На основании входных данных формируется список товаров с определенными для каждого случая параметрами.

Если Action

· = Внутреннее перемещение товаров, то входными данными являются множество товаров на складе на учетную дату TovarSklad=< tovar Num, sklad Num , Count , Date >. Оно используется для формирования отчета о внутреннем перемещении товаров между складами, получаемого из множества.

Составление отчета по перемещению товаров осуществляется с помощью функции PeremeshenieTovatov ( TovarSklad , currentDate ), которая в качестве сходных данных использует информацию о множестве товаров на складе на учетную дату и текущую дату формирования отчета.

· = Списание товаров, то входными данными являются множество товаров, у которых параметр isUsable =0. Этот параметр определяет, что товар не является доступным к использованию, что он был списан.

Action = Списание товаров & isUsablei =0 & tovari Î Tovar ® SpisanieTovatov ( tovari ), где SpisanieTovatov ( tovari ) – функция составления отчета по списанным товарам, которая в качестве сходных данных использует информацию о множестве списанных товаров.

· = Отслеживание остатков на складах, то входными данными являются множество товаров на складе на учетную дату TovarSklad=< tovar Num, sklad Num , Count , Date >, где количество товаров больше 0. Оно используется для формирования отчета об остатках на складах.

Action=Отслеживание остатков на складах & Counti >0 ® OstatokTovatov ( TovarSkladi ), где OstatokTovatov ( TovarSkladi ) – функция составления отчета по остаткам на складе, которая в качестве сходных данных использует информацию о множестве товаров, количество которых больше 0.

 

Разработка подсистемы сбыта

Входные данные

Множество товаров на складе на учетную дату: TovarSklad=< tovar Num, sklad Num , count , date >,

где tovar Num – номер товара;

sklad Num - номер склада;

count – количество товара;

date – дата учета.

Выходные данные

Множество товаров на складе на текущую дату: TovarSklad=< tovar Num, sklad Num , count , currentDate >,

где currentDate – текущая дата.

Алгоритм

Учет сбыта товаров осуществляется с помощью функции Sbit ( TovarSklad ), которая учитывает продажи товаров и изменяет остатки на складах.

counti< countj & tovar Numi= tovar Numj & sklad Numi= sklad Numj & datei< currentDate ® Sbit(TovarSkladi)

Разработка подсистемы снабжения

Подсистема снабжения решает три основных задачи:

· Учет заказов поставщикам;

· Учет договоров.

 

Входные данные

Множество поставщиков: Postavshik ={ postavshiki ,}, i = 0,…, K ,

где postavshiki – i - ый поставщик;

 i - порядковый номер товара;

K – количество товаров.

postavshiki =< postavshik Num, postavshik Name, postavshikAddress >,

где

postavshik Num – номер поставщика;

postavshik Name – название поставщика;

postavshikAddress – адрес поставщика.

Множество заказов: Zakaz ={ zakazj }, j = 0,…, P ,

где zakazj – j - ый заказ;

 j - порядковый номер заказа;

P – количество заказов.

zakazj =< zakaz Num, postavshik Num, tovarNum , count, date , docNum >,

где

zakaz Num – номер заказа;

postavshik Num – номер поставщика;

tovarNum – номер товара;

count – количество заказываемого товара;

 date – дата заказа;

docNum – номер договора.

Action – событие; Action Î {Учет заказов поставщикам, Учет договоров}.

 

Выходные данные

Отчеты по учету заказов поставщикам и учету договоров.

Алгоритм

На основании входных данных формируется список договоров с определенными для каждого случая параметрами.

Если Action

· = Учет заказов поставщикам, то входными данными является множество заказов на учетную дату zakaz =< zakaz Num, postavshik Num, tovarNum , count, date , docNum > . Оно используется для формирования отчета по учету заказов поставщикам.

Составление отчета по учету заказов поставщикам осуществляется с помощью функции UchetZakazov ( zakaz , currentDate ), которая в качестве сходных данных использует информацию о множестве заказов на учетную дату и текущую дату формирования отчета.

· = Учет договоров, то входными данными является множество заказов на учетную дату zakaz =< zakaz Num, postavshik Num, tovarNum , count, date , docNum > . Параметр docNum определяет номер договора и однозначно определяет, какой товар был заказан через какого поставщика, его количество и дату заказа.

Action = Учет договоров & docNumi = docNumj & tovari ¹ tovarj

® UchetDogovorov ( zakaz ),

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

 


Дата добавления: 2019-07-17; просмотров: 115; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!