ДИПЛОМНАЯ РАБОТА Тема: «Разработка автоматизированного рабочего места менеджера для оптимизации учёта товарооборота для ООО
Содержание
Актуальность, цель и задачи
Объект и предмет исследования
Схемы существующей и предлагаемой технологии
Постановка задачи на разработку приложения
Выбор программного обеспечения
Модель базы данных
Краткое описание приложения
Контрольный пример: авторизация и каталог товаров
Контрольный пример: приёмка поставки
Контрольный пример: формирование заказа
Контрольный пример: аналитика
Контрольный пример: списание и инвентаризация
Контрольный пример: сводный отчёт для управляющего
Заключение
870.31K

Диплом Мальцева ИСП-9

1. ДИПЛОМНАЯ РАБОТА Тема: «Разработка автоматизированного рабочего места менеджера для оптимизации учёта товарооборота для ООО

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ МОСКОВСКОЙ ОБЛАСТИ
«СТУПИНСКИЙ ТЕХНИКУМ ИМ. А.Т. ТУМАНОВА»
ДИПЛОМНАЯ РАБОТА
Тема: «Разработка автоматизированного рабочего места
менеджера для оптимизации учёта товарооборота для
ООО «Петсервис» »
Выполнила обучающаяся:
4 курса ИСП-9 группы
Мальцева Алина Алексеевна
(Ф.И.О.)
Специальности:
09.02.07 Информационные системы и
программирование
Руководитель:
г.о. Ступино
2026 г.
Короткова Ольга Викторовна
(Ф.И.О.)

2. Содержание

1. Актуальность, цель и задачи
2. Объект и предмет исследования
3. Модели существующей и предлагаемой технологии
4. Постановка задачи
5. Выбор программного обеспечения
6. Модель базы данных
7. Краткое описание приложения
8. Контрольный пример: авторизация и каталог товаров
9. Контрольный пример: приёмка поставки
10. Контрольный пример: формирование заказа
11. Контрольный пример: аналитика
12. Контрольный пример: списание и инвентаризация
13. Контрольный пример: сводный отчёт для управляющего
14. Заключение

3. Актуальность, цель и задачи

Актуальность темы
Рынок зоотоваров в России ежегодно растет на 10–15
процентов, усиливается конкуренция
Ассортимент зоомагазина насчитывает от 2 до 5
тысяч наименований, около 60 процентов товаров
имеют ограниченный срок годности
В ООО «Петсервис» товарный учет ведется в
разрозненных Excel-таблицах и бумажных журналах
без единой структуры
Сроки годности кормов и ветпрепаратов
систематически не отслеживаются, потери от
просрочки достигают 5–7 процентов от оборота
Закупки планируются «на глаз», без учета нормативов
минимального и максимального запаса
Менеджер тратит до 45 процентов рабочего времени
на рутинные операции учета
Цель работы
Разработка автоматизированного рабочего
места менеджера, обеспечивающего
оптимизацию учета товарооборота за счет
централизации хранения данных,
автоматизации рутинных операций,
партионного контроля сроков годности и
управленческой аналитики
Задачи исследования
• Провести анализ деятельности ООО
«Петсервис», изучить организационную
структуру и существующий порядок учета
товарооборота
• Выявить недостатки существующей
организации процесса и построить его модель
• Разработать автоматизированную модель
процесса с определением функциональных
блоков
• Спроектировать логическую и физическую
структуру базы данных
• Реализовать программный прототип АРМ
менеджера
• Оценить эффективность предложенных
проектных решений

4. Объект и предмет исследования

Объект исследования
Процесс учета товарооборота в ООО «Петсервис» — движение товаров с момента поступления в магазин до момента продажи или списания, включая все
промежуточные операции
Предмет исследования
Автоматизированное рабочее место менеджера для оптимизации учета товарооборота, реализуемое с использованием базы данных Microsoft SQL Server и
платформы .NET через WPF-приложение
Характеристика ООО «Петсервис»
Ограничения предмета исследования
Методы исследования
• Средний розничный зоомагазин, штат 8 сотрудников
• Кассовые операции и фискальная
• Анализ документации и отраслевых стандартов
• Выручка около 5,5 млн рублей в месяц, средний чек
регистрация продаж исключены
1700 рублей
• Ассортимент: корма, наполнители, ветеринарная
аптека, аксессуары, игрушки, гигиена, одежда
• Менеджер — ключевая фигура в оперативном
управлении товарооборотом
(компетенция продавцов-кассиров)
• Программа лояльности и учет бонусных
баллов исключены (компетенция
центрального офиса)
• Интеграция с внешними
информационными системами не
предусмотрена
• Наблюдение за работой менеджера в ходе
преддипломной практики
• Моделирование бизнес-процессов в нотациях IDEF0
и UML
• Объектно-ориентированная разработка на
платформе .NET, прототипирование и тестирование

