Проектирование информационной системы управления поставщиками: Структура и этапы выполнения курсовой работы

Введение

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

Ключевая проблема, возникающая при неэффективном управлении, — это потеря данных, задержки в поставках, отсутствие прозрачности в ценообразовании и сложности в объективной оценке надежности поставщиков. Это создает риски как финансовых, так и репутационных потерь. Именно поэтому разработка специализированных информационных систем (ИС) для автоматизации этих процессов является чрезвычайно актуальной задачей.

Цель данной работы — разработать информационную систему для автоматизации процесса управления поставщиками.

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

  • Провести детальное исследование предметной области управления поставщиками.
  • На основе проведенного анализа спроектировать концептуальную, а затем и логическую модель базы данных.
  • Выбрать подходящую систему управления базами данных (СУБД) и создать физическую структуру БД.
  • Разработать удобный пользовательский интерфейс для взаимодействия с системой.
  • Провести комплексное тестирование разработанной ИС для проверки ее работоспособности и соответствия требованиям.
  • По результатам тестирования произвести необходимые корректировки и подготовить систему к эксплуатации.

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

Глава 1. Системный анализ предметной области управления поставщиками

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

Системы управления взаимоотношениями с поставщиками, или SRM (Supplier Relationship Management), представляют собой программное обеспечение, предназначенное для автоматизации и цифровизации процессов работы с поставщиками. В общей структуре предприятия SRM-системы являются важной частью более глобальной концепции SCM (Supply Chain Management) — управления цепями поставок, которая охватывает весь жизненный цикл продукта, от разработки до конечного потребителя.

Ключевые бизнес-процессы

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

  1. Поиск и верификация поставщиков: Первый шаг включает в себя мониторинг рынка, поиск потенциальных партнеров и сбор первичной информации о них для проверки надежности и соответствия требованиям компании.
  2. Квалификация и отбор: На этом этапе проводится более глубокая оценка поставщиков по заранее определенным критериям, таким как цена, качество, сроки поставки и надежность.
  3. Проведение закупок (Sourcing): Этот процесс включает в себя организацию тендеров, запрос коммерческих предложений и выбор наиболее выгодных условий для заключения контракта.
  4. Процесс от закупки до оплаты (Procure-to-Pay, P2P): Это основной операционный цикл, который охватывает создание заказа, контроль его исполнения, приемку товаров или услуг, обработку счетов и проведение оплаты.
  5. Управление контрактами: Система должна позволять хранить и отслеживать все договоры с поставщиками, контролировать сроки их действия и выполнение взаимных обязательств.
  6. Оценка эффективности: Постоянный мониторинг и анализ таких показателей, как соблюдение сроков поставки, время обработки заказа и качество продукции, для формирования рейтинга поставщиков и принятия взвешенных решений.

Идентификация сущностей и формулировка требований

На основе описанных бизнес-процессов мы можем выделить ключевые информационные сущности, которыми будет оперировать система: «Поставщики», «Товары/Услуги», «Заказы», «Договоры», «Счета-фактуры» и «Контактные лица».

Теперь сформулируем требования к ИС, разделив их на две категории.

Функциональные требования (что система должна делать):

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

Нефункциональные требования (какими свойствами система должна обладать):

  • Надежность: Система должна обеспечивать сохранность данных и быть доступной в рабочее время.
  • Безопасность: Необходимо разграничение прав доступа для разных категорий пользователей (менеджер по закупкам, руководитель, бухгалтер).
  • Удобство использования: Интерфейс должен быть интуитивно понятным и не требовать длительного обучения.
  • Производительность: Система должна быстро обрабатывать запросы и формировать отчеты даже при значительном объеме данных.

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

Глава 2. Как спроектировать концептуальную модель данных

Концептуальная модель данных — это «архитектурный план» нашей будущей базы данных. Ее задача — наглядно представить основные объекты (сущности) предметной области, их характеристики (атрибуты) и то, как они связаны друг с другом, не углубляясь в технические детали реализации. Стандартом для визуализации таких моделей являются ER-диаграммы (Entity-Relationship Diagram).

Обоснование выбора реляционной модели данных

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

