Введение. Постановка задачи и обоснование актуальности проекта

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

Актуальность данной курсовой работы обусловлена тем, что автоматизация является ключевым фактором оптимизации бизнес-процессов. Внедрение специализированной информационной системы (ИС) позволяет кардинально решить перечисленные проблемы: минимизировать ошибки, ускорить обработку данных и предоставить руководству мощные инструменты для анализа и принятия решений. Основная цель такой системы — автоматизация торговых операций и повышение общей операционной эффективности.

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

Главная цель работы — разработка информационной системы в среде MS Access для автоматизации учета торговых операций и анализа эффективности сбыта продукции.

Для достижения поставленной цели необходимо решить следующие задачи:

  1. Проанализировать предметную область и ключевые бизнес-процессы предприятия.
  2. Спроектировать логическую и физическую структуру базы данных.
  3. Реализовать структуру данных: создать таблицы и настроить связи между ними в среде MS Access.
  4. Разработать пользовательский интерфейс (формы) для удобного ввода и редактирования данных.
  5. Создать запросы для обработки и анализа информации.
  6. Разработать отчеты для наглядного представления итоговых данных.
  7. Провести тестирование разработанной системы и подготовить руководство пользователя.

Выбор Microsoft Access в качестве инструмента разработки не случаен. Для учебного проекта он является оптимальным решением благодаря своей доступности (входит в пакет Microsoft Office), простоте освоения и достаточно мощному функционалу, который позволяет создавать полноценные реляционные базы данных с формами, запросами и отчетами.

Глава 1. Теоретический анализ и обзор средств разработки

1.1. Анализ предметной области

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

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

Основными информационными потоками в этой системе являются данные о товарах, клиентах, поставщиках и транзакциях (продажах), которые циркулируют между сотрудниками (менеджерами по продажам, кладовщиками) и руководством.

1.2. Обзор современных СУБД

Для реализации информационной системы можно использовать различные Системы Управления Базами Данных (СУБД). Проведем краткий сравнительный анализ наиболее популярных из них в контексте нашего проекта.

СУБД Преимущества Недостатки
MS Access Интеграция с MS Office, низкий порог входа, визуальные конструкторы для всех объектов (таблиц, форм, отчетов), не требует отдельной установки сервера. Ограничения по объему данных и количеству одновременных пользователей, не подходит для высоконагруженных систем.
MySQL Бесплатная, высокая производительность, кроссплатформенность, широкая поддержка сообщества, отлично подходит для веб-приложений. Требует установки сервера, разработка интерфейса требует отдельных инструментов и языков программирования (PHP, Python, Java).
PostgreSQL Мощный, расширяемый, поддерживает сложные запросы и типы данных, высокая надежность и соответствие стандартам SQL. Более сложен в администрировании по сравнению с MySQL, может быть избыточным для простых задач.

Для целей курсовой работы, где основной задачей является демонстрация навыков проектирования и разработки ИС «под ключ», Microsoft Access является оптимальным выбором. Он позволяет в единой среде создать и структуру данных, и логику, и пользовательский интерфейс, не требуя знаний в серверном администрировании или веб-программировании.

1.3. Методология проектирования баз данных

Основой для проектирования нашей системы служит реляционная модель данных, где вся информация хранится в виде связанных между собой таблиц. Стандартным методом проектирования для таких моделей является моделирование «сущность-связь» (ER-моделирование). Этот подход позволяет визуально представить структуру будущей базы данных.

Ключевые понятия ER-модели:

  • Сущность — это реальный или воображаемый объект, информацию о котором необходимо хранить (например, `Товар`, `Клиент`). В базе данных сущность становится таблицей.
  • Атрибут — это свойство или характеристика сущности (например, `НазваниеТовара`, `Цена`). В таблице атрибут становится полем (столбцом).
  • Первичный ключ (Primary Key) — это один или несколько атрибутов, уникально идентифицирующих каждую запись в таблице (например, `ID_Товара`).
  • Внешний ключ (Foreign Key) — это атрибут в одной таблице, который ссылается на первичный ключ в другой таблице, тем самым устанавливая связь между ними.
  • Связь — это ассоциация между двумя сущностями. Наиболее распространенный тип связи — «один-ко-многим» (например, один клиент может сделать много заказов).

Глава 2. Проектирование информационной системы учета продукции