5. Схемы существующей и предлагаемой технологии


A1 — Управление номенклатурой и приёмка товара
A2 — Планирование и формирование заказов
A3 — Контроль сроков годности и состояния запасов
A4 — Подготовка отчётности и закрытие смены
Основные недостатки существующего процесса:
Данные хранятся в разрозненных Excel-файлах и бумажных журналах
Информационные связи между блоками отсутствуют или реализованы вручную
Сроки годности систематически не фиксируются
Закупки планируются на основе визуальной оценки остатков
Отчётность формируется ручным сведением данных из нескольких источников
B1 — Товарный учёт и приёмка поставок
B2 — Планирование и формирование заказов
B3 — Мониторинг и аналитика
B4 — Складской документооборот и отчётность
Ключевые отличия предлагаемого процесса:
Все четыре блока работают с единой централизованной базой данных
Партионный учёт с обязательной фиксацией срока годности при приёмке
Автоматический контроль сроков годности (детектор состояний)
Алгоритмическое формирование заказов на основе нормативов MinStock и MaxStock
Автоматическое формирование отчётности за любой период

6. Постановка задачи на разработку приложения

Назначение системы
АРМ менеджера предназначено для использования менеджером магазина и администратором. Пользователи — сотрудники ООО «Петсервис» с
базовыми навыками работы на ПК.
Модуль 1. Товарный учёт и приёмка
поставок
• Ведение
структурированного
каталога товаров с зоо-атрибутами
• Поиск и фильтрация товаров
• Приёмка
поставки
с
автоматическим созданием партий
и обязательной фиксацией срока
годности
• Просмотр остатков и партий товара
Модуль 2. Закупки
Ведение базы поставщиков с
коммерческими условиями
Автоматическое
формирование
заказа по потребностям (текущий
остаток сравнивается с MinStock,
заказ до MaxStock с учетом уже
ожидаемых поставок)
Ручная корректировка заказа перед
отправкой
Отслеживание статусов: Черновик,
Заказано, В пути, Поставка,
Закрыто
Модуль 3. Аналитика
Детектор критических состояний
(просрочка, истекает срок, дефицит,
избыток, неликвид)
ABC-анализ продаж по выручке
Расчёт оборачиваемости товарных
запасов в днях
Отчёт по структуре продаж в
разрезе видов животных
Ролевая модель
Менеджер — полный доступ ко всем функциям товарного учёта, закупок, аналитики и складского документооборота
Администратор — управление справочниками, учётными записями пользователей, резервное копирование базы данных
Входные и выходные данные
Вход: номенклатура товаров, справочник поставщиков, накладные на поступление товара, данные о продажах
Выход: заказы поставщикам, обновлённые остатки и цены, аналитические отчёты, акты списания, сводный отчёт
Модуль 4. Складской
документооборот
Формирование актов списания с
указанием
причины
и
автоматическим расчётом суммы
потерь
Инвентаризационная ведомость с
расчётом отклонений
Сводный отчёт для управляющего с
возможностью экспорта в CSV

7. Выбор программного обеспечения

Компонент системы
Выбранное средство
Обоснование выбора
Язык программирования
C#
Объектно-ориентированный язык, строгая
типизация, поддержка LINQ, полная
совместимость с WPF и Entity Framework
Платформа
.NET 9.0
Современная версия платформы, высокая
производительность, поддержка WPF
Пользовательский интерфейс
WPF (Windows Presentation Foundation)
Создание настольных приложений с
современным интерфейсом, гибкая стилизация
через XAML, работа с табличными данными
Система управления базами данных
Microsoft SQL Server
Промышленная реляционная СУБД, поддержка
транзакций, хранимых процедур, ограничений
целостности, интеграция с Entity Framework
ORM-фреймворк
Entity Framework Core
Взаимодействие с базой данных через объектную
модель, автоматическая генерация SQL-запросов,
подход Database First (Scaffold)
Среда разработки
Microsoft Visual Studio
Интегрированная среда разработки, встроенные
средства для работы с WPF, Entity Framework и
SQL Server
Database First (Reverse Engineering)
Генерация классов-сущностей из готовой схемы
базы данных командой Scaffold-DbContext, что
снижает вероятность ошибок ручного написания
моделей
Подход к созданию базы данных

