Файл: Разработка информационной системы учёта товаров магазина мелисса.docx

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

Категория: Не указан

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

Добавлен: 06.11.2023

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

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

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

СОДЕРЖАНИЕ

ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ

1 АНАЛИТИЧЕСКАЯ ЧАСТЬ

Экономическая сущность задачи

Постановка задачи

задачи

Анализ существующих разработок и обоснование выбора технологии проектирования

Выводы по первой главе

2 ОБОСНОВАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ

обеспечению

Обоснование проектных решений по информационному

обеспечению

Обоснование проектных решений по программному

Обоснование проектных решений по технологическому

Обоснование выбора программных средств

Выводы по второй главе

3 ПРОЕКТНАЯ ЧАСТЬ

Используемые классификаторы и системы кодирования

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

Характеристика даталогической модели БД

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

Характеристика результатных документов

Структурная схема пакета (дерево вызова процедур и

Технологическое обеспечение задачи (комплекса задач, АРМ)

Схема технологического процесса сбора, передачи, обработки и выдачи информации

Целесообразность разработки с экономической точки зрения

Проведем оценку инвестиционного проекта информационной системы по формуле (3.2):

Выводы по третьей главе

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЯ

Приложение Б

Приложение В

Создание таблиц

Создание хранимых процедур

Создание триггеров

Создание генераторов


688 с.

  1. Послед Б.С. Borland C++ Builder 6. Разработка приложений баз

данных СПб.: ООО «ДиаСофтЮП», 2003 –320 с.

  1. Смирнова Г.Н., Сорокин А.А. Проектирование экономических информационных систем. Учебное пособие. – М.: Высшая школа, 2002. – 428 с.

  2. Титоренко Г.А. Автоматизированные информационные технологии в экономике: учебное пособие. / Г.А. Титоренко, 2003 г. – 245 с.

  3. Устав ООО «АгроМир Белгород».

  4. Федоров Н.В. Проектирование информационных систем на основе современных CASE-технологий: учебное пособие. / Н. В. Федоров.- МГИУ, 2008.-128 с.

  5. Федорова Е.Н. Теоретические основы программирования: учебное пособие. / Е. Н. Федорова.- МГИУ, 2012.-214 с.

  6. Фельдман Я.А. Создаем информационную систему / Я.А. Фельдман. – М.: Солон-Пресс, 2007. 120 c.

  7. Хомоненко А.Д. Базы данных: учебник для высших учебных заведений, 4-е издание дополненное и переработанное. СПб.: Корона, 2004.

– 736 с.

  1. Хомоненко А.Д., Ададуров С.Е. Работа с базами данных в C++ Builder.-СПб.:БХВ-Петербург, 2006.-496 с.

  2. Черемных С.В., Семенов И.О., Ручкин В.С. Структурный анализ систем: IDEF-технологии. М: Финансы и статистика, 2001. 208 с.

  3. 1С:Предприятие 8. 1С-Логистика:Управление складом 3.0. [Электронный ресурс] Режим доступа: http://solutions.1c.ru/catalog/wms, свободный.

  4. Основы проектирования реляционных баз данных. [Электронный ресурс] Режим доступа: http://www.intuit.ru/goods_store/ebooks/8322, свободный.

  5. Ресурсы информационных систем. [Электронный ресурс] Режим доступа: http://www.economica-upravlenie.ru/content/view/204/, свободный.

  6. Сертифицированные информационные системы [Электронный ресурс] Режим доступа: http://certsys.ru/products/index.php, свободный.

  7. Фрегат-Склад. [Электронный ресурс] Режим доступа: http://www.audit-it.ru/allsoft/soft.php?id=111290, свободный.

  8. 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)))