2.1. Выделение сущностей и атрибутов

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

  1. Поставщики: Хранит информацию о компаниях, поставляющих товар.
    • Атрибуты: ID_Поставщика (первичный ключ), НазваниеКомпании, КонтактноеЛицо, Телефон.
  2. Сотрудники: Информация о сотрудниках, оформляющих продажи.
    • Атрибуты: ID_Сотрудника (первичный ключ), Фамилия, Имя, Должность.
  3. Клиенты: Информация о покупателях.
    • Атрибуты: ID_Клиента (первичный ключ), Фамилия, Имя, Телефон, Email.
  4. Продукция: Номенклатурный справочник всех товаров.
    • Атрибуты: ID_Товара (первичный ключ), Наименование, Описание, ЦенаЗакупки, ЦенаПродажи, ID_Поставщика (внешний ключ).
  5. Продажи: Основная таблица для фиксации факта продажи (чек).
    • Атрибуты: ID_Продажи (первичный ключ), ДатаПродажи, ID_Клиента (внешний ключ), ID_Сотрудника (внешний ключ).
  6. Состав_Продажи: Детализация каждого чека (какие товары и в каком количестве были проданы).
    • Атрибуты: ID_Записи (первичный ключ), ID_Продажи (внешний ключ), ID_Товара (внешний ключ), Количество, ЦенаНаМоментПродажи.

2.2. Построение инфологической модели данных

На основе выделенных сущностей и их связей строится ER-диаграмма. Эта диаграмма визуально отображает архитектуру базы данных и является «чертежом» для ее создания. Основные связи в нашей системе:

  • «Один ко многим» между `Поставщики` и `Продукция` (один поставщик может поставлять много товаров).
  • «Один ко многим» между `Клиенты` и `Продажи` (один клиент может совершить много покупок).
  • «Один ко многим» между `Сотрудники` и `Продажи` (один сотрудник может оформить много продаж).
  • «Один ко многим» между `Продажи` и `Состав_Продажи` (одна продажа/чек включает много товарных позиций).
  • «Один ко многим» между `Продукция` и `Состав_Продажи` (один и тот же товар может присутствовать во многих продажах).

Эта структура позволяет избежать дублирования данных и обеспечивает их целостность. Например, информация о клиенте хранится только один раз в таблице `Клиенты`, а в каждой его покупке используется лишь ссылка (ID_Клиента) на эту запись.

2.3. Проектирование физической структуры таблиц

Теперь преобразуем инфологическую модель в конкретную схему таблиц для MS Access. Ниже представлен пример детального проектирования таблицы `Продукция`.

Физическая структура таблицы «Продукция»
Имя поля Тип данных Ключ Свойства
ID_Товара Счетчик (Long Integer) Первичный Новые значения: по порядку
Наименование Короткий текст (255) Обязательное поле: Да; Индексированное поле: Да (совпадения допускаются)
Описание Длинный текст (Memo)
ЦенаПродажи Денежный Формат: Денежный; Число десятичных знаков: 2; Обязательное поле: Да
ID_Поставщика Числовой (Long Integer) Внешний Обязательное поле: Да; Будет использовано для создания связи с таблицей `Поставщики`.

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

Глава 3. Реализация структуры базы данных в MS Access

3.1. Создание таблиц

Процесс создания таблиц в MS Access осуществляется в режиме «Конструктор». Для каждой таблицы, спроектированной в предыдущей главе, выполняется следующая последовательность действий:

  1. На вкладке «Создание» выбирается инструмент «Конструктор таблиц».
  2. В открывшейся сетке последовательно вводятся имена полей из нашего проекта (например, `ID_Товара`, `Наименование`).
  3. Для каждого поля из выпадающего списка выбирается соответствующий тип данных (`Счетчик`, `Короткий текст`, `Денежный` и т.д.).
  4. В нижней части окна, в разделе «Свойства поля», настраиваются дополнительные параметры: размер поля, формат, маска ввода, обязательность заполнения, значение по умолчанию. Например, для поля `ЦенаПродажи` устанавливается «Денежный» формат и правило проверки «>0», чтобы исключить ввод отрицательных значений.
  5. Одно из полей (обычно `Счетчик`) назначается первичным ключом нажатием кнопки «Ключевое поле» на ленте конструктора.
  6. Таблица сохраняется под соответствующим именем (`Продукция`, `Клиенты` и т.д.).