8. Модель базы данных

Состав базы данных (пять групп таблиц)
Группа 1. Справочники
• AnimalTypes — виды животных
• Categories — категории товаров
• Brands — бренды
• Units — единицы измерения
• Suppliers — поставщики
Группа 2. Товары и партионный учёт
• Products — товары (артикул, наименование, зоо-атрибуты, цены,
MinStock, MaxStock)
• Batches — партии товара (срок годности, текущий остаток, закупочная
цена)
Группа 3. Поставки и заказы
• Supplies и SupplyItems — приёмка товара
• Orders и OrderItems — заказы поставщикам (статусы,
автоформирование)
Группа 4. Продажи и списания
• Sales — агрегированные данные о продажах
• WriteOffs и WriteOffItems — акты списания с суммой потерь
• Группа 5. Пользователи и неудовлетворённый спрос
• Users — учётные записи (логин, пароль, роль)
• UnsatisfiedDemand — запросы покупателей на отсутствующие товары
Ключевые проектные решения
• Суррогатные первичные ключи (Id INT IDENTITY)
• Ссылочная целостность через внешние ключи
• Партионный учёт: поле ExpirationDate обязательно (NOT NULL)
• Принцип FEFO: выбор партии с ближайшим сроком годности при
расходе товара
• Нормативы MinStock и MaxStock в таблице Products — основа
алгоритма автоформирования заказа
• Индексы для ускорения запросов: по артикулу, штрихкоду, сроку
годности, дате продаж

9. Краткое описание приложения

