Аварийная служба                          
		Аварийная служба                          
Введение 
Аварийная служба 
Аварийная служба создана и предназначена для оперативной локализации и ликвидации аварийных ситуаций в сетях тепло и водоснабжения, канализационных сетях, сетях электроснабжения, слаботочных сетях и устранения неисправностей оборудования систем вентиляции и кондиционирования воздуха. Специалисты аварийной службы обладают большим опытом в ликвидации аварийных ситуаций различной степени сложности, в работе используются современные технологии и применяется профессиональное оборудование, что в комплексе позволяет оперативно и успешно решать проблемы, возникающие на объекте. 
Характеристика аварийной службы: 
· Выезд аварийной бригады (прибытие на место аварии в течение 2 часов); 
· Режим работы - круглосуточный (без выходных и праздников); 
· Оперативная связь с мобильными аварийными бригадами; 
· Современное диагностическое оборудование; 
· Диспетчерский центр с многоканальной системой связи и компьютерной оптимизацией маршрутов движения аварийных бригад. 
Основные задачи аварийной службы: 
· Предотвращение и исключение поражения персонала электрическим током (перегретым паром) и повреждения оборудования, не затронутого аварией; 
· срочное восстановление электро и теплоснабжения потребителей и нормальных параметров электрических и тепловых энергоносителей; 
· создание наиболее надежной послеаварийной системы электро- и теплоснабжения объекта в целом и отдельных его частей; 
· выяснение состояния отключившегося и отключенного оборудования при возможности - включение его в работу. 
«Базы данных» 
«Описание требований к предметной области» 
Предметная область: 
Предметная область «Аварийная служба». Возможные виды деятельности: учет рабочих смен работников побригадно; учет заявок на проведение работ; учет затраченных материалов при ликвидации аварий; оплата труда с расчетом премиальных в зависимости от продолжительности и сложности выполненных работ. 
Сбор и анализ требований является предварительным этапом концептуального проектирования базы данных, в ходе которого спецификации требований пользователей анализируются с целью выяснения всех необходимых сведений. 
На самом базовом уровне требования можно разложить на рабочие цели, свойства объектов, правила и преимущества. 
Рабочие цели: 
1. учет рабочих смен работников - побригадно; 
Данное требование позволяет узнать и определить, на какую смену назначена та или иная бригада. Допустим бригада 1 назначена на дневную смену в понедельник, среду и пятницу. 
Объекты и их свойства: 
Смена: 
- день 
- дневная 
- ночная 
Бригада: 
- № бригады 
- Рабочий 
2. учет заявок на проведение работ; 
Данное требование принимает заявки на проведение аварийных работ. Здесь наиболее важно знать какое происшествие случилось и в каком месте. 
Объекты и их свойства: 
Заявка: 
- Id 
- Название 
- ЧП 
- адрес 
3. учет затраченных материалов при ликвидации аварий; 
Данное требование предназначено для учета материала потраченного на при ликвидации какой-либо аварии, т.е. какой вид материала был израсходован и его объем. 
Объекты и их свойства: 
Материал: 
- Название 
- Кол-во 
- стоимость 
4. оплата труда с расчетом премиальных в зависимости от продолжительности и сложности выполненных работ. 
Данное требование определяет оплату труда, т.е. сколько ушло времени и какова была сложность работы при ликвидации аварии. Могут быть премии. 
Объекты и их свойства: 
ЧП: 
- Вид ЧП 
- стоимость 
- премия 
- время выполнения 
Правила - это условные требования к свойствам объектов. 
Правила: 
Один сотрудник может работать в нескольких бригадах. 
Одна бригада может работать в дневную и в ночную смену. 
Предпочтения - это условие, которое относится к свойству объекта, которое выражает лучшее состояние. 
Предпочтения: 
Узнать какая бригада работала больше всех. 
Узнать какая бригада выполнила самую тяжелую работу. 
Узнать какая работа потребовала больше всего затрат. 
Разработка концептуальной модели 
Модель Сущность-Связь (ER-модель) -- модель данных, позволяющая описывать концептуальные схемы. Предоставляет собой графическую нотацию, основанную на блоках и соединяющих их линиях, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных. В этом смысле ER-модель является мета-моделью данных, то есть средством описания моделей данных. 
Диаграмма сущность-связь системы “Аварийная служба” 
Объекты данной модели 
Смена, включает в себя идентификатор, айди бригады, дневная - смена которая будет работать днем, ночная - работает ночью, дни работы бригад - т.е. какая брига будет работать по каким дням и в какую смену. 
Бригада, включает идентификатор бригады и рабочих которые будут распределены на бригады. 
Список работников, включает идентификатор, ФИО рабочего, адрес рабочего и его звание (бригадир, подчиненный и т.д.) 
Заявка, включает идентификатор, название заявки, ЧП (чрезвычайное происшествие) которое случилось и адрес, чтобы знали куда выезжать. 
Список материалов, включает идентификатор, название материала, кол-во материала и его стоимость. 
Склад, включает идентификатор, материал на складе какой есть и его количество. 
ЧП (чрезвычайное происшествие) , включает идентификатор, вид ЧП т.е. прорвало трубу, канализацию, газ. Стоимость ЧП т.е. сколько будет стоить ликвидация ЧП, премия - дополнительная стоимость при использовании дополнительного времени или затрат и сил рабочих, время выполнения - сколько было потрачено времени на ликвидацию ЧП. 
Транспорт, включает идентификатор, тип транспорта (определяется по ЧП) и вместимость - сколько человек поместиться в транспорт. 
Связи объектов 
Смена и бригада: 
Связь 1:M (один ко многим), т.е. смена включает в себя много бригад, а у бригады может быть одна смена. 
Бригада и список работников: 
Связь M:M (многие ко многим), т.е. у бригады может быть много работников, а работник может работать в нескольких бригадах. 
Бригада и ЧП: 
Связь М:М, на ЧП может выехать несколько бригад и у бригады может быть несколько ЧП. 
Бригада и транспорт: 
Связь М:М, у бригады должен быть несколько транспортов, т.к. один может предназначен для вывоза рабочих, а второй для оборудования. У транспорта может быть несколько бригад, т.к. я говорил раньше, что на ЧП может выехать несколько бригад, поэтому у они могут быть и в 1 транспорте. 
Заявка и ЧП: 
Связь 1:1, на ЧП подается одна заявка и у заявки может быть только одно ЧП. 
ЧП и список материалов: 
Связь 1:М, на ЧП может понадобится несколько и разных материалов , а у списка может быть только одно ЧП. 
Список материалов и склад: 
Связь М:1, на складе может быть много материалов, у материалов может быть много складов. 
Разработка реляционной модели 
Реляционная модель данных -- логическая модель данных, прикладная теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных. 
Реляционная модель для системы “Аварийная служба”. 
Смена 
Id - первичный ключ 
Бригада 
Т.к. как объекты бригада и смена связаны отношение 1:М мы добавляем в таблицу М (Бригада) столбец, который соответствует ключу объекта, мощность со стороны которого равняется “один” т.е. id смены, этот столбец будет внешним ключом 
 
