Дипломная работа: Автоматизация процесса внутрикорпоративного взаимодействия сотрудников компании ООО "Ситилинк"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
73
REFERENCES `citilink`.`pod_proekt` (`id_pod_proekt`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `citilink`.`sotrudnik_pod_proekt`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `citilink`.`sotrudnik_pod_proekt` ;
CREATE TABLE IF NOT EXISTS `citilink`.`sotrudnik_pod_proekt` (
`id_pod_proekt` INT NOT NULL,
`sotrudnik` VARCHAR(8) NOT NULL,
PRIMARY KEY (`id_pod_proekt`, `sotrudnik`),
INDEX `2_idx` (`sotrudnik` ASC) VISIBLE,
CONSTRAINT `30`
FOREIGN KEY (`id_pod_proekt`)
REFERENCES `citilink`.`pod_proekt` (`id_pod_proekt`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `31`
FOREIGN KEY (`sotrudnik`)
REFERENCES `citilink`.`sotrudnik` (`tabel_nomer`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `citilink`.`comment`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `citilink`.`comment` ;
CREATE TABLE IF NOT EXISTS `citilink`.`comment` (
`id_pod_proekt` INT NOT NULL,
`avtor` VARCHAR(8) NOT NULL,
`date_add_comment` DATETIME NOT NULL,
74
`text_comment` VARCHAR(250) NULL,
PRIMARY KEY (`id_pod_proekt`, `avtor`, `date_add_comment`),
INDEX `1_idx` (`avtor` ASC) VISIBLE,
INDEX `42_idx` (`id_pod_proekt` ASC) VISIBLE,
CONSTRAINT `41`
FOREIGN KEY (`avtor`)
REFERENCES `citilink`.`sotrudnik` (`tabel_nomer`)
ON DELETE CASCADE
ON UPDATE CASCADE,
CONSTRAINT `42`
FOREIGN KEY (`id_pod_proekt`)
REFERENCES `citilink`.`pod_proekt` (`id_pod_proekt`)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
-- -----------------------------------------------------
-- Data for table `citilink`.`dostup`
-- -----------------------------------------------------
START TRANSACTION;
USE `citilink`;
INSERT INTO `citilink`.`dostup` (`id_dostup`, `name_dostup`) VALUES (1,
'Администратор');
INSERT INTO `citilink`.`dostup` (`id_dostup`, `name_dostup`) VALUES (2,
'Менеджер');
INSERT INTO `citilink`.`dostup` (`id_dostup`, `name_dostup`) VALUES (3,
'Регистратор');
COMMIT;
-- -----------------------------------------------------
-- Data for table `citilink`.`login_password`
75
-- -----------------------------------------------------
START TRANSACTION;
USE `citilink`;
INSERT INTO `citilink`.`login_password` (`login`, `password_user`) VALUES
('admin', 'admin');
COMMIT;
-- -----------------------------------------------------
-- Data for table `citilink`.`dolgnost`
-- -----------------------------------------------------
START TRANSACTION;
USE `citilink`;
INSERT INTO `citilink`.`dolgnost` (`id_dolgnost`, `name_dolgnost`) VALUES
(1, 'админ');
COMMIT;
-- -----------------------------------------------------
-- Data for table `citilink`.`sotrudnik`
-- -----------------------------------------------------
START TRANSACTION;
USE `citilink`;
INSERT INTO `citilink`.`sotrudnik` (`tabel_nomer`, `family`, `first_name`,
`second_name`, `phone`, `login`, `dostup`, `id_dolgnost`) VALUES ('админ',
'админ', 'админ', 'админ', 'админ', 'admin', 1, 1);
COMMIT;
2.3.3 Структурная схема пакета (дерево вызова программных модулей)
Разработка программного обеспечения осуществлялась, в два этапа:
проектирование логики программ, представляющее определение
состава программных модулей, выделение классов модулей и установление связей
между ними;
разработка кодов программ и их отладка, выполнение которой в
сильной степени зависит от используемых средств разработки ПО.
76
Анализ состава функций, которые должны выполняться в ИС и структуры
сценария диалога позволил определить состав программных модулей и связи
между ними, отраженные в схеме взаимосвязи на рис. 2.6.
Были выделены управляющие программные модули, призванные выводить
на экран кадры меню и передавать управление другим модулям в зависимости от
того, какой пункт меню выбирает пользователь
Второй класс составляют модули, выполняющие функции ввода конкретных
видов первичных документов, просмотра и корректировки, печати первичных
документов, обработки и выдачи на просмотр и печать результатных документов,
загрузки, актуализации и выдачи на печать справочников и справок.
ПМ загрузки
главного меню
ПМ
добавления
данных
ПМ
редактирования
данных
ПМ запросов
к БД
Все
проекты, по
которым
работает
сотрудник
ПМ
должности
ПМ
сотрудники
ПМ проекты ПМ подпроекты
ПМ работы с
подпроектом
Все
документы
по проекту
ПМ
должности
ПМ
сотрудники
ПМ проекты ПМ подпроекты
ПМ работы с
подпроектом
Рис. 2.6 Дерево вызова программных модулей
2.3.4 Описание программных модулей
В программе было разработано 10 программных модулей
Описание данных модулей приведено в таблице 2.13
77
Таблица 2.13
Таблица описания функций модулей
п/п
Наименование модуля
Функции модуля
1
datamodule.pas
для разделения логики обработки данных (бизнес-
логики) и логики внешнего представления данных -
интерфейса. В набор DataModule выносится весь
доступ к данным, а интерфейсная часть показывает
пользователю информацию, предоставляемую
DataModule, при использовании такой схемы более
просто перейти к многозвенной архитектуре
2
form__main.pas
выводит на экран главную форму программы и
меню
3
Form_idetifikacia.pas
выводит на экран форму входа в программу
4
form_sotrudnik.pas
выводит на экран форму добавления сотрудника в
БД
5
form_proekt.pas
выводит на экран форму добавления данных
проекта в БД
6
form_dolgnost.pas
выводит на экран форму добавления данных
должности в БД
7
Form_zapros1.pas
выводит на экран форму отчета «Все проекты, по
которым работает сотрудник»
8
Form_zapros2.pas
выводит на экран форму отчета «Все документы
по проекту»
9
Form_podproekt.pas
выводит на экран форму добавления подпроекта
Источник: https://baza.diplomsite.ru/previewfile/2079