logo
"Учет поставок товаров" ИС магазина электроники

1.6.1 Общая характеристика задачи

Результаты работы задачи «Учет поставок товаров» ИС магазина электроники предназначены для автоматизации учета поставок товаров от поставщиков для дальнейшей розничной реализации ООО «ТехноШторм».

Целью решения задачи является своевременное и качественное формирование приходных ордеров на поставки для заведующего складом, информирование заведующего снабжением о поставках в виде отчетов, учет поставок на основании приходных и налоговых накладных.

Объектом автоматизации при решении задачи является структурное подразделение - склад.

Пользователь задачи «Учет поставок товаров» - кладовщик.

Задача решается в рабочие дни (понедельник - пятница) с 9 до 18.00 по мере необходимости:

? при поставке новой партии товаров;

? при запросе заведующим складом приходных ордеров;

? при предоставлении статистических отчетов.

Длительность решения данной задачи не должна превышать тридцати минут после поступления запроса.

Решение задачи автоматизированным способом прекращается при:

? неисправности технических средств автоматизированного рабочего мест пользователя;

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

? выявлении компьютерного вируса;

? невозможности аутентификации пользователя задачи (утеря/забывание пароля);

? аварийном отключении электроэнергии.

Для корректного выхода из системы при аварийном отключении электроэнергии предусмотрено устройство беспрерывного питания. Для предотвращения потери данных осуществляется резервное копирование данных.

Для случая выявления компьютерных вирусов и вредоносных программ предусмотрена установка антивирусной программы AVG Free.

Формирование документов, связанных с решением разрабатываемой задачи осуществляется в соответствии с принятыми нормами и законодательством Украины.

Задача «Учет поставок товаров» ИС магазина электроники информационно связана с задачами:

­ «Учет товаров на складе»;

­ «Учет поставщиков товаров»;

­ «Учет контрактов на поставки».

При внесении данных в базу данных ИС магазина электроники пользователь использует определенный комплекс технических средств и соответствующее программное обеспечение. Заполнение полей производится с помощью мыши и клавиатуры, за исключением полей выбора, где можно воспользоваться только мышью для выбора того, или иного значения (это могут быть обычные перечисления и т.д.).

Вся вводимая информация должна отображаться на экране в виде соответствующих видеограмм, а формируемые отчеты при необходимости выводиться на печать. Валидация значений, внесенных пользователем, в максимальном объеме должна осуществляться интерактивно во время заполнения экранных форм.

Выходная информация задачи «Учет поставок товаров» является входной для задач подсистемы «Снабжение» и др. задач подсистемы «Склад».

1.6.1 Выходная информация

Выходная информация задачи «Учет поставок товаров» ИС магазина электроники подается в виде электронных или печатных документов, перечень сообщений и описание которых представлено в таблице 1.1.

Таблица 1.1 - Перечень и описание выходных сообщений задачи

Полное наименование

Идентификатор

Форма представления

Периодичность и срок выдачи

Допустимое время задержки

Получатель информации

Приходный ордер на товары

P_O

Электронная форма, печатный документ, информация в БД

Сразу после оформления поставки

До 1 минуты

Заведующий складом

Отчет «О своевременных поставках»

R_O_D

По запросу

Заведующий снабжением

Отчет «О просроченных поставках»

R_I_D

По запросу

Заведующий снабжением

Отчет «О поставщиках»

R_D

По запросу

Заведующий снабжением

Отчет «О поставленных товарах»

R_P

По запросу

Заведующий складом

Выходная информация задачи предназначена для полного информирования заведующего складом и заведующего снабжением о поставках и всей сопутствующей информацией, в т.ч. отчеты.

Выходные сообщения, которые подаются в виде документов или видеограмм, которые являются электронной копией документа, должны быть отображены в стандартном формате.

Выходное сообщение «Приходный ордер на товары» (P_O) предназначено для информирования заведующего складом о приходе поставки товаров, а также для регистрации товара в системе и формирования отчетности складского учета.

Перечень и описание структурных единиц выходного сообщения «Приходный ордер на товары» (P_O) представлены в таблице 1.2

Таблица 1.2 - Перечень и описание структурных единиц выходного сообщения «Приходный ордер на товары» (P_O)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Номер приходного ордера

ID

Числовой

10

ххххх (например, 10001)

Дата формирования приходного ордера

DATE_APPLY

