Файл: Разработка информационной системы учёта товаров магазина мелисса.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 624
Скачиваний: 1
СОДЕРЖАНИЕ
Анализ существующих разработок и обоснование выбора технологии проектирования
2 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ
Обоснование проектных решений по информационному
Обоснование проектных решений по программному
Обоснование проектных решений по технологическому
Обоснование выбора программных средств
Используемые классификаторы и системы кодирования
Характеристика первичных документов с нормативно- справочной и входной оперативной информацией
Характеристика даталогической модели БД
Характеристика результатной информации
Характеристика результатных документов
Структурная схема пакета (дерево вызова процедур и
Технологическое обеспечение задачи (комплекса задач, АРМ)
Схема технологического процесса сбора, передачи, обработки и выдачи информации
Целесообразность разработки с экономической точки зрения
Проведем оценку инвестиционного проекта информационной системы по формуле (3.2):
688 с.
-
Послед Б.С. Borland C++ Builder 6. Разработка приложений баз
данных – СПб.: ООО «ДиаСофтЮП», 2003 –320 с.
-
Смирнова Г.Н., Сорокин А.А. Проектирование экономических информационных систем. Учебное пособие. – М.: Высшая школа, 2002. – 428 с. -
Титоренко Г.А. Автоматизированные информационные технологии в экономике: учебное пособие. / Г.А. Титоренко, 2003 г. – 245 с. -
Устав ООО «АгроМир Белгород». -
Федоров Н.В. Проектирование информационных систем на основе современных CASE-технологий: учебное пособие. / Н. В. Федоров.- МГИУ, 2008.-128 с. -
Федорова Е.Н. Теоретические основы программирования: учебное пособие. / Е. Н. Федорова.- МГИУ, 2012.-214 с. -
Фельдман Я.А. Создаем информационную систему / Я.А. Фельдман. – М.: Солон-Пресс, 2007. – 120 c. -
Хомоненко А.Д. Базы данных: учебник для высших учебных заведений, 4-е издание дополненное и переработанное. – СПб.: Корона, 2004.
– 736 с.
-
Хомоненко А.Д., Ададуров С.Е. Работа с базами данных в C++ Builder.-СПб.:БХВ-Петербург, 2006.-496 с. -
Черемных С.В., Семенов И.О., Ручкин В.С. Структурный анализ систем: IDEF-технологии. – М: Финансы и статистика, 2001. – 208 с. -
1С:Предприятие 8. 1С-Логистика:Управление складом 3.0. [Электронный ресурс] Режим доступа: http://solutions.1c.ru/catalog/wms, свободный. -
Основы проектирования реляционных баз данных. [Электронный ресурс] Режим доступа: http://www.intuit.ru/goods_store/ebooks/8322, свободный. -
Ресурсы информационных систем. [Электронный ресурс] Режим доступа: http://www.economica-upravlenie.ru/content/view/204/, свободный. -
Сертифицированные информационные системы [Электронный ресурс] Режим доступа: http://certsys.ru/products/index.php, свободный. -
Фрегат-Склад. [Электронный ресурс] Режим доступа: http://www.audit-it.ru/allsoft/soft.php?id=111290, свободный. -
Solvo.WMS. [Электронный ресурс] Режим доступа: http://www.solvo.ru/products/systems/wms/index.php, свободный.
ПРИЛОЖЕНИЯ
Приложение А
Рисунок А.1 – Схема данных
Приложение Б
Рисунок Б.1 – Диаграмма декомпозиции блока «Приём товара» (IDEF0)
Рисунок Б.2 – Диаграмма декомпозиции блока «Учёт товара» (IDEF0)
Приложение В
Программный код базы данных
Создание таблиц
CREATE TABLE TDOCUMTITLES ( FID BIGINT NOT NULL, FTYPE INTEGER NOT NULL,
FSTATE INTEGER DEFAULT 1 NOT NULL,
FDATE DATE DEFAULT CURRENT_DATE NOT NULL, FTIME TIME DEFAULT CURRENT_TIME,
FPERSON INTEGER,
FUSER INTEGER NOT NULL, FSUMM DECIMAL(15,2));
ALTER TABLE TDOCUMTITLES ADD CONSTRAINT PK_TDOCUMTITLES PRIMARY KEY (FID);
ALTER TABLE TDOCUMTITLES ADD CONSTRAINT FK_TDOCUMTITLES_1 FOREIGN KEY (FTYPE) REFERENCES TDOCUMTYPE (FID);
ALTER TABLE TDOCUMTITLES ADD CONSTRAINT FK_TDOCUMTITLES_2 FOREIGN KEY (FPERSON) REFERENCES TPERSON (FID);
ALTER TABLE TDOCUMTITLES ADD CONSTRAINT FK_TDOCUMTITLES_3 FOREIGN KEY (FUSER) REFERENCES TUSERS (FID);
ALTER TABLE TDOCUMTITLES ADD CONSTRAINT FK_TDOCUMTITLES_4 FOREIGN KEY (FSTATE) REFERENCES TDOCUMSTATE (FID);
CREATE TABLE TDOCUMCONTENT ( FID BIGINT NOT NULL,
FDOCID BIGINT NOT NULL, FDOCTYPE SMALLINT NOT NULL, FGOODSID INTEGER NOT NULL, FAMOUNT NUMERIC(8,3) NOT NULL, FPRICE DECIMAL(15,2),
FSTOREID BIGINT);
ALTER TABLE TDOCUMCONTENT ADD CONSTRAINT PK_TDOCUMCONTENT PRIMARY KEY (FID);
ALTER TABLE TDOCUMCONTENT ADD CONSTRAINT FK_TDOCUMCONTENT_1 FOREIGN KEY (FDOCID) REFERENCES TDOCUMTITLES (FID);
ALTER TABLE TDOCUMCONTENT ADD CONSTRAINT FK_TDOCUMCONTENT_2 FOREIGN KEY (FGOODSID) REFERENCES TGOODS (FID);
ALTER TABLE TDOCUMCONTENT ADD CONSTRAINT FK_TDOCUMCONTENT_3 FOREIGN KEY (FSTOREID) REFERENCES TSTORE (FID);
CREATE TABLE TGOODS (
FID INTEGER NOT NULL,
FGROOP INTEGER DEFAULT 1,
FGOODSNAME VARCHAR(150) DEFAULT 'Новый_товар' NOT NULL, FUNIT INTEGER,
FARTICLE VARCHAR(30), FCOMMENT VARCHAR(30),
FSTATE SMALLINT DEFAULT 1, FAMOUNT NUMERIC(8,3), FPRICE DECIMAL(15,2));
ALTER TABLE TGOODS ADD CONSTRAINT PK_TGOODS PRIMARY KEY (FID); ALTER TABLE TGOODS ADD CONSTRAINT FK_TGOODS_1 FOREIGN KEY (FGROOP) REFERENCES TGROOP (FID);
ALTER TABLE TGOODS ADD CONSTRAINT FK_TGOODS_2 FOREIGN KEY (FUNIT) REFERENCES TUNITS (FID);
CREATE TABLE TPERSON (
FID INTEGER NOT NULL, FTYPE SMALLINT DEFAULT 1,
FGROUP SMALLINT DEFAULT 0 NOT NULL,
FSHORTNAME VARCHAR(30) DEFAULT 'NewPerson' NOT NULL, FFULLNAME VARCHAR(250),
FADDR VARCHAR(250), FADDR2 VARCHAR(250), FPHONE VARCHAR(30), FEMAIL VARCHAR(50), FSCHET VARCHAR(50), FBIK VARCHAR(15), FKPP VARCHAR(15), FINN VARCHAR(12), FOKPO VARCHAR(250), FOGRN VARCHAR(20));
ALTER TABLE TPERSON ADD CONSTRAINT PK_TPERSON PRIMARY KEY (FID); ALTER TABLE TPERSON ADD CONSTRAINT FK_TPERSON_1 FOREIGN KEY (FGROUP) REFERENCES TPERSONGROOP (FID);
CREATE TABLE TSTORE ( FID BIGINT NOT NULL,
FGOODSID INTEGER NOT NULL, FAMOUNT NUMERIC(8,3) NOT NULL, FPRICE DECIMAL(15,2) NOT NULL, FPERSON INTEGER NOT NULL,
FUSER INTEGER DEFAULT 1 NOT NULL);
ALTER TABLE TSTORE ADD CONSTRAINT PK_TSTORE PRIMARY KEY (FID); ALTER TABLE TSTORE ADD CONSTRAINT FK_TSTORE_1 FOREIGN KEY (FGOODSID) REFERENCES TGOODS (FID);
ALTER TABLE TSTORE ADD CONSTRAINT FK_TSTORE_2 FOREIGN KEY (FPERSON) REFERENCES TPERSON (FID);
ALTER TABLE TSTORE ADD CONSTRAINT FK_TSTORE_3 FOREIGN KEY (FUSER) REFERENCES TUSERS (FID);
Создание хранимых процедур
create or alter procedure DOC_EX ( VIN_DOCID bigint not null = 0, VIN_PERSON integer not null = 0, VIN_USER integer not null = 0)
as
declare variable VMY_DOCTYPE smallint; /* тип документа */
declare variable VMY_DOCSTATE smallint; /* состояние документа */
declare variable VMY_GOODSID integer; /* номер товара */
declare variable VMY_AMOUNT double precision; /* количество товара */ declare variable VMY_PRICE decimal(15,2); /* цена товара */
declare variable VMY_PRICE_DISPLAY decimal(15,2); /* отображаемый цена */
declare variable VMY_AMOUNT_DISPLAY double precision; /* отображаемый остаток */ declare variable VMY_LAPCOUNT integer;
declare variable VMY_STOREID integer; /* код товара на складе */ declare variable VMY_SUMM decimal(15,2); /* сумма */
BEGIN VMY_SUMM = 0;
VMY_LAPCOUNT = 0;
/* ПОЛУЧИТЬ ТИП ДОКУМЕНТА */ SELECT FTYPE, FSTATE
FROM TDOCUMTITLES WHERE FID = :VIN_DOCID
INTO :VMY_DOCTYPE, :VMY_DOCSTATE;
/* ПРОВЕРИТЬ СОСТОЯНИЕ ДОКУМЕНТА */ IF (:VMY_DOCSTATE <> 1 ) THEN
EXCEPTION EDOCUMTITLES_ERRSTATEDOC 'Документ уже Проведён или Удалён!';
/*---------- П О С Т У П Л Е Н И Е Т М Ц */
IF (:VMY_DOCTYPE = 1) THEN BEGIN
FOR SELECT FGOODSID, FAMOUNT, FPRICE FROM TDOCUMCONTENT
WHERE (FDOCID = :VIN_DOCID)
INTO :VMY_GOODSID, :VMY_AMOUNT, :VMY_PRICE DO
BEGIN
VMY_LAPCOUNT = (:VMY_LAPCOUNT + 1);
/* РАСЧЕТ СУММЫ */
VMY_SUMM = (:VMY_SUMM + (:VMY_AMOUNT * :VMY_PRICE));
/*----- ПОЛУЧИТЬ ТЕКУЩИЕ ЗНАЧЕНИЯ */
SELECT FAMOUNT, FPRICE FROM TGOODS
WHERE (FID = :VMY_GOODSID)
INTO :VMY_AMOUNT_DISPLAY, :VMY_PRICE_DISPLAY;
/*----- ВСТАВКА НА СКЛАД */
INSERT INTO TSTORE (FGOODSID, FAMOUNT, FPRICE, FPERSON, FUSER) VALUES (:VMY_GOODSID, :VMY_AMOUNT, :VMY_PRICE, :VIN_PERSON,
:VIN_USER);
/*----- ВИЗУАЛЬНЫЕ ИЗМЕНЕНИЯ */
/* РАСЧИТАТЬ НОВОЕ КОЛИЧЕСТВО */
IF (:VMY_AMOUNT_DISPLAY IS NULL) THEN VMY_AMOUNT_DISPLAY = 0;
VMY_AMOUNT = (:VMY_AMOUNT_DISPLAY + :VMY_AMOUNT);
/* РАСЧИТАТЬ НОВУЮ ЦЕНУ */
IF (:VMY_PRICE_DISPLAY IS NOT NULL) THEN
IF ((:VMY_PRICE_DISPLAY = 0) OR ((:VMY_PRICE_DISPLAY <> :VMY_PRICE)))