Аннотация и ключевые слова
Аннотация:
Разработана автоматизированная система управления рыбным хозяйством. Приложение создано на языке программирования Python с использованием библиотек Tkinter и Sqlite3

Ключевые слова:
автоматизированная система управления, язык программирования Python, библиотека Tkinter, библиотека Sqlite3
Текст
Текст (PDF): Читать Скачать

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

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

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

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

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

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

Рисунок 1 - Диаграмма прецедентов UML

 

На рисунке 2 представлена функциональная диаграмма IDEF0. Диаграмма IDEF0 (Integration Definition for Function Modeling) представляет структурное описание функций системы и связей между ними. Каждый функциональный блок характеризуется входами (данные, преобразуемые функцией), выходами (результаты преобразования), управлениями (правила и нормативы) и механизмами (ресурсы, выполняющие функцию).

Данные

 продаж

Рыба на складе

Данные рыбалки

Справочники

Нормативные документы

каталог

справочников

журнал

рыбалок

приходные

документы

расходные

документы

отчёты

Управление

справочниками

1

Регистрация

рыбалок

2

Оформление

прихода на склад

3

Оформление

расхода со склада

4

Формирование

отчётов

5

Менеджер

Менеджер

Менеджер

Менеджер

Менеджер

Диаграмма IDEF0 – Система «Учёт рыболовства»

Данные

 

функциональный блок

Условные обозначения

поток  данных

вход (слева)

Управление (сверху)

Управление (снизу)

выход (справа)

 

Рисунок 2 - Функциональная диаграмма IDEF0

 

Диаграмма содержит пять функциональных блоков, расположенных каскадом в порядке выполнения бизнес-процесса. Блок A1 Управление справочниками формирует нормативно-справочную базу, используемую всеми последующими блоками. Блок A2 Регистрация рыбалок принимает данные о ловле и формирует журнал рыбалок. Блок A3 Оформление прихода на склад оприходует обработанную продукцию и формирует приходные документы. Блок A4 Оформление расхода со склада фиксирует отгрузку покупателю и формирует расходные документы. Блок A5 Формирование отчетов агрегирует данные всех предыдущих блоков и предоставляет аналитическую информацию пользователю.

Общая линия управления Нормативные документы воздействует на все пять блоков, определяя правила ведения учета. Механизмом каждого блока выступает Менеджер ­– пользователь системы, выполняющий соответствующую операцию.

Функциональные возможности системы сгруппированы в четыре основных модуля. Модуль справочников (рисунок 3) обеспечивает ведение нормативно-справочной информации: мест ловли, видов рыб, способов обработки, погодных условий, складских помещений и контрагентов-покупателей. Модуль документов (рисунок 4) реализует создание и редактирование записей о рыбалках, приходных и расходных операциях. Модуль цен и номенклатуры (рисунок 5) позволяет формировать перечень продукции с привязкой вида рыбы к способу обработки, устанавливать базовые цены и сезонные коэффициенты. Модуль отчетов (рисунок 6) предоставляет инструменты аналитики: сведения об остатках на складах за выбранный период, статистику по популярным видам рыбы, рейтинги наиболее результативных мест и дней ловли, отчеты по объему продаж и прибыльности операций.

 

Рисунок 3 – Модуль справочников

 

Рисунок 4 – Модуль документов

Техническая реализация проекта выполнена на языке программирования Python с использованием стандартной библиотеки Tkinter для создания графического пользовательского интерфейса. В качестве системы управления базой данных применен встроенный движок SQLite, что обеспечивает автономность работы системы без необходимости установки и настройки отдельного сервера баз данных. Архитектура приложения построена по трёхуровневому принципу: слой моделей данных, слой работы с базой данных и слой пользовательского интерфейса выделены в отдельные программные модули, что упрощает поддержку и расширение функционала.

 

Рисунок 5 – Модуль цен и номенклатуры

 

Рисунок 6 – Модуль отчетов

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

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

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

В процессе работы решены следующие задачи:

  • Выполнен анализ предметной области и выявлены ключевые бизнес-процессы: регистрация уловов, оформление приходных и расходных операций, управление номенклатурой, расчет цен с учетом сезонности, формирование аналитической отчетности;
  • Разработаны модели функциональных процессов системы: диаграмма прецедентов UML, отражающая взаимодействие пользователя с девятью основными функциями, и функциональная диаграмма IDEF0, описывающая пять последовательных этапов обработки данных;
  • Спроектирована структура реляционной базы данных из тринадцати таблиц, обеспечивающая хранение справочной информации, документов и текущих складских остатков;
  • Реализовано программное приложение на языке Python с графическим интерфейсом на базе библиотеки Tkinter, включающее пять функциональных модулей: справочники, документы, цены и номенклатура, отчеты, информация о системе;
  • Обеспечена целостность данных за счет использования внешних ключей, ограничений уникальности и транзакционного механизма SQLite;
  • Реализован автоматический пересчет складских балансов при оформлении приходных и расходных операций;
  • Внедрен механизм сезонного ценообразования, позволяющий корректировать базовые цены продукции в зависимости от времени года;
  • Созданы четыре вида аналитических отчетов: остатки на складах, популярность видов рыбы, результативность мест ловли, объемы продаж по покупателям, с возможностью экспорта результатов в формат CSV;
  • Произведено заполнение базы данных тестовыми записями для демонстрации работоспособности системы и верификации корректности всех функциональных модулей.

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

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

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

Список литературы

1. Лутц, М. Изучаем Python / М. Лутц ; пер. с англ. - 5-е изд. - СПб.: Сим-вол-Плюс, 2019. - 824 с.

2. Маккарти, М. Python и Tkinter. Программирование графического интерфейса пользователя / М. Маккарти ; пер. с англ. - СПб.: БХВ-Петербург, 2020. - 560 с.

3. Оуэнс, А. Tkinter в действии / А. Оуэнс ; пер. с англ. - М.: Кудиц-Образ, 2018. - 312 с.

4. Оуэнс, М. SQLite: карманный справочник / М. Оуэнс; пер. с англ. - СПб.: Символ-Плюс, 2019. - 128 с.

5. Коннолли, Т. Базы данных. Проектирование, реализация и сопровождение. Теория и практика / Т. Коннолли, К. Бегг ; пер. с англ. - 6-е изд. - М.: Вильямс, 2018. - 1440 с.

6. Леффингуэлл, Д. UML для практиков / Д. Леффингуэлл, Д. Видриг; пер. с англ. - М.: Дело и сервис, 2018. - 240 с.

7. Марка, Д. Методология структурного анализа и проектирования IDEF0 / Д. Марка, К. МакГоуэн ; пер. с англ. - М.: МетаТехнология, 2016. - 240 с.

8. Роман, С. Изучаем SQL / С. Роман ; пер. с англ. - 3-е изд. - СПб.: БХВ-Петербург, 2020. - 704 с.

9. Бизли, Д. Python. Подробный справочник / Д. Бизли ; пер. с англ. - 4-е изд. - М.: Вильямс, 2019. - 848 с.

10. Python Software Foundation. Python 3 Documentation [Электронный ресурс]. - Режим доступа: https://docs.python.org/3/ (дата обращения: 01.04.2026).

Войти или Создать
* Забыли пароль?