Описание сущностей и их атрибутов

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

  • Поставщики (Suppliers):
    • Supplier_ID (Первичный ключ)
    • Наименование_Компании
    • ИНН
    • Адрес
    • Дата_Регистрации
  • Товары/Услуги (Products):
    • Product_ID (Первичный ключ)
    • Наименование_Товара
    • Единица_Измерения
    • Описание
  • Заказы (Orders):
    • Order_ID (Первичный ключ)
    • Дата_Заказа
    • Статус_Заказа (например, «Новый», «В обработке», «Выполнен»)
    • Общая_Сумма
    • Supplier_ID (Внешний ключ к Поставщикам)
  • Договоры (Contracts):
    • Contract_ID (Первичный ключ)
    • Номер_Договора
    • Дата_Заключения
    • Срок_Действия
    • Supplier_ID (Внешний ключ к Поставщикам)

Построение ER-диаграммы и описание связей

На следующем этапе необходимо визуализировать эти сущности и их взаимосвязи с помощью ER-диаграммы, используя нотацию Чена или «вороньи лапки» (Crow’s Foot). Диаграмма наглядно демонстрирует логическую структуру данных. После построения диаграммы каждую связь необходимо подробно описать текстом.

Пример описания связи:
Связь между сущностями «Поставщики» и «Заказы» является связью типа «один-ко-многим» (1:N). Это означает, что один поставщик может иметь множество связанных с ним заказов, но каждый конкретный заказ может принадлежать только одному поставщику. Эта связь реализуется через внешний ключ Supplier_ID в таблице «Заказы», который ссылается на первичный ключ в таблице «Поставщики».

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

Глава 3. Логическое проектирование базы данных через нормализацию

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

Переход от ER-модели к реляционным таблицам

Преобразование выполняется по четким правилам:

  • Каждая сущность на ER-диаграмме становится отдельной таблицей в базе данных.
  • Каждый атрибут сущности становится столбцом (полем) в этой таблице.
  • Связи типа «один-ко-многим» (1:N) реализуются путем добавления в «дочернюю» таблицу (на стороне «многих») внешнего ключа, который ссылается на первичный ключ «родительской» таблицы.
  • Связи типа «многие-ко-многим» (M:N), например, между «Заказами» и «Товарами» (один заказ может содержать много товаров, и один товар может входить во много заказов), реализуются через создание промежуточной (связующей) таблицы. Такая таблица будет содержать внешние ключи к обеим связываемым таблицам.

Процесс нормализации

Нормализация — это пошаговый процесс декомпозиции таблиц для уменьшения дублирования данных и устранения аномалий при их обновлении, вставке или удалении. Мы последовательно приведем наши таблицы к трем основным нормальным формам.

  1. Первая нормальная форма (1NF): Требует, чтобы все атрибуты таблицы были атомарными, то есть неделимыми. В ячейке таблицы не может быть списков или наборов значений. Например, если у поставщика несколько контактных телефонов, их нельзя хранить в одном поле через запятую. Вместо этого создается отдельная таблица для телефонов.
  2. Вторая нормальная форма (2NF): Применима к таблицам с составным первичным ключом. Она требует, чтобы все неключевые атрибуты полностью зависели от всего составного ключа, а не от его части. Это устраняет частичные функциональные зависимости.
  3. Третья нормальная форма (3NF): Требует, чтобы все неключевые атрибуты зависели только от первичного ключа и не зависели от других неключевых атрибутов. Это устраняет так называемые транзитивные зависимости. Например, если в таблице заказов есть поле «Адрес_Поставщика», это будет нарушением 3NF, так как адрес зависит не от номера заказа, а от поставщика. Адрес должен храниться только в таблице поставщиков.

Итоговая структура таблиц

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

  • Имя таблицы (например, `Suppliers`).
  • Список полей (столбцов) для каждой таблицы.
  • Тип данных для каждого поля (например, `INT`, `VARCHAR(255)`, `DATE`).
  • Явное указание первичного ключа (PRIMARY KEY).
  • Явное указание всех внешних ключей (FOREIGN KEY) и таблиц, на которые они ссылаются.

Мы получили логически безупречную структуру таблиц. Следующий этап — выбрать конкретный инструмент (СУБД) для ее физической реализации и описать детали этого процесса.