Этот процесс повторяется для всех шести таблиц нашей системы.

3.2. Настройка связей между таблицами

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

Настройка связей производится в специальном окне «Схема данных» (вкладка «Работа с базами данных»).

  1. В окно «Схема данных» добавляются все созданные таблицы.
  2. Для создания связи поле первичного ключа одной таблицы (например, `ID_Клиента` из таблицы `Клиенты`) перетаскивается с помощью мыши на соответствующее поле внешнего ключа в другой таблице (`ID_Клиента` в таблице `Продажи`).
  3. В появившемся диалоговом окне «Изменение связей» необходимо установить флажок «Обеспечение целостности данных». Это заставит Access следить за тем, чтобы нельзя было создать продажу для несуществующего клиента или удалить клиента, у которого есть оформленные продажи. Дополнительно можно включить каскадное обновление и удаление связанных записей.

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

3.3. Наполнение таблиц тестовыми данными

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

Например, в таблицу `Продукция` добавляются несколько товаров, в `Клиенты` — несколько вымышленных клиентов. Затем, используя их ID, можно создать несколько записей в таблице `Продажи` и `Состав_Продажи`. Наличие этих данных позволит на следующих этапах сразу видеть результаты своей работы и отлаживать возможные ошибки.

Глава 4. Разработка логики и пользовательского интерфейса

4.1. Разработка форм для ввода данных

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

  • Простые формы: для таблиц-справочников (`Клиенты`, `Поставщики`, `Продукция`) создаются простые формы «в столбец» с помощью Мастера форм. Они содержат поля для всех атрибутов и стандартные кнопки навигации по записям.
  • Сложная подчиненная форма: для оформления продаж создается составная форма. Основная форма базируется на таблице `Продажи` и содержит общую информацию о покупке (клиент, дата, сотрудник). В нее встраивается подчиненная форма, основанная на таблице `Состав_Продажи`. Эта подчиненная форма отображается в режиме таблицы и позволяет добавлять в чек несколько товарных позиций. Связь между основной и подчиненной формами настраивается автоматически через `ID_Продажи`. Для удобства выбора товара в подчиненной форме используется элемент «Поле со списком».

На все формы добавляются кнопки управления (Добавить, Сохранить, Удалить, Закрыть), созданные с помощью Мастера кнопок.

4.2. Создание запросов для обработки информации (SQL)

Запросы являются «мозгом» системы, позволяя извлекать, фильтровать, комбинировать и вычислять данные. В MS Access запросы можно создавать как в визуальном конструкторе, так и напрямую на языке SQL. Разработаем несколько ключевых запросов:

  • Запрос на выборку: Простой запрос для поиска товаров по наименованию.
  • Запрос с параметром: Запрос для отбора всех продаж за указанный пользователем период. В условии отбора для поля `ДатаПродажи` используется конструкция `Between [Введите начальную дату] And [Введите конечную дату]`.
  • Запрос на вычисление: Запрос для расчета текущих остатков на складе. Он должен суммировать все поступления и вычитать все продажи по каждому товару. Важно использовать функцию `Nz(Поле, 0)`, которая заменяет пустые значения (Null) нулем, чтобы избежать ошибок в вычислениях, если товар еще не продавался.
  • Перекрестный запрос: Для анализа эффективности создается перекрестный запрос, показывающий объемы продаж (суммы) каждого сотрудника по месяцам. Сотрудники будут в строках, месяцы — в столбцах, а на пересечении — итоговая сумма.
  • Запрос на обновление: Запрос для массового изменения цен, например, увеличения цены на 10% для определенной категории товаров.

4.3. Разработка отчетов

Отчеты предназначены для вывода информации на печать или в удобном для просмотра виде. На основе ранее созданных запросов разрабатываются следующие отчеты:

  • «Прайс-лист»: Простой ленточный отчет на основе таблицы `Продукция`.
  • «Отчет о продажах за период»: Отчет на основе запроса с параметром. В нем используется группировка по дате и выводятся итоговые суммы за каждый день и за весь период.
  • «Остатки товаров на складе»: Табличный отчет, основанный на запросе для расчета остатков.
  • «Рейтинг клиентов»: Отчет с группировкой по клиентам и сортировкой по убыванию общей суммы их покупок, позволяющий выделить наиболее ценных покупателей.

В режиме конструктора отчетов можно настроить внешний вид, добавить заголовки, логотипы и итоговые поля с вычислениями (`Sum`, `Avg`, `Count`).