Общая характеристика
Краткое описание приложения
Настольное WPF-приложение, двухзвенная архитектура «клиент — база данных»
16 окон в составе четырёх функциональных модулей
Единый интерфейс в персиково-розовых тонах, шрифт Segoe UI
Архитектура приложения
WPF-клиент (XAML-окна + код C#) → Entity Framework Core (ORM-прослойка) → Microsoft SQL Server (база данных PetServiceDB)
Главное окно приложения
Левое меню с навигацией по всем модулям
Панель Dashboard с уведомлениями: количество просроченных товаров, дефицитных позиций, товаров с истекающим сроком, заказов в пути
Кнопки быстрых действий: приёмка поставки, создание заказа, списание, аналитика
Модуль товарного учёта:
Модуль закупок:
Модуль аналитики:
ProductCatalogWindow — каталог OrderListWindow — список
AbcAnalysisWindow — ABCтоваров с поиском
заказов с фильтрацией и сменой анализ продаж за период
ProductCardWindow — карточка статуса
TurnoverWindow — расчёт
товара (добавление и
OrderFormWindow —
оборачиваемости в днях
редактирование)
формирование заказа с кнопкой AnimalReportWindow — отчёт по
SupplyWindow — приёмка
«Автозаполнить»
видам животных
поставки с созданием партий
SupplierListWindow — справочник
ProductSelectWindow — окно
поставщиков
выбора товара из каталога
SupplierCardWindow — карточка
поставщика
Модуль складского
документооборота:
WriteOffWindow — создание акта
списания
InventoryWindow —
инвентаризационная ведомость
ReportWindow — сводный отчёт
для управляющего
Служебные окна:
LoginWindow — авторизация
пользователя

10. Контрольный пример: авторизация и каталог товаров

Шаг 1. Авторизация в системе
При успешной авторизации открывается главное окно приложения. Система
проверяет логин и пароль в таблице Users, при неверных данных выводится
сообщение об ошибке.
Шаг 2. Главное окно и каталог товаров
Основные функции каталога:
Таблица товаров отображает артикул, наименование, бренд, категорию, вид
животного, закупочную и розничную цену, текущий остаток
Остаток рассчитывается динамически как сумма количества по всем партиям
товара (SUM от Batches.Quantity WHERE ProductId = товар)
Поиск по артикулу и наименованию в реальном времени (фильтрация при вводе
текста)
Кнопка «Добавить» открывает карточку товара для создания новой позиции
Кнопка «Редактировать» открывает карточку с заполненными данными
выбранного товара
Кнопка «Обновить» сбрасывает поиск и перезагружает список
Данные в каталоге
На скриншоте отображается тестовый набор из 30 товаров всех категорий: корма для собак, кошек, грызунов, птиц, рыб;
наполнители; ветеринарные препараты; лакомства; аксессуары; игрушки; средства гигиены.

11. Контрольный пример: приёмка поставки

Шаг 1. Заполнение заголовка поставки
• Выбор поставщика из выпадающего списка (загружается из таблицы Suppliers)
• Ввод номера накладной
• Указание даты поставки (по умолчанию текущая дата)
Шаг 2. Добавление товаров в поставку
• Нажатие кнопки «Добавить товар» — открывается окно ProductSelectWindow со
списком активных товаров
• Поиск товара по артикулу или наименованию
• Выбор товара, указание количества, закупочной цены и срока годности
• Срок годности обязателен для заполнения
Шаг 3. Проведение поставки
При нажатии кнопки «Провести поставку» система выполняет транзакцию:
• Создаётся запись в таблице Supplies с общей суммой
• Для каждой строки создаются записи в SupplyItems
• Для каждой строки автоматически создаётся партия в таблице Batches:
1. Указывается срок годности (ExpirationDate)
2. Устанавливается начальное количество (Quantity)
3. Фиксируется закупочная цена
• Обновляется закупочная цена в таблице Products, если она изменилась
• Обновляются складские остатки
Результат
Создана поставка, сформированы партии, остатки товаров увеличены. Все операции выполнены в рамках одной
транзакции, что гарантирует целостность данных.

12. Контрольный пример: формирование заказа

Шаг 1. Выбор поставщика
Менеджер выбирает поставщика из выпадающего списка. Список загружается
из таблицы Suppliers, отображаются только активные поставщики.
Шаг 2. Автоматическое заполнение заказа
• При нажатии кнопки «Автозаполнить по потребностям» система выполняет
алгоритм:
• Для каждого активного товара выбранного поставщика вычисляется текущий
остаток как сумма количества по всем партиям
• К текущему остатку прибавляется количество товара в уже сделанных, но
ещё не полученных заказах (статусы «Заказано» и «В пути»)
• Если полученное значение меньше неснижаемого остатка (MinStock),
система рассчитывает объём заказа как разницу между максимальным
запасом (MaxStock) и доступным количеством
• Результат добавляется в таблицу заказа
Шаг 3. Ручная корректировка и сохранение
• Менеджер может вручную изменить количество в колонке «Заказать»
• Кнопка «Очистить» удаляет все строки из таблицы
• Кнопка «Сохранить черновик» сохраняет заказ со статусом «Черновик»
• Кнопка «Отправить поставщику» сохраняет заказ со статусом «Заказано»
Сохраняемые данные
В таблице Orders фиксируется: поставщик, дата заказа, ожидаемая дата поставки, статус. В
таблице OrderItems для каждой позиции сохраняется: товар, текущий остаток на момент
заказа, MinStock, MaxStock, заказанное количество. Сохранение нормативов на момент
заказа позволяет впоследствии проанализировать корректность расчёта потребности.

13. Контрольный пример: аналитика

ABC-анализ продаж
Расчёт оборачиваемости
Порядок работы:
Порядок работы:
1. Менеджер выбирает период: с 01.05.2026 по
1. Менеджер выбирает тот же период
31.05.2026
2. Нажимает кнопку «Рассчитать»
3. Система суммирует выручку по каждому товару
за выбранный период, сортирует по убыванию,
рассчитывает накопительную долю
4. Товары распределяются по группам: A (первые 80
2. Нажимает «Рассчитать»
3. Для каждого товара рассчитывается: средний
остаток за период, среднедневная выручка, период
оборота в днях
4. Товары классифицируются: неликвид (нет
продаж), медленный (более 90 дней), средний (30–
процентов выручки), B (следующие 15
90 дней), быстрый (менее 30 дней)
процентов), C (оставшиеся 5 процентов)
5. Таблица помогает выявить позиции с
5. Под таблицей выводится сводка: количество
товаров в каждой группе и их доля в общей
выручке
замороженными оборотными средствами
Отчёт по видам животных
Порядок работы:
1. Выбор периода, нажатие «Сформировать»
2. Система группирует продажи по видам
животных (собаки, кошки, грызуны, птицы,
рыбы), рассчитывает выручку и долю в
процентах
3. Управляющий видит, какие сегменты
ассортимента приносят основной доход

14. Контрольный пример: списание и инвентаризация

Списание товара
Порядок работы:
1. Менеджер выбирает причину списания из выпадающего списка:
Просрочка, Бой, Порча
2. Нажимает кнопку «Добавить товар» — открывается окно выбора товара,
отображаются только позиции с ненулевым остатком
3. При выборе товара система автоматически подставляет партию по
принципу FEFO — партию с ближайшим сроком годности
4. Менеджер указывает количество для списания
5. Система автоматически рассчитывает сумму потерь как произведение
количества на закупочную цену партии
6. Если количество списания превышает остаток в партии, выводится
сообщение об ошибке
7. При нажатии «Провести списание» в одной транзакции:
8. Создаётся запись в таблице WriteOffs с датой и причиной
9. Для каждой позиции создаётся запись в WriteOffItems с суммой потерь
10. Уменьшается остаток в соответствующей партии на указанное
количество
Инвентаризационная ведомость
Порядок работы:
1. Нажатие кнопки «Заполнить по учётным данным» — система загружает все
активные товары с текущими учётными остатками (сумма по партиям)
2. Менеджер вносит фактическое количество в колонку «Факт»
3. Система автоматически рассчитывает отклонение (факт минус учёт) и
сумму отклонения (отклонение, умноженное на закупочную цену)
4. Положительное отклонение означает излишек, отрицательное — недостачу
5. В нижней панели отображается сводка: всего позиций, количество позиций
с отклонениями
6. Кнопка «Сохранить ведомость» выводит итоговую информацию об
излишках и недостачах

15. Контрольный пример: сводный отчёт для управляющего

Формирование отчёта
Содержание отчёта
списания по группе за период
1. Менеджер или
Таблица содержит следующие Итоговые показатели
управляющий выбирает
колонки:
• Под таблицей выводятся:
период: с 01.05.2026 по
• Группа — категория товаров • Общая выручка за период
31.05.2026
(корма, наполнители,
• Валовая прибыль
2. Нажимает кнопку
ветаптека, аксессуары,
• Общая сумма списаний
«Сформировать»
игрушки и т.д.)
3. Система собирает данные из • Выручка — сумма продаж по
таблиц Sales, Products,
группе за период
Categories, WriteOffItems
• Себестоимость — сумма
закупочной стоимости
проданных товаров
• Прибыль — разница между
выручкой и себестоимостью
• Маржа — прибыль в
процентах от выручки
• Списано — сумма потерь от
Экспорт данных
Кнопка «Экспорт в Excel» сохраняет отчёт в формате CSV для дальнейшей обработки или передачи руководству.
Файл открывается в Microsoft Excel, данные разделены точкой с запятой, сохранена кодировка UTF-8.
Практическая ценность
До внедрения АРМ подготовка такого отчёта требовала от менеджера 1–2 часа ручного сведения данных из
Excel-таблиц, кассовой системы и бумажных заметок. Теперь отчёт формируется за несколько секунд, данные
всегда актуальны и достоверны.

16. Заключение

Что сделано
• Проведён анализ деятельности ООО «Петсервис», выявлены семь системных недостатков существующего учёта товарооборота
• Построены модели процессов в нотациях IDEF0 и UML
• Спроектирована база данных PetServiceDB из 18 таблиц с партионным учётом и нормативами MinStock/MaxStock
• Реализован прототип АРМ менеджера на C# и WPF: 16 окон, 4 функциональных модуля
• Проведено тестирование по 20 сценариям
Результаты
• Сокращение времени на операции учёта на 75 процентов (с 11–16 до 2–4 часов в неделю)
• Снижение потерь от просрочки с 5–7 до 1–2 процентов
• Снижение дефицита ходовых позиций на 70–80 процентов
• Автоматическое формирование отчётности за любой период
Доклад окончен. Спасибо за внимание!
English     Русский Rules