Файл: Учет топлива заправочной станции.pdf

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

Категория: Курсовая работа

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

Добавлен: 14.06.2023

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

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

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

2.2 Разработка базы данных проекта

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

Основными целями проектирования базы данных являются:

- Представление данных и связей между ними, необходимых для всех основных областей применения данного приложения и любых существующих групп его пользователей;

- Создание модели данных, способной поддерживать выполнение любых требуемых транзакций обработки данных;

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

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

Для конфигурации базы данных компьютерного приложения " Складской учет топлива заправочной станции " использовалось СУБД ACCESS. В рамках данной СУБД и на основании поставленной задачи была разработана БД "ZS.mdb". В составе данной БД таблицы: заказ, клиент, товар(топливо), количество(остатки по топливу), вид .

Физическую модель БД представим на рисунке 2.

Рисунок 2 - Физическая модели базы данных

Пройдемся по сущности.

Таблица «Клиент» - содержит информацию о клиентах АЗС, имеет ключевое поле «Код клиента» с типом данных «Числовой». Так же имеет связь с таблицей «Заказ» по полям «Код клиента» с типом данных числовой, с отношением многие к одному, потому что один или несколько заказов могут быть осуществлены одним клиентам. Кроме технических полей данная таблица содержит и поля информационные. Это поле "Имя" название клиента, поля "Телефон" телефон клиента для связи, поля "Адрес" адрес клиента и "Email" электронный адрес клиента, также для связи. Таблица "Клиент" представим на рисунке 3.


Рисунок 3 - Таблица "Клиент"

Таблица «Вид операции» - содержит информацию о типе поступления на склад АЗС, имеет ключевое поле «Код операции» с типом данных «Числовой». Так же имеет связь с таблицей «Заказ» по полям «Код операции» с типом данных числовой, с отношением многие к одному, потому что один или несколько заказов могут иметь один тип операции. Кроме технических полей данная таблица содержит и поля информационные. Это поле "Статус" название операции, может содержать только два значения, это "Клиент" или "Поставщик".

Таблица "Вид операции" представим на рисунке 4.

Рисунок 4 - Таблица "Вид операции"

Таблица «Имя товара» - содержит информацию о виде топлива, имеет ключевое поле «Код товара» с типом данных «Числовой». Так же имеет связь с таблицей «Заказ» и "Количество товаров" по полям «Код товара» с типом данных числовой, с отношением многие к одному, потому что один или несколько заказов могут иметь один и той же вид топлива. По имени топлива формируется количество товаров в таблице "Количество товаров". Кроме технических полей данная таблица содержит и поля информационные. Это поле "Имя" название товара, поля "Страна" страна производитель топлива и поля "Вид" качество топлива. Таблица "Имя товара" представим на рисунке 5.

Рисунок 5 - Таблица "Имя товара"

Таблица «Количество товаров» - содержит информацию о текущим количестве топлива, имеет ключевое поле «Код количества» с типом данных «Числовой». Так же имеет связь с таблицей «Имя товара» по полям «Код имени» с типом данных числовой, с отношением многие к одному. Кроме технических полей данная таблица содержит и поля информационные. Это поле "Количество" количество определенного топлива, и поля "Единицы измерения" единица измерения определенного топлива.

Таблица "Количество товаров" представим на рисунке 6.

Рисунок 6 - Таблица "Количество товаров"

Таблица «Заказ» - содержит информацию о всех движениях товаров АЗС, имеет ключевое поле «Код товара» с типом данных «Числовой». Так же имеет связь с таблицей «Имя товара», "Клиент" и "Вид операции" по полям «Код клиента», "Код имени" и "Код вида" с типом данных числовой у всех. О типах связей говорилось ранее. Кроме технических полей данная таблица содержит и поля информационные. Это поле "Дата" дата проведения операции, "Количество" количество товаров в проведенной операции, "Единицы измерения" единицы измерения товара операции и "Цена" цена проведенной операции.


Таблица "Заказ" представим на рисунке 7.

Рисунок 7 - Таблица "Заказ"

Созданная БД полностью замкнутая и обеспечивает полное функционирование данного приложения.

