Диплом: Разработка информационной системы менеджера по продажам на примере ООО "Инженер поставка"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
37
как и обыкновенные SQL-запросы на выборку данных, однако не возвращают
данные выбранные из базы данных. DDL определения полностью описывают
структуру таблиц базы данных – поля, индексы, ключевые поля.
Спроектированная база данных описывается следюущими DDL
определениями языка SQL, используемого в СУБД MySQL.
Таблица clients.
CREATE TABLE `clients` (
`client_num` int(11) NOT NULL AUTO_INCREMENT,
`client_name` varchar(50) DEFAULT NULL,
`client_is_organization` tinyint(1) DEFAULT NULL,
`client_phone` varchar(12) DEFAULT NULL,
`client_descr` varchar(4096) DEFAULT NULL,
PRIMARY KEY (`client_num`),
UNIQUE KEY `client_num` (`client_num`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
Таблица managers
CREATE TABLE `managers` (
`manager_num` int(11) NOT NULL AUTO_INCREMENT,
`manager_name` varchar(50) DEFAULT NULL,
`manager_lastname` varchar(50) DEFAULT NULL,
`manager_phone` varchar(12) DEFAULT NULL,
PRIMARY KEY (`manager_num`),
UNIQUE KEY `manager_num` (`manager_num`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
Таблица contracts
CREATE TABLE `contracts` (
`contracts_num` int(11) NOT NULL AUTO_INCREMENT,
`client_num` int(11) DEFAULT NULL,
`manager_num` int(11) DEFAULT NULL,
`contract_date` datetime DEFAULT NULL,
38
`contract_completed` tinyint(1) unsigned zerofill NOT NULL,
`contracr_completed_date` datetime DEFAULT NULL,
`contract_descr` varchar(4096) DEFAULT NULL,
`contract_total_cost` decimal(8,2) DEFAULT NULL,
`contract_deleted` tinyint(1) unsigned zerofill NOT NULL,
PRIMARY KEY (`contracts_num`),
UNIQUE KEY `contracts_num` (`contracts_num`),
KEY `client_num` (`client_num`),
KEY `manager_num` (`manager_num`),
CONSTRAINT `contracts_ibfk_1` FOREIGN KEY (`client_num`)
REFERENCES `clients` (`client_num`) ON DELETE CASCADE ON UPDATE
CASCADE,
CONSTRAINT `contracts_ibfk_2` FOREIGN KEY (`manager_num`)
REFERENCES `managers` (`manager_num`) ON DELETE CASCADE ON UPDATE
CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8;
Таблица items
CREATE TABLE `items` (
`item_num` int(11) NOT NULL AUTO_INCREMENT,
`item_name` varchar(100) DEFAULT NULL,
`item_price` decimal(8,2) DEFAULT NULL,
`item_descr` varchar(4096) DEFAULT NULL,
PRIMARY KEY (`item_num`),
UNIQUE KEY `item_num` (`item_num`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;
Таблица ordered_items
CREATE TABLE `ordered_items` (
`item_num` int(11) NOT NULL,
`contracts_num` int(11) NOT NULL,
`oi_qty` int(11) NOT NULL,
39
PRIMARY KEY (`item_num`,`contracts_num`),
KEY `contracts_num` (`contracts_num`),
CONSTRAINT `ordered_items_ibfk_1` FOREIGN KEY (`contracts_num`)
REFERENCES `contracts` (`contracts_num`) ON DELETE CASCADE ON UPDATE
CASCADE,
CONSTRAINT `ordered_items_ibfk_2` FOREIGN KEY (`item_num`)
REFERENCES `items` (`item_num`) ON DELETE CASCADE ON UPDATE
CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Таблица tasks
CREATE TABLE `tasks` (
`task_num` int(11) NOT NULL AUTO_INCREMENT,
`task_name` varchar(50) DEFAULT NULL,
`task_price` decimal(8,2) DEFAULT NULL,
`task_duration` float DEFAULT NULL,
`task_descr` varchar(4096) DEFAULT NULL,
PRIMARY KEY (`task_num`),
UNIQUE KEY `task_num` (`task_num`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
Таблица ordered_tasks
CREATE TABLE `ordered_tasks` (
`contracts_num` int(11) NOT NULL,
`task_num` int(11) NOT NULL,
PRIMARY KEY (`contracts_num`,`task_num`),
KEY `task_num` (`task_num`),
CONSTRAINT `ordered_tasks_ibfk_1` FOREIGN KEY (`task_num`)
REFERENCES `tasks` (`task_num`) ON DELETE CASCADE ON UPDATE
CASCADE,
40
CONSTRAINT `ordered_tasks_ibfk_2` FOREIGN KEY (`contracts_num`)
REFERENCES `contracts` (`contracts_num`) ON DELETE CASCADE ON UPDATE
CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.3.3 Структурная схема пакета
В данной работе была спроектирована база данных с использованием CASE
– средств, представленная на рисунке №1.
Рисунок №1. Схема базы данных
Таблица Managers
Данная таблица хранит данные о менеджерах, работающих на предприятии.
А именно:
Имя (строковый тип данных);
41
Фамилия (строковый тип данных);
Номер телефона (строковый тип данных).
Таблица clients
Данная таблица хранит данные о клиентах предприятия. А именно:
Наименование клиента (строковый тип данных);
Индикатор того, что клиент является юридическим лицом
(целочисленный тип данных);
Номер телефона (строковый тип данных);
Описание (текстовый тип данных).
Таблица items
Данная таблица хранит данные о товарах, предлагаемых предприятием. А
именно:
Наименование (строковый тип данных);
Стоимость (числовой тип данных с фиксированной точкой);
Описание (текстовый тип данных).
Таблица tasks
Данная таблица хранит данные об услугах, которые оказывает предприятие.
А именно:
Наименование (строковый тип данных);
Стоимость (числовой тип данных с фиксированной точкой);
Длительность выполнения (целочисленный тип данных);
Описание (текстовый тип данных).
Таблица contracts
Данная таблица хранит данные о заключенных предприятием договорах. А
именно:
Номер договора (целочисленный тип данных);
Клиент (строковый тип данных);
Менеджер, заключающий договор (строковый тип данных);
Дата заключения договора (тип данных дата\время);
Статус исполнения договора (целочисленный тип данных);
Дата исполнения договора (тип данных дата\время);
42
Текст договора (текстовый тип данных);
Полная стоимость договора (числовой тип данных с фиксированной
точкой);
Пометка о расторжении договора (целочисленный тип данных);
Таблица ordered_items
Данная таблица хранит данные о товарах заказных по договору. А именно:
Номер договора (целочисленный тип данных);
Количество заказанных единиц товара (целочисленный тип данных);
Идентификатор товара (целочисленный тип данных).
Таблица ordered_tasks
Данная таблица хранит данные об услугах заказных по договору. А именно:
Номер договора (целочисленный тип данных);
Идентификатор услуги (целочисленный тип данных).
2.3.4 Описание программных модулей
Программный продукт носит название "Информационная система
менеджера по продажам".
Программа реализует основную функцию посредством следующих
модулей.
Модуль Contracts является интерфейсной частью программного продукта и
предназначен для считывания информации о договорах из базы данных, вывода
на экран содержимого базы данных, задания условий фильтрации и организации
вывода данных на печать. Так же данный модуль предназначен для вызова
остальных модулей.
Модуль Clients предназначен для считывания информации о клиентах из
базы данных, вывода на экран содержимого базы данных и редактирования
информации в базе данных.
Модуль Items предназначен для считывания информации о товарах из базы
данных, вывода на экран содержимого базы данных и редактирования
информации в базе данных.
43
Модуль Managers предназначен для считывания информации о менеджерах
из базы данных, вывода на экран содержимого базы данных и редактирования
информации в базе данных.
Модуль Tasks предназначен для считывания информации об услугах из
базы данных, вывода на экран содержимого базы данных и редактирования
информации в базе данных.
Модуль OrderedItems предназначен для считывания информации о
поставляемых в соответствии с выбранным договором товарах из базы данных,
вывода на экран содержимого базы данных и редактирования информации в базе
данных.
Модуль OrderedTasks предназначен для считывания информации об
оказываемых в соответствии с выбранным договором услугах из базы данных,
вывода на экран содержимого базы данных и редактирования информации в базе
данных.
Модуль AddItemToOrder предназначен для организации интерфейса для
добавления в базу данных информации о новом товаре, поставляемом в
соответствии с выбранным договором.
Модуль AddTaskToOrder предназначен для организации интерфейса для
добавления в базу данных информации о новой услуге, оказываемой в
соответствии с выбранным договором.
Модуль NewContract предназначен для организации интерфейса для
добавления в базу данных информации о новом договоре.
1. Модуль Contracts.
Модуль Contracts является интерфейсной частью программного продукта и
предназначен для считывания информации о договорах из базы данных, вывода
на экран содержимого базы данных, задания условий фильтрации и организации
вывода данных на печать. Так же данный модуль предназначен для вызова
остальных модулей.
Входными данными для модуля являются:
действия пользователя с использованием интерфейса формы;
значения, введенные пользователем в поля ввода компонентов на
форме;
44
содержимое таблицы contracts базы данных;
содержимое таблицы managers базы данны;
содержимое таблицы clients базы данных;
информация из реестра о наличии в системе приложения Microsoft
Word.
Исходный текст модуля приведен в приложении.
После запуска программного продукта происходит создание главной
формы программы, считываются и выводятся на экран данные из базы данных о
договорах, менеджерах и клиентах, и ожидаются действия пользователя.
В зависимости от команды пользователя происходит:
переход к добавлению в базу данных информации о новых клиентах;
переход к добавлению в базу данных информации о новых
менеджерах;
переход к добавлению в базу данных информации о новых
поставляемых товарах;
переход к добавлению в базу данных информации о новых
предлагаемых услугах;
вывод на печать бланка выбранного договора;
вывод на печать списка договоров, с учетом всех условий
фильтрации;
задание условий фильтрации (вывод на экран всех договоров, только
находящихся в работе, только исполненных и удаленных);
переход к отображению и редактированию списка заказных в
соответствии с выбранным договором товаров;
переход к отображению и редактированию списка заказных в
соответствии с выбранным договором услуг;
пометка выбранного договора как удаленного;
снятие с договора отметки об удалении;
переход к добавлению в базу данных информации о новом договоре;
пометка выбранного договора как исполненного;
снятие отметки об исполнении договора;
45
расчет и сохранение в базе данных полной стоимости товаров и услуг
по договору.
завершение работы программы.
Переход добавлению в базу данных информации о новых клиентах
происходит при выборе пункта «Клиенты» в меню «Данные».
Переход добавлению в базу данных информации о новых менеджерах
происходит при выборе пункта «Менеджеры» в меню «Данные».
Переход добавлению в базу данных информации о новых поставляемых
товарах происходит при выборе пункта «Товары» в меню «Данные».
Переход добавлению в базу данных информации о новых оказываемых
услугах происходит при выборе пункта «Работы» в меню «Данные».
Переход к выводу на печать бланка выбранного договора происходит при
выборе пункта «Выбранный договор» в меню «Печать».
Переход к выводу на печать списка договоров, с учетом всех условий
фильтрации происходит при выборе пункта «Список договоров» в меню
«Печать».
Задание условий фильтрации производится в меню «Фильтрация» по
следующим правилам:
выбор/отмена выбора пункта меню «Удаленные» переключает
приложение в режим отображения списка договоров, отмеченных как удаленные
и обратно;
выбор пункта меню «Все» означает что в текущем режиме
отображения (удаленные или не удаленные договоры) выводятся на экран все
записи, как помеченные как исполненные так и находящиеся в работе;
выбор пункта меню «Исполненные» означает, что в текущем режиме
отображения (удаленные или не удаленные договоры) выводятся на экран только
записи помеченные как исполненные;
выбор пункта меню «В работе» означает, что в текущем режиме
отображения (удаленные или не удаленные договоры) выводятся на экран только
записи помеченные как находящиеся в работе;
46
пункты меню «Все», «Исполненные» и «В работе» являются
взаимоисключающими, и в любой момент времени может быть выбран только
один из них.
Переход к отображению и редактированию списка заказных в соответствии
с выбранным договором товаров происходит при выборе пункта «Показать
заказные товары» в меню «Договоры».
Переход к отображению и редактированию списка заказных в соответствии
с выбранным договором услуг происходит при выборе пункта «Показать заказные
услуги» в меню «Договоры».
Пометка выбранного договора как удаленного производится при выборе
пункта «Удалить договор» в меню «Договоры». Данная операция доступна,
только если отображается список не удаленных договоров.
Снятие с договора отметки об удалении производится при выборе пункта
«Отменить удаление» в меню «Договоры». Данная операция доступна, только
если отображается список удаленных договоров.
Переход к добавлению в базу данных информации о новом договоре
происходит при выборе пункта «Добавить договор» в меню «Договоры».
Пометка выбранного договора как исполненного производится при выборе
пункта «Отметить как исполненный» в меню «Договоры». Данная операция
доступна, только если выбран не исполненный договор.
Снятие с договора отметки об удалении производится при выборе пункта
«Вернуть в работу» в меню «Договоры». Данная операция доступна, только если
выбран исполненный договор
Расчет и сохранение в базе данных полной стоимости товаров и услуг по
договору происходит при выборе пункта «Рассчитать полную стоимость» в меню
«Договоры».
Закрытие приложения происходит по нажатию на кнопку «X» в правом
верхнем углу главной формы приложения.
Выходными данными работы модуля в зависимости от команды
пользователя являются:
выведенная на экран форма добавления в базу данных информации о
новых клиентах;

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран