Диплом: Автоматизация обработки заявок в "ZAZU-телеком"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
102
2.3.2 Характеристика базы данных
Для проектирования базы данных справочной системы была
использована среда MySQLWorkbench и CASE средство ERWin.
MySQLWorkbench предназначена для визуального проектирования баз данных
и управления сервером MySQL. Для построения моделей предназначена
секция DataModeling. CASE средство ERWin использовано для логического
моделирования базы данных.
Функционал программы MySQLWorkbench:
- программа позволяет наглядно представить модель базы данных в
графическом виде;
- наглядный, функциональный механизм установки связей между
таблицами, в том числе «многие ко многим» с созданием таблицы
связей;
- восстановление структуры таблиц из существующей на сервере БД
(связи восстанавливаются в InnoDB, при использовании MyISAM –
связи необходимо устанавливать вручную);
- удобный редактор SQL запросов, позволяющий сразу же отправлять
их серверу и получать ответ в виде таблицы;
- возможность редактирования данных в таблице в визуальном
режиме.
В результате анализа предметной области были определены таблицы,
которые нужны для реализации функционала системы:
- таблица «Клиенты» содержат информацию о клиентах;
- таблицы «Заказы» содержит информацию по заказам;
- таблица «Услуги» предназначена для хранения информации о
услуге;
103
- таблицы «Категории» содержат информацию о категориях учебной
литературы;
- Таблица «Заявки» предназначена для хранения заявок
пользователей с мобильного приложения.
Далее представлена логическая модель базы, представляющая собой
графическое изображение структуры информационной системы: таблицы с
наименованием входящих в них полей и указанием первичных, внешних
ключей, типы связей между таблицами (рис. 25). Для проектирования
структуры базы данных использовалось CASE средство ERWin.
Рисунок 25 - Логическая модель базы данных
Реализация физической модели база данных осуществлялась с помощью
программы Mysql Workbencch (рис. 26).
104
Рисунок 26 - Физическая модель базы данных
Структура таблиц в базе данных представлена на рис. 27 33.
Рисунок 27 - Таблица «customers» (клиенты)
Рисунок 28 - Таблица «users» (пользователи)
105
Рисунок 29 - Таблица «orders» (заявки)
Рисунок 23 - Таблица «sales» (заказы)
Рисунок 31 - Таблица «literature» (услуги)
Рисунок 32 - Таблица «roles» (роли)
106
Рисунок 33 - Таблица «category» (категории)
После создания логической модели базы данных был сгенерирован SQL-
скрипт для создания базы данных на сервере MySQL:
CREATE TABLE IF NOT EXISTS `zazu`.`Customers` (
`IdCustomer` INT NOT NULL AUTO_INCREMENT,
`SecondName` VARCHAR(45) NOT NULL,
`FirstName` VARCHAR(45) NOT NULL,
`MiddleName` VARCHAR(45) NOT NULL,
`Address` VARCHAR(100) NOT NULL,
`Phone` VARCHAR(15) NOT NULL,
PRIMARY KEY (`IdCustomer`))
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `zazu`.`Roles` (
`IdRole` INT NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(30) NOT NULL,
PRIMARY KEY (`IdRole`))
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `zazu`.`Users` (
`IdUser` INT NOT NULL AUTO_INCREMENT,
`Login` VARCHAR(45) NOT NULL,
`Password` VARCHAR(55) NOT NULL,
`Status` TINYINT NOT NULL DEFAULT 0,
`Roles_IdRole` INT NOT NULL,
PRIMARY KEY (`IdUser`),
INDEX `fk_Users_Roles_idx` (`Roles_IdRole` ASC),
CONSTRAINT `fk_Users_Roles`
FOREIGN KEY (`Roles_IdRole`)
REFERENCES `zazu`.`Roles` (`IdRole`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `zazu`.`Category` (
`IdCategory` INT NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(45) NOT NULL,
`Description` VARCHAR(85) NULL,
PRIMARY KEY (`IdCategory`))
ENGINE = InnoDB;
107
CREATE TABLE IF NOT EXISTS `zazu`.`Services` (
`IdService` INT NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(100) NOT NULL,
`Cost` FLOAT NOT NULL,
`Description` VARCHAR(250) NOT NULL,
`Category_IdCategory` INT NOT NULL,
PRIMARY KEY (`IdService`),
INDEX `fk_Literature_Category1_idx` (`Category_IdCategory` ASC),
CONSTRAINT `fk_Literature_Category1`
FOREIGN KEY (`Category_IdCategory`)
REFERENCES `zazu`.`Category` (`IdCategory`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `zazu`.`Orders` (
`IdOrder` INT NOT NULL AUTO_INCREMENT,
`Date` DATETIME NOT NULL,
`Customers_IdCustomer` INT NOT NULL,
`Users_IdUser` INT NOT NULL,
`Literature_IdLiterature` INT NOT NULL,
`Count` INT NOT NULL,
PRIMARY KEY (`IdOrder`),
INDEX `fk_Orders_Customers1_idx` (`Customers_IdCustomer` ASC),
INDEX `fk_Orders_Users1_idx` (`Users_IdUser` ASC),
INDEX `fk_Orders_Literature1_idx` (`Literature_IdLiterature`
ASC),
CONSTRAINT `fk_Orders_Customers1`
FOREIGN KEY (`Customers_IdCustomer`)
REFERENCES `zazu`.`Customers` (`IdCustomer`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Orders_Users1`
FOREIGN KEY (`Users_IdUser`)
REFERENCES `zazu`.`Users` (`IdUser`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Orders_Literature1`
FOREIGN KEY (`Literature_IdLiterature`)
REFERENCES `zazu`.`Services` (`IdService`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS `zazu`.`Sales` (
`IdSale` INT NOT NULL AUTO_INCREMENT,
`Date` DATETIME NOT NULL,
`Status` TINYINT NULL,
`Orders_IdOrder` INT NOT NULL,
PRIMARY KEY (`IdSale`),
108
INDEX `fk_Sales_Orders1_idx` (`Orders_IdOrder` ASC),
CONSTRAINT `fk_Sales_Orders1`
FOREIGN KEY (`Orders_IdOrder`)
REFERENCES `zazu`.`Orders` (`IdOrder`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
После выполнения запроса на сервере MySQL была создана база данных,
содержимое и структуру которой можно посмотреть с помощью веб-
приложения phpMyAdmin (рис. 34).
Рисунок 34 - База данных информационной системы
2.3.3 Структурная схема пакета (дерево вызова программных модулей)
Программные модули, образующие структуру пакета, можно
подразделить на три класса: управляющие модули, предназначенные для
загрузки меню и передачи управления другому модулю; модули,
выполняющие служебные функции; модули, связанные с вводом, хранением,
обработкой и выдачей информации. От класса модуля зависит его
функциональность.
109
Система состоит из двух основных компонентов – базы данных MySQL
и приложения для взаимодействия с базой данных, реализованного на языке
программирования PHP c использованием HTML.
Работа с системой осуществляется через любой браузер. Вызов
программных модулей обеспечивается при помощи браузера.
Информационная система автоматизации обработки заявок ООО «ZAZU-
телеком» включает 9 программных модулей: административный модуль;
модуль клиента; модуль регистрации; модуль авторизации; подмодуль
«Категории»; подмодуль «Услуги»; подмодуль «Клиенты»; подмодуль
«Заказы»; клиентский подмодуль «Оформление заявки». Схема модулей
системы представлена на рис. 35.
Рисунок 35 – Программные модули системы
110
2.3.4 Описание программных модулей
Характеристика программных модулей представлена в таблице 10.
Таблица 10
Модули информационной системы
п/п
Наименование
модуля
Функции модуля
1
Модуль
администратора
Предназначен для обеспечения перехода в
другие модели административной панели:
регистрации, авторизации, категорий, услуг,
клиентов, заказов, заявок
2
Модуль регистрации
Обеспечивает регистрацию (добавление)
новых пользователей с административным
доступом (менеджеров по продажах).
3
Модуль авторизации
Отвечает за авторизацию пользователей в
системе.
4
Модуль категории
Обеспечивает управление категориями услуг
компании. Включает переходы на страницы
добавления, редактирования и удаления
категорий.
5
Модуль услуг
Обеспечивает управление списком услуг
компании. Включает переходы на страницы
добавления, редактирования и удаления услуг.
6
Модуль клиентов
Обеспечивает управление списком клиентов
компании. Включает переходы на страницы
добавления, редактирования и удаления
данных о клиентах.
7
Модуль заказов
Обеспечивает управление списком заказов
компании. Включает переходы на страницы
добавления, редактирования и удаления
заказов. Позволяет изменять статус заказов.
8
Модуль заявок
Обеспечивает управление заявками клиентов.
Включает переходы на страницы добавления,
редактирования и удаления заявок клиентов.
9
Модуль клиента
Обеспечивает работу клиентского модуля
системы.
10
Модуль оформления
заявок
Предназначен для создания заявок клиентами.
Включает html-форму оформления заявки.
Исходный код модулей информационной системы представлен в
Приложении А, процесс работы над приложением отображен в Приложении Б.
111
2.4 Контрольный пример реализации проекта и его описание
В процессе тестирования программного обеспечения необходимо
провести следующие виды тестов:
- функциональные;
- конфигурационные;
- юзабилити;
- тест сборки.
Функциональное тестирование представляет собой проверку того,
выполняет ли программа те функции, которые предусмотрены техническим
задание, а также степень точности выполнения проверяемых функций.
При конфигурационном тестировании проверяется, может ли созданная
программа работать на различных компьютерах и с различным установленным
программным обеспечением.
Проверка юзабилити приложения определяет удобство пользования
программой.
Тест сборки является копией «дымового» тестирования, которое
выполняется для подтверждения того, что после старта приложения, оно
выполняет все свои основные функции. Данное тестирование выполняется
программистами, после создания программы, и если программа не проходит
эти тесты, то в дальнейшем тестировании нет смысла, так как эти тесты
указывают на то, что программе не работает.
Примером того, что программе не прошла «smoke testing» является то,
что она не запустилась, также этот тест не проходится по причине ошибки
подключения к базе данных. Тестовый случай представляет собой
совокупность шагов, конкретных условий и параметров, которые необходимы
для проверки разработанной системы. Тестовые сценарии для проверки
модулей программы, представленные ниже (табл. 11 14).

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

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