2.3 Выбор и обоснования выбора структур данных

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

  • структура данных "Заказ". Служит для обработки информации о движении топлива. Данная модель состоит из полей: id, id_klient, id_vid, id_tovar, data, kol, ed_izm, zena. Поля соответствуют полям сущности "заказ" из БД. Информация берется из БД или формируется в процессе работы пользователя (Смотрите приложение А);
  • структура данных "Клиент". Служит для обработки информации о клиентах АЗС. Данная модель состоит из полей: id, adress, name, tel, Email. Поля соответствуют полям сущности "Клиент" из БД. Информация берется из БД (Смотрите приложение А);
  • структура данных "Вид". Служит для обработки информации о типе движения топлива. Данная модель состоит из полей: id, status. Поля соответствуют полям сущности "Вид" из БД. Информация берется из БД (Смотрите приложение А);
  • структура данных "Товар". Служит для обработки информации о топливе АЗС. Данная модель состоит из полей: id, name, strana, vid. Поля соответствуют полям сущности "Товар" из БД. Информация берется из БД (Смотрите приложение А);
  • структура данных "Количество". Служит для обработки информации об остатках топлива на АЗС. Данная модель состоит из полей: id, id_tovar, koll, ed_izm. Поля соответствуют полям сущности "Количество" из БД. Информация берется из БД (Смотрите приложение А);
  • структура данных "Отчет1". Служит для вывода информации пользователю о клиентах АЗС, в определенном формате, после поиска и сортировки информации по конкретному клиенту. Данная модель состоит из полей: id, name_tovar, name_klient, tel, adress, data, kol, ed_izm, zena. Информация берется из БД (Смотрите приложение А);
  • структура данных "Отчет2". Служит для вывода информации пользователю о топливе АЗС, в определенном формате, после поиска и сортировки информации по конкретному топливу. Данная модель состоит из полей: id, name_tovar, name_klient, strana, vid, data, kol, ed_izm, zena. Информация берется из БД (Смотрите приложение А);
  • структура данных "Отчет3". Служит для вывода информации пользователю, в определенном формате, после поиска и сортировки информации по остаткам топлива АЗС. Данная модель состоит из полей: id, name_tovar, kol, ed_izm. Информация берется из БД (Смотрите приложение А);

2.4 Алгоритмы программного комплекса

Общую структурную схему программного комплекса представим на рисунке 8.

Рисунок 8 - Структурная схема ПО

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

  • Получить всех клиентов;
  • Получить все товары;
  • Получить все статусы;
  • Получить все движения топлива;
  • Получить клиента по уникальному номеру;
  • Получить товар по уникальному номеру;
  • Получить статус по уникальному номеру;
  • Получить количество по уникальному номеру;
  • Добавить клиента;
  • Добавить топливо;
  • Обновление движения топлива;
  • Количество конкретного топлива;
  • Получение движения по клиенту;
  • Получение движения по топливу;
  • Создание отчетов по поиску;
  • и др.

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

Алгоритм обновления различных моделей рисунок 9.

Рисунок 9 - Алгоритм обновления

Алгоритм добавления клиента рисунок 10.

Рисунок 10 - Алгоритм добавление клиента

Удаление топлива из БД рисунок 11.

Рисунок 11 - Алгоритм удаления топлива

2.5 Диаграмма классов

На основании выше изложенного сформируем диаграмму классов. Диаграмму классов представим на рисунке 12.

Рисунок 12 - Диаграмма классов

Спецификация процедур и функций.

Рассмотрим и опишем процедуры и функции диаграммы классов.

