Аварийная служба

Введение

		

		Аварийная служба

		Аварийная служба создана и предназначена для оперативной локализации и ликвидации аварийных ситуаций в сетях тепло и водоснабжения, канализационных сетях, сетях электроснабжения, слаботочных сетях и устранения неисправностей оборудования систем вентиляции и кондиционирования воздуха. Специалисты аварийной службы обладают большим опытом в ликвидации аварийных ситуаций различной степени сложности, в работе используются современные технологии и применяется профессиональное оборудование, что в комплексе позволяет оперативно и успешно решать проблемы, возникающие на объекте.

		Характеристика аварийной службы:

		Выезд аварийной бригады (прибытие на место аварии в течение 2 часов);

		Режим работы – круглосуточный (без выходных и праздников);

		Оперативная связь с мобильными аварийными бригадами;

		Современное диагностическое оборудование;

		Диспетчерский центр с многоканальной системой связи и компьютерной оптимизацией маршрутов движения аварийных бригад.

		Основные задачи аварийной службы:

		Предотвращение и исключение поражения персонала электрическим током (перегретым паром) и повреждения оборудования, не затронутого аварией;

		срочное восстановление электро и теплоснабжения потребителей и нормальных параметров электрических и тепловых энергоносителей;

		создание наиболее надежной послеаварийной системы электро- и теплоснабжения объекта в целом и отдельных его частей;

		выяснение состояния отключившегося и отключенного оборудования при возможности – включение его в работу.

		«Базы данных»

		

		«Описание требований к предметной области»

		Предметная область:

		Предметная область «Аварийная служба». Возможные виды деятельности: учет рабочих смен работников побригадно; учет заявок на проведение работ; учет затраченных материалов при ликвидации аварий; оплата труда с расчетом премиальных в зависимости от продолжительности и сложности выполненных работ.

		Сбор и анализ требований является предварительным этапом концептуального проектирования базы данных, в ходе которого спецификации требований пользователей анализируются с целью выяснения всех необходимых сведений.

		На самом базовом уровне требования можно разложить на рабочие цели, свойства объектов, правила и преимущества.

			Рабочие цели:

		учет рабочих смен работников - побригадно;

		Данное требование позволяет узнать и определить, на какую смену назначена та или иная бригада. Допустим бригада 1 назначена на дневную смену в понедельник, среду и пятницу.

		Объекты и их свойства:

		Смена:

		- день

		- дневная

		- ночная

		Бригада:

		- № бригады

		- Рабочий

		учет заявок на проведение работ;

		Данное требование принимает заявки на проведение аварийных работ. Здесь наиболее важно знать какое происшествие случилось и в каком месте.

		Объекты и их свойства:

		Заявка:

		- Id

		- Название

		- ЧП

		- адрес

		учет затраченных материалов при ликвидации аварий;

		Данное требование предназначено для учета материала потраченного на при ликвидации какой-либо аварии, т.е. какой вид материала был израсходован и его объем.

		Объекты и их свойства:

		Материал:

		- Название

		- Кол-во

		- стоимость

		оплата труда с расчетом премиальных в зависимости от продолжительности и сложности выполненных работ.

		Данное требование определяет оплату труда, т.е. сколько ушло времени и какова была сложность работы при ликвидации аварии. Могут быть премии.

		Объекты и их свойства:

		ЧП:

		- Вид ЧП

		- стоимость

		- премия

		- время выполнения

		Правила - это условные требования к свойствам объектов.

		Правила:

		Один сотрудник может работать в нескольких бригадах.

		Одна бригада может работать в дневную и в ночную смену.

		Предпочтения - это условие, которое относится к свойству объекта, которое выражает лучшее состояние.

		Предпочтения:

		Узнать какая бригада работала больше всех.

		Узнать какая бригада выполнила самую тяжелую работу.

		Узнать какая работа потребовала больше всего затрат.

		

		Разработка концептуальной модели

		

		Модель Сущность-Связь (ER-модель) — модель данных, позволяющая описывать концептуальные схемы. Предоставляет собой графическую нотацию, основанную на блоках и соединяющих их линиях, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных. В этом смысле ER-модель является мета-моделью данных, то есть средством описания моделей данных.

		

		Диаграмма сущность-связь системы “Аварийная служба”

		

		

		Объекты данной модели

		

		Смена, включает в себя идентификатор, айди бригады, дневная – смена которая будет работать днем, ночная – работает ночью, дни работы бригад – т.е. какая брига будет работать по каким дням и в какую смену.

		Бригада, включает идентификатор бригады и рабочих которые будут распределены на бригады.

		Список работников, включает идентификатор, ФИО рабочего, адрес рабочего и его звание (бригадир, подчиненный и т.д.)

		Заявка, включает идентификатор, название заявки, ЧП (чрезвычайное происшествие) которое случилось и адрес, чтобы знали куда выезжать.

		Список материалов, включает идентификатор, название материала, кол-во материала и его стоимость.

		Склад, включает идентификатор, материал на складе какой есть и его количество.

		ЧП (чрезвычайное происшествие) , включает идентификатор, вид ЧП т.е. прорвало трубу, канализацию, газ. Стоимость ЧП т.е. сколько будет стоить ликвидация ЧП, премия – дополнительная стоимость при использовании дополнительного времени или затрат и сил рабочих, время выполнения – сколько было потрачено времени на ликвидацию ЧП.

		Транспорт, включает идентификатор, тип транспорта (определяется по ЧП) и вместимость – сколько человек поместиться в транспорт.

		

		Связи объектов

		

		Смена и бригада:

		Связь 1:M (один ко многим), т.е. смена включает в себя много бригад, а у бригады может быть одна смена.

		Бригада и список работников:

		Связь M:M (многие ко многим), т.е. у бригады может быть много работников, а работник может работать в нескольких бригадах.

		Бригада и ЧП:

		Связь М:М, на ЧП может выехать несколько бригад и у бригады может быть несколько ЧП.

		Бригада и транспорт:

		Связь М:М, у бригады должен быть несколько транспортов, т.к. один может предназначен для вывоза рабочих, а второй для оборудования. У транспорта может быть несколько бригад, т.к. я говорил раньше, что на ЧП может выехать несколько бригад, поэтому у они могут быть и в 1 транспорте.

		Заявка и ЧП:

		Связь 1:1, на ЧП подается одна заявка и у заявки может быть только одно ЧП.

		ЧП и список материалов:

		Связь 1:М, на ЧП может понадобится несколько и разных материалов , а у списка может быть только одно ЧП.

		Список материалов и склад:

		Связь М:1, на складе может быть много материалов, у материалов может быть много складов.

		

		Разработка реляционной модели

		

		Реляционная модель данных — логическая модель данных, прикладная теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в реляционных базах данных.

		Реляционная модель для системы “Аварийная служба”.

		

		Смена

		id

		Вид

		Дата

		

		

		

		Id – первичный ключ

		

		Бригада

		Т.к. как объекты бригада и смена связаны отношение 1:М мы добавляем в таблицу М (Бригада) столбец, который соответствует ключу объекта, мощность со стороны которого равняется “один” т.е. id смены, этот столбец будет внешним ключом

		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 чп – вторичный ключ

		

			При связи М:М создается третья дополнительная таблица, которая включает ключи двух других таблиц.

		Это таблицы:

		

		Бригада - Список работников

		Id бригады

		Id работника

		

		

		

		Бригада – ЧП

		Id бригады

		Id ЧП

		

		

		

		Бригада – транспорт

		Id бригады

		Id транспорта

		

		

		

		Формирование запросов к БД

		

		Выбор из нескольких таблиц с сортировкой

		Список айди склада и списка материалов, где используется заданный материал

		Задание условия отбора с использованием предиката LIKE

		Найти название ЧП начинающее на “Боч”

		Задание условия отбора с использованием предиката BETWEEN.

		3.1 Список названий ЧП в последние пол года

		Использование предиката ALL или ANY

		Вывести максимальную стоимость, где название ЧП равно ‘Авария’

		Запрос на отрицание

		Вывести стоимость, где id не равен id ЧП.

		6. Операция объединения UNION с включением комментария в каждую строку. 

		6.1 Список рабочих с комментарием “адрес” и адресом.

		Привилегии - это то, что определяет, может ли указанный пользователь выполнить данную команду. Имеется несколько типов привилегий, соответствующих нескольким типам операций.

		

		Группы пользователей

		

		Привилегированные пользователи (admin):

		В данной группе будет находиться один администратор, который может обращаться к структуре таблиц и работать с регистрационными данными. Будет создавать, удалять таблицы, регистрировать, удалять пользователей и т.д.

		Средние пользователи (user):

		В этой группе пользователи, у которых есть возможность только просматривать данные, не изменяя их.

		Каждый пользователь в этой группе будет просматривать данные, не изменяя их. Смотреть запросы, отчеты.




		Диаграмма вариантов использования

		

		

		

		ER Модель с данными и ключами

		

		

		Рис. 1. ER-модель с данными и ключами

		

		Это готовая таблица представления данных в БДSQLServer. Здесь показаны все типы данных для свойств таблицы, а также указаны первичные и внешние ключи.

		

		Реализация запросов и отчетов

		

		Запросы на выборку

		Выбор из нескольких таблиц с сортировкой

			1.1 Список айди склада и списка материалов, где используется заданный материал

		

		SELECT Материалы.id, Склад.id, Материалы.Название

		FROM Материалы, Склад

		WHERE Материалы.СНазвание = Склад.Материал

		

		Задание условия отбора с использованием предиката LIKE

		Найти название ЧП начинающее на “Боч”

		

		SELECT [Название_ЧП]

		FROM Заявка

		WHERE (Адрес LIKE '%Боч%')

		

		Задание условия отбора с использованием предиката BETWEEN.

			Список названий ЧП в последние пол года.

		

		SELECT Название_ЧП FROM Заявка WHERE EndDate BETWEENMONTH(GetDate())-6 ANDGetDate()

		

		Использование предиката ALL или ANY.

		Вывести максимальную стоимость где название ЧП равно ‘Авария’.

		

		SELECT MAX(Стоимость) AS Expr1

		FROM Чп

		WHERE ([Вид_ЧП] = 'Авария')

		

		Запрос на отрицание.

		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. Этапы проектирования БД помогли выявить и определить все требования заказчика к системе, а также определить на раннем этапе все трудности и ошибки будущей системы. Также построенная диаграмма сущность-связь наглядно показала, какие объекты взаимодействуют с системой, их атрибуты и связи между ними, что в дальнейшем позволило уже спроектировать нашу БД для данной предметной области.

		Работу системы помог проверить контрольный пример, где мы выступали как со стороны обычного пользователя, так и со стороны администратора.




		СПИСОК ЛИТЕРАТУРЫ

		

			Вячеслав П. Основы программных требований.

			Ноутон П., Шилдт Г. - Java 2. Наиболее полное руководство. BHV - Санкт - Петербург, 2007.

			Брюс Эккель. Философия Java, 4-е издание. Питер, 2009.

			http://khpi-iip.mipk.kharkiv.edu/library/case/leon/index.html - Леоненков А. Самоучитель UML.

			Джеймс Р. Грофф, Пол Н. Вайнберг – SQL полное руководство. BHV, “Ирина”, Киев, 2001.