ИС ТБ

advertisement
Министерство Путей Сообщения РФ
Иркутский государственный университет путей сообщения
Кафедра информационных систем
Курсовой проект.
Информационная система отдела охраны труда
Выполнил:
студент гр. ИС-00-2 Беляев А.А.
Проверил: ст. преподаватель
Арбатский Е.В.
г. Иркутск
2004 г.
ЗАДАНИЕ КУРСОВОГО ПРОЕКТА
•
Создать информационную систему для автоматизации работы отдела ТБ
•
Изучение предметной области и разработка структуры ИС
•
Описание информационных процессов
•
Разработка структуры БД и программы ИС
•
Реализация и тестирование ИС
2
Содержание
ЗАДАНИЕ КУРСОВОГО ПРОЕКТА ..........................................................................................2
1. ВВЕДЕНИЕ ................................................................................................................................4
2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ.....................................................................................5
2.1 Работа Отдела ТБ.................................................................................................................5
2.1.1 Прием на работу нового сотрудника ..........................................................................5
2.1.2 Проверка знаний сотрудников ....................................................................................5
2.1.3 Структура отдела ТБ ....................................................................................................7
2.2 Существующая ситуация ....................................................................................................7
2.3 Желаемая ситуация..............................................................................................................9
2.4 Параметры оценки...............................................................................................................9
3. РАЗРАБОТКА СТРУКТУРЫ ИС ..........................................................................................10
3.1 Аппаратно-физическая модель ИС ..................................................................................11
4. РАЗРАБОТКА СТРУКТУРЫ БД И ИНТЕРФЕЙСОВ ........................................................12
4.1 АРМ «Инспектор ТБ» .......................................................................................................12
4.2 АРМ «Экзаменатор ТБ»....................................................................................................12
4.3 АРМ «Журнал ТБ» ............................................................................................................13
5. ПРОГРАМНАЯ РЕАЛИЗАЦИЯ ИС......................................................................................14
5.1 Серверная часть .................................................................................................................14
5.2 Клиентская часть ...............................................................................................................14
6. ЗАКЛЮЧЕНИЕ........................................................................................................................15
7. ПРИЛОЖЕНИЯ .......................................................................................................................16
3
1. ВВЕДЕНИЕ
В наше время автоматизации ручного труда отводится большое значение. Анализ
предложенной предметной области выявил необходимость создания базы данных для
учета и организации контроля своевременной аттестации сотрудников предприятия
(ВЧД7) по техники безопасности.
Необходимость разработки данного приложения мотивируется четырьмя аспектами:
организационный, технический, психологический и юридический.
Организационный:
Высокая
трудоемкость
учета
своевременности
прохождения
аттестации по ТБ и организации такой аттестации.
Технический: Несвоевременность аттестации расхолаживает работников, что приводит к
снижению квалификации и, как следствие, к снижению качества выполняемой работы.
Психологический:
Своевременное
проведение
аттестации
повышает
моральную
ответственность работников и руководство за безопасные условия труда, эксплуатацию
техники, охрану окружающей среды, жизнь и здоровье работников и клиентов.
Юридический: Допуск к работе не аттестованного работника в случае возникновения
аварии или аварийной ситуации приводит к ответственности вышестоящее руководство.
4
2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Отдел ТБ на железнодорожном транспорте. Для допуска к работе требуется сдача
экзаменов по ТБ. На большом предприятии требуется сдача нескольких экзаменов, при
этом
контроль
за
своевременной
сдачей
был
бы
затруднен.
Для
разработки
информационной системы выберем предприятие ВЧД-7 как подразделение Железной
дороги (количество рабочих ~2000т. человек, количество экзаменов около 5).
Схема 1. Структура управления ЖД транспортом
Инспектор ТБ существует на каждом уровне структуры. В нашем случае рассмотрим
нижний уровень, ПТБ работников подразделения дороги.
2.1 Работа Отдела ТБ
2.1.1 Прием на работу нового сотрудника
При приеме человека на работу с ним должны быть проведены:
1. вводный инструктаж;
2. первичный инструктаж на рабочем месте;
3. обучение по Охране труда;
4. первичная проверка знаний;
5. стажировка;
6. допуск к самостоятельной работе.
2.1.2 Проверка знаний сотрудников
После приема сотрудника на работу и сдачи им первичного экзамена его допускают к
работе. В дальнейшем проводится периодическая проверка знаний. Количество и состав
экзаменов определяется профессией.
Каждый день в отделе Кадров формируются направления на вводный инструктаж и
другие необходимые процедуры. Новый сотрудник приходит на инструктаж в отдел ТБ –
имея на руках это направление. После проверки знаний экзаменатор ТБ формирует приказ
5
на разрешение работы. После проверки начинается отсчет времени до следующей сдачи.
Когда до даты сдачи остается 20 дней экзаменатор формирует предписание на очередную
сдачу экзаменов. Если работником была просрочена дата сдачи, то экзаменатор ТБ
формирует и отсылает приказ на отстранение от работы.
Схема. 2. Структура оборота документов
Обработку данных производит экзаменатор ТБ. Контроль сдачи – программа «Журнал
учета испытаний»
Временные интервалы:
•
Направление
на
сдачу
экзаменов
доставляются
самим
рабочим.
Время
прохождения инструктажа и сдачи экзамена никто не ограничивает, но реально 1-2
дня (при приеме на работу)
•
Приказ к разрешению работы доставляется в течении 2х дней
•
Предписание(направление) на сдачу экзаменов в течении дня доставляются в цех
6
Схема. 3. Структура функционирования отдела ТБ
Обработка, внесение в списки на сдачу, прием экзаменов – выполняются экзаменатором
Перенос в списки ожидающих экзамен – программа «Журнал учета испытаний»
2.1.3 Структура отдела ТБ
Инспектор ТБ
Экзаменатор ТБ
Экзаменатор ТБ
Экзаменатор ТБ
Схема. 3. Структура отдела ТБ
Инспектор ТБ – контролирует работу экзаменаторов. Экзаменатор принимает экзамены,
которые он имеет право принимать. В день принимается несколько рабочих у каждого
экзаменатора. Сдачу экзамена отмечают в программе «Журнал учета испытаний».
2.2 Существующая ситуация
В отделе ОТ находиться журнал в который заносятся записи о нарушениях ТБ с лишением
премии или другим наказанием.
Журнал имеет следующие графы:
7
1. № п.п.
2. Фамилия, инициалы работника.
3. Подразделение(подразделение, цех)
4. Профессия
5. Дата нарушения
6. Фамилия, инициалы экзаменатора отдела
ОТ.
7. Подпись экзаменатора отдела ОТ.
8. Подпись работника.
Журнал является юридически значимым документом при проведении расследований
несчастных случаев на производстве.
В данный момент на рабочем месте Экзаменатора ТБ используется ПО сторонних
разработчиков - «Журнал учета испытаний». Используемое ПО не удовлетворяет
потребности по следующим причинами:
•
Ошибки и сбои в работе программы;
•
Неудобный интерфейс пользователя;
•
Отсутствие взаимодействия программы с другими АРМами;
•
Отсутствие
разбиения
рабочих
пространств
экзаменаторов,
инспектора
и
руководящего состава;
•
Отсутствие какой-либо отчетности и статистики;
•
Закрытость приложения и отсутствие технической поддержки со стороны
разработчика не позволяет развивать систему, а также поддерживать ее в рабочем
состоянии.
Инспектор ТБ должен контролирует работу экзаменаторов:
1. просматривать информации о задолжниках;
2. просматривать Журнала нарушений.
Вывод: Экзаменаторов ТБ не устраивают условия работы, потому что программа
«Журнал учета испытаний». ненадежна и работать в ней неудобно. Инспектору ТБ тоже
недоволен условиями работы. Для выполнения своих функций, приходится отрывать
экзаменаторов от работы и просматривать журнал нарушений.
8
2.3 Желаемая ситуация
•
Открытость системы: возможность обмена данными с существующими АРМами.
•
Модуль для создания отчетных форм без вмешательства разработчиков;
•
«Дружелюбный» интерфейс клиентских модулей;
•
Возможность ведения статистики и, при необходимости, передача ее в другие
АРМы;
•
Увеличение скорости оборота документов;
•
Системой защиты информации от несанкционированного доступа;
•
Разделение рабочих пространств;
2.4 Параметры оценки
Внедрение ИС будет считаться успешным, при достижении следующих параметров:
•
Снижение количества просроченных экзаменов
•
Уменьшение часов, затрачиваемых инженером по ТБ на организационные работы
по приему периодичных экзаменов;
•
Объединение возможностей существующей программы и журнала нарушений;
•
Упрощение контроля Инспектором ТБ – Экзаменаторов.
9
3. РАЗРАБОТКА СТРУКТУРЫ ИС
Внешние ИС
АРМ КАДРЫ
Другие АРМы
Разрабатываемая ИС
ИС ТБ
АРМ «Инспектор ТБ»
АРМ «Экзаменатор ТБ»
АРМ «Журнал ТБ»
данные
Схема 4:
ИС по ТБ
Система должна иметь интерфейс работы с системой АРМ КАДРЫ. Информация о вновь
принятом работнике должна появляться на сервере нашей ИС т.е. автоматически при
приеме человека на работу он появлялся на терминале «АРМ Экзаменатора ТБ» как
ожидающий сдачи.
• «АРМ Инспектор ТБ» - Рабочее место инспектора ТБ. На этот АРМ накладывается
автоматизация проверки работы экзаменаторов
Функциональность АРМа
1. Контроль просроченных экзаменов;
2. Контроль нарушений ТБ
3. Ведение справочников:
a. Экзамены
b. Экзаменаторы
c. Профессии
d. Цеха
•
АРМ «Экзаменатор ТБ» - экзаменатор принимает экзамены в зависимости от прав
которые Инспектор ставит Экзаменатору; Оформление нарушений ТБ
10
•
АРМ «Журнал ТБ» - АРМ для просмотра данных. Для реализации данного АРМа
можно предложить изготовить интерфейс работы через HTTP протокол.
Связь с другими АРМами в нашей системе может быть развита очень сильно. потому что.
в любой организации где существует отдел ТБ – требуется сдача экзаменов для допуска к
работе. Поэтому для допуска к работе следует проверить, сдан ли экзамен. Для
автоматизации данной проверки можно организовать интерфейс работы с различными
АРМами.
3.1 Аппаратно-физическая модель ИС
АРМ «Инспектор ТБ»
АРМ «Экзаменатор ТБ»
АРМ «Журнал ТБ»
Сервер
(БД)
Схема 5:
Аппаратно-физическая модель ИС
11
4. РАЗРАБОТКА СТРУКТУРЫ БД И ИНТЕРФЕЙСОВ
4.1 АРМ «Инспектор ТБ»
Для организации работы Инспектора необходимы следующие данные:
1. Сотрудники
a. Табельный номер
b. ФИО
c. Профессия
d. Подразделение
2. Профессии
3. Цеха
4. Экзамены
a. Наименование
b. Периодичность сдачи
5. Экзаменаторы
6. Права экзаменаторов
АРМ «Инспектор ТБ»
Ведение справочников
Сервер
(БД)
Схема 6:
Функционирование АРМ «Инспектор ТБ»
4.2 АРМ «Экзаменатор ТБ»
Для организации работы Экзаменатора необходимы следующие данные:
7. Сотрудники
a. Табельный номер
b. ФИО
c. Профессия
d. Подразделение
8. Профессии
9. Цеха
10. Экзамены
a. Наименование
12
b. Периодичность сдачи
АРМ «Экзаменатор ТБ»
Оформление сдачи
экзаменов
Сервер
(БД)
Схема 7:
Функционирование АРМ «Экзаменатор ТБ»
4.3 АРМ «Журнал ТБ»
Для просмотра данных по сданным экзаменам нужно создать АРМ «Журнал ТБ». Это
обосновано тем, что не на любом рабочем месте есть компьютер. Для реализации этого
АРМа можно создать сайт с данными о сдачах. Любой сотрудник может зайти на сайт
отдела ТБ, ввести свой табельный номер и просмотреть информацию. В этом случае
просмотр можно будет осуществить с любого компьютера подключенного к сети МПС.
Физическая модель БД приведена в ПРИЛОЖЕНИИ 1
Структура таблиц базы данных приведена в ПРИЛОЖЕНИИ 2
13
5. ПРОГРАМНАЯ РЕАЛИЗАЦИЯ ИС
Для разработки программного комплекса было выбрано следующие ПО:
1. Borland Delphi 6.0
2. СУБД: InterBase 6.0
Созданная информационная система построена по архитектуре "клиент-сервер"
В СУБД: InterBase 6.0 создан сервер в котором хранятся таблицы и процедуры
На Borland Delphi 6.0 создана клиентская часть АРМов (для Инспектора ТБ и
Экзаменатора ТБ). Клиентская часть одинаковая для обоих АРМов, а права пользователя
определяются паролем.
5.1 Серверная часть
1. Хранение таблиц с данными
2. Хранение процедур по управлению данными
Серверная часть сделана с помощью InterBase SQL
Часть кода приведена в ПРИЛОЖЕНИИ 3
5.2 Клиентская часть
1. Отделение интерфейса Инспектора и Экзаменатора
2. Ведение справочников (добавление, удаление, обновление записей):
•
Профессии
•
Цеха
•
Рабочие
•
Экзамены
•
Экзаменаторы
•
Нарушения
•
Экзамены для рабочих
•
Экзаменаторов для экзаменов
3. Представление данных для легкого контроля за сдачей экзаменов
4. Создание печатных форм
Основные участки кода программы для работы с сервером приведены в ПРИЛОЖЕНИИ 4
Формы интерфейса клиентской части приведены в ПРИЛОЖЕНИИ 5
14
6. ЗАКЛЮЧЕНИЕ
Результатом работы над информационной системой явилось ее создание. Следующим
шагом по работе над ней – это введение ее в эксплуатацию в ВЧД-7.
Созданная программа соответствует требованиям, накладываемым заказчиком. Поэтому
ее введение в эксплуатацию ничем не затруднена.
15
7. ПРИЛОЖЕНИЯ
16
Приложение 1. Физическая модель БД для ИС ТБ
Схема 8
Физическая модель БД
Созданная
структура
удовлетворяет
запросам
по
созданию
ИС,
для
замены
существующего комплекса.
17
Приложение 2. Структура таблиц базы данных
Таблица exam. Содержит данные о возможных периодических экзаменах.
Поле
Тип
Описание
id
integer
Первичный ключ
name
CHAR(255)
Полное наименование экзамена
period
Integer
Периодичность. Раз в N месяцев
small
CHAR(255)
Сокращенное название. Требуется для отчетов
Таблица person. Содержит данные о сотрудниках предприятия
Поле
Тип
Описание
id
integer
Табельный номер (Первичный ключ)
name
CHAR(255)
Фамилия, инициалы
id_prof
Integer
Для связи с prof
Таблица prof. Содержит данные о профессиях предприятия.
Поле
Тип
Описание
id
integer
Первичный ключ
name
CHAR(255)
Название профессии
id_depart
Integer
Для связи с depart
Таблица depart. Содержит данные о структурных подразделениях предприятия.
Поле
Тип
Описание
id
integer
Первичный ключ
name
CHAR(255)
Наименование цеха.
master
CHAR(255)
ФИО старшего мастера. Требуется для отчетов
Таблица p_e. Служит для связи exam и person.
Поле
Тип
Описание
id
integer
Первичный ключ
id_person Integer
Для связи с person
id_exam
Integer
Для связи с exam
check
CHAR(8)
Дата сдачи экзамена
raz
Integer
Метка о разовом экзамене
18
Таблица e_e. Служит для связи exam и examenators.
Поле
Тип
Описание
id
integer
Первичный ключ
id_examenators Integer
Для связи с examenators
id_exam
Для связи с exam
Integer
Таблица examenators. Данные об Экзаменаторах
Поле
Тип
Описание
id
integer
Первичный ключ
FIO
CHAR(255)
Фамилия И.О.
PASS
CHAR(8)
Password
Таблица Narush. Данные по нарушениям.
Поле
Тип
Описание
id
integer
Первичный ключ
id_person
Integer
Для связи с person
Date_N
CHAR(8)r
Дата сдачи
id_examenators Integer
Для связи с examenators
MEMO
Текст нарушения
CHAR(255)
19
Приложение 3. DDL серверной части
Серверная часть (участки DDL таблиц сервера)
Создание таблицы DEPART (таблица не имеет внешних ключей)
CREATE TABLE DEPART (
ID INTEGER NOT NULL,
NAME CHAR(255),
MASTER CHAR(255));
ALTER TABLE DEPART ADD PRIMARY KEY (ID);
CREATE TRIGGER TR_DEPART FOR DEPART
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (DEPART.ID IS NULL) THEN
DEPART.ID = GEN_ID(GEN_DEPART,1);
END
CREATE TRIGGER TR_DEPART_DEL FOR DEPART
ACTIVE BEFORE DELETE POSITION 0
as
begin
delete from prof
where prof.id_depart=DEPART.id;
end
При создании таблицы, создается:
•
Структура (Имена полей и их тип);
•
Первичный ключ;
•
Генератор для первичного ключа;
•
Триггер для генерации нового значения первичного ключа.
•
Триггер для обеспечения целостности данных (удаление Профессии из таблицы
PROF которые были в удаляемом Цехе)
Создание таблицы PROF (таблица имеет внешние ключи)
CREATE TABLE PROF (
ID INTEGER NOT NULL,
NAME CHAR(255),
ID_DEPART INTEGER);
20
ALTER TABLE PROF ADD PRIMARY KEY (ID);
ALTER TABLE PROF ADD CONSTRAINT FK_PROF FOREIGN KEY (ID_DEPART)
REFERENCES DEPART (ID);
CREATE TRIGGER TR_PROF FOR PROF
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
IF (PROF.ID IS NULL) THEN
PROF.ID = GEN_ID(GEN_PROF,1);
END
CREATE TRIGGER TR_PROF_DEL FOR PROF
ACTIVE BEFORE DELETE POSITION 0
as
begin
delete from person
where person.id_prof=PROF.id;
end
Для таблицы имеющей внешние ключи добавляется:
•
Создание внешнего ключа
Остальные таблицы создаются по подобию
Для каждой таблицы создадим процедуры на ДОБАВЛЕНИЕ, УДАЛЕНИЕ,
ОБНОВЛЕНИЕ
УДАЛЕНИЕ
CREATE PROCEDURE DEPART_D (
ID INTEGER)
AS
BEGIN
DELETE FROM DEPART
WHERE (ID = :ID);
END
ДОБАВЛЕНИЕ
CREATE PROCEDURE DEPART_I (
NAME CHAR(255),
MASTER CHAR(255))
AS
21
BEGIN
INSERT INTO DEPART (iD,NAME,MASTER)
VALUES (
GEn_ID(GEN_depart,1),
:NAME,
:MASTER);
END
ОБНОВЛЕНИЕ
CREATE PROCEDURE DEPART_U (
ID INTEGER,
NAME CHAR(255),
MASTER CHAR(255))
AS
BEGIN
UPDATE DEPART
SET NAME = :NAME,
MASTER = :MASTER
WHERE (ID = :ID);
END
22
Приложение 4. Основные участки кода программы для работы с
сервером
Вызов процедуры на удаление
If Application.MessageBox('Удалить запись?',
'',MB_yesNo + MB_DEFBUTTON1)=IDYES then
Begin
DataModule2.IBStoredProc8.Prepare;
DataModule2.IBStoredProc8.Params[0].AsString:=
dbgrid1.DataSource.DataSet.Fields[0].asstring;
try
DataModule2.IBStoredProc8.ExecProc;
finally
DataModule2.IBStoredProc8.UnPrepare;
end;
end;
Dbgrid1.DataSource.DataSet.Refresh;
Вызов процедуры на изменение записи
If Application.MessageBox('Изменить запись?',
'',MB_yesNo + MB_DEFBUTTON1)=IDYES then
Begin
DataModule2.IBStoredProc13.Prepare;
DataModule2.IBStoredProc13.Params[0].AsString:=
dbgrid1.DataSource.DataSet.Fields[0].asstring;
DataModule2.IBStoredProc13.Params[1].AsString:=edit2.Text;
try
DataModule2.IBStoredProc13.ExecProc;
finally
DataModule2.IBStoredProc13.UnPrepare;
end;
end;
Dbgrid1.DataSource.DataSet.Refresh;
Вызов процедуры на добавление записи
DataModule2.IBStoredProc4.Prepare;
23
DataModule2.IBStoredProc4.Params[0].AsString:=
form3.dbgrid1.DataSource.DataSet.Fields[0].asstring;
DataModule2.IBStoredProc4.Params[1].AsString:=
dbgrid1.DataSource.DataSet.Fields[0].asstring;
try
DataModule2.IBStoredProc4.ExecProc;
finally
DataModule2.IBStoredProc4.UnPrepare;
end;
Вызов всех процедур одинаковый
24
Приложение 5. Формы интерфейса
Разделение рабочих пространств
РИС. 1 Разделение рабочих пространств
Окно АРМ «ИНСПЕКТОР ТБ
РИС. 2 АРМ «ИНСПЕКТОР ТБ
В главном окне АРМа «ИНСПЕКТОР ТБ» - доступны функции указанные в п.3
25
Окно АРМ «ЭКЗАМЕНАТОР ТБ»
РИС. 3 АРМ «ЭКЗАМЕНАТОР ТБ»
В главном окне АРМа «ЭКЗАМЕНАТОР ТБ» - доступны функции указанные в п.3
26
Download