| 
 Id 
 | 
 Id смены 
 | 
 Id рабочего 
 | 
 Кол-во рабочих 
 | 
 | 
 
 | 
 | 
 | 
 | 
 | 
 
 | 
 
Id - первичный ключ 
Id смены - вторичный ключ 
Id рабочего - вторичный ключ 
Список работников 
Id - первичный ключ 
Заявка 
 
| 
 Id 
 | 
 Название ЧП 
 | 
 Дата 
 | 
 Адрес 
 | 
 | 
 
 | 
 | 
 | 
 | 
 | 
 
 | 
 
Список материалов 
Этот объект связан отношением 1: М с объектами Склад и ЧП, поэтому в эту таблицу мы добавляем ключи из таблиц со стороны 1. Это id ЧП и id склада. 
 
| 
 Id 
 | 
 Id ЧП 
 | 
 Название 
 | 
 Стоимость 
 | 
 Кол-во 
 | 
 | 
 
 | 
 | 
 | 
 | 
 | 
 | 
 
 | 
 
Id - первичный ключ 
Id чп - вторичный ключ 
Склад 
 
| 
 Id 
 | 
 Материал 
 | 
 Всего материала на складе 
 | 
 | 
 
 | 
 | 
 | 
 | 
 
 | 
 
Id - первичный ключ 
ЧП 
 