Дата

10

dd.mm.yyyy (например, 10.06.2016)

Порядковый номер товара

PR_NO

Числовой

10

X… (например, 1)

Наименование товара

PR_NAME

Символьный

100

Xx…(например, «Lenovo...»)

Единицы измерения

ED_IZ

Символьный

10

Xx… (например, «шт.»)

Количество

COUNT

Числовой

10

Xxxx.. (например, 4)

Принял

STOREKEEP

Символьный

100

Ххххх Х.Х. (например, «Петров И.И.»)

Дата прихода товара

DATE_COME

Дата

10

dd.mm.yyyy (например, 10.06.2016)

Выходное сообщение Отчет «О принятых поставках» (R_I_D) предназначен для информирования заведующего снабжением о получении поставок от поставщиков и для контроля выполнения контрактов с поставщиками.

Перечень и описание структурных единиц выходного сообщения отчет «О принятых поставках» (R_I_D) представлены в таблице 1.3

Таблица 1.3 - Перечень и описание структурных единиц выходящего сообщения отчет «О принятых поставках» (R_I_D)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Дата формирования

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период c

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период по

DATE_TO

Дата

10

dd.mm.yyyy (например, 10.06.2016)

Порядковый номер

NO

Числовой

5

х… (например, 2)

Номер приходного ордера

DELIVERY_ID

Числовой

10

ххххх (например, 10045)

Наименование поставщика

DEL_NAME

Символьный

100

Xxxxxx... (например, ТОВ «Осака»)

Выходное сообщение отчет «О просроченных поставках» (R_O_D) предназначен для информирования заведующего снабжением о получении поставок от поставщиков и для планирования новых поставок, для заключения новых контрактов и анализа качества работы поставщиков и принятий решения относительно новых поставок.

Перечень и описание структурных единиц выходного сообщения отчет «О просроченных поставках» (R_O_D) представлены в таблице 1.4

Таблица 1.4 - Перечень и описание структурных единиц выходного сообщения отчет «О просроченных поставках» (R_O_D)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Дата формирования

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период c

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период по

DATE_TO

Дата

10

dd.mm.yyyy (например, 10.06.2016)

Порядковый номер

NO

Числовой

5

х… (например, 2)

Номер приходного ордера

DELIVERY_ID

Числовой

10

ххххх (например, 10045)

Наименование поставщика

DEL_NAME

Символьный

100

Xxxxxx... (например, ТОВ «Осака»)

Выходное сообщение отчет «О поставщиках» (R_D) предназначен для информирования заведующего снабжением о качестве выполнения поставщиками своих обязанностей по контрактам.

Перечень и описание структурных единиц выходного сообщения отчет «О поставщиках» (R_D) представлены в таблице 1.5

Таблица 1.5 - Перечень и описание структурных единиц выходного сообщения отчет «О поставщиках» (R_D)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Дата формирования отчета

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период с

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период по

DATE_TO

Дата

10

dd.mm.yyyy (например, 10.06.2016)

Порядковый номер

NO

Числовой

5

х… (например, 2)

Наименование поставщика

DEL_NAME

Символьный

100

Xxxxxx... (например, ТОВ «Осака»)

Кол-во выполненных поставок

DEL_COUNT

Числовой

10

Ххх (например, 10)

Кол-во просроченных поставок

DEL_O_COUNT

Числовой

10

Ххх (например, 10)

ФИО составившего отчет

STOREKEEPER

Символьный

100

Хххххю Х.Х. (например, Петров И.И.)

Выходное сообщение отчет «О поставленных товарах» (R_P) предназначен для информирования заведующего складом об общем количестве и наименованиях товаров, поставленных за указанный период.

Перечень и описание структурных единиц выходного сообщения отчет «О поставленных товарах» (R_P) представлены в таблице 1.6

Таблица 1.6 - Перечень и описание структурных единиц выходного сообщения отчет «О поставленных товарах» (R_P)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Дата формирования отчета

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период с

DATE_FROM

Дата

10

dd.mm.yyyy (например, 10.06.2016)

За период по

DATE_TO

Дата

10

dd.mm.yyyy (например, 10.06.2016)

Порядковый номер

NO

Числовой

5

х… (например, 2)

Наименование поставщика

DEL_NAME

Символьный

100

Xxxxxx... (например, ТОВ «Осака»)

Наименование товара

PROD_NAME

