Разработка автоматизированной системы для магазина автозапчастей. Дипломная (ВКР). Информационное обеспечение, программирование.
![](/file/7d5aacc146456be8f3642.jpg)
💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻
Информационное обеспечение, программирование
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!
Похожие работы на - Разработка автоматизированной системы для магазина автозапчастей
Нужна качественная работа без плагиата?
Не нашел материал для своей работы?
Поможем написать качественную работу Без плагиата!
. Аналитический обзор разработки АСУ
.3 Общее описание разрабатываемой АСУ
.5 Анализ предметной области разработки
. Разработка базы данных для системы
.2 Построение концептуальной (инфологической) модели БД
. Разработка клиентского приложения
.1 Выбор языка и среды программирования
.2 Требования к клиентскому приложению
.3 Проектирование клиентского приложения
.3.4 UML диаграмма классов с учетом выбранных шаблонов
.3.5 Построение блок-схем алгоритмов подпрограмм
.1 Общие сведения по разработке сайта
.1 Тестирование клиентского приложения
.1.4 Поставки. Установка цены продажи на товар
.1.6 Тестирование отмены продажи товара
.1.8 Тестирование анализа продаж товаров
.1.9 Тестирование функции «Остатки»
.1.10 Тестирование подпрограммы для работы с пользователями
сайта
.2.1 Правильность выполнения функций по нажатию кнопок и
переходов по гиперссылкам
.2.2 Правильность выполнения SQL-запросов к БД
. Внедрение продукта в производство
В нашу жизнь стремительно входят новейшие технологии, которые улучшают
производство, предоставляют возможности для коммуникации между людьми.
Информационные технологии позволяют автоматизировать многие рутинные действия в
жизни человека. Основными целями автоматизации являются:
) Сокращение численности персонала;
) Повышение качества производства;
) Ускорение работы персонала;
В моем случае объектом автоматизации является магазин автомобильных
запчастей. Целью работы является разработка автоматизированной системы
управления для магазина автозапчастей. Данный магазин пользуется интернет -
платформой для работы магазина, что является для них не самым удобным подходом
для автоматизации, поэтому возник вопрос о разработке собственной
автоматизированной системы управления.
Определим задачи, которые нужно решить для достижения поставленной цели:
. Произвести анализ предметной области.
. Выявить основные информационные потоки предприятия.
. Выбрать процессы предприятия, которые можно и нужно
автоматизировать.
. Обеспечить достоверность информации о материальных компонентах,
применяемых в производстве.
. Улучшение эргономики труда операторов процесса.
. Выбрать способы и средства для разработки программного
обеспечения.
. Выдвинуть требования к программному продукту.
. Разработать ПО согласно выдвинутым требованиям.
. Произвести тестирование программного продукта.
Информационная система (ИС) - система, главными задачами которой являются
хранение, распространение, поиск и обработка информации.
Автоматизация - применение технических средств, экономико-математических
методов и систем управления, освобождающих человека частично или полностью от
непосредственного участия в процессах получения, преобразования, передачи и
использования энергии, материалов или информации.
Автоматизированная система управления - это система «человек-машина»,
которая должна обеспечивать автоматизированный сбор и обработку информации для
оптимизации процесса управления. В отличие от автоматических систем, где
человек полностью удалён из контура управления, АСУ предполагает активное
участие человека в контуре управления.
Система позволяет частично автоматизировать деятельность магазина
автозапчастей. Программный продукт должен предоставить пользователю удобный
обзор информации из БД о товарах, заказах, поставках, поставщиках, клиентах,
продажах и возможность осуществлять манипуляции над этими данными. Также должна
присутствовать отчетность о работе магазина за конкретный промежуток времени.
Особенности разрабатываемого продукта: удобный и интуитивно понятный для
пользователя интерфейс, многофункциональность и работа в связке с сайтом,
который можно администрировать как раз из клиентского приложения. Сайт будет
разработан для того, чтобы предоставить покупателям возможность удаленно
просматривать ассортимент магазина, информацию о магазине, а также возможность
зарезервировать любой товар на 3 дня, после чего товар удалится из резерва и
вернется на склад. Перегрузить сайт будет крайне сложно, т.к. хакеру предстоит
зарегистрироваться и авторизоваться на сайте достаточно большое количество раз.
В ходе выполнения работы был проведен анализ уже существующих АСУ с
требуемым функционалом. Существует несколько аналогов подобной системы:-
сервис, который имеет функционал, схожий с разрабатываемым ПП, имеет достаточно
удобный интерфейс[1]. Недостатки: высокая стоимость использования. Интерфейс представлен
на рисунке 1.1 [1].
Рисунок 1.1. Интерфейс web
сервиса «CloudShop»
Retail - Сервис, который имеет очень большой функционал по работе с
клиентами, поставщиками, товарами и т.д., построен за счет интересных идей с
использованием новейших алгоритмов. Но имеет такие недостатки: высокая
стоимость использования, а также невозможность работы с локальной БД, а
основным хранилищем является облако. Это безусловно удобно, но я считаю, что
это небезопасно. Интерфейс представлен на рисунке 1.2 [2]
Рисунок 1.2. Интерфейс программы «ABM Retail»
Еще одной из похожих АСУ является 1С, но, к сожалению, имеет высокую
стоимость, что не устраивает заказчика [3].
Найденные аналоги имеют интуитивно понятный интерфейс для пользователей,
доступность информации, совместимы с различными платформами, обеспечивают
высокую скорость работы пользователя.
Несмотря на все преимущества представленных систем, заказчик отказывается
их использовать по финансовым соображениям. В соответствии с этим было принято
решение о разработке новой системы.
Для анализа предметной области мною были учтены особенности работы
магазина и требования заказчика.
Магазин предназначен для продажи автозапчастей, как новых, так и Б/У,
автомобильной электроники, аккумуляторов, аксессуаров и т.д. Не имеет филиалов.
Покупатель проходит стандартную процедуру покупки товара, приходя в магазин.
Если потенциальный покупатель находится достаточно далеко и не имеет
возможности прийти в магазин, но запчасти, которые он хочет купить есть на
складе магазина, клиент может зарезервировать их на срок в три дня, после чего
сможет выкупить зарезервированный товар, назвав продавцу свой логин на сайте
[8].
АСУ предполагает три роли пользователей: администратор, продавец,
пользователь сайта.
Администратор занимается работой с сайтом, товарами, клиентской базой, а
также имеет возможность просматривать отчетность работы магазина.
Продавец может работать с таблицами БД, продавать и заказывать в магазин
товары.
Пользователи сайта могут просматривать ассортимент товара и резервировать
выбранные товары на срок в три дня.
Для хранения данных, которыми пользователи смогут манипулировать в
будущем, понадобится база данных. Поэтому нужно произвести обзор существующих
СУБД. По требованиям заказчика в обзоре будет участвовать только бесплатное ПО
[4].
Эта система достаточно просто встраивается в приложения. Базируется на
файлах и имеет большое количество различных инструментов для работы с БД.
Данные хранятся в файлах и обращение происходит непосредственно к ним. Поэтому
SQLite работает достаточно быстро и ее можно назвать достаточно мощной из-за
множества библиотек. Преимущества SQLite:
. Файловая структура. Легко переносится на разные ПК, потому что
БД состоит из одного файла.
. Используемые стандарты. Используются стандарты SQL.
. SQLite предлагает всё что необходимо для тестирования и
разработки, так как состоит всего из одного файла и библиотеки написанной на
языке C. Недостатки SQLite:
. Отсутствие системы пользователей - более крупные СУБД включают в
свой состав системы управления правами доступа пользователей.
. Невозможно увеличить производительность.
Самая распространенная полноценная серверная СУБД. MySQL имеет огромное
количество функций. Отлично подходит для работы с сайтами и другими веб -
приложениями. Имеет большое количество различных инструментов для разработки,
хотя в ней не реализован полный функционал SQL. Преимущества MySQL:
. Простота в работе. Имеет достаточно простую установку, понятный
интерфейс.
. Имеет большое количество стандартных функций, обеспечивающих
безопасность.
. Отлично работает с большими объемами данных, также хорошо
масштабируется.
. Увеличена производительность за счёт упрощения некоторых
стандартов. Недостатки MySQL:
. Присутствуют ограничения функционала, которые иногда необходимы
в особо требовательных приложениях.
. Медленная разработка - Хотя MySQL технически открытое ПО,
существуют жалобы на процесс разработки.
Данная СУБД считается самой профессиональной по сравнению с СУД,
рассмотренными выше. Свободно распространяется, максимально соответствует SQL -
стандартам. От других СУБД PostgreSQL отличается поддержкой востребованного
объектно-ориентированного и/или реляционного подхода к базам данных. Например,
полная поддержка надежных транзакций, т.е. атомарность, последовательность,
изолированность, прочность. Данная СУБД имеет высокую производительность из-за
применения мощных технологий. Параллельность достигнута не за счет блокировки
операций чтения, а благодаря реализации управления многовариантным
параллелизмом (MVCC), что также обеспечивает соответствие ACID. PostgreSQL
очень легко расширять своими процедурами, которые называются хранимые
процедуры. Достоинства PostgreSQL:
. Открытое ПО соответствующее стандарту SQL - PostgreSQL -
бесплатное ПО с открытым исходным кодом. Эта СУБД является очень мощной
системой.
. Большое сообщество - существует довольно большое сообщество в
котором вы запросто найдёте ответы на свои вопросы
. Большое количество дополнений - несмотря на огромное количество
встроенных функций, существует очень много дополнений, позволяющих
разрабатывать данные для этой СУБД и управлять ими.
. Расширения - существует возможность расширения функционала за
счет сохранения своих процедур.
. Объектность - PostrgreSQL это не только реляционная СУБД, но
также и объектно-ориентированная с поддержкой наследования и много другого.
1. Производительность - при простых операциях чтения PostgreSQL
может значительно замедлить сервер и быть медленнее своих конкурентов, таких
как MySQL
. Популярность - по своей природе, популярностью эта СУБД
похвастаться не может, хотя и присутствует довольно большое сообщество.
. Хостинг - в силу выше перечисленных факторов иногда довольно
сложно найти хостинг с поддержкой этой СУБД.
Были соотнесены преимущества и недостатки каждой СУБД. Принято решение
использовать MySQL из-за ее многофункциональности, простоты установки, а также
эта система отлично подойдет для разработки сайта.
Рисунок 2.1. Концептуальная модель БД
Создадим базу данных «Autorun». В общем случае понадобятся таблицы:
клиенты, пользователи клиентского приложения (users), пользователи сайта (users1),
товары, поставщики, поставки, заказы, продажи, резервирование. Модель
представлена на рисунке 2.2. Отмечу, что в базе данных присутствует
избыточность полей в некоторых таблицах. Это сделано в целях повышения
быстродействия выполнения запросов.
Для разработки продукта необходимо определиться с языком программирования
и выбрать среду. Исходя из требований заказчика, локальное приложение будет
предназначено для платформы Windows 10 и выше. Определившись с платформой, на
которой будет функционировать будущий продукт, из существующих сред
программирования для Windows выбор падает в сторону самой качественной и в то
же время бесплатной среды программирования Microsoft Visual Studio 2015
Community. Между языками С# и С++ я склоняюсь к разработке приложения именно на
языке С++, т.к. это очень мощный инструмент для разработки ПО и мне как
разработчику более близок, нежели С#, который несомненно также является очень
мощным ЯВУ [8].
В ходе работы были выявлены основные требования заказчика по отношению к
интерфейсу. Сформулированы основные требования к интерфейсу:
1. функциональность (соответствие задачам пользователя);
. обеспечение высокой скорости работы пользователя;
. обеспечение защиты от ошибок человеческого фактора;
. быстрая обучаемость пользователя;
. В цветовой гамме интерфейса сайта и клиентского приложения
должны преобладать темные тона;
Соблюдение требований к интерфейсу, приведенных выше обеспечит
максимально удобный и интуитивно понятный интерфейс для пользователя.
Исходя из дизайна логотипа магазина и требований заказчика принято, что
дизайн будет исключительно в тёмных тонах.
Для всей текстовой составляющей приложения (кроме таблиц с выводом данных
из БД) будет установлен шрифт Century Gothic. Красные
цвета кнопок будут означать отмену/удаление, зеленые будут означать
сохранение/применение, светло - серые кнопки будут означать добавление единиц
товара к имеющемуся на складе количеству, установку цены на товар, а кнопки
белого цвета будут вызывать функции по работе с формой (изменение размера формы,
появление некоторых пунктов на форме). Таким образом пользователь быстро поймёт
логику распределения цветов в интерфейсе приложения.
К основным функциональным требованиям системы можно отнести:
1. Работа с таблицами БД через клиентское приложение.
. Автоматическое формирование отчетности работы магазина за
определенный промежуток времени.
. Разграничение доступа к информации работникам.
. Возможность резервирования товара пользователями сайта.
Данный список может возрасти либо измениться в зависимости от дальнейших
требований заказчика.
Для достижения поставленной цели нужно определиться с техническими
средствами для разработки нужного программного обеспечения.
Локальное приложение написано на языке С++ в среде программирования
Visual Studio 2015 Community.
Для хранения данных понадобится база данных MySQL и сервер OpenServer.
Таким образом, архитектуру АСУ можно представить в виде схемы,
изображенной на рисунке 3.1.
1. Form1 - форма авторизации пользователя. Программный код приведён в приложении
1.
2. Form2 - Форма, содержащая большое количество методов для осуществление
разного рода манипуляций над данными из БД. Программный код приведён в
приложении 2.
3. ConnToDB - класс, содержащий данные о подключении к БД (Singleton).
Программный код приведён в приложении 3.
4. DateAdapter - класс, основной и единственной функцией которого является
преобразование формата даты из удобного для пользователя в формат сервера MySQL. Программный код приведен в
приложении 4.
5. Command - класс, содержащий методы для реализации команд браузера (execute, undo, redo).
Программный код приведён в приложении 5.
Для инкапсуляции объектов, улучшения читабельности кода и качества
существующего функционала, а также для добавления новых функций были выбраны
следующие шаблоны проектирования:
1. Singleton - используется для работы с единственным экземпляром строки
соединения с БД, а также для уменьшения объема кода.
2. Command - используется для выполнения команд во встроенном браузер (execute, undo, redo).
3. Adapter - используется для работы с датами, чтобы выводить
пользователю в удобном для него формате, а отправлять в БД в формате MySQL.
Сначала пользователь проходит авторизацию. После успешной авторизации
пользователю предстоит выбрать функцию, которой ему необходимо воспользоваться.
Блок - схема изображена на рисунке 3.3.
Рисунок 3.3. Общая блок - схема клиентского приложения
Разберем подробно две блок - схемы, приведенные на рисунке 3.4. Сначала
пользователь вводит логин и пароль, после чего они проверяются. Если данные для
авторизации не верны, то выведется сообщение: «Данные введены неверно!
Повторите ввод», в противном случае перейдём к главной странице приложения, к
странице продажи товара. При продаже товара продавец может выбрать
зарегистрированного покупателя, также может продавать товары анонимным
покупателям, производит выбор товара, после чего нажимает кнопку «Продать».
После нажатия этой кнопки происходит следующее:
) Со склада вычитается проданное количество выбранного товара
) В таблицу БД «Продажи», в поле «Выручка» заносится разность
стоимости закупки, умноженной на проданное количество и стоимости продажи,
умноженной на количество
) Далее данные об этой продаже заносятся в БД
Если товар вдруг не устроил покупателя, то продажу можно быстро отменить.
В случае отмены продажи все процедуры происходят «с точностью до наоборот».
Данные о продаже удаляются, товар в нужном количестве возвращается на склад,
выручка удаляется.
Рисунок 3.4. Блок-схемы алгоритмов авторизации и продажи товара
На рисунке 3.5 видим, что сначала пользователю предстоит выбрать
промежуток времени для анализа с помощью стандартного элемента dateTimePicker.
После выбора конца периода выполняются два запроса к БД:
. Вывод ТОП - 5 самых хорошо продаваемых товаров:
.1.1. "select Назв_товара,Брэнд,sum(Количество) as 'Продано ед.' from
autorun2.Продажа where Дата_продажи Between '" + dateStart + "' AND
'" + dateEnd + "' group by Назв_товара,Брэнд order by sum(Количество)
limit 5;"
.1.2. Вывод ТОП - 5 самых плохо продаваемых товаров:
. "select Назв_товара,Брэнд,sum(Количество) as 'Продано ед.'
from autorun2.Продажа where Дата_продажи Between '" + dateStart + "'
AND '" + dateEnd + "' group by Назв_товара,Брэнд order by
sum(Количество) desc limit 5;"
После этого выводится сообщение, в котором описан самый плохо продаваемы
товар. Предлагается сделать на него скидку для распродажи от 5% до 75%.
Рисунок 3.5. Блок-схема алгоритма анализа продаж товаров
Как и для выполнения предыдущего алгоритма, для вывода отчётов
пользователю потребуется выбрать временной промежуток. После выбора на экране
появится таблица с информацией о всех продажах за этот период. Также есть отчёт
по финансам, т.е. выведется сумма продаж за весь выбранный период. После вывода
этого отчёта пользователю будет предложен вывод выручки за этот же период.
Будет выведена сумма с учетом затрат на закупку товаров, налогов и заработных
плат работников.
Рисунок 3.6. Блок - схема алгоритма функции «Отчёты»
Покупатель зарезервировал нужный ему товар на сайте и пришел в магазин до
истечения срока резерва. Ему предстоит назвать свой логин с сайта продавцу, или
же выбрать из выпадающего списка. После чего в правой части экрана отобразятся
все резервы на этого человека. Остается только выбрать код резерва, который
хочет выкупить клиент. После нажатия на кнопку «Продать» выполняется алгоритм
продажи товара, описанный ранее.
Рисунок 3.7. Блок - схема алгоритма работы с клиентами сайта
Не секрет, что практически каждое коммерческое предприятие имеет свою веб
- страницу в глобальной сети интернет. Магазин, для которого будет
предназначаться данный программный продукт не исключение.
Идея разработки сайта состоит в том, чтобы привлекать покупателей,
демонстрировать ассортимент магазина и основную информацию о магазине удаленно,
для размещения полезных статей для автолюбителей, а также сайт будет
предоставлять возможность пользователю зарезервировать любой товар, имеющийся
на складе магазина на срок в трое суток. В течение трех дней пользователь сайта
может пройти в магазине стандартную процедуру покупки товара, назвав свой логин
с сайта. В противном случае товар в выбранном количестве автоматически вернется
на склад и, соответственно, запись из таблицы «Резервирование» удалится.
Для разработки сайта не будут использоваться ни фреймворки, ни CMS, т.к.
заказчик приветствует индивидуальные решения, а без использования CMS - систем
сайт будет более защищенным как раз из-за индивидуальных решений в плане
функционала, потому что код будет наименее предсказуем для злоумышленников.
Для разделения полномочий пользователей и для повышения безопасности
необходима авторизация. Каждый пользователь имеет уникальный логин и пароль.
Все пользователи будут разделены на три группы: администраторы, модераторы,
пользователи. Данные о пользователе и ролях хранятся в базе данных [7].
HyperText Markup Language - стандартный язык для веб-браузеров для
интерпретации информации из интернета. Является языком разметки. Все
форматирование текста, изображения, цвета, фоны, создания ссылки и т.д. это
делается в HTML.
Cascading Style Sheets - каскадные таблицы стилей. Является формальным
языком описания внешнего вида документа, написанного с использованием языка
разметки.
Расшифровывается как "PHP Препроцессор Гипертекста", - первое P
на самом деле означает в PHP акроним. PHP представляет собой более продвинутый
язык веб-разметки, а также позволяет использовать переменные, а также скрыть
свой код от внешнего мира. PHP также позволяет подключаться к базам данных и
выводить информацию на веб-страницы, что позволяет создавать более сложный и
интерактивный контент, чем HTML.
Является языком для общения с базами данных, который используется в
сочетании с PHP для доступа и размещения веб-контента. SQL является бесплатным
для персонального пользователя, и использует команды, которые на самом деле
логичны при создании и доступа к содержимому. JavaScript - мультипарадигменный
язык программирования. Поддерживает объектно-ориентированный, императивный и
функциональный стили. Применяется в браузерах как язык сценариев для придания
интерактивности веб-страницам.
После того как установили задачи, которые должен выполнять сайт, нужно
определить его структуру. Определили, что сайт мудет многостраничным. Страницы
сайта: «Главная», «Товары в наличии», «Полезные статьи», «О нас»,
«Регистрация», «Авторизация». После того как пользователь пройдет регистрацию и
авторизацию, ему будут доступна страница личного кабинета, где он может
просматривать информацию о себе, свои накопленные бонусы и информацию о
зарезервированных не него товарах. Также только после авторизации зарегистрированного
пользователя будет доступна функция резервирования товара. Структура сайта
показана на рисунке 4.1.
Также исходя из дизайна логотипа магазина и требований заказчика принято,
что дизайн будет исключительно в тёмных тонах, как и клиентское приложение,
входящее в состав разрабатываемой АСУ. Главными цветами будут: чёрный,
небесный, красный, белый и мягкий зелёный. Чёрный цвет меню и тёмные фоны
страниц сайта будут фундаментом дизайна, небесным голубым цветом будут
подсвечиваться пункты меню при наведении, красным цветом будет подсвечиваться
кнопка выхода из аккаунта при наведении, а мягким зелёным цветом будут
подсвечиваться при наведении кнопки резервирования товара и вход в личный
кабинет. Шаблоны страниц сайта будут иметь стандартную структуру - «шапка -
контент - подвал». Анимация на страницах сайта, установленная с помощью JQuery(Animate), будет обязательно легкой, чтобы не раздражать
пользователя. Цвет текста на сайте, в зависимости от фона активного объекта
будет черный или белый. На все объекты сайта установлен достаточно приятный и
компактный шрифт «Century
Gothic». Под шапкой сайта будет
располагаться слайдер «Slick».
Slick slider - это плагин, который написан на языке JavaScript с применением библиотеки JQuery, имеющий множество возможностей по
созданию слайдера любой сложности. Его функционал позволяет реализовывать
зацикливание, автоматическое проигрывание, эффект перехода, динамическое добавление
слайдов и многое другое. Также есть возможность пролистывания слайдера пальцем
на мобильных устройствах, что является очень современным и удобным для
пользователя решением.
программирование шаблон клиентский слайдер
Тестирование - это мероприятия, которые связаны с различными испытаниями
программного продукта. Цель - установление соответствия или несоответствия
характеристик ПП определенным требованиям и выявление дефектов. Дефектами, в
свою очередь, могут быть как ошибки в работе, так и неприемлемое качество
функционирования в определенных условиях эксплуатации.
Результаты тестирования - это список выявленных несоответствий и
дефектов, но, как правило, без указания их причин, хотя, опытный специалист по
качеству продукции в состоянии провести первичную диагностику некорректного
поведения объекта и сообщить диагноз его разработчикам.
Тестирование программного продукта проводят как на этапах его создания,
так и на этапах технического сопровождения и дальнейшего развития. Виды тестирования
программных продуктов и их краткое описание я постараюсь представить в этом
материале.
Для удобства понадобится некий план тестирования. Первым делом нужно
протестировать функции, отвечающие за добавление, поиск, удаление данных из
таблиц БД (вкладка «Информация»). В данном пункте выделим объекты с одинаковым
функционалом, и сгруппируем в один целый пункт плана (клиенты, товары,
поставщики, продажи, пользователи). Обозначим данную группу для идентификации «Группа
1». Каждый из этих объектов, безусловно, будет протестирован, но для
демонстрации представим один из объектов. Объекты «Заказы» и «Поставки» в
данную группу не входят, т.к. их нужно рассматривать отдельно из-за
дополнительного функционала (перевод из заказов в поставки в объекте «Заказы» и
установка цены на товар в объекте «Поставки»). Таким образом, получим план
тестирования:
.1. Регистрация нового покупателя
.3. Быстрый поиск более дешёвого товара
Для начала в БД добавим пользователя с логином «2» и паролем «2». При
вводе этих данных авторизация проходит успешно, и мы попадаем на главную форму.
Но если ввести не существующие данные, то получим соответствующее сообщение.
Пример приведён на рисунке 5.1.
Рисунок 5.1. Тестирование авторизации
Для демонстрации возьмем за основу объект «Товары».
Добавим некоторый товар в БД. Пример приведен на рисунке 5.2.
Рисунок 5.2. Тестирование добавления нового товара
Код_товара = 19 для новой запчасти. Теперь добавим к последнему
занесенному товару пять единиц. На рисунке 5.3. видно, что пользователь ввел
значение 19 в поле «Код товара» и значение 5 в поле «Остаток шт». В итоге на
складе стало 8 единиц товара «Двери передние» для автомобиля «Nissan Almera
Classic».
Рисунок 5.3. Тестирование добавления товара к существующему
Удалим товар «Моторное масло Mobil 1» из БД. Сначала произведем поиск
товара по брэнду (Рисунок 5.4), затем удалим его по коду (Рисунок 5.5). Если
поля не будут заполнены, то будет выведено соответствующее сообщение
Рисунок 5.4. Тестирование поиска товара
Код товара известен, он равен 1. Введем данный код в поле «Код товара»,
после чего нажмем на кнопку «Удалить». На рисунке 18 видно, что товары
начинаются уже со второго кода после того, как мы удалили товар с
идентификатором = 1. То есть данная функция работает корректно.
Рисунок 5.5. Тестирование удаления товара
Допустим, что в магазин пришло два ранее заказанных руля для автомобиля
Ferrarri FF. Чтобы перевести пришедший на склад товар в поставки, нужно узнать
код товара, ввести его в соответствующее поле и нажать на кнопку «Перевести в
поставки», после чего выведется информация о товаре. Нажимаем на кнопку «Инф.
верна, перевести», и товар оказывается в поставках. Результат показан на
рисунке 5.6.
Рисунок 5.6. Тестирование перевода товара из заказов в поставки
После перевода из заказов у товара есть только цена заказа. Администратор
рассчитывает наценку и добавляет к товару цену продажи следующим образом
(Рисунок 5.7).
Рисунок 5.7. Тестирование установки цены продажи на товар
После тестирования фундаментального функционала по работе с БД, следующей
по приоритету функцией является продажа товара, которая должна работать
абсолютно безотказно, без малейших ошибок. Также нужно, чтобы покупатель был
удовлетворён покупкой, а магазин не понёс убытки.
Занесем Смирнова Дмитрия Александровича как нового покупателя в БД прямо
со страницы продажи. Данная функция сработала корректно. Теперь можно совершить
продажу на имя нашего нового клиента (Рисунок 5.8).
В процессе заполнения полей при продаже можно заметить, что кнопка «Продать»
становится активной только после заполнения всех полей и расчёта суммы продажи.
Это сделано для того, чтобы все поля были заполнены, а расчеты для последующих
экономических учетов и анализов были максимально точными, без потерь. В целях
хранения исключительно адекватных данных установлены запреты на ввод не
подходящих по смыслу символов (Например, в поле «Номер телефона» нельзя вводить
буквы, а в поле «Ф.И.О.» нельзя вводить цифры).
Рисунок 5.8. Тестирование продажи товара новому покупателю
После нажатия на кнопку «Продать», происходит следующее:
) Со склада вычитается проданное количество выбранного товара
) В таблицу БД «Продажи», в поле «Выручка» заносится разность
стоимости закупки, умноженной на проданное количество и стоимости продажи,
умноженной на количество
) Далее данные об этой продаже заносятся в БД
После этого проверены таблицы БД, где убедились, что функция сработала
корректно.
После отмены продажи товара (Рисунок 5.9) должно произойти следующее:
) Проданное количество товара вернётся на склад
) Из таблицы «Продажи» удалится запись об этой продаже
Рисунок 5.9. Тестирование отмены продажи
Проверяем таблицы БД после отмены и получаем желаемый результат - данные
в таблицах соответствуют тем, которые были до продажи товара, а это значит, что
товар успешно вернулся на склад в правильном количестве, и запись о продаже
отсутствует.
Произведем расчет продаж за месяц с 1 апреля по 1 мая вручную.
Сумма = 3000 + 1400
Похожие работы на - Разработка автоматизированной системы для магазина автозапчастей Дипломная (ВКР). Информационное обеспечение, программирование.
Реферат по теме Здоровье населения России
Курсовая работа по теме Исследование возможностей пакета MathCAD
Курсовая работа: Реакции альдегидов и кетонов: присоединение углеродных нуклеофилов. Скачать бесплатно и без регистрации
Реферат: Кризисное развитие. Скачать бесплатно и без регистрации
Аннотация К Курсовому Проекту
Дипломная работа по теме Технологии выполнения бульдозерных земляных работ
Реферат: Казанский университет
Доклад по теме Экологическая сукцессия
Курсовая работа по теме Конструкция и эксплуатация главного двигателя судна проекта № 10
Дипломная Работа На Тему Ипотечное Кредитование И Перспективы Его Развития В России
Сочинение по теме Счастье Керри (По роману Т. Драйзера "Сестра Керри")
Дипломная работа по теме Психологические особенности отношения мальчиков и девочек младшего школьного возраста к родителям в ...
Курсовая Работа На Тему Расчет Фазового Детектора
Реферат: Русская ментальность в пословицах и поговорках
Системные Отношения В Современной Русской Лексике Реферат
В Чем Заключается Подвиг Сочинение
Реферат: White Heron Essay Research Paper Sarah Orne
Реферат: Человек и биосфера
Курсовая работа по теме Селекция гороха полевого
Реферат: Сравнительная характеристика налогообложения инноваций в нефтяной отрасли Россия - Норвегия
Доклад: Биосинтез белков
Реферат: The Day The World Ended Essay Research
Контрольная работа: Расходы государственного бюджета Украины