Разработка информационной системы автоматизированного рабочего места дистрибьютора
Аннотация
Работа содержит описание процесса анализа,
проектирования, и разработки информационной системы автоматизированного
рабочего места дистрибьютора с помощью языка программирования высокого уровня
С# и СУБД MS SQL Server.
Дистрибьютор регистрирует новых клиентов,
добавляя такие данные, как паспортные, контактную информацию, адрес проживания,
адрес регистрации, после чего информация поступает в хранилище и дает
возможность выполнять операции над ней. Также пользователь оформляет заказ,
вводит необходимую информацию, которая также поступает в хранилище данных.
Программа выполняет запросы дистрибьютора по выводу всей информации о товарах,
заказах, клиентах и точках выдачи заказов. В программе реализован поиск
необходимой информации как по Ф.И.О, так и по названию товара. Также стоит
отметить, что вся необходимая информация, которую можно добавлять изменять и
удалять, находится в справочниках.
В работе представлено 15 таблиц и 18 рисунков.
Введение
На сегодняшний день динамика появления и
расширения компьютерных технологий является одной из основных составляющих
современного мира. Благодаря прогрессу в области IT-услуг и техники,
возможность моделировать процессы возрастает.
Стоит отметить, что из-за большого объема
существующих факторов, влияющих на создание автоматизированного и
организованного процесса, не удается учесть их всех, в последствие чего
возникают некие проблемы. Поэтому в качестве образца программ со схожим
принципом работы выступают создаваемые программы, моделирующие различные процессы
и алгоритмы.
Данная программа предназначена для автоматизации
хранения и обработки данных о самих клиентах и заказах. Целевой аудиторией
пользователей является сам дистрибьютор, который заносит, и редактирует
необходимую информацию, следит за корректной работой системы. Не стоит
забывать, что приходится сталкиваться с тем, что возникают ситуации, когда
информация о существующих клиентах и заказах хранится в бумажном виде, а
создание нового клиента осуществляется с помощью специального бланка. В данном
случае представленный метод ведения учета базы данных со стороны дистрибьютора
нерационален.
Цель данной работы - разработать программу
автоматизированного рабочего места дистрибьютора.
Для создания базы данных выбрана система
управления реляционными базами данных Microsoft SQL Server, а для создания
приложения - среда разработки Microsoft Visual Studio 2012.
В ходе курсовой работы необходимо решить
следующие задачи:
Анализ бизнес-процесса (БП) «Деятельность
дистрибьютора».
Анализ аналогичных систем.
Формирование требований к информационной
системе(ИС).
Проектирование БД.
Проектирование форм клиентского приложения.
Разработка клиентского приложения.
Объектом исследования является деятельность
дистрибьютора, предметом исследования − ИС для автоматизации деятельности
дистрибьютора.
Сегодня для успешного функционирования различных
организаций представлена огромная вариация развитых информационных систем,
которые реализуют автоматизированный сбор, обработку и манипулирование данными.
Чаще всего данные реализуются и хранятся в текстовых файлах или же в базе
данных. Тем не менее, в процессе работы планируется разработать новую
информационную систему учета клиентской базы, которая сможет послужить как
примером для доработки той или иной системы, так и системой, моделирующею
рабочее место дистрибьютора.
Актуальность данной темы вызвана тем, что
качественно разработанная программа значительно облегчит работу дистрибьютора с
клиентами и их заказами.
Глава 1. Моделирование и анализ бизнес-процессов
деятельности дистрибьютора
.1Общее описание предметной области и
бизнес-процессов
Менеджер косметической компании оказывает этой
компании услуги по поиску и набору дистрибьюторов, действие которых будет
направлено на увеличение объемов продаж товаров данной компании. У дистрибьютора
есть каталог, в котором представлено семь категорий продукции, предназначенных
для продажи. Каждую неделю дистрибьютор принимает заказы от клиентов и делает
отправку заказов в компанию. После чего получает и выдает заказы клиентам. В
остальное время идет продажа имеющихся в наличии товаров и поиск новых
клиентов.
Весь учет клиентской базы, а именно: Ф.И.О, дата
рождения, паспортные данные, контактные данные, информация о проживании и месте
регистрации, ведется дистрибьютором вручную, с помощью табличного процессора.
Оформление заказа, а именно: код и количество товара, выполняется также
вручную, с помощью табличного процессора. Всю интересующую информацию о
каких-либо специальных предложениях и акциях клиент может получить у
дистрибьютора.
Данная работа состоит из одного бизнес -
процесса: продажа продукции (см. табл.1.1.).
Таблица 1.1. Состав автоматизируемых
бизнес-процессов
№
п.п.
|
Код
бизнес-процесса
|
Наименование
бизнес-процесса
|
1
|
001
|
Продажа
продукции
|
1.2 Описание бизнес-процесса "Продажа
продукции"
.2.1Общее описание бизнес-процесса
Декомпозиция процесса «Продажа продукции»
включает в себя подпроцессы: «Регистрация клиента», «Оформление заказа», «Поиск
необходимой информации». Данные клиента, прибывшего к дистрибьютору,
записываются в базу данных, вследствие чего он добавляется в базу данных личной
карточки дистрибьютора. Также клиент может совершить заказ, который в свою
очередь дистрибьютор заполняет с помощью бланка заказа. Все сведения о
клиентах, заказах и товарах также доступны дистрибьютору (см. табл.1.2.).
Таблица 1.2. Таблица операций бизнес-процесса
«Продажа продукции»
Операция
|
Исполнитель
|
Как
часто
|
Входящие
документы (документы-основания)
|
Исходящий
документ (составляемый документ)
|
Регистрация
клиента
|
Дистрибьютор
|
По
приходу клиента
|
Паспортные
данные, контактные данные, информация о проживании
|
Договор
|
Оформление
заказа
|
Дистрибьютор
|
Каждый
день
|
Код
товара, название товара, категория, количество, стоимость
|
Бланк
заказа
|
Поиск
информации о заказах и клиентах
|
Дистрибьютор
|
Каждый
день
|
Ф.И.О.
клиента, название товара, контактная информация, группа клиента
|
Информация
о заказах и клиенте в системе.
|
.3 Функциональные требования к системе
Необходима информационная система (ИС), которая
бы автоматизировала процесс формирования клиентской базы и процесс регистрации
для клиента. ИС должна автоматизировать следующие операции:
Для дистрибьютора компании:
Добавление (регистрация) информации о новом
клиенте.
Оформление нового заказа.
Поиск информации по запросу дистрибьютор.
Просмотр информации о представителях, заказах,
точек выдачи заказов и о товарах
Добавление, изменение и удаление данных о
название товара.
Добавление, изменение и удаление категории
товара.
Добавление, изменение и удаление вариантов
способов отправки заказа.
Добавление, изменение и удаление вариантов
способов оплаты заказа.
Добавление, изменение и удаление вариантов групп
представителей.
.4Описание бизнес-процессов с помощью Use Case
Diagram
Case Diagram (диаграмма вариантов использования)
иллюстрирует описание функциональных требований к системе, а также актерами.
Актер - определенная роль (должная обязанность), которую играет пользователь по
отношению к системе. [1].
В результате получили диаграмму Use Case (см.
рис.1.1).
Рисунок 1.1 Диаграмма Use Case
Для каждого прецедента приведем описательную
спецификацию.
Описательная спецификация прецедента «Операции
над справочниками» приведена в таблице 1.9.
Таблица 1.9. Прецедент операции над данными
справочников
Краткое
описание
|
Прецедент
дает возможность дистрибьютору выполнять операции над данными (удаление,
изменение, добавление) в справочниках. Есть следующие виды справочников:
название товара, категории товара, способы отправки, способы доставки, группы
представителей.
|
Актеры
|
Дистрибьютор
|
Предусловия
|
Должен
быть заполнен справочник (для удаления и изменения).
|
Основной
поток
|
Дистрибьютор
выбирает вид справочника и потом выбирает один из пунктов имеющегося меню:
Дистрибьютор выбирает пункт "Добавить новые данные в справочник" из
имеющегося меню. Система выводит форму "Добавление новой записи в
справочник". Дистрибьютор вводит все новые данные справочника.
Дистрибьютор подтверждает добавление данных справочника, нажимая на
соответствующую кнопку. Система создает новые данные в справочнике.
Дистрибьютор выбирает пункт "Изменить данные в справочнике" из
имеющегося меню. Система выводит форму "Изменение данных
справочника". Дистрибьютор изменяет данные справочника. Дистрибьютор
подтверждает изменения данных справочника, нажимая на соответствующую кнопку.
Система находит эти данные в справочнике и изменяет данные в справочнике.
Дистрибьютор выбирает пункт "Удалить данные справочника" из
имеющегося меню. Система выводит форму "Удаление данных
справочника". Дистрибьютор подтверждает удаление данных справочника.
Система находит эти данные в справочнике и удаляет их из справочника.
|
Альтернативные
потоки
|
Справочник
не выбран из списка справочников, когда необходимо удалить или изменить
данные справочника. Система остается в исходной форме выполняемой операции
(добавление, удаление, изменение). Система дает возможность дистрибьютору
вновь выбрать справочник и выполнить операцию.
|
Постусловия
|
Если
прецедент был успешным, выполняется операция (удаление, добавление,
изменение) в справочнике. В противном случае состояние системы остается
неизменным
|
Описательная спецификация прецедента «Продажа
продукции» приведена в таблице 1.10.
Таблица 1.10. Прецедент операции продажа
продукции
Краткое
описание
|
Прецедент
дает возможность дистрибьютору осуществить запросы.
|
Актеры
|
Дистрибьютору.
|
Предусловия
|
Должны
быть заполнены справочники.
|
Основной
поток
|
Проектировщик
выбирает один из пунктов имеющегося меню: Проектировщик выбирает пункт
"Регистрация клиента" из имеющегося меню. Система выводит форму
"Добавление нового клиента". Дистрибьютор вводит все новые данные о
клиенте. Дистрибьютор подтверждает добавление данных, нажимая на
соответствующую кнопку. Система создает новые данные в хранилище.
Дистрибьютор выбирает пункт "Формирование заказа" из имеющегося
меню. Система выводит форму «Оформление заказа». Дистрибьютор вводит новые
данные о заказе. Дистрибьютор подтверждает добавление данных, нажимая на
соответствующую кнопку. Система создает новые данные в хранилище.
Проектировщик выбирает пункт "Поиск информации о клиенте и заказах» из
имеющегося меню. Дистрибьютор выбирает определенную операцию. Система
осуществляет запрос и выдаёт нужный результат.
|
Альтернативные
потоки
|
Информация
о товарах и заказах не найдены. Если во время запросов система не может найти
соответствующую информацию, то состояние системы остается неизменным.
|
Постусловия
|
Если
прецедент был успешным, то осуществляется запрос и выводится найденная
информация. В противном случае состояние системы остается неизменным.
|
Глава 2. Создание базы данных
.1. Нормализация
.1.1Приведение к первой нормальной форме
Для того чтобы отношение находилось в 1НФ
необходимо, чтобы значения всех атрибутов были атомарны [5]. В отношении
данных, описывающих предметную область, составными являются следующие атрибуты:
Данные клиента, прибывшего к дистрибьютору,
записываются в базу данных, а именно: Ф.И.О, дата рождения, паспортные данные,
адрес, регистрационный адрес, контактные данные, информация об активных или
восстановленных клиентов.
Данные о товаре: название, описание, объем и стоимость
Данные о заказе: дата исполнения, дата отправки,
представители, код товара, название товара, категория товара, количество и
стоимость.
Данные о точках выдачи заказов: индекс, район,
адрес, контактный телефон, время работы, название точки выдачи.
Данные о способах отправки: название способов
отправки.
Данные о способах оплаты: названия способах
оплаты.
Данные о группах: название группы, район группы.
Данные о категории товара: название категории
товара.
Атомарность остальных атрибутов достигается записью
туда только одного определенного значения (без перечислений).
Таблица 1.11 Клиенты
Customer
|
Surname
|
Name
|
Patromic
|
dateOFbirth
|
SeriesPassports
|
PassportNumber
|
SubdivisionCode
|
dateOFissue
|
Issued
|
RegisteredAddress
|
Adress
|
Phone
|
Inactive
|
E-mail
|
Таблица 1.12 Заказы
Orders
|
dispatchdate
|
dateOFperfomance
|
Customer
|
Goods
|
TermsOFissue
|
Maymentmethods
|
quantityOFgoods
|
DeliveryMethods
|
Таблица 1.13 Точки выдачи заказов
TermsOFissue
|
Indextermsofissue
|
area
|
addreddoftheissuing
|
phonenumber
|
operationtime
|
NameTermsOFissueID
|
Таблица 1.14 Группы
Group
|
NameGroup
|
AreaGroup
|
Таблица 2 Товары
Goods
|
GoodName
|
description
|
volume
|
price
|
Category
|
Однако мы видим, что в таблице данного вида
существуют сразу все аномалии:
включения (мы не сможем добавить ни один остановочный
пункт, пока не будет добавлено хотя бы одно здание);
удаления (мы не можем удалить какую-либо
остановку в одно действие);
избыточности (информация о широте и долготе
здания дублируется для каждой записи);
обновления (мы не можем изменить широту у
определенного здания (в другом месте она останется прежней)).
.1.2 Приведение ко второй нормальной форме
Отношение находится во второй нормальной форме
тогда и только тогда, когда оно находится в 1НФ и все неключевые атрибуты
функционально полно зависят от потенциального ключа [5].
Чтобы привести отношение к 2 НФ вынесем поля,
относящиеся к клиенту, товару, заказам, способам отправки, способы оплаты,
категориям, точкам выдачам и группам. В таблице
«Customer» ключом будет
являться
поле:
«CustomerID», и сами
поля:
«Surname», «Name», «Patronomic», «dateOFbirth», «SeriesPassports»,
«PassportNumber», «SubdivisionCode», «dateOFissue», «Issued»,
«RegisteredAddress», «Address», «Phone», «GroupID», «Inactive». В
таблице «Orders» останется запись «CustomerID», по которой эти две таблицы
будут связываться.
В таблицу «Goods» добавим поля, относящиеся к
товару: «GoodName» и «description», «volume», «price», «Category». Так же в
таблицу «Goods» добавим ключевое поле «GoodsID», которое будет определять
уникальный код товара. Так же в условии поставленной задачи сказано, что весь
товар подразделяется на категории продукции. Добавим в таблицу заказ поле
«CategoryID». Для избавления от транзитивных зависимостей сами категории
вынесем в отдельную таблицу «Category» с ключом «CategoryID», по которому по
которому она будет связана с таблицей «Goods».
В таблицу «Orders» добавим поля, относящиеся к
заказам: «Orders». Так же в таблицу добавим ключевое поле «OrdersID», которое
будет определять уникальный код заказа. Для избавления от транзитивных
зависимостей сами таблицы, такие как точки выдачи, способы оплаты, клиент,
товары и методы доставк вынесем в отдельные таблицы с ключами «TermsOFissueID»,
«MaymentmethodsID», «CustomerID», «GoodsID», «DeliveryMethodsID»., по которому
по которому они будет связана с другими таблицами.
.1.3 Приведение к третьей нормальной форме
Отношение находится в третьей нормальной форме
тогда и только тогда, когда оно находится в 2НФ и отсутствуют транзитивные
функциональные зависимости неключевых атрибутов от ключевых [5].
В отношении «Товаров» и «точек выдачи»
выделяются следующие транзитивные функциональные зависимости:
№ товара → Название товара, Название
товара → Название конкретного товара.
№ точки выдачи → Название точки выдачи,
Название точки выдачи → Название конкретной точки выдачи.
Так как во всех отношениях больше нет частичных
зависимостей, то они находятся в 2НФ. Поскольку во всех отношениях отсутствуют
транзитивные зависимости - они находятся в 3НФ. Однако теперь все отношения
соответствуют и нормальным формам высших порядков (БКНФ, 4НФ и 5НФ).
Итоговая схема базы данных будет представлена в
разделе 2.2.
2.2 Создание базы данных в SQL Server
Среда Microsoft SQL Server Management studio
была использована мной для построения системы базы данных. Тип int в таблицах
был применен для столбцов с идентификационными ключами, вследствие чего при
каждом добавлении новой строки в таблицу значение счетчика инкрементируется на
единицу. Тип nvarchar(50) был использован для всех столбцов строкового типа.
Столбцы, содержащие дату, использовали тип date, также был использован тип bit,
тогда и только тогда, когда необходимо было выбрать то или иное действо.
.3 Описание данных
Для ресурсов необходимо сделать несколько
таблиц, в зависимости от их типа (см. табл.1.4-1.8).
Таблица 1.4. Описание данных о
категориях
№
|
Название
атрибута (показателя и пр.)
|
Источник
(откуда значение)
|
Тип
данных
|
Описание
|
1
|
CategoryID
|
Внутренний
ключ
|
Числовой
|
Код
категории товара
|
2
|
NameCategory
|
Справочник
|
Текстовой
|
Название
категории
|
Таблица 1.5. Описание данных о
названиях товаров
№
|
Название
атрибута (показателя и пр.)
|
Источник
(откуда значение)
|
Формат
|
Описание
|
1
|
GoodNameID
|
Внутренний
ключ
|
Числовой
|
Код
названия товара
|
2
|
NameGoodName
|
Текстовый
|
Название
товара
|
Таблица 1.6. Описание данных о
способах оплаты
№
|
Название
атрибута
|
Источник
|
Формат
|
Описание
|
1
|
MaymentmethodsID
|
Внутренний
ключ
|
Числовой
|
Код
способа оплаты
|
2
|
NameMaymentmethods
|
Справочник
|
Текстовый
|
Название
способа оплаты
|
Таблица 1.7. Описание данных о
способах отправки
№
|
Название
атрибута
|
Источник
|
Формат
|
Описание
|
1
|
DeliveryMethodsID
|
Внутренний
ключ
|
Числовой
|
Код
услуги
|
2
|
NameDeliveryMethods
|
Справочник
|
Текстовой
|
Код
названия услуги
|
Таблица 1.8. Описание данных о группах
представителей
№
|
Название
атрибута
|
Источник
|
Формат
|
Описание
|
1
|
GroupID
|
Внутренний
ключ
|
Числовой
|
Код
группы клиента
|
2
|
NameGroup
|
Справочник
|
Текстовый
|
Название
группы клиента
|
3
|
AreaGroup
|
Справочник
|
Текстовой
|
Территория
группы
|
.4 Описание справочников
автоматизированный дистрибьютор база
справочник
Описание справочников приведено в таблице (см.
табл.1.3):
Таблица 1.3. Описание справочников
№
|
Наименование
справочника
|
Код
элемента
|
Наименование
элемента
|
1
|
Название
товара
|
1
|
Губная
помада
|
|
|
2
|
Пудра
|
|
|
3
|
|
|
4
|
Spa-крем
для лица
|
|
|
5
|
Набор
детских резинок для волос
|
|
|
6
|
Гель
для душа
|
|
|
7
|
Серьги
|
|
|
8
|
Сумка
|
|
|
9
|
Лак
для ногтей
|
|
|
10
|
Дезодорант
|
|
|
11
|
Домашние
тапочки
|
|
|
12
|
Многофункциональный
тренажер
|
|
|
13
|
Шампунь
для волос
|
2
|
Категория
товара
|
1
|
Парфюмерия
|
|
|
2
|
Средство
по уходу за волосами
|
|
|
3
|
Средство
по уходу за телом
|
|
|
4
|
Декоративная
косметика
|
|
|
5
|
Средство
по уходу за кожей лица
|
|
|
6
|
Детская
продукция
|
|
|
7
|
Все
для дома
|
|
|
8
|
Все
для спорта
|
3
|
Способы
отправки
|
1
|
Обычная
отправка
|
|
|
2
|
Экспресс-отправка
|
4
|
Способы
оплаты
|
1
|
Терминал
Kiwi
|
|
|
2
|
Сбербанк
|
|
|
3
|
Кредит
|
5
|
Группы
представителей
|
1
|
A
|
|
|
2
|
B
|
|
|
3
|
C
|
|
|
4
|
D
|
|
|
5
|
E
|
Рисунок 2.1 Полная схема базы данных
Заключение
Целью данной работы было создание информационной
системы для автоматизированного рабочего места дистрибьютора. Мною был
произведен анализ бизнес-процесса «Деятельность дистрибьютора», анализ
аналогичных систем, были сформированы требования к информационной системе,
проведено проектирование базы данных, проектирование форм клиентского
приложения, а также разработка самого приложения. Работа включает всю
необходимую информацию для реализации данного проекта. База данных включает в
себя полную информацию о клиентах, товарах, заказов клиента, точках выдачи
заказов, способов оплаты, способах доставки. БД строилась в среде Microsoft SQL
Server Management studio, а реализован проект с помощью Microsoft Visual Studio
2012. Интерфейс программы доступен для понимания дистрибьютора, что позволит
ему улучшить свой рабочий процесс.
В ходе тестирования программы ошибок не было
обнаружено. Полученный продукт имеет тенденцию к усовершенствованию с помощью
реализации дополнительных операций. В ходе работы был приобретен опыт работы с
базами данных в области языка программирования С#.
Библиографический список
Гнусин
С.А., Уроки по технологии ADO.NET. // Cybern [Электронный ресурс] [Режим
доступа: http://cybern.ru/category/csharp/adonet] [Проверено 10.12.2014]
Дейт
К.Дж. Введение в системы баз данных: Пер. с англ. - 6-е изд. - Киев:
Диалектика, 1998. - 784 с.
Кузнецов
М.В., Симдянов И.В. Разработка веб-приложений с помощью PHP и MySQL. - М.:
Вильямс <http://www.ozon.ru/brand/856490/>, 2010. - 848 с.
Нормализация
баз данных [Электронный ресурс][Режим доступа:
<http://ru.wikipedia.org/wiki/Нормализация_баз_данных>].
Системы
CRM - мощный инструмент для работы с клиентами и партнерами [Электронный
ресурс] [Режим доступа: www.modera.ru/crm-system] [Проверено 13.03.2015]
Советы
по работе с MS SQL Server // Лаборатория АгроГИС-технологий [Электронный
ресурс] [Режим доступа: http://npk-kaluga.ru/SovetyMSSQL.htm] [Проверено
13.03.2015]