| 
 Id 
 | 
 Вид ЧП 
 | 
 Стоимость 
 | 
 Премия 
 | 
 Время выполнения 
 | 
 | 
 
 | 
 | 
 | 
 | 
 | 
 | 
 
 | 
 
Id - первичный ключ 
Транспорт 
Транспорт связан отношение 1:М с объектом ЧП, поэтому мы добавляем в эту таблицу ключ из объекта с отношением 1, этот ключ id ЧП. 
 
| 
 Id 
 | 
 Id ЧП 
 | 
 Тип транспорта 
 | 
 Вместимость 
 | 
 | 
 
 | 
 | 
 | 
 | 
 | 
 
 | 
 
Id - первичный ключ 
Id чп - вторичный ключ 
При связи М:М создается третья дополнительная таблица, которая включает ключи двух других таблиц. 
Это таблицы: 
Бригада - Список работников 
Бригада - ЧП 
Бригада - транспорт 
Формирование запросов к БД 
1. Выбор из нескольких таблиц с сортировкой 
1.1 Список айди склада и списка материалов, где используется заданный материал 
2. Задание условия отбора с использованием предиката LIKE 
2.1 Найти название ЧП начинающее на “Боч” 
3. Задание условия отбора с использованием предиката BETWEEN. 
3.1 Список названий ЧП в последние пол года 
4. Использование предиката ALL или ANY 
4.1 Вывести максимальную стоимость, где название ЧП равно `Авария' 
5. Запрос на отрицание 
5.1 Вывести стоимость, где id не равен id ЧП. 
6. Операция объединения UNION с включением комментария в каждую строку.  
6.1 Список рабочих с комментарием “адрес” и адресом. 
Привилегии - это то, что определяет, может ли указанный пользователь выполнить данную команду. Имеется несколько типов привилегий, соответствующих нескольким типам операций. 
Группы пользователей 
Привилегированные пользователи (admin): 
В данной группе будет находиться один администратор, который может обращаться к структуре таблиц и работать с регистрационными данными. Будет создавать, удалять таблицы, регистрировать, удалять пользователей и т.д. 
Средние пользователи (user): 
В этой группе пользователи, у которых есть возможность только просматривать данные, не изменяя их. 
Каждый пользователь в этой группе будет просматривать данные, не изменяя их. Смотреть запросы, отчеты. 
Диаграмма вариантов использования 
 
ER Модель с данными и ключами 
Рис. 1. ER-модель с данными и ключами 
Это готовая таблица представления данных в БДSQLServer. Здесь показаны все типы данных для свойств таблицы, а также указаны первичные и внешние ключи. 
Реализация запросов и отчетов 
Запросы на выборку 
1. Выбор из нескольких таблиц с сортировкой 
1.1 Список айди склада и списка материалов, где используется заданный материал 
SELECT Материалы.id, Склад.id, Материалы.Название 
FROM Материалы, Склад 
WHERE Материалы.СНазвание = Склад.Материал 
2. Задание условия отбора с использованием предиката LIKE 
2.1 Найти название ЧП начинающее на “Боч” 
SELECT [Название_ЧП] 
FROM Заявка 
WHERE (Адрес LIKE '%Боч%') 
3. Задание условия отбора с использованием предиката BETWEEN. 
3.1 Список названий ЧП в последние пол года. 
SELECT Название_ЧП FROM Заявка WHERE EndDate BETWEENMONTH(GetDate())-6 ANDGetDate() 
4. Использование предиката ALL или ANY. 
4.1 Вывести максимальную стоимость где название ЧП равно `Авария'. 
SELECT MAX(Стоимость) AS Expr1 
FROM Чп 
WHERE ([Вид_ЧП] = 'Авария') 
5. Запрос на отрицание. 
5.1 Вывести стоимость где id не равен id_ЧП 
SELECT Стоимость 
FROM Материалы 
WHERE (id <> [id_ЧП] 
6. Операция объединения UNION с включением комментария в каждую строку.  
6.1 Список рабочих с комментарием “адрес” и адресом. select id, 'адрес', Адрес from Рабочие 
Реализация отчетов 
С того момента как пользователь вошел в систему, ведутся так называемые «системные логи» о данном сотруднике: его имя, действие, дата входа и выхода. Для реализации данной возможности, после каждой функции выполняется запись таблицу logi, со всеми необходимыми данными. 
Ведение таких «логов» позволяет проанализировать и исправить ошибки (если таковы имелись) при выполнении того или иного запроса. Также это удобно и для администратора системы, за слежением того чем занят пользователь, и что он делал в системе. 
Интерфейс ИС 
Система начинается с авторизации и регистрации. В Данной системе пользователя зарегистрировать может только админ. 
Рис.1. Вход в систему 
Рис.2. Регистрация пользователя 
Если пользователь вошел успешно, появляется главное окно программы (рис.3) 
Рис. 3. Главное окно 
В главном окне есть таблицы, при открытии какой-нибудь таблицы, открывается новая форма с ее данными и на каждой такой форме есть объект, с помощью которого можно добавлять и удалять данные и какой-нибудь запрос. При необходимости добавить данные мы нажимаешь на плюс, вносим данные, потом сохраняем и выходим. 
Рис. 4. Просмотр и редактированние данных(Admin) 
Рис. 5. Просмотр данных(User) 
Просмотр данных таблицы Смена 
Рис. 6. Просмотр и редактированние данных 
Просмотр данных таблицы Материалы 
Рис. 7. Просмотр и редактирование данных 
Просмотр данных таблицы Бригада 
Рис. 8. Просмотр и редактированние данных 
Просмотр данных таблицы Рабочие 
Рис. 9. Просмотр и редактированние данных 
Просмотр данных таблицы Заявка 
Рис. 10. Просмотр и редактированние данных 
Просмотр данных таблицы Склад 
Рис. 11. Просмотр и редактированние данных 
Просмотр данных таблицы Транспорт 
Рис. 12. Просмотр и редактированние данных 
Из главного меню программы можно перейти в отчеты, где можно посмотреть какой пользователь, в какую дату и время вошел и вышел. 
Рис. 13. Просмотр отчетов 
Руководство пользователя 
Перед тем как начать работу в системе, требуется зарегистрироваться. После прохождения регистрации, можно входить в систему под тем логином, который Вы указали при регистрации. После входа Вам будем присвоен уровень доступа 2 - возможность только просматривать данные некоторых таблиц. Для работы, требуется иметь 1 уровень, который может присвоить только администратор системы. 
Как видно из предыдущего пункта, программа состоит из множества диалоговых окон, в каждом из которых есть своя таблица. Таблица служит только для просмотра данных из БД, чтобы добавить туда запись следует нажать на кнопку «Редактор», появиться новое диалоговое окно управления записями в заданной таблице. Там можно создать новую запись, либо изменить уже существующую, нажав на соответствующие клавиши. Также в этом окне можно произвести поиск по таблице, заполнив любые поля. Если требуется изменить данные о уже существующей записи в таблице БД, следует ей выделить в поле таблицы, затем нажать на кнопку «Дополнительно», в новом окне уже будут заполнены все поля, остается только изменить нужное нам поле и нажать на соответствующую кнопку. 
Для просмотра дополнительной информации об интересующей нас записи следует выделить нужную нам запись в таблице, а затем нажать на кнопку «Дополнительно» и в новом окне отобразиться информация о данной записи. 
В любом окне, где есть таблица, присутствуют два текстовых поля: поле для ввода SQLзапроса и поля для вывода результата. Например, можно ввести select Name, Addrfrom Users нажать на кнопку «Выполнить» и будет выведен результат запроса. Также чтобы узнать поля в той или иной таблице требуется ввести запрос следующей структуры: getcolumns form [Имя таблицы], результатом будет имена всех полей в той таблице, в которой Вы указали в запросе. 
Контрольный пример 
Рассмотрим некоторые действия со стороны нового пользователя системы. В окне авторизация пройдем регистрацию как в рис 2. Нажмем на «ОК». В случае если мы заполнили все поля верно, то получим сообщение об успешном создании новой учетной записи. Войдем в систему под тем логином, под которым зарегистрировались - login. Как уже писалось выше, по умолчанию мы получили 2-ой уровень доступа, когда все заблокировано, чтобы это исправить войдем в систему под администратором, с логином admin. Теперь перейдем из главного меню в пункт «Пользователи». Будет предоставлена таблица со всеми зарегистрированными пользователями в системе. Нажимаем на кнопку «Редактор» и логин: login, а в поле уровень доступа выбираем 1. Нажимаем на ОК и теперь данный пользователь может работать с системой, редактируя и добавляя новые записи в таблицы БД. 
Создадим новую запись для юридического лица. Перейдем из главного меню в соответствующий пункт и в появившемся окне нажмем на «Редактор». Если все верно заполнено, то получите сообщение об успешном создании новой записи. Далее нажмем на кнопку «обновить» и в таблице появиться только что созданная нами запись. Если же нам нужно просмотреть дополнительную информацию о юридическом лице, выделим данную запись из таблице и нажмем на кнопку «Дополнительно». В новом окне появится информация о лицензии, счете, а также все должности в заданном юр. лице. 
Для просмотра «логов», достаточно зайти в директорию программы, и найди файл с именем login.log, где login интересующий нас пользователь. В файле будем предоставлены все действия совершенные этим пользователем: посылаемые запросы к СУБД, результат запроса, а также системные ошибки, если таковы имеются. 
ЗАКЛЮЧЕНИЕ 
Пройдя все этапы конструирования баз данных, начиная от выявления требований и поиска проблем до проектирования программных классов и построением таблиц в СУБД, была написана система для налоговой инспекции на языке высокого уровня Java с использованием СУБД MSSQL Server. Этапы проектирования БД помогли выявить и определить все требования заказчика к системе, а также определить на раннем этапе все трудности и ошибки будущей системы. Также построенная диаграмма сущность-связь наглядно показала, какие объекты взаимодействуют с системой, их атрибуты и связи между ними, что в дальнейшем позволило уже спроектировать нашу БД для данной предметной области. 
Работу системы помог проверить контрольный пример, где мы выступали как со стороны обычного пользователя, так и со стороны администратора. 
СПИСОК ЛИТЕРАТУРЫ 
1. Вячеслав П. Основы программных требований. 
2. Ноутон П., Шилдт Г. - Java 2. Наиболее полное руководство. BHV - Санкт - Петербург, 2007. 
3. Брюс Эккель. Философия Java, 4-е издание. Питер, 2009. 
4. http://khpi-iip.mipk.kharkiv.edu/library/case/leon/index.html - Леоненков А. Самоучитель UML. 
5. Джеймс Р. Грофф, Пол Н. Вайнберг - SQL полное руководство. BHV, “Ирина”, Киев, 2001. 
	
	
					
							 |