4.4. Создание главной кнопочной формы

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

  • Открыть форму «Клиенты».
  • Открыть форму «Продукция».
  • Оформить новую продажу (открывает форму «Продажи»).
  • Открыть отчет «Остатки на складе».
  • Открыть отчет «Продажи за период».
  • Кнопка «Выход», которая закрывает приложение.

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

Глава 5. Тестирование системы и разработка руководства

5.1. План и методика тестирования

Цель тестирования — убедиться, что все функции системы работают корректно, вычисления верны, а интерфейс интуитивно понятен. Для этого составляется план тестирования в виде таблицы тест-кейсов.

Пример тест-кейса
ID Название теста Шаги для воспроизведения Ожидаемый результат
TC-01 Добавление нового клиента 1. Открыть главную форму.
2. Нажать кнопку «Клиенты».
3. Нажать «Добавить запись».
4. Ввести данные нового клиента.
5. Закрыть форму.
Новая запись о клиенте успешно сохранена в таблице `Клиенты`.
TC-08 Проверка расчета остатков 1. Оформить продажу товара X в количестве 2 шт.
2. Открыть отчет «Остатки товаров на складе».
Количество товара X в отчете уменьшилось на 2.

5.2. Проведение тестирования и описание результатов

На этом этапе необходимо последовательно выполнить все шаги для каждого тест-кейса и зафиксировать фактический результат. Если фактический результат не совпадает с ожидаемым, это означает, что была найдена ошибка (баг).

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

5.3. Руководство пользователя

Руководство пользователя — это краткая инструкция, предназначенная для конечного пользователя системы (например, менеджера по продажам). Оно должно быть написано простым и понятным языком, без технического жаргона.

Краткое руководство пользователя ИС «Учет Продукции»

  1. Запуск системы: Откройте файл `УчетПродукции.accdb`. Автоматически откроется главное меню.
  2. Добавление нового товара: В главном меню нажмите «Справочники» -> «Товары». В открывшейся форме нажмите кнопку для добавления новой записи и заполните карточку товара.
  3. Оформление продажи: В главном меню нажмите «Оформить продажу». Выберите клиента из списка или добавьте нового. В табличной части ниже выберите товары и укажите их количество. После добавления всех товаров нажмите «Сохранить и закрыть».
  4. Создание отчета о продажах: В главном меню нажмите «Отчеты» -> «Продажи за период». В появившемся окне введите начальную и конечную даты и нажмите «ОК». Отчет будет сформирован автоматически.

Заключение. Итоги и перспективы развития проекта

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

Были выполнены следующие этапы:

  • Проведен анализ предметной области, описывающей процессы сбытовой деятельности.
  • На основе анализа спроектирована эффективная реляционная структура базы данных, представленная в виде ER-диаграммы и физической модели.
  • В среде MS Access созданы таблицы, установлены связи с обеспечением целостности данных.
  • Разработан удобный пользовательский интерфейс, включающий формы для ввода данных и главную кнопочную форму для навигации.
  • Создан набор SQL-запросов для выполнения ключевых бизнес-задач: расчета остатков, анализа продаж и обновления данных.
  • Разработаны аналитические отчеты для визуализации итоговой информации.
  • Проведено тестирование системы и составлено руководство пользователя.

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

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

  • Разработка модуля закупок: автоматизация процесса заказа товаров у поставщиков на основе анализа остатков и спроса.
  • Масштабирование: перенос серверной части (таблиц) на более мощную СУБД, например, MS SQL Server, с сохранением интерфейса в Access (модель «клиент-сервер»).
  • Разработка веб-интерфейса: создание веб-приложения для предоставления удаленного доступа к системе для руководства или торговых представителей.
  • Интеграция с торговым оборудованием: добавление функционала для работы со сканерами штрих-кодов и онлайн-кассами.

Список использованной литературы

  1. Бекаревич Ю.Б., Пушкина Н.В. Самоучитель Microsoft Access 2009. – СПб.: БХВ – Петербург, 2009. – 720 с.
  2. Кошелев В.Е. Access 2007. Эффективное использование – М: Бином-Пресс, 2008. – 592 с.
  3. Лори Ульрих Фуллер, Кен Кук Access 2010 для чайников – М.: Диалектика, 2010. – С. 384.

Похожие записи