Классы:

  • Program() - класс старта программного комплекса. Содержит процедуру main(), процедура запуска программы;
  • Form1() - класс стартового окна программного комплекса. Содержит конструктор класса Form1() и процедуру стартовой загрузки Form1_load(). Кроме этого содержит процедуру выхода (Выход()), процедуру отсчета текущего времени (Timer1_tik())и процедуры перехода на другие окна(Button1_clik(),Button2_clik(),Button3_clik(),Klient_clik, tovar_clik, bd_clik).
  • Form_tovar() - класс окна для работы с информацией о товарах. Содержит конструктор класса Form_tovar() и процедуру стартовой загрузки Form_tovar_load(). Кроме этого содержит процедуру выхода (Выход()), процедуру формирования из БД списка товаров (Next())и процедуру добавления товара в БД (Button1_clik()) , процедуру удаления товара (button_delete()), процедуру обновления товара (button_update()), поиск товара (Button2_clik()), перезагрузка БД (BD()).
  • Form_klient() - класс окна для работы с информацией о клиентах АЗС. Содержит конструктор класса Form_klient() и процедуру стартовой загрузки Form_klient_load().Кроме этого содержит процедуру выхода (Выход()), процедуру формирования из БД списка клиентов (Next())и процедуру добавления клиента в БД (Button1_clik()) , процедуру удаления клиента (button_delete()), процедуру обновления клиента (button_update()), поиск клиента (Button2_clik()), перезагрузка БД (BD()).
  • Form_BD() - класс окна для обработки информации о движении топлива. Содержит конструктор класса Form_BD() и процедуру стартовой загрузки Form_BD_load(). Кроме этого содержит процедуру выхода (Выход()), процедуру формирования из БД списка клиентов и товаров (Next(), klient_sp(), tovar_sp()) и процедуру добавления движения в БД (Button1_clik()) , процедуру удаления движения (button_delete()), процедуру обновления движения (button_update()), поиск топлива (Button2_clik()), перезагрузка БД (BD()) и процедуры перехода на другие формы(Button4_clik(),Button3_clik()).
  • Form_avtor() - класс окна для вывода информации об авторе проекта. Содержит конструктор класса Form_avtor() и процедуру стартовой загрузки Form_avtor_load(). Кроме этого содержит процедуру выхода (Выход()).
  • Form_program() - класс окна для вывода информации об программе проекта. Содержит конструктор класса Form_program() и процедуру стартовой загрузки Form_program_load(). Кроме этого содержит процедуру выхода (Выход()).
  • Form_ot1() - класс окна для поиска по клиентам и выводом информации в необходимой структуре и форме. Содержит конструктор класса Form_ot1() и процедуру стартовой загрузки Form_ot1_load(). Кроме этого содержит процедуру выхода (Выход()), процедуру формирования отчета (ot1()), процедуру формирования списка клиентов (klient_sp()).
  • Form_ot2() - класс окна для поиска по таварам и вывода информации в необходимой структуре и форме. Содержит конструктор класса Form_ot2() и процедуру стартовой загрузки Form_ot2_load(). Кроме этого содержит процедуру выхода (Выход()), процедуру формирования отчета (ot2()), процедуру формирования списка товаров(tovar_sp()).
  • Form_ot3() - класс окна для вывода информации по остаткам топлива. Содержит конструктор класса Form_ot3() и процедуру стартовой загрузки Form_ot3_load(). Кроме этого содержит процедуру выхода (Выход()), процедуру формирования отчета (tovar_sp()).
  • Koll, Zakaz, BD_vid, BD_klient, BD_tovar - классs содержащиt все основные функции для работы с БД. Самый трудовые классы программы. Классы содержат процедуру подключения к БД Connectto(), конструктор классов процедура BD_!!!(), а также есть в наличии функция получения всех значений сущности "заказы" Fill_zakaz(), функция получения всех значений сущности "товар" Fill_tovar(), функция получения всех значений сущности "клиент" Fill_klient(), функция получения всех значений сущности "количество" Fill_koll(), функция вставки новой информации в БД Insert(), функция обновления информации Update(), функция получения количества записей в таблице сущности "заказы" kol_string(), функция получения заказа по уникальному номеру Fill_model_id(String id), функция получения статуса по уникальному номеру Fill_status_id(String id), функция получения клиента по уникальному номеру Fill_klient_id(String id), функция получения товара по уникальному номеру Fill_tovar_id(String id), функция получения заказа по статусу Fill_model_id_next(String id) и функция получения заказа по клиенту Fill_model_id_klienty(String id) и т.д.

3. Практическая реализация

3.1 Инструкция по эксплуатации

При запуске программного комплекса запускается стартовое окно приложения, смотрите рисунок 13.

Рисунок 13 - Стартовое окно программы

С этого окна пользователь может ознакомится с возможностями справочной службы. В справочную службу входит поиск по клиентам, по топливу, остатки по топливу. Кроме этого, введя логин "admin" и пароль "admin" можно перейти в окна для редактирование информации об клиентах(меню "Клиент"), об товарах(меню"Товар"), об движениях товаров(меню "БД").

Это пользователь более высокого уровня, смотрите рисунок 14.

Рисунок 14 - Успешная авторизация

Итак меню "Клиент". Попадаем в окно вида, смотрите рисунок 15.

Рисунок 15 - Клиенты АЗС

Здесь пользователь может добавить, удалить, обновить и найти информацию об клиентах АЗС.

Итак меню "Товар". Попадаем в окно вида, смотрите рисунок 16.

Рисунок 16 - Информация о видах топлива

Здесь пользователь может добавить, удалить, обновить и найти информацию об топливе АЗС.

Итак кнопка "БД". Попадаем в окно вида, смотрите рисунок 17.

Рисунок 17 - Приход и расход товаров

Здесь пользователь может добавить, удалить, обновить и найти информацию о движении топлива на данном АЗС.

Итак далее справочная служба и меню "По клиентам". Попадаем в окно вида, смотрите рисунок 18.

Рисунок 18 - Поиск по клиентам

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

Итак далее справочная служба и меню "По товарам". Попадаем в окно вида, смотрите рисунок 19.

Рисунок 19 - Поиск по топливу

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