Символьный

100

Xxxxxx..(например, «Lenovo S320»

1.6.2 Входная информация

Перечень и описание входящих сообщений задачи «Учет поставок товаров» ИС магазина электроники подаются в таблице 1.7

Таблица 1.7 - Перечень и описание входных сообщений задачи

Полное именование

Идентификатор

Форма представления

Временные интервалы и частота получения

Источник

Налоговая накладная

N_N

Документ

По факту прибытия поставки

Курьер поставщика

Расходная накладная

R_N

Документ

По факту прибытия поставки

Курьер поставщика

Перечень и описание структурных единиц входного сообщения «Налоговая накладная» (N_N) представлены в таблице 1.8

Таблица 1.8 - Перечень и описание структурных единиц входного сообщения «Налоговая накладная» (N_N)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Дата оформления налоговой накладной

DATE_APPLY

Дата

8

ddmmyyyy (например, 10062016)

Номер налоговой накладной

ID

Числовой

10

Номер накладной

Перечень и описание структурных единиц входного сообщения «Расходная накладная» (R_N) представлены в таблице 1.9

Таблица 1.9 - Перечень и описание структурных единиц входного сообщения «Расходная накладная» (R_N)

Полное наименование

Идентификатор

Тип информации

Общее количество символов

Формат представления

Наименование поставщика

DEAL_NAME

Символьный

100

Xxx(например, ТОВ «Осака»)

Номер расходной накладной

RAS_ID

Числовой

10

X... (например, 45)

Дата оформления расходной накладной

DATE_APPLY

ДАТА

10

dd.mm.yyyy (например, 10.06.2016)

Номер контракта

CONTRACT_NO

Числовой

10

Xx… (например, 10)

Порядковый номер товара

PR_NO

Числовой

10

X (например, 1)

Наименование товара

PR_NAME

Символьный

100

Xxxxx… (например, « Lenovo...»)

Единицы измерения

ED_IZ

Символьный

10

Xx (например, «шт.»)

Цена

PRICE

Числовой

10

XXX,XX (например, 3456,34)

Количество

COUNT

Числовой

10

Xxxx.. (например, 4)

Сумма

SUMM

Числовой

10

XXX,XX (например, 3456,34)

Итого

TOTAL

Числовой

10

XXX,XX (например, 3456,34)

2. Разработка обеспечивающей части ИС

2.1 Разработка элементов информационного обеспечения задачи «Учет поставок товаров»

Процесс разработки базы данных делится на три этапа:

? концептуальное проектирование - уточнение требований к хранимой информации и их анализ. На данном этапе разрабатывается модель БД, которая далее становится основой для создания реального хранилища данных. Поскольку результатом данного этапа является модель, то никаких требований к аппаратному обеспечению не предъявляется;

? логическое проектирование - на данном этапе на основании созданной ранее модели данных формируется структура БД, ориентированная на определенную СУБД;

? физическое проектирование - этап реализации структуры, сформированной ранее, разграничения доступа к данным [3].

В ходе разработки элементов информационного обеспечения создается реляционная БД, которая является основой для дальнейшей разработки программного обеспечения, схемы функционирования системы и технического обеспечения.

Схема логической модели данных задачи приведена на рисунке 2.1. Она была построена при помощи веб-средства для быстрого прототипирования и разработки схем - draw.io.

Сведения о сущностях приведены в табл. 2.1.

Таблица 2.1 - Сведения о сущностях

Имя таблицы

Определение

dealer

Данные о поставщиках, которая предоставляют товар

contract

Контракты на куплю-продажу товара, которые заключаются с поставщиками

delivery

Поставки товаров от поставщиков

product_delivery

Информация о товарах, пришедших в поставке

product

Каталог товаров

unit

Единицы измерения количества товара

storekeeper

Информация о кладовщиках, зарегистрированных в систем

delivery_date

Информация о сроках поставки

Сведения о связях сущностей представлены в таблице 2.2

Таблица 2.2 - Сведения о связях сущностей

Сущность

Описание связи

Сущность

Вид

1

2

3

4

dealer

Заключает

contract

1:M

delivery

Поставляются по

contract

M:1

delivery

Содержит

product_delivery

1:M

product

Есть в

product_delivery

1:M

product_delivery

Имеет

unit

M:1

storekeeper

Принимает

delivery

1:M

delivery_date

Относится к

contract

M:1

Схема логической модели БД приведена на рис. 2.1.

На основании созданной логической модели данных разрабатывается физическая модель данных БД. Физическая модель данных показывает типы данных атрибутов сущностей. Схема физической модели данных представлена на рисунке 2.2.

Рисунок 2.1 - Схема логической модели БД

Рисунок 2.2 - Схема физической модели БД

В таблице 2.3 приведено описание свойств атрибутов таблиц БД.

Таблица 2.3 - Описание свойств атрибутов

Тип сущности

Атрибут

Описание

Тип данных, длина

Ограничения

Допустимость Null

delivery

id

Уникальный идентификатор поставки

INT (10)

PK

нет

storekeeper_id

Идентификатор кладовщика, принявшего поставку

INT(10)

нет

contract_no

Номер договора поставки

INT (10)

>0

нет

tax_no

Номер налоговой накладной

INT(10)

>0

да

tax_date

Дата оформления налоговой накладной

DATE

да

invoice_no

Номер расходной накладной

INT(10)

>0

нет

invoice_date

Дата оформления расходной накладной

DATE

нет

unit

id

Уникальный идентификатор единиц измерения

INT(10)

PK

нет

name

Наименование единицы измерения

VARCHAR (100)

нет

storekeeper

id

Уникальный идентификатор кладовщика

INT(10)

PK

нет

name

ФИО кладовщика

VARCHAR (100)

нет

email

Почтовый ящик кладовщика

VARCHAR (100)

нет

password

Пароль

VARCHAR(60)

нет

product_delivery

product_id

Идентификатор товара

INT(10)

PK

нет

delivery_id

Идентификатор поставки

INT(10)

PK

нет

count

Количество товара в поставке

INT(10)

>0

нет

price

Цена за единицу товара

FLOAT

>0

нет

unit_id

Идентификатор ед.

INT(10)

нет

2.2 Разработка элементов математического обеспечения задачи «Учет поставок товаров»

Математическое обеспечение задачи «Учет поставок товаров» ИС магазина электроники, представляется алгоритмом решения данной задачи.

Данный алгоритм был разработан с помощью онлайн-сервиса draw.io.

Алгоритм предназначен для описания последовательности действий, для решения задачи [6]. Данный алгоритм применяется для обработки и хранения информации о поставках товаров, а также для просмотра данной информации и формирования, с возможностью вывода на печать, необходимых отчетных документов.

В процессе выполнения работы происходит вывод данных на экран, ввод, редактирование данных и формирования отчетов в двух видах: экранная форма и печатный документ. Такими документами являются:

? отчет «О принятых поставках»;

? отчет «О просроченных поставках»;

? Приходный ордер на товар;

? отчет «О поставщиках»;

? отчет «О доставленных товарах».

Схема алгоритма работы задачи «Учет поставок товаров» ИС магазина электроники представлен на рисунке 2.3.

Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 1

Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 2

Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 3

Рисунок 2.3 - Схема алгоритма работы задачи «Учет поставок товаров», лист 4

2.3 Разработка элементов программного обеспечения задачи «Учет поставок товаров»

Программное обеспечение - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации.

В качестве операционной системы можно использовать любую ОС, в том числе и для мобильных устройств. Рекомендуется Ms Windows 7 ввиду ее распространенности и дружелюбности к пользователям.

В качестве СУБД была выбрана СУБД MySQL 5.6, язык запросов SQL, т.к. решение будет реализовываться в виде веб-решения, а эта СУБД входит в самый популярный стек для разворачивания веб-решений LAMP [5].

MySQL - бесплатная, легковесная, кроссплатформенная и мощная система управления базами данных, которая может работать в разных режимах, на разных ОС и с разными системами хранения данных, в т.ч. InnoDB и MyISAM [3].

Как средство для разработки программы был выбран язык программирования PHP. Выбор обусловлен тем, решение будет веб-базировано, а этот язык занимает доминирующее место в разработке веб-решений.

PHP - язык программирования общего назначения. Язык является C-подобным, то есть имеет схожий стиль, но при этом есть ряд особенностей, среди которых скриптовость, динамическая типизация и не полное следование парадигме ООП [4].

Для начала работы необходимо пройти процедуру аутентификации. Для этого необходимо ввести логин и пароль, и нажать соответствующую кнопку. Экранная форма страницы аутентификации изображена на рисунке 2.4.

Рисунок 2.4 - Экранная форма страницы аутентификации

После успешной аутентификации открывается главная экранная форма программы. Экранная форма главной страницы изображена на рисунке 2.5.

Рисунок 2.5 - Экранная форма главной страницы

У пользователя есть выбор - воспользоваться верхним меню или основным. При выборе пункта «Поставки» пользователь попадает на страницу списка поставок. Экранная форма страницы поставок представлена на рисунке 2.6.

Рисунок 2.6 - Экранная форма страницы «Поставки»

На этой странице есть возможность просмотреть все поставки с учетом фильтров и сортировок по любому из полей. Есть возможность добавить поставку. Экранная форма добавления поставки представлена на рисунке 2.7.

Рисунок 2.7 - Экранная форма страницы «Добавление поставки»

Для добавления еще одной строки в таблицу товаров поставки пользователь должен нажать кнопку «Добавить строку». Пользователь должен ввести все необходимые данные и нажать кнопку «Добавить». После этого пользователь вернется на страницу поставок, где он может выбрать пункт в последнем столбике таблицы «Редактировать поставку». Экранная форма -- это страницы представлена на рисунке 2.8.

Поля и функции страницы анологичны странице добавления поставки, за исключением присутствия в полях формы предыдущих значений. После нажатия кнопки «Сохранить» пользователь возвращается на страницу поставок, где он может сформировать приходный ордер на поставку. Экранная форма страницы предпросмотра сгенерированного приходного ордера представлена на рисунке 2.9.

Рисунок 2.8 - Экранная форма страницы «Редактировать поставку»

Рисунок 2.9 - Экранная форма страницы предпросмотра приходного ордера

На этой странице пользователь может выбрать пункт «Печать» либо же воспользоваться верхним меню для навигации на другие страницы.

Верхнее меню позволяет попасть на страницу «Сгенерировать отчет», экранная форма которой представлена на рисунке 2.10.

Рисунок 2.10 - Экранная форма страницы «Сгенерировать отчет»

После нажатия кнопки «Сгенерировать» пользователь попадет на страницу «Предпросмотр сгенерированного отчета». В зависимости от выбранного типа отчета пользователь увидит он из 4 возможных экранных форм соответственно, которые перечислены на рисунках 2.11-2.14

Рисунок 2.11 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О принятых поставках»

Рисунок 2.12 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О просроченных поставках»

Рисунок 2.13 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О поставщиках»

Рисунок 2.14 - Экранная форма страницы «Предпросмотр сгенерированного отчет» для отчета «О поставленных товарах»

После нажатия кнопки «Печать» отчет уйдет на печать. Для дальнейшей работы и навигации по страницам пользователь может воспользоваться верхним меню.

2.4 Обоснование выбора комплекса технических средств задачи «Учет поставок товаров»

Техническое обеспечение представляет собой комплекс технических средств, обеспечивающих сбор, обработку и хранение информации для пользователей [7].

Для обеспечения функционирования задачи, КТС должен включать:

? Рабочей станции, обеспечивающей работу ОС с возможностью работы с сетью;

? средства ввода данных (манипулятор “мышь”);

? Сервер БД и веб-приложения;

? коммуникационное оборудование (роутер);

? кабельной системы (в случае невозможности реализовать беспроводный Wi-Fi доступ);

? принтер;

? бесперебойные блоки питания для сохранения данных во время аварийного отключения электроэнергии.

В качестве рабочей станции может быть использован персональный компьютер, ноутбук, нетбук, планшет, который может обеспечить нормальную и безотказную работу web-приложения.

Перечень технических средств, установленных в помещении представлен в таблице 2.4

Таблица 2.4 - Спецификация оборудования

Наименование

Характеристика

Сервер

D-C Xeon 2*2.8GHz/800/4Mb 2*512Mb DDR2, HDD 2*73.4Gb SCSI, 1.44, 8 Mb, INTEL SC5300LX, LAN Dual Port

Ноутбук

Lenovo, Intel Core i3

Блок бесперебойного питания

UPS Back Pro King BNT-600 VA, стабилизатор напряжения AVR (152-275V),время перехода на бат. 2-4mS

Принтер

Сanon PIXMA iP2700

Маршрутизатор

TP-LINK TL-WR841N

Количество портов: 4;

LAN-порт: Ethernet 10/100 Мбит/сек