Глава 4. Выбор СУБД и физическое проектирование базы данных

После завершения логического проектирования наступает этап физической реализации, где абстрактная схема таблиц превращается в работающую базу данных. Этот процесс включает в себя выбор конкретной системы управления базами данных (СУБД) и написание SQL-кода для создания всех необходимых объектов.

Сравнительный анализ и выбор СУБД

Для учебного и коммерческого проекта существует несколько популярных реляционных СУБД. Рассмотримих основные характеристики:

  • MySQL: Одна из самых популярных СУБД с открытым исходным кодом. Отличается высокой скоростью работы, простотой в установке и администрировании, а также огромным сообществом. Идеально подходит для веб-приложений и проектов среднего масштаба.
  • PostgreSQL: Также СУБД с открытым исходным кодом, но с фокусом на расширяемость и строгое следование стандартам SQL. Считается более мощной и функциональной, чем MySQL, и хорошо подходит для сложных систем с высокими требованиями к целостности данных.
  • MS SQL Server: Коммерческий продукт от Microsoft. Глубоко интегрирован с другими продуктами Microsoft, обладает мощными инструментами для аналитики и администрирования. Часто используется в корпоративной среде.

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

Создание таблиц с помощью SQL

Физическое создание структуры базы данных осуществляется с помощью команд языка SQL (Structured Query Language). Для каждой таблицы, спроектированной в предыдущей главе, необходимо написать скрипт `CREATE TABLE`.

Пример SQL-кода для создания таблицы «Поставщики»:

CREATE TABLE Suppliers (
    Supplier_ID INT PRIMARY KEY AUTO_INCREMENT,
    CompanyName VARCHAR(255) NOT NULL,
    TIN VARCHAR(12) UNIQUE NOT NULL,
    Address TEXT,
    RegistrationDate DATE
);

В этом коде мы не просто создаем поля и указываем их типы, но и определяем ключевые ограничения целостности:

  • `PRIMARY KEY` — объявляет поле `Supplier_ID` первичным ключом, который будет уникально идентифицировать каждую запись.
  • `NOT NULL` — запрещает оставлять поле пустым (например, название компании).
  • `UNIQUE` — гарантирует, что все значения в столбце (например, ИНН) будут уникальными.

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

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

Глава 5. Разработка интерфейса и описание функционала системы

После того как «фундамент» системы — база данных — заложен, необходимо построить «здание», то есть создать пользовательский интерфейс и реализовать бизнес-логику, которая позволит пользователям взаимодействовать с данными. В этой главе мы опишем архитектуру приложения, его основные экранные формы и сценарии работы.

Выбор средств разработки и архитектура приложения

