Аварийная служба
Аварийная служба
Введение Аварийная служба Аварийная служба создана и предназначена для оперативной локализации и ликвидации аварийных ситуаций в сетях тепло и водоснабжения, канализационных сетях, сетях электроснабжения, слаботочных сетях и устранения неисправностей оборудования систем вентиляции и кондиционирования воздуха. Специалисты аварийной службы обладают большим опытом в ликвидации аварийных ситуаций различной степени сложности, в работе используются современные технологии и применяется профессиональное оборудование, что в комплексе позволяет оперативно и успешно решать проблемы, возникающие на объекте. Характеристика аварийной службы: · Выезд аварийной бригады (прибытие на место аварии в течение 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 - первичный ключ Заявка Список материалов Этот объект связан отношением 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.
|