Автоматизация учета произведенной продукции предприятия ООО "Бюро подарков"
Актуальность и значимость процесса автоматизации складского учёта. Характеристика экономической информационной структуры. Обоснование выбора программных и технических средств. Разработка структуры базы данных. Технология создания асинхронных запросов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 14.11.2018 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Вместе с действующими лицами системы, определяя реальные задачи пользователей и рассматривая альтернативные способы решения этих задач, всегда следует анализировать варианты использования. Хорошим источником для идентификации вариантов использования служат внешние события. Для этого необходимо перечислить все происходящие во внешнем мире события, на которые система должна реагировать.
Таким образом, учитывая все возможные внешние события, добавим на диаграмму следующие варианты использования: «Заказ и хранение товара», «Идентификация заказа», «Отмена заказа», «Продажа товара», «Идентификация покупки», «Отказ в продаже», «Формирование справочной информации» и «Доступ к базе данных». Основными вариантами использования являются «Заказ и хранение товара» и «Продажа товара», которые далее будут рассмотрены более подробно.
Полученная в результате последующей детализации диаграмма вариантов использования будет содержать 8 вариантов использования и 3 актеров, между которыми установлены ассоциации отношения зависимости. Диаграмма вариантов использования приведена на рисунке 2.6.
Рисунок 2.6 - Диаграмма вариантов использования
2.2 Техническое предложение на разработку средств автоматизации и постановка задачи
На основании вышеизложенного можно сделать вывод о необходимости разработки собственной автоматизированной системы.
Система, представленная в дипломном проектировании, должна обладать следующими функциональными возможностями:
- наличие высокопроизводительной и безопасной базы данных;
- возможность добавление/удаления/редактирования карточки товара;
- наличие системы аутентификации;
- возможность добавления/удаления товара на склад;
- выдача товара подотчётным лицам;
- создание отчётов по движению товаров на складе;
- получение остатков товаров на складе;
- получение отчётов по движению товаров по каждому подотчётному лицу;
- получение отчётов за заданный интервал времени.
ООО «Бюро подарков» занимается распространением канцелярских товаров в связи с постоянно растущим ассортиментом выпускаемой продукции возникла необходимость в автоматизации работы склада так как работники выполняющие все операции на складе не могли больше быстро и качественно справляться со своими обязанностями при все возрастающем количестве наименований канцелярской продукции и растущем объёме продаваемой канцелярской продукции.
Управление торговыми процессами в ООО «Бюро подарков» основывается на информации, отражающей объем, структуру и динамику поступления, продажи и запасов товаров. Движение информации между ООО «Бюро подарков» и внешней средой (поставщиками, покупателями) осуществляется в форме потоков информации. По отношению к оптовому предприятию различают входные, внутренние и выходные потоки информации (входную, внутреннюю и выходную информацию). От рациональной организации потоков информации оптового предприятия, способов сбора, регистрации, передачи, хранения и обработки информации, ее состава и своевременного получения зависят оперативности и эффективности управления торговыми процессами.
Учёт реализации товаров в оптовой торговле осуществляется по мере отгрузки товаров и предъявления покупателям расчётных документов. Отпуск товаров покупателям осуществляется на основе следующих документов:
- накладных;
- актов приема-передачи;
- счетов-фактур;
- оварно-транспортных накладных;
- железнодорожных и авианакладных.
Общая стоимость реализованных товаров но продажным ценам представляет собой товарооборот. Заказчик (юридическое лицо) делает заявку у менеджера (сбрасывает по факсу или договаривается по телефону) на нужную ему продукцию.
Менеджер выставляет счет на оплату и отсылает заказчику. При наличии товара на складе резервируется необходимое количество. Если товара нет, то оформляется заявка на поставку, где указывается дата составления заявки, фамилия ответственного менеджера, наименование продукции и крайние сроки доставки товаров.
Оформленная заявка поступает в отдел снабжения, где все заявки сортируются в зависимости от товара, от сроков поставки и т.д. и определяется примерная дата поступления товара на склад. Менеджер, имея эти данные, уточняет сроки доставки товара с клиентом Снабженцы выставляют заявки на товар поставщикам, оплачивают выставленные счета и приводят товар, который поступает на склад фирмы. После того, как заказчик оплатил, выставленный ему счет и оплата прошла по банку, компания отправляет продукцию железнодорожным или авиатранспортом, если заказчик сам не может приехать за заказанной продукцией. Работающий с ним менеджер оформляет необходимые документы и отпускает товар.
В настоящее время все предприятия испытывают настоятельную потребность в расширении аналитических работ, связанных с разработкой перспектив развития, комплексной оценкой эффективности применения различных форм хозяйствования, своевременной выработкой оперативных управленческих решений.
При помощи ЭВМ на предприятии ООО «Бюро подарков» должен быть автоматизирован учёт поступления и продажи товаров, учёт расчетов с поставщиками и покупателями, операций по расчетному счету, количественно-суммовой учёт. В общем объеме учётных работ эти задачи имеют значительный удельный вес. Их автоматизация позволяет сократить ручные операции, ускорить обработку информации, повысить точность учёта.
В памяти ЭВМ хранится и может быть выдана на печать детальная информация о количестве поступления и продажи конкретного товара по каждому документу в случае несовпадения наличия запаса с данными машинного учёта. Исходной информацией для учёта являются первичные документы. При ручном учёте, а также частичной автоматизации обработки информации каждое подразделение оптового предприятия (бухгалтерия, отдел закупок и продаж и др.) для выполнения возложенных на них функций вводит в ЭВМ по существу одни и те же данные из первичных документов, на основе которых составляются отчётные и другие выходные документы бухгалтерского, оперативного и статистического учёта.
Создание в каждом подразделении своей собственной информационной базы приводит к многократному дублированию информации, увеличению времени и стоимости ее обработки. Главное назначение автоматизированной системы складского учёта в данном случае - повысить эффективность выполнения основных функций бухгалтера, поскольку, как можно увидеть, функционирование блока выписки связано с очень большим документным и информационным потоком. Кроме того, автоматизированная система призвана улучшить оперативность принятия решений, повысить производительность труда, снизить количество вычислительных ошибок при помощи автоматизации процесса обработки информации, содействовать эффективному и безопасному хранению и доступу к информации.
Целью автоматизированной системы является создание единой информационной сети, позволяющей эффективно хранить, обрабатывать анализировать и использовать информацию по учёту складских операций и реализации продукции. Сотрудники оптовых предприятий более половины рабочего времени .затрачивают на выполнение многочисленных трудоемких учётно-технических операций обработки информации, связанных с оперативным учётом поступления, продажи и запасом товаров.
Выполнение элементарных процедур обработки данных не требует специальных знаний. По мере роста объема информации доля работ возрастает. Это ведёт к уменьшению времени на выполнение таких важных творческих работ, как изучение конъюнктуры торговли, определение потребности в товарах, кош роль, анализ и регулирование поставок и запасов товаров и т.п. Массовые, повторяющиеся операции по оформлению готовых к продаже товаров, ведению оперативного учёта относятся к числу задач, поддающихся формализации и, следовательно, автоматизации.
Автоматизация системы складского учёта требует тщательной проработки состава переменной и постоянной информации. Данные, характеризующие, например, товары, оптовых покупателей (постоянная информация), должны обеспечить как автоматизацию обработки заказов, так и оперативный учёта поступления и продажи товаров.
Каждая отгрузка товаров сопровождается оформлением счета-фактуры типовой формы. Счет-фактура составляется в двух экземплярах, один из которых предоставляется покупателю не позднее 10 дней с момента отгрузки товаров. В программе должны быть все необходимые настройки, полностью автоматизирующие процесс формирования и регистрации входящих и исходящих счетов-фактур.
В системе должен быть классификатор товаров, который не только существенно облегчит поиск нужного товара, но и даст возможность подобрать аналоги, если какой-то товар в данный момент отсутствует.
Автоматизация системы складского учёта в ООО «Бюро подарков» должна повысить оперативность и эффективность управления предприятием, улучшить товароснабжение розничной торговой сети.
2.3 Обоснование выбора программных и технических средств разработки
2.3.1 Веб-сервер
В качестве сервера выбираем HTTP-сервер Apache - a patchy server (англ.), который является полностью свободным (бесплатным).
Apache является кроссплатформенным сервером с поддержкой операционных систем Microsoft Windows, GNU/Linux, FreeBSD, Mac OS, Novell NetWare, BeOS.
Основные достоинства сервера Apache - надёжность и гибкость конфигурации. К серверу подключаются внешние модули для работы с данными, использования СУБД аутентификации пользователя, изменения сообщений об ошибках и т. д. Сервер Apache разрабатывается и поддерживается Apache Software Foundation в рамках проекта свободного ПО Open Source, входит в состав СУБД Oracle и IBM WebSphere.
В настоящее время Apache является самым популярным HTTP-сервером в Интернете - около 50% веб-серверов используют Apache.
Сервер Apache конфигурируется с помощью текстовых конфигурационных файлов, имеет собственный язык конфигурационных файлов на основе блоков директив. Почти все параметры ядра Apache могут быть сконфигурированы с помощью файлов настроек, большая часть модулей имеет собственные параметры.
Некоторые модули сервера использует в своей работе файлы настроек операционной системы (например /etc/passwd и /etc/hosts), кроме того, параметры могут быть заданы через ключи командной строки.
WEB-сервер Apache поддерживает более 400 модулей различного назначения. Некоторые модули разрабатываются Apache Software Foundation, основная часть модулей разрабатывается разработчиками в рамках проекта свободного ПО. Модули могут быть статически включены в состав сервера при компиляции либо динамически загружаться.
2.3.2 Язык программирования
PHP - это язык обработки гипертекста (HTML), используемый на стороне сервера (server side scripting language), конструкции которого вставляются в HTML-текст. В 2003 году вышла версия PHP 5.0 на базе машины Zend Engine 2 (фирма Zend Technologies Ltd), дает возможности для создания полномасштабных приложений, начиная с пятой версии его можно называть объектно-ориентированным. PHP является открытым программным продуктом, что означает его бесплатность и возможность создавать свои собственные расширения языка.
Язык PHP используется примерно на 52% из 14,5 миллионов сайтов, работающих под Apache, который в свою очередь является самым распространенным севером в интернет (по разным оценкам около 70%), популярность которого быстро растет.
PHP является самым молодым, перспективным и быстроразвивающимся из языков программирования для интернет, доля его использования по сравнению с другими языками быстро растет. Его основные преимущества: широкая поддержка различных технологий, совместимость с серверами, базами данных, простота и бесплатность.
PHP позволяет отделить HTML-текст от выполняемой части, за счет чего можно добиться значительного снижения затрат времени на разработку проекта. Во многих случаях удается отделить программную часть проекта от разработки страниц на HTML, что облегчает жизнь и дизайнеру, и программисту. Почти всегда окажется, что скорость продвижения проектов, создаваемых на PHP будет выше, чем при использовании других языков программирования.
2.3.3 База данных
Ниже приведено описание важных характеристик программного обеспечения базы данных MySQL.
Внутренние характеристики и переносимость
1) Написан на C и C++. Протестирован на множестве различных компиляторов.
2) Работает на различных платформах. See section 2.2.5 Операционные системы, поддерживаемые MySQL.
3) Для обеспечения переносимости используется GNU Automake, Autoconf и Libtool.
4) API для C, C++, Eiffel, Java, Perl, PHP, Python, Ruby и Tcl. See section 8 Интерфейсы для MySQL.
5) Полностью многопоточный с использованием потоков ядра. Это означает, что, если такая возможность обеспечивается, можно легко организовать работу с несколькими процессорами.
6) Очень быстрые дисковые таблицы на основе В-деревьев со сжатием индексов.
7) Очень быстрая базирующаяся на потоках система распределения памяти.
8) Очень быстрые соединения, использующие оптимизированный метод однопроходного мультисоединения (one-sweep multi-join).
9) Хеш-таблицы в памяти, используемые как временные таблицы.
10) SQL-функции реализованы при помощи хорошо оптимизированной библиотеки классов, поэтому они выполняются настолько быстро, насколько это возможно. Обычно после инициализации запроса распределения памяти не происходит вообще.
2.3.4 JavaScript
JavaScript - объектно-ориентированный скриптовый язык программирования. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
Основные архитектурные черты:
1) Динамическая типизация
2) Слабая типизация
3) Автоматическое управление памятью
4) Прототипное программирование, функции как объекты первого класса
JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обуславливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам -- функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания -- что придаёт языку дополнительную гибкость.
2.3.5 Ajax
AJAX -- это модное название для набора техник разработки веб-интерфейсов, позволяющих делать динамические запросы к серверу без видимой перезагрузки веб-страницы: пользователь не замечает, когда его браузер запрашивает данные.
Название Ajax происходит от Asynchronous JavaScript and XML. В двух словах это использование объекта XMLHttpRequest для взаимодействия с серверными сценариями. Он может отправлять и принимать информацию в различных форматах, включая XML, HTML и текстовые файлы.
Ajax имеет очень большие возможности, а его асинхронная природа позволяет обходиться без перезагрузки страницы. Это дает вам возможность обновлять часть страницы в зависимость от действий пользователя и является краеугольным камнем Rich Internet Applications (RIA) часто обсуждаемым в контексте Web 2.0.
Технология, следующая за AJAX, вряд ли является новшеством, однако недавно стали появляться некоторые мощные новые приложения, использующие объект XMLHttpRequest, они вдохнули новую жизнь в концепцию обновления образа клиентской части.
2.3.6 CSS
Структурно любую веб-страницу можно разложить на три составляющие: содержание, структура и представление.Содержание -- это, грубо говоря, тот текст, который видит перед глазами человек, просматривающий веб-страницу в окне браузера. Структура -- это логическое построение документа, описанное при помощи тегов разметки. Во многих текстах можно выделить заголовки, подзаголовки, абзацы, списки и их пункты, таблицы и их ячейки и другие структурные единицы. На сложных веб-страницах часто бывает несколько самостоятельных блоков содержимого -- это тоже структурные единицы документа, только более высокого уровня иерархии по отношению к структурным единицам текста, размещённого в том или ином конкретном блоке.
Представление -- это, главным образом, внешний вид тех или иных структурных единиц документа. Например, когда речь заходит о том, что шрифт заголовков должен быть более крупным, чем у основного текста страницы, да еще вдобавок и полужирным, мы говорим именно об особенностях представления документа. Один и тот же документ может иметь множество представлений: например, его внешний вид может различаться в зависимости от того, где документ отображается: на экране настольного компьютера или ноутбука, на экране карманного компьютера или же на листе бумаги при печати.
2.4 Разработка структуры базы данных
Для функционирования приложения необходима база данных «dbSklad», создание которой при помощи языка MySQL возможно следующей командой:
> CREATE DATABASE `dbSklad`;
2.4.1 Разработка структуры таблицы пользователей
В базе «dbSklad» создаём таблицу «tblUser» для хранения информации о пользователях портала, которая будет содержать следующие поля:
`Id` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи (Первичный ключ - поле или набор полей, содержимое которых однозначно определяет запись в таблице и отличает ее от других. Служит для однозначной идентификации записей и в таблице может быть только один);
`Login` - логин пользователя, символьное с ограниченим по длине 255 символов;
`Pass` - пароль пользователя (хэш), символьное с ограниченим по длине 255 символов;
`emailUser` - адрес электронной почты пользователя, символьное с ограничением по длине 100 символов;
`dataReg` - дата регистрации пользователя (UNIX-время), целочисленное, выраженное в секундах, прошедших с 1 января 1970 года;
`statusUser` - права пользователя, принимает два возможных значения - `manager' (пользователь с правами модератора) и `admin' (пользователь с правами администратора)
Для создания данной таблицы воспользуемся командой CREATE TABLE в следующем виде:
CREATE TABLE IF NOT EXISTS `tblUsers` ( `Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `Login` varchar(255) NOT NULL COMMENT '// имя пользователя', `Pass` varchar(32) NOT NULL COMMENT '// пароль пользователя', `emailUser` varchar(100) NOT NULL COMMENT '// email пользователя', `dataReg` int(11) NOT NULL COMMENT '// дата регистрации пользователя', `statusUser` enum('manager','admin') NOT NULL COMMENT '// права пользователя', PRIMARY KEY (`Id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='// таблица пользователей портала' AUTO_INCREMENT=1;
2.4.2 Разработка структуры таблицы с информацией о странах, кв которых реализуется продукция
Спроектируем таблицу «tblRegion» со следующими полями:
`idRegion` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`Region` - название региона, текстовое поле с ограничением по длине в 10 символов;
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblRegion` (`idRegion` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `Region` varchar(10) NOT NULL COMMENT '// название страны, PRIMARY KEY (`idRegion`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='// таблица с названиями стран' AUTO_INCREMENT=1 ;
2.4.3 Разработка структуры таблицы с информацией об областях
Спроектируем таблицу «tblSubRegion» со следующими полями:
`idSubRegion` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`idRegion` - поле связи с таблицей “tblRegion”, содержащее код (идентификатор) региона целочисленного типа, индексированное для быстрого поиска;
`SubRegion` - название города, текстовое поле с ограничением по длине в 100 символов;
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblSubRegion` (`idSubRegion` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `idRegion` int(11) NOT NULL COMMENT '// идентификатор региона', `SubRegion` varchar(100) NOT NULL COMMENT '// название субрегиона', PRIMARY KEY (`idSubRegion`), KEY `idRegion` (`idRegion`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='// таблица о областями' AUTO_INCREMENT=1 ;
2.4.4 Разработка структуры таблицы с информацией о покупателях
Спроектируем таблицу «tblCustomer» со следующими полями:
`idCustomer` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`idRegion` - поле связи с таблицей “tblRegion”, содержащее код (идентификатор) региона целочисленного типа, индексированное для быстрого поиска;
`idSubRegion` - поле связи с таблицей “tblSubRegion”, содержащее код (идентификатор) города целочисленного типа, индексированное для быстрого поиска;
`nameCustomer` - название покупателя, текстовое поле с ограничением по длине в 255 символов;
`kontaktCustomer` - контактные данные покупателя, текстовое поле без ограничений по длине.
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblCustomer` (`idCustomer` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `idRegion` int(11) NOT NULL COMMENT '// идентификатор региона', `idSubRegion` int(11) NOT NULL COMMENT '// идентификатор субрегиона', `nameCustomer` varchar(255) NOT NULL COMMENT '// название покупателя', `kontaktCustomer` text NOT NULL COMMENT '// контактные данные покупателя', PRIMARY KEY (`idCustomer`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='// таблица с покупателями' AUTO_INCREMENT=1 ;
2.4.5 Разработка структуры таблицы с информацией о типах продукции
Спроектируем таблицу «tblTypeProduction» со следующими полями:
`idTypeProduction` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`nameTypeProduction` - обозначение группы (подгруппы) продукции, текстовое уникальное поле с ограничением по длине в 255 символов;
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblTypeProduction` (`idTypeProduction` int(11) NOT NULL AUTO_INCREMENT, `nameTypeProduction` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL, PRIMARY KEY (`idTypeProduction`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
2.4.6 Разработка структуры таблицы с информацией о продукции
Спроектируем таблицу «tblProduction» со следующими полями:
`idProduction ` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`idTypeProduction` - поле целочисленного типа, содержит ключ типа продукции;
`txtProduction` - описание продукции, текстовое поле с ограничением по длине в 255 символов;
CREATE TABLE IF NOT EXISTS `tblProduction` ( `idProduction` int(11) NOT NULL AUTO_INCREMENT, `typeProduction` int(11) NOT NULL, `nameProduction` varchar(255) NOT NULL, `txtProduction` text NOT NULL,
PRIMARY KEY (`idProduction`)) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
2.4.7 Разработка структуры таблицы с информацией о товарах на складе
Спроектируем таблицу «tblSklad» со следующими полями:
`idCustomer` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`Prihod` - целочисленное поле, содержащее информацию о количестве оприходованного товара на склад;
`Rashod` - целочисленное поле, содержащее информацию о количестве отпущенного товара со склада;
`idTovar` - поле связи с таблицей “tblProduction”, содержащее код (идентификатор) товара целочисленного типа, индексированное для быстрого поиска;
`dates` - дата совершения операции по складу (UNIX-время), целочисленное, выраженное в секундах, прошедших с 1 января 1970 года;
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblSklad` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `Prihod` int(11) NOT NULL COMMENT '// приход товара на склад', `Rashod` int(11) NOT NULL COMMENT '// расход товара со склада', `idTovar` int(11) NOT NULL COMMENT '// идентификатор товара', `dates` int(11) NOT NULL COMMENT '// дата операции', PRIMARY KEY (`id`), KEY `idTovar` (`idTovar`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='// таблица со складом' AUTO_INCREMENT=1 ;
2.4.8 Разработка структуры таблицы с информацией о продажах товара
Спроектируем таблицу «tblSales» со следующими полями:
`idSales` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`idTovar` - поле связи с таблицей “tblProduction”, содержащее код (идентификатор) товара целочисленного типа, индексированное для быстрого поиска;
`idCustomer` - поле связи с таблицей “tblCustomer”, содержащее код (идентификатор) покупателя целочисленного типа, индексированное для быстрого поиска;
`dates` - дата совершения операции по складу (UNIX-время), целочисленное, выраженное в секундах, прошедших с 1 января 1970 года;
`kol` - целочисленное поле, содержащее информацию о количестве проданного товара;
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblSales` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `idTovar` int(11) NOT NULL COMMENT '// идентифи-катор товара', `idCustomer` int(11) NOT NULL COMMENT '//идентификатор покупателя', `dates` int(11) NOT NULL COMMENT '// дата заказа', `kol` int(11) NOT NULL COMMENT '// количество', PRIMARY KEY (`id`), KEY `idTovar` (`idTovar`,`idCustomer`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
2.4.9 Разработка структуры таблицы с информацией о заказах товара
Спроектируем таблицу «tblZakaz» со следующими полями:
`idZakaz` - поле с первичным ключом, целочисленного типа, автоматически увеличивающееся при добавлении записи;
`idTovar` - поле связи с таблицей “tblProduction”, содержащее код (идентификатор) товара целочисленного типа, индексированное для быстрого поиска;
`idCustomer` - поле связи с таблицей “tblCustomer”, содержащее код (идентификатор) покупателя целочисленного типа, индексированное для быстрого поиска;
`dates` - дата совершения операции по складу (UNIX-время), целочисленное, выраженное в секундах, прошедших с 1 января 1970 года;
`kol` - целочисленное поле, содержащее информацию о количестве проданного товара;
Запрос для создания таблицы:
CREATE TABLE IF NOT EXISTS `tblZakaz` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '// первичный ключ таблицы', `idTovar` int(11) NOT NULL COMMENT '// идентифи-катор товара', `idCustomer` int(11) NOT NULL COMMENT '//идентификатор покупате-ля', `dates` int(11) NOT NULL COMMENT '// дата заказа', `kol` int(11) NOT NULL COMMENT '// количество', PRIMARY KEY (`id`), KEY `idTovar` (`idTovar`,`idCustomer`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='// таблица заказов' AUTO_INCREMENT=1 ;
Схема базы данных представлена на рисунке 2.7
Рисунок 2.7 - Схема базы данных
2.5 Технология создания асинхронных запросов
AJAX - аббревиатура от Asynchronous JavaScript + XML и обозначает подход к созданию WEB-приложений с помощью следующих технологий:
- стандартизированное представление средствами XHTML и CSS;
- обмен и обработка данных в виде XML и XSLT;
- асинхронные запросы с помощью XMLHttpRequest; JavaScript (рисунок 2.8).
Рисунок 2.8 - Технология AJAX
По сравнению с обычным HTML-приложением, в AJAX-приложении между пользовательским интерфейсом и сервером появляется дополнительная компонента - движок AJAX, определяющий, какие пользовательские функции можно обработать "на месте" (на клиенте), а за какими необходимо обращаться на сервер. При этом результат обращения к серверу отображается без перерисовки всей страницы.
Рассмотрим применение технологии AJAX на примере функционала «Новый поставщик».
При помощи следующего кода создаём HTML-форму (рисунок 2.9).
<div id=ajxSuppl><?php echo GetSpis('Supplier'); ?></div>
<div id=newRecord><form name=nr>
<table>
<tr><td colspan=2>Новая запись</td></tr>
<tr><td>Название</td><td><input type=text name=names id=names></td></tr>
<tr><td>Адрес</td><td><input type=text name=adres id=adres></td></tr>
<tr><td>Реквизиты</td><td><input type=text name=rekv id=rekv></td></tr>
<tr><td>Телефоны</td><td><input type=text name=phone id=phone></td></tr>
<tr><td colspan=2 align=right><input type=button name=Ok value=Ok onclick='JavaScript:AddSupplier()'/></td></tr>
</table></form>
</div>Для вывода результата AJAX запроса создаём элемент <DIV> с атрибутом id='ajxSearchTovar'
Рисунок 2.9 - Форма поиска товара
При нажатии на кнопку “Ok” вызывается JavaScript функция AddSupplier()
function AddSupplier()
{
var nm = document.getElementById("names").value;
var adr = document.getElementById("adres").value;
var rk = document.getElementById("rekv").value;
var ph = document.getElementById("phone").value;
$.ajax({
type: 'POST',
url: 'ajax/response.php',
scriptCharset: "utf-8",
data: 'action=AS&name='+encodeURIComponent(nm)+'&adres='+adr+'&rekv='+rk+'&phone='+ph,
success: function(data)
{
$('#ajxSuppl').html(data);
}
});
}
Мы формируем строку запроса, содержащую название и значение элементов из формы и передаём её скрипту «response.php». При успешном выполнении в элемент <DIV> с атрибутом «id= ajxSuppl'» возвращаем html-код, генерируемый скриптом «response.php».
В данном скрипте выполняется следующий код:
if (isset($_POST) and $_POST['action']=='AS')
{
// необходимо добавить нового поставщика комплектующих
$name = mysql_escape_string($_POST['name']);
$adres = mysql_escape_string($_POST['adres']);
$rekv = mysql_escape_string($_POST['rekv']);
$phone = mysql_escape_string($_POST['phone']);
if ($name=='' or $adres=='' or $rekv=='' or $phone=='')
{
echo "<h3><div class=negative>Заполните все поля формы!</div></h3>";
}
else
{
// всё нормально - необходимо добавить нового поставщика
$sql = "INSERT INTO `".$dbName."`.`tblSupplier` (`idSupplier`, `nameSupplier`, `adresSupplier`, `rekvSupplier`, `phoneSupplier`) VALUES (NULL, '".$name."', '".$adres."', '".$rekv."', '".$phone."');";
echo $sql;
$result = mysql_query($sql);
if ($result)
{
echo "<h3><div class=positive>Новый поставщик добавлен!</div></h3>";
}
else
{
echo "<h3><div class=negative>Ошибка добавления данных!</div></h3>"; }
}
echo GetSpis('Supplier');
}
Результат представлен на рисунке 2.10
Рисунок 2.10 - Результат поиска товара с применением технологии AJAX
3. Описание интерфейса и отчётных форм
3.1 Авторизация на сайте
В отличии от пользователя «менеджер», пользователь «администратор» имеет права на добавление новых товаров каталог. На главной странице будет показана форма входа пользователя на сайт с использованием логина и пароля. В случае успешной проверки прав, начинает сессия, которая отслеживается и проверяется в каждом скрипте.
На рисунке 3.1 представлен скриншот главной страницы проекта - по умолчанию в рабочей области работает скрипт «start.php»
При запуске системы перед пользователем появляется следующее окно (рисунок 3.1)
Рисунок 3.1 - Стартовое окно системы
После авторизации на сайте пользователь попадает в административный отдел, где ему доступны скрипты для управления продажами (рисунок 3.2):
Рисунок 3.2 - Административный отдел, доступный пользователю с правами «администратор»
3.2 Добавление продукции в каталог
Для добавления товара на склад, оформления продажи и заказа необходимо добавить товар в каталог продукции при помощи команды «Добавить продукцию в базу данных» (рисунок 3.3):
Рисунок 3.3 - Форма добавления товара в каталог
После заполнения всех полей формы и нажатия на кнопку «Ок», в каталог товаров будет добавлен новый вид продукции.
Просмотреть каталог продукции можно при переходе по ссылке «Просмотр каталога продукции» (рисунок 3.4)
Рисунок 3.4 - Каталог продукции
С товаром из каталога можно совершать следующие действия:
- удалять
- редактировать
- добавлять на склад
- оформить продажу
- оформить заказ
3.3 Приход сырья на склад
Приход сырья на склад осуществляется при помощи команды «Приход сырья» (рисунок 3.5)
Рисунок 3.5 - Форма добавления товара на склад
В форме выбираем вид сырья, поставщика и количество товара и нажимаем на кнопку «Ok» (рисунок 3.6).
Рисунок 3.9 - Добавление товара на склад
3.4 Добавление товара на склад
Добавление товара на склад осуществляется при помощи команды «На склад» и заполнения следующей формы (рисунок 3.8):
Рисунок 3.8 - Форма добавления товара на склад
В форме указаны название и назначение товара, пользователю необходимо указать количество добавляемого на склад товара и нажать на кнопку «Ok» (рисунок 3.8).:
Рисунок 3.9 - Добавление товара на склад
ЗАКЛЮЧЕНИЕ
Изучив методы ведения внутрихозяйственного учёта поступления, реализации, контроля за сохранностью товарно-материальных ценностей на предприятии, можно сделать выводы о позитивном влиянии автоматизации данных процессов на организацию складского хозяйства за счёт сокращения избыточности хранимых данных, экономии объёма используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий.
Программный продукт, разработанный в процессе исследования, даёт возможность производить учёт товаров на складе, фиксируя учёт остатков по складу, недостачи и излишки товаров.
Таким образом, была достигнута цель, поставленная в данном дипломном проекте, а также решены следующие задачи:
1. Рассмотрена организация внутрихозяйственного контроля за сохранностью товарно-материальных ценностей на предприятии.
2. Выявлены потребности предприятия в сфере автоматизации данного процесса.
3. Создана программная среда для учёта товаров ООО «Бюро подарков»
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Глушаков С.В. «Базы данных: Учебный курс » -К.:Абрис,2000
2. PHP и MySQL. Создание интернет-магазина: Кристиан Дари, Эмилиан Баланеску -- Москва, Вильямс, 2010 г.- 640 с.
3. Освой самостоятельно HTML и XHTML: Дидре Хейз -- Санкт-Петербург, Вильямс, 2003 г.- 224 с.
4. Основы веб-программирования с использованием HTML, XHTML и CSS: Джон Дакетт -- Москва, Эксмо, 2010 г.- 768 с.
5. Полный справочник по HTML, CSS и JavaScript: Лазаро Исси Коэн, Джозеф Исси Коэн -- Москва, ЭКОМ Паблишерз, 2007 г.- 1168 с.
6. Самоучитель HTML и CSS. Современные технологии: Ростислав Чебыкин Санкт-Петербург, БХВ-Петербург, 2008 г.- 624 с.
7. Крёнке Д. Теория и практика баз данных - СПб.: Питер. 2005.
8. HTML 4.0: А. Матросов, А. Сергеев, М. Чаунин -- Санкт-Петербург, БХВ-Петербург, 2008 г.- 672 с.
9. HTML в Web-дизайне: Алексей Петюшкин -- Санкт-Петербург, БХВ-Петербург, 2004 г.- 400 с.
10. В. Васвани. MySQL: использование и администрирование = MySQL Database Usage & Administration. -- М.: «Питер», 2011. -- 368 с.
11. Стив Суэринг, Тим Конверс, Джойс Парк. PHP и MySQL. Библия программиста, 2-е издание = PHP 6 and MySQL 6 Bible. -- М.: «Диалектика», 2010. -- 912 с.
12. Роберт Шелдон, Джоффрей Мойе. MySQL 5: базовый курс = Beginning MySQL. -- М.: «Диалектика», 2007. -- 880 с.
13. Кузнецов Максим, Симдянов Игорь. MySQL на примерах. -- Спб.: «БХВ-Петербург», 2008. -- С. 952.
14. Поль Дюбуа. MySQL, 3-е издание = MySQL, 3ed. -- М.: «Вильямс», 2006. 1168 с.
15. Кузнецов Максим, Симдянов Игорь. MySQL 5. В подлиннике. -- Спб.: «БХВ-Петербург», 2006. -- С. 1024.
16. HTML и CSS. Совместное использование: Вирджиния ДеБольт -- Санкт-Петербург, НТ Пресс, 2006 г.- 512 с.
17. AJAX и PHP. Разработка динамических веб-приложений: Кристиан Дари, Богдан Бринзаре, Филип Черчез-Тоза, Михай Бусика -- Санкт-Петербург, Символ-Плюс, 2009 г.- 336 с.
18. HTML, скрипты и стили: В. В. Дунаев -- Москва, БХВ-Петербург, 2011 г.- 816 с.
19. PHP 5: Дмитрий Котеров, Алексей Костарев -- Санкт-Петербург, БХВ-Петербург, 2008 г.- 1104 с.
20. PHP и jQuery для профессионалов: Джейсон Ленгсторф -- Санкт-Петербург, Вильямс, 2011 г.- 362 с.
21. PHP, MySQL, XML. Программирование для Интернета (+ CD-ROM): Елена Бенкен -- Санкт-Петербург, БХВ-Петербург, 2007 г.- 336 с.
22. HTML и CSS в примерах, типовых решениях и задачах (+ CD-ROM): С. А. Соколов -- Санкт-Петербург, Вильямс, 2007 г.- 416 с.
23. Сценарии для Web-сайта. PHP и JavaScript: Вадим Дунаев -- Москва, БХВ-Петербург, 2008 г.- 576 с.
24. Ваш первый сайт с использованием PHP-скриптов: А. С. Строганов -- Москва, Диалог-МИФИ, 2008 г.- 288 с.
25. Объектно-ориентированное программирование на PHP (+ CD-ROM): Максим Кузнецов, Игорь Симдянов -- Москва, БХВ-Петербург, 2007 г.- 608 с.
26. Разработка веб-приложений с помощью PHP и MySQL: Люк Веллинг, Лора Томсон -- Санкт-Петербург, Вильямс, 2010 г.- 848 с.
27. Сценарии для Web-сайта. PHP и JavaScript: Вадим Дунаев -- Москва, БХВ-Петербург, 2008 г.- 576 с.
28. AJAX. Программирование для Интернета (+ CD-ROM): Елена Бенкен, Геннадий Самков -- Москва, БХВ-Петербург, 2009 г.- 464 с.
29. JavaScript и AJAX в Web-дизайне: Владимир Дронов -- Санкт-Петербург, БХВ-Петербург, 2008 г.- 736 с.
30. JavaScript. Подробное руководство: Дэвид Макфарланд -- Москва, Эксмо, 2009 г.- 608 с.
31. JavaScript. Руководство программиста: Пол Вилтон, Джереми МакПик -- Москва, Питер, 2009 г.- 720 с.
32. WEB-программирование на Java и JavaScript: Андрей Гарнаев, Сергей Гарнаев -- Санкт-Петербург, БХВ-Петербург, 2005 г.- 1040 с.
33. Полный справочник по HTML, CSS и JavaScript: Лазаро Исси Коэн, Джозеф Исси Коэн -- Москва, ЭКОМ Паблишерз, 2007 г.- 1168 с.
Размещено на Allbest.ru
...Подобные документы
Инструментальные средства для разработки структуры информационной базы данных "Программа автоматизации учета расчетов с поставщиками", пользовательский интерфейс СУБД Access. Разработка запросов отбора данных и вычислений, экранных форм коррекции данных.
лабораторная работа [2,4 M], добавлен 15.11.2010Возможности извлечения информации из баз данных. Программы для создания и обработки базы данных и создания пользовательского интерфейса. Обоснование выбора программных средств для реализации. Создание базы данных, интерфейса и базы данных к интерфейсу.
курсовая работа [2,9 M], добавлен 24.03.2023Склад ОАО "Ориенбанк", его специфика и структура. Описание структуры базы данных складского учета для предприятия. Разработка пользовательского интерфейса программы. Инструкция к применению базы данных. Автоматизация операций и учета средств банка.
курсовая работа [4,7 M], добавлен 26.02.2010Анализ состояния и способов автоматизации складского хозяйства. Управление и оптимизация материальных запасов. Обзор современного состояния программ для торговли и склада. Разработка структуры базы данных информационной системы. Описание интерфейса.
дипломная работа [1,2 M], добавлен 16.06.2015Выбор программных средст, основные требования. Разработка программного обеспечение для автоматизации учета использования и обслуживания транспортных средств. Инфологическая модель базы данных. Разработка SQL запросов, алгоритмов. Структура базы данных.
курсовая работа [1,0 M], добавлен 16.02.2015Создание информационной системы автоматизации процесса управления базами данных компании ООО "Роснефть". Требования к характеристикам технических средств. Обоснование выбора CASE-средства. Разработка программного обеспечения, расчет затрат цены и прибыли.
дипломная работа [3,9 M], добавлен 24.03.2012Создание и разработка информационной системы автоматизации учета книг в книжном магазине. Описание предметной области, постановка задачи и обзор методов ее решения. Модели и алгоритмы представления системы. Обоснование технических и программных средств.
курсовая работа [1,7 M], добавлен 31.03.2012Проектирование логической структуры базы данных методом нормальных форм, сущность связь. Сравнительный анализ спроектированной базы данных и базы данных существующих информационных систем. Выбор и обоснование состава технических и программных средств.
курсовая работа [3,0 M], добавлен 22.12.2014Разработка проекта автоматизации учета основных средств на сельскохозяйственных предприятиях. Состав технических и программных средств, необходимых для реализации проекта автоматизации учета. Предполагаемые результаты внедрения данного проекта.
курсовая работа [23,4 K], добавлен 14.08.2010Разработка модуля автоматизации продажи автозапчастей. Проектирование информационной системы на основе базы данных в среде Microsoft SQL Server 2008. Структуры диалога и программного обеспечения. Описание запросов и отчетов к БД. Создание средств защиты.
курсовая работа [1,1 M], добавлен 10.12.2014Обоснование проектных решений по программному обеспечению. Теория складского учёта. Характеристика входной информации. Основные показатели эффективности программных продуктов. Реализация базы данных. Защита информации в автоматизированной системе.
дипломная работа [4,6 M], добавлен 19.09.2014Общие сведенья о РУП "Гомсельмаш". Экономические показатели деятельности предприятия. Данные об отделе управления технического и сервисного обслуживания продукции. Система учета движения товарно-материальных ценностей. Разработка структуры базы данных.
дипломная работа [1,5 M], добавлен 26.12.2012Рассмотрение технологии создания базы данных с помощью программы MS Access. Описание структуры предприятия заказчика. Проведение автоматизации документооборота предприятия. Разработка интерфейса пользователя. Создание кнопочной формы, диаграмы, отчета.
курсовая работа [3,8 M], добавлен 12.04.2015Обзор программных средств разработки приложений и обоснование выбора языка программирования. Классификация приложений для работы с базами данных. Функциональная структура базы данных с указанием назначения программных модулей, руководство пользователя.
дипломная работа [645,3 K], добавлен 21.11.2010Разработка базы данных и приложения для автоматизации ведения кадрового учёта предприятия. Формирование таблицы анкетных данных. Разработка графического интерфейса пользователя клиентских приложений. Возможность подключения к удаленной базе данных.
дипломная работа [47,6 K], добавлен 17.02.2009Цель, критерии и ограничения создания автоматизированной системы. Разработка элементов информационного обеспечения информационной системы общежития. Рекомендации по выбору комплекса технических средств для автоматизации задачи учета реализации товара.
курсовая работа [920,8 K], добавлен 11.11.2022Анализ входной информации и процессов, уровня автоматизации на предприятии. Выявление объекта и задачи автоматизации. Разработка концепции построения информационной модели информационной системы. Разработка структуры базы данных и клиентского приложения.
дипломная работа [2,0 M], добавлен 22.11.2015Типичные бизнес-процессы и способы ведения складского учета. Инвентаризация материально-производственных запасов. Разработка базы данных для хранения информации, необходимой для автоматизации работы оптового склада с использованием СУБД Interbase 7.5.
дипломная работа [3,1 M], добавлен 17.04.2015Исследование технологии проектирования базы данных. Локальные и удаленные базы данных. Архитектуры и типы сетей. Программная разработка информационной структуры предметной области. Обоснование выбора архитектуры "клиент-сервер" и операционной системы.
дипломная работа [1,1 M], добавлен 15.02.2017Обзор требований к разрабатываемой системе автоматизации учета учащихся. Сравнительный анализ и выбор инструментальных средств. Обоснование выбора программных средств реализации. Язык веб-программирования PHP. Система управления базами данных MySQL.
дипломная работа [1,2 M], добавлен 13.06.2014