Для реализации проекта была выбрана трехуровневая архитектура, которая является отраслевым стандартом для разработки бизнес-приложений. Она включает:

  1. Уровень данных: Наша реализованная СУБД MySQL.
  2. Уровень логики (Backend): Серверная часть, отвечающая за обработку запросов, выполнение бизнес-операций и взаимодействие с базой данных. Может быть реализована на таких языках, как Python (с фреймворком Django/Flask) или C# (с .NET).
  3. Уровень представления (Frontend): Пользовательский интерфейс, с которым непосредственно работает пользователь. Может быть реализован в виде десктопного приложения (например, на C# WinForms) или веб-приложения (HTML, CSS, JavaScript).

Такое разделение делает систему более гибкой, масштабируемой и простой в сопровождении.

Описание пользовательского интерфейса и сценарии использования

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

1. Главное окно и навигационное меню
После входа в систему пользователь попадает на главный экран, откуда он может получить доступ ко всем основным модулям: «Поставщики», «Заказы», «Товары», «Отчеты».

2. Форма «Карточка поставщика»
Сценарий использования: Менеджер по закупкам нажимает кнопку «Добавить нового поставщика». Открывается форма, где он вводит наименование компании, ИНН, адрес и контактные данные. После нажатия кнопки «Сохранить» система проверяет данные на корректность (например, уникальность ИНН) и записывает новую запись в таблицу `Suppliers` в базе данных.

3. Форма «Создание нового заказа»
Сценарий использования: Пользователь открывает модуль «Заказы» и нажимает «Создать заказ». В открывшейся форме он сначала выбирает поставщика из выпадающего списка (данные подгружаются из таблицы `Suppliers`). Затем он добавляет в заказ товары из каталога, указывая необходимое количество. Система автоматически рассчитывает общую сумму. После подтверждения заказ сохраняется в базе данных со статусом «Новый».

4. Форма генерации отчетов
Сценарий использования: Руководитель отдела закупок переходит в раздел «Отчеты». Он выбирает тип отчета, например, «Отчет по просроченным поставкам», указывает период (например, за последний квартал) и нажимает «Сформировать». Система выполняет сложный SQL-запрос к базе данных, анализируя даты плановых и фактических поставок, и выводит результат в виде таблицы или графика.

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

Глава 6. Процедура и результаты тестирования системы

Тестирование является неотъемлемым этапом жизненного цикла разработки программного обеспечения. Его основная цель — убедиться, что разработанная информационная система работает корректно, соответствует всем заявленным функциональным и нефункциональным требованиям, а также выявить и исправить возможные ошибки до ее внедрения.

План и стратегия тестирования

Стратегия тестирования для нашего проекта включает несколько направлений:

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

Тестирование будет проводиться методом «черного ящика», когда тестировщик проверяет функциональность через пользовательский интерфейс, не имея доступа к исходному коду.

Разработка и примеры тест-кейсов

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

Пример таблицы с тест-кейсами:

ID теста Тестируемая функция Шаги для воспроизведения Ожидаемый результат Фактический результат Статус
TC-01 Добавление нового поставщика с корректными данными 1. Открыть модуль «Поставщики». 2. Нажать «Добавить». 3. Заполнить все поля валидными данными. 4. Нажать «Сохранить». Система выводит сообщение об успешном сохранении. Новый поставщик появляется в общем списке. Соответствует ожидаемому. Пройден
TC-02 Попытка добавления поставщика с уже существующим ИНН 1. Повторить шаги 1-3 из TC-01. 2. В поле «ИНН» ввести номер уже существующего поставщика. 3. Нажать «Сохранить». Система выводит сообщение об ошибке, указывая, что такой ИНН уже зарегистрирован. Запись не сохраняется. Соответствует ожидаемому. Пройден
TC-03 Редактирование данных заказа 1. Открыть существующий заказ. 2. Изменить статус заказа с «Новый» на «В обработке». 3. Нажать «Сохранить». Изменения сохраняются. При повторном открытии заказа отображается новый статус. Соответствует ожидаемому. Пройден

Анализ результатов тестирования

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

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

Заключение

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

Резюме проделанной работы

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

  • Проведен системный анализ предметной области, в рамках которого были изучены основные бизнес-процессы (верификация, закупки, управление контрактами) и сформулированы детальные требования к системе.
  • Разработана концептуальная модель данных с использованием ER-диаграмм, которая легла в основу структуры базы данных.
  • Выполнено логическое проектирование БД, включая процесс нормализации таблиц до третьей нормальной формы для обеспечения целостности и устранения избыточности данных.
  • Обоснован выбор СУБД MySQL и осуществлено физическое проектирование базы данных с приведением примеров SQL-скриптов.
  • Описана архитектура приложения, разработан пользовательский интерфейс и продемонстрированы ключевые сценарии использования системы.
  • Проведено комплексное тестирование, подтвердившее работоспособность системы и ее соответствие исходным требованиям.

Выводы и практическая значимость

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

Направления для дальнейшего развития

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

  • Интеграция с внешними системами: Добавление модуля для обмена данными с бухгалтерскими программами (например, 1С) или сервисами проверки контрагентов.
  • Разработка веб-версии и мобильного приложения: Создание доступа к системе через браузер или со смартфона для повышения мобильности сотрудников.
  • Внедрение аналитических инструментов: Использование элементов машинного обучения для прогнозирования спроса, оптимизации объемов закупок или автоматической рекомендации наиболее надежных поставщиков.

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

Список литературы и Приложения

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

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

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

Приложения

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

Как правило, в приложения к курсовой работе по разработке ИС включают:

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

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

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