Автоматизация будет реализована с помощью триггеров.
информационный программный торговля учет
7. Разработка программного обеспечения
Пользователи системы и их роли: оператор, единственный пользователь, организация небольшая и люди, которые в ней работают «боятся» компьютеров. Бухгалтер не может быть оператором, поскольку такая система задумывается как дублирующая его действия, как проверка работы бухгалтера.
ER-Диаграмма
Номенклатура*ИН номенклатуры (1)ТипМарка сталиРазмеры
Приложение*ИН Приложения (1)Номер приложенияПредоплата
Позиция(1)*ИН позицииВесЦенаИН номенклатуры (М)(М) ИН приложения
Счёт*ИН счётаДата оплатыСумма оплатыНомер счётаФактический весИН позиции (М)
Схема БД
PRIL*PRIL_ID INT (1)PRIL_DATE DATEPRIL_NAME CHAR(5)PRIL_PREPAY FLOAT
NOMEN*NOMEN_ID INT (1)NOMEN_TYPE CHAR(5)NOMEN_MARK CHAR(5)NOMEN_SIZE CHAR(5)
BILL*BILL_ID INTBILL_DATE DATEBILL_PAY FLOATBILL_NAME CHAR(5)BILL_W_FACT FLOATPOZ_ID INT (М)
POZ(1)*POZ_ID INTPOZ_W FLOATPOZ_PRICE FLOATNOMEN_ID INT (М)(М) PRIL_ID
Структура базы данных следующая. Начнем с описания сущностей и их атрибутов: приложение, счёт, номенклатуру и позицию.
Атрибуты приложения: дата оплаты, номер приложения, предоплата.
Атрибуты счёта: дата оплаты, сумма оплаты, номер счёта, фактический вес.
Атрибуты номенклатуры: тип, марка стали, размер.
Атрибуты позиции: вес, цена.
В качестве ключевых полей будут выступать их целочисленные идентификаторы.
Программа создания базы данных БД
Реализовывалась база данных в InterBase 6.0. Для написания SQL-скриптов использовалась IB Expert 1.0.
Создание БД
DATABASE "D:\MYBASE.GDB"=1000"SYSDBA" PASSWORD "masterkey";
/*Определение генераторов*/
/*для ИН приложения*/GENERATOR GEN_PRIL_ID;GENERATOR GEN_PRIL_ID TO 0;
/*для ИН счета*/GENERATOR GEN_BILL_ID;GENERATOR GEN_BILL_ID TO 0;
/*для ИН позиции*/GENERATOR GEN_POZ_ID;GENERATOR GEN_POZ_ID TO 0;
/*для ИН номенклатуры*/GENERATOR GEN_NOMEN_ID;GENERATOR GEN_NOMEN_ID TO 0;
Создание справочника номенклатуры
TABLE NOMEN
(_ID INT NOT NULL PRIMARY KEY,_TYPE CHAR(5),_MARK CHAR(5),_SIZE CHAR(5)
);
/*Триггер, генерирующий ИН номенклатуры*/
TERM !! ;TRIGGER NOMEN_ID_KEY FOR NOMENINSERT.NOMEN_ID=GEN_ID(GEN_NOMEN_ID,1);!!TERM; !!
Создание таблицы приложений
TABLE PRIL
(_ID INT NOT NULL PRIMARY KEY,_DATE DATE,_NAME CHAR(5),_PREPAY FLOAT
);
/*Триггер, генерирующий ИН приложения*/
TERM !! ;TRIGGER PRIL_ID_KEY FOR PRILINSERT.PRIL_ID=GEN_ID(GEN_PRIL_ID,1);!!TERM ; !!
/*-----POZ*/TABLE POZ
(_ID INT NOT NULL PRIMARY KEY,_W FLOAT,_PRICE FLOAT,_ID INT,_ID INT,KEY (PRIL_ID) REFERENCES PRIL (PRIL_ID),KEY (NOMEN_ID) REFERENCES NOMEN (NOMEN_ID)
);
Триггер, генерирующий ИН позиции
TERM !! ;TRIGGER POZ_ID_KEY FOR POZINSERT.POZ_ID=GEN_ID(GEN_POZ_ID,1);!!TERM ; !!
Создание таблицы счетов
TABLE BILL
(_ID INT NOT NULL PRIMARY KEY,_DATE DATE,_NAME CHAR(5),_PAY FLOAT,_W_FACT FLOAT DEFAULT '0',_ID INT,KEY (POZ_ID) REFERENCES POZ (POZ_ID)
);
Триггер, генерирующий ИН счета
TERM !! ;TRIGGER BILL_ID_KEY FOR BILLINSERT.BILL_ID=GEN_ID(GEN_BILL_ID,1);!!TERM ; !!
Триггеры для каскадного удаления
TERM !! ;TRIGGER PRIL_ID_DEL FOR PRILDELETEFROM POZ WHERE PRIL_ID=OLD.PRIL_ID;!!TERM ; !!
TERM !! ;TRIGGER POZ_ID_DEL FOR POZDELETEFROM BILL WHERE POZ_ID=OLD.POZ_ID;!!TERM ; !!
Пример программы-заполнителя БД
Соединение с базой данных
DATABASE "D:\MYBASE.GDB""SYSDBA" PASSWORD "masterkey";
Заполнение таблицы номенклатуры
INTO NOMEN (NOMEN_TYPE, NOMEN_MARK, _SIZE)('KRUG', 'AMG', '100');
INTO NOMEN (NOMEN_TYPE, NOMEN_MARK, _SIZE)('KRUG', 'AMG', '150');
INSERT INTO NOMEN (NOMEN_TYPE, NOMEN_MARK,
NOMEN_SIZE)('PLITA', 'AMG6B', '50');
INSERT INTO NOMEN (NOMEN_TYPE, NOMEN_MARK, _SIZE)('LIST', 'AD1N', '1.5');
Заполнение таблицы приложений
INTO PRIL (PRIL_DATE, PRIL_NAME, PRIL_PREPAY)
VALUES ('01-01-2007', 'P1', '100');
INSERT INTO PRIL (PRIL_DATE, PRIL_NAME, PRIL_PREPAY) ('01-02-2007', 'P2', '200');
INTO POZ (POZ_W, POZ_PRICE, NOMEN_ID, PRIL_ID)
VALUES ('5', '20', '1', '1');
INSERT INTO POZ (POZ_W, POZ_PRICE, NOMEN_ID, PRIL_ID)
VALUES ('1', '50', '2', '2');
INSERT INTO POZ (POZ_W, POZ_PRICE, NOMEN_ID, PRIL_ID)
VALUES ('1', '100', '3', '2');
INSERT INTO POZ (POZ_W, POZ_PRICE, NOMEN_ID, PRIL_ID)
VALUES ('1', '150', '4', '2');
Заполнение таблицы счетов
INTO BILL (BILL_DATE, BILL_PAY, BILL_NAME,
BILL_W_FACT, POZ_ID) VALUES ('01-03-2007', '100', 'B1', '5', '1');
INSERT INTO BILL (BILL_DATE, BILL_PAY, BILL_NAME,
BILL_W_FACT, POZ_ID) VALUES ('01-03-2007', '50', 'B1', '1', '2');
INSERT INTO BILL (BILL_DATE, BILL_PAY, BILL_NAME,
BILL_W_FACT, POZ_ID) VALUES ('02-03-2007', '100', 'B2', '1', '3');
INSERT INTO BILL (BILL_DATE, BILL_PAY, BILL_NAME,
BILL_W_FACT, POZ_ID) VALUES ('02-03-2007', '150', 'B2', '1', '4');
Применение выполненных транзакций
;
8. Перечень мероприятий, необходимых для подготовки объекта автоматизации к вводу системы в действие
Инструкция для пользователя не требуется в целях экономии времени. Сразу же после внедрения база данных наполняется и запускается в тестовый режим, целью которого является узнать, всё ли реализовано с помощь приведенной выше структуры БД.
Во-первых, необходимо купить и установить на компьютер программное обеспечение Microsoft Interbase Server минимум 6й версии. Программа не «тяжелая», потребляет немного ресурсов, поэтому запустится и будет функционировать на любом современном ПК.
Затем, нужно создать структуру базы данных. Это делается с помощью скрипта create.sql. Затем пишется скрипт на заполнение таблицы номенклатуры, список которой предоставляет клиент. Затем забиваются таблицы счетов и приложений. После чего первый раз подводятся итоги за весь период.
9. Перспективы дальнейшего развития системы
В дальнейшем программу можно доработать пользовательским интерфейсом и обучить работников из бухгалтерии пользоваться ею. Но это лишь после того, как программа себя зарекомендует и справится с поставленными перед ней заданиями.
Если потребуется, то возможно добавятся новые атрибуты составляющих БД. Это повысит функциональность АС.
Основные выводы по полученным результатам работы
Программа тестировалась мною в период осень-весна 2007 года и полностью справлялась с поставленными задачами.
Список литературы
Стандарты
1.ГОСТ 34.601-90 Информационная технология. Комплекс стандартов на автоматизируемые системы Автоматизированные системы. Стадии создания.
2.ГОСТ 34.601-89 Информационная технология. Комплекс стандартов на автоматизируемые системы Техническое задание на создание автоматизированной системы.
.ГОСТ 34.603-92 Информационная технология. Виды испытаний автоматизированных систем
Книги
1.Вендров А.М. Проектирование программного обеспечения экономических информационных систем. М: «Финансы и статистика», 2000
2.Черемных С.В., Ручкин В.С., Семенов И.О. Структурный анализ систем. IDEF-технологии. М.: Финансы и статистика, 2001
.Калянов Г.Н. Теория и практика реорганизации бизнес-процессов. М.: СИНТЕГ, 2000
.Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. Проектирование экономических информационных систем. М.: Финансы и статистика, 2002
5.Грекул В.И., Денищенко Г.Н., Коровкина Н.Л. Проектирование информационных систем <http://www.intuit.ru/shop/product-2493386.html> Интернет-университет информационных технологий - ИНТУИТ. ру, 2005
.Елиферов В.Г., Репин В.В. Бизнес-процессы: регламентация и управлениеМ.: ИНФРА-М, 2004