/
/
Введение
В цивилизованном обществе любой вид общественно-производственной деятельности связан с опасностью для здоровья не только занятых на этом производстве людей, но и для населения. Приходится констатировать, что если за объектами потенциальной опасности не вести контроль за их эксплуатацией и подходов к осуществлению безопасности, то все инженерные сооружения, в той или иной степени, будут являться потенциально опасными для жизни человека. Отсюда возникает необходимость разработки адекватных, адаптивных мер безопасности.
Использование атомной энергии и источников ионизирующего излучения является одним из важнейших завоеваний человечества в XX веке. Многочисленные опубликованные данные показывают, что нормальная эксплуатация АЭС, оборудованной современной техникой, не наносит заметного ущерба ни человеку, ни окружающей среде. Вывод по этим данным следующий: вложение средств в улучшение условий эксплуатации АЭС наименее эффективно. Однако оценка эффективности (и необходимости) финансовых вложений в АЭС может измениться на обратную, если вести аранжировку по некой суммарной величине с учетом условий не только нормальной эксплуатации, но и необходимости предотвращения аварий, их локализации и ликвидации последствий. Видимо, целесообразность вложений будет возрастать в другом ряду. Представляется вероятным, что этот ряд будет определяться концентрацией (плотностью) энергии на единицу массы, которая может в аварийной ситуации неконтролируемо освобождаться. Этот ряд потенциальной опасности (по возрастающей) может выглядеть следующим образом:
· мускульная энергия;
· механическая энергия (приливы, ветер, вода);
· тепловая энергия (солнечная, геотермальная, тепловые электростанции);
· ядерная энергия.
В этом ряду одновременно отражена хронология овладения и использования человеком различных видов энергий. Вывод: чем более совершенный вид энергии используется человеком, тем он богаче и опаснее одновременно. Отсюда все более острая необходимость в обеспечении безопасности, особенно атомной энергетики.
Перед персоналом, работающим в области атомной энергетики, стоит задача обеспечения безопасного использования экологически чистой атомной энергии для решения народнохозяйственных, медицинских, научных и оборонных проблем России. Необходимо снизить социальную напряженность в зонах размещения ядерных и радиационно-опасных объектов и завоевать доверие общества к возможности использования атомной энергии.
Неоспоримым достоинством атомной энергетики в социальном аспекте является подтвержденная многолетней практикой безопасная эксплуатация сотен энергоблоков во многих странах мира. Однако вероятность тяжелых аварий, также подтвержденная практикой, может скомпенсировать указанное достоинство атомных электростанций (АЭС). Поэтому безопасность АЭС стала в последнее время наиболее приоритетной задачей в развитии атомной энергетики как отрасли национального хозяйства. С этой целью Международное агентство по атомной энергии (International Atomic Energy Agency - МАГАТЭ) в течение многих лет занимается разработкой общих принципов безопасности атомной энергетики. Непосредственно под эгидой МАГАТЭ обобщением опыта эксплуатации АЭС и установлением правил, направленных на обеспечение их безопасности, занимается Международная консультативная группа по ядерной безопасности (International Nuclear Safety Advisory Group - INSAG). Опираясь на эти работы, человечество, заботясь о своем благополучии в будущем, делает ставку на ядерное топливо и соответствующие ему электрогенерирующие и тепловые мощности - атомные электростанции и установки.
Актуальность внедрения информационных систем в атомной энергетике очень высока. Это в первую очередь обусловлено возросшими возможностями современных автоматизированных средств корпоративного управления. Высокая сложность оборудования станции и ее производственных процессов создают весомые предпосылки для информатизации деятельности. Необходимо отметить, что основные приоритеты атомной энергетики - безопасность, эффективность, конкурентоспособность - тесно связаны с совершенствованием информационных технологий.
Опыт мировой ядерной энергетики свидетельствует о ее экологических и экономических преимуществах. Однако произошедшие аварии на АЭС «Три - Майл -Айленд» в США в 1979 г., катастрофической аварии на Чернобыльской АЭС в Украине в 1986 г. и авария на АЭС Фукусима 1, 11 марта 2011 года в Японии, где в результате сильнейшего за историю этой страны землетрясения в префектуре Мияги на первом, произошли взрывы на третьем и втором энергоблоках и пожар на четвертом энергоблоке АЭС. В результате аварии уровень радиационного фона в районе станции значительно повысился, что вынудило власти начать эвакуацию людей из зоны радиусом 50 километров вокруг реактора, а так же загрязнение территорий отходами ядерно-оружейного комплекса и потенциальная угроза терроризма вызвали рост социальной напряженности и антиядерных настроений среди населения различных стран мира. Весьма важным является изменение подходов к системе обеспечения безопасности при эксплуатации АЭС.
Для недопущения подобных последствий необходимо решение ряда проблем связанных с безопасностью атомной энергетики, одной из которых является обеспечение высокого уровня подготовки оперативного персонала при ведении технологического процесса на действующих блоках АЭС. Составным элементом такого обучения должен стать автоматизированный учет занятий и регистрация оперативного персонала на момент прохождения обучения на полномасштабном тренажере для подтверждения или повышения квалификации в учебно-тренировочном подразделении оперативного персонала, таких как (ВИУР, ВИУБ, ВИУТ, НСБ), которые осуществляют непосредственно, ведение технологического процесса в управлении энергоблоками на атомных станциях.
Автоматизация этих сведений поможет избежать неправильных действий оперативного персонала атомной станции, что может повлечь за собой последствия различного масштаба и поможет обеспечить перспективную, прогрессивную работу АЭС. Отсутствие решений этой проблемы ставит под угрозу работу всей атомной электростанции. Безопасность таких объектов, как атомные станции должна восприниматься, как важное направление своей работы и безопасному функционированию атомных станций независимо от наличия или отсутствия давления со стороны контролирующих органов, а как регулярный, своевременный анализ и усовершенствования процесса осуществления безопасности атомных станций.
Целью выпускной квалификационной работы является уменьшение временных затрат на регистрацию занятий и повышение уровня безопасности эксплуатации АЭС, с помощью современных информационных технологий.
Основной задачей выпускной квалификационной работы является модернизация информационной системы учета протоколов несоответствия учебно-тренировочного подразделения путем внедрения в неё информационной системы, автоматизированного учета занятий и регистрации оперативного персонала, проходящих обучение в учебно-тренировочном подразделении.
Для достижения поставленной цели и решения основной задачи необходимо решить следующие подцели:
– изучить и проанализировать предметную область (охарактеризовать организацию, структурное подразделение, для которого будет модернизирована информационная система, проанализировать процессы, протекающие на предприятии и нуждающиеся в автоматизации);
- обосновать выбор предмета исследования и автоматизации и сформулировать функциональные требования к модернизируемой системе;
- проанализировать существующие разработки в данной области и обосновать выбор технологического решения;
- проанализировать входные и выходные информационные потоки модернизируемой системы, разработать общий алгоритм работы системы;
- провести тестирование модернизированной системы в различных режимах работы;
- оценить экономическую эффективность реализации проекта.
Результатом проделанной работы должен стать программный продукт, реализующий все вышеперечисленные задачи.
В первой главе дана технико-экономическая характеристика объекта исследования, рассмотрена экономическая сущность задачи и дано обоснование её решения, проанализированы существующие разработки и обоснован выбор технологии проектирования.
В ходе выполнения второй главы обосновываются программные средства модернизации, а также проведен анализ алгоритмического, технологического и программного обеспечения задачи.
В третьей главе рассматривается технологическое обеспечение задачи, производится тестирование информационной системы и оценка экономической эффективности.
Выпускная квалификационная работа содержит 106 страниц основного текста, 26 иллюстраций, 9 таблиц и 3 приложения.
Работа оформлена в соответствии с ГОСТ 7.32 - 2001.
1. Анализ деятельности смоленской АЭС как объекта информации
1.1 Технико-экономическая характеристика объекта исследования
Смоленская АЭС расположена недалеко от западной границы России, в Смоленской области.. Ближайшие региональные центры: Смоленск - 150 км, Брянск - 180 км, Москва - 350 км. АЭС расположена в 3 км от Десногорска.
В соответствии с утвержденным и зарегистрированным уставом Смоленская АЭС осуществляет следующую деятельность [1]:
- производит и реализует электрическую и тепловую энергию;
- производит полный цикл операций по приемке, хранению, загрузке и выгрузке ядерного топлива, хранению отработавшего ядерного топлива, сбору, хранению и утилизации радиоактивных отходов атомной станции;
- производит ремонтные и наладочные работы на оборудовании;
- выполняет научно - исследовательские и опытно - конструкторские разработки на оборудовании;
- производит работы по реконструкции и модернизации АЭС.
В промышленной эксплуатации на САЭС находится три энергоблока с уран-графитовыми канальными реакторами РБМК-1000 второго и третьего поколения. Первый энергоблок был введен в эксплуатацию в 1982 году, второй - в 1985 году, третий - в 1990 году.
Энергоблоки с реакторами РБМК-1000 одноконтурного типа. Это означает, что пар для турбин вырабатывается непосредственно из воды, охлаждающей реактор. Электрическая мощность каждого энергоблока - 1000 МВт, тепловая 3200 МВт. и два турбогенератора мощностью по 500 МВт(э) каждый. Связь с единой энергетической системой России осуществляется шестью линиями электропередач напряжением электрического тока 330, 500, 750 кВ.
Все энергоблоки оснащены системами локализации аварий, исключающими выброс радиоактивных веществ в окружающую среду даже при самых тяжелых предусмотренных проектом авариях, связанных с полным разрывом трубопроводов контура охлаждения реактора максимального диаметра.
Все оборудование контура охлаждения размещено в герметичных железобетонных боксах, выдерживающих давление до 4,5 кгс/см2.
Для конденсации пара в аварийных режимах в составе системы локализации аварий предусмотрен бассейн-барботер, расположенный под реактором, с запасом воды около 3000 м3.
Специальные системы обеспечивают надежный отвод тепла от реактора даже при полной потере станцией электроснабжения с учетом возможных отказов оборудования.
Для нужд технического водоснабжения на реке Десна было создано искусственное водохранилище площадью 42 км2. Для обеспечения населения хозяйственной и питьевой водой используются подземные воды.
Теплоснабжение промплощадки и города в нормальном режиме обеспечивается от любого энергоблока через специальный промежуточный контур, исключающий попадание активированных веществ в теплосети при повреждениях оборудования. При остановке всех трех блоков в работу включается пускорезервная котельная.
Смоленская атомная электростанция является филиалом ОАО Концерн «Энергоатом» государственной корпорации «Росатом», расположена на юге Смоленской области.
Открытое акционерное общество «Концерн по производству электрической и тепловой энергии на атомных станциях» (до акционирования ФГУП концерн «Росэнергоатом») было образовано в соответствии с Указом Президента Российской Федерации от 7 сентября 1992 года № 1055 «Об эксплуатирующей организации атомных станций Российской Федерации».
Согласно уставу, за концерном было закреплено имущество атомных станций на праве хозяйственного ведения и в соответствии с заключенным договором с Госкомимуществом России. При этом атомные станции сохранили права юридических лиц и самостоятельно осуществляли производственно-хозяйственную деятельность.
По распоряжению Правительства Российской Федерации от 8 сентября 2001 года № 1207-р концерн «Росэнергоатом» был реорганизован путем присоединения к нему двадцати федеральных государственных унитарных предприятий, в том числе девяти действующих и шести строящихся атомных станций, а также предприятий, обеспечивающих их эксплуатацию, ремонт и научно-техническую поддержку.
Смоленская АЭС - одно из ведущих энергетических предприятий Северо-Западного региона России. Ежегодно в энергосистему страны она выдает, в среднем, 20 млрд кВт/часов электроэнергии, что составляет 13% электроэнергии, вырабатываемой десятью атомными станциями страны.
Сегодня САЭС - крупнейшее градообразующее предприятие Смоленской области, доля поступлений в областной бюджет которого составляет более 30%.
Обеспечение безопасности в процессе производства электрической и тепловой электроэнергии является приоритетной задачей Смоленской АЭС.
За 2008 год Смоленская АЭС выработала 21 млрд. 183 млн. киловатт часов электроэнергии, перевыполнив план на 383 млн. киловатт часов. С начала 2010 года в единую энергосистему выдано 5 миллиардов кВт/часов электроэнергии.
Всего за время эксплуатации Смоленской АЭС выработано около 450 миллиардов кВт/часов электроэнергии. Рекордного значения выработка достигла в 1992 году - более 22 млрд кВт/часов.
В этом же году по всем показателям Смоленская атомная станция была признана «Лучшей АЭС России». В 1993 году выработка электроэнергии на САЭС составила 21 млрд кВт/часов, и снова по всем показателям станция вышла победителем конкурса концерна «Росэнергоатом».
С целью продления срока эксплуатации Смоленской АЭС на станции поэтапно проводятся плановые и текущие ремонты с выполнением большого объёма работ по реконструкции и модернизации оборудования.
Все энергоблоки оснащены системой локализации аварий, исключающей выбросы радиоактивных веществ в окружающую среду. Специальные системы обеспечивают надежный отвод тепла от реакторов даже при полной потере станцией электроснабжения с учетом возможных отказов оборудования. С целью повышения ядерной, радиационной, технической, пожарной и экологической безопасности на Смоленской АЭС разработан и выполнен целый ряд технических мероприятий с учетом международного опыта в области атомной энергетики.
Международная деятельность Смоленской АЭС ведется по двум направлениям: международное научно-техническое сотрудничество и международные программы технического содействия в области ядерной безопасности. Международное научно-техническое сотрудничество проводится через двух официальных партнеров: Международное агентство по атомной энергии (МАГАТЭ) и Всемирную ассоциацию организаций, эксплуатирующих атомные станции (ВАО АЭС).
Средняя численность рабочих и служащих на Смоленской АЭС составляет 5600 человек. Наибольшая рабочая смена промышленной зоны САЭС составляет 2920 человек, а с учетом специальной и пожарной охраны - 3050 человек. Наименьшая рабочая смена составляет - 194 человека.
Основные производственные цеха располагаются в производственных зданиях САЭС, в которых размещается оборудование с теплоносителем, хранилища радиоактивных отходов, а также в других зданиях или отдельных помещениях, в которых производятся работы с радиоактивными веществами, материалами и приборами, включая ремонт основного оборудования.
К основным цехам относятся РЦ, ТЦ, ЭЦ, ЦТАИ, ХЦ, ЦОС, ОТУ.
К вспомогательным подразделениям, которые находятся за пределами установленного охраняемого периметра на САЭС, относятся РСЦ, ОСП, ООМ, УТП и др.
Основные функции, выполняемые подразделениями, приведены в таблице 1.1.
В структуре Смоленской АЭС насчитывается свыше 50 структурных подразделений. Задачи и функции каждого структурного подразделения, его организационная структура изложены в Положениях о подразделениях.
Оборудование всех трех блоков АЭС обслуживается сквозной сменой под руководством начальника смены станции (НСС), которому оперативно подчинены все начальники смен блоков и цехов. Оперативное руководство сменой блока осуществляют начальники смен блоков (НСБ-1,2,3). Цеховое оборудование обслуживается сменой цеха под оперативным руководством начальников смен цехов.
Таблица 1.1 - Основные функции подразделений САЭС
№ |
Подразделения |
Функции |
|
1 |
Реакторный цех |
Эксплуатирует тепломеханическое оборудование, входящее в состав реакторных установок, частично осуществляет его техническое обслуживание и ремонт. |
|
2 |
Турбинный цех |
Эксплуатирует турбины и их вспомогательное тепломеханическое оборудование. |
|
Химический цех |
Эксплуатирует тепломеханическое и химическое оборудование, обеспечивающее поддержание регламентируемого водно-химического режима контуров АЭС. |
||
3 |
Цех обеспечивающих систем АЭС |
Осуществляет частичное техническое обслуживание и ремонт оборудования, обеспечивающего подачу на главный корпус и отвод от него сетевой и технической воды. |
|
4 |
Отдел технологического управления |
Осуществляет оперативное управление системами и оборудованием станции. |
|
5 |
Отдел эксплуатации зданий и сооружений |
Осуществляет наблюдение за техническим состоянием зданий и сооружений АЭС, разрабатывает и ведет техническую документацию по ремонту зданий и сооружений. |
|
6 |
Отдел реконструкции и повышения безопасности |
Обеспечивает соблюдение единой технической политики модернизации и технического перевооружения оборудования, зданий и сооружений промышленной зоны. |
|
7 |
Цех централизованного ремонта |
Осуществляет техническое обслуживание и ремонт тепломеханического оборудования, закрепленного за производственными цехами АЭС (РЦ, ТЦ, ХЦ), эксплуатирует и осуществляет техническое обслуживание и ремонт тепломеханического оборудования отопления и вентиляции зданий и сооружений АЭС. |
|
8 |
Электроцех |
Эксплуатирует электрическое оборудование станции, осуществляет его техническое обслуживание и ремонт. |
|
9 |
Цех тепловой автоматики и измерений |
Эксплуатирует специальные системы контроля и управления реакторами, системы КИП и автоматики энергоблоков, электроприводы электрифицированной арматуры и осуществляет их техническое обслуживание и ремонт. |
|
10 |
Отдел подготовки и проведения ремонта |
Разрабатывает ремонтную и конструкторскую документацию, графики ремонтов, комплектует запасные части, материалы и оборудование, необходимые для выполнения ремонтных работ. |
|
11 |
Цех дезактивации |
Дезактивирует спецодежду, оборудование и внутренние поверхности обслуживаемых помещений, осуществляет хранение и утилизацию радиоактивных отходов |
|
12 |
Транспортный цех |
Осуществляет перевозки свежего и отработанного топлива в пределах промплощадки САЭС. |
|
13 |
Отдел складирования и перевозок |
Осуществляет доставку, хранение и выдачу производственным подразделениям оборудования и запасных частей и материалов |
Управление технологическим процессом производства электроэнергии осуществляется с блочного щита управления. На БЩУ постоянно находятся: ведущий инженер по управлению реактором (ВИУР), ведущий инженер по управлению турбинами (ВИУТ), ведущий инженер по управлению блоком (ВИУБ) и начальник смены блока (НСБ).
Система управления блоком включает в себя приборы контроля, автоматики, дистанционного управления, предупредительной и аварийной сигнализации. С БЩУ осуществляется также связь со всеми рабочими местами и с любым абонентом станции.
Применение БЩУ не исключает использование местных щитов управления, которые устанавливаются в наиболее ответственных местах и используются операторами цехов для контроля за работой оборудования при обходах.
Для работы АЭС важнейшими составляющими являются безопасность и надежность эксплуатации, поэтому каждый работник атомной станции должен соответствовать требованиям, предъявляемым к занимаемой им должности. Выполнение цели квалификационной и психологической подготовки на Смоленской АЭС доверено Службе управления персоналом, которая осуществляет:
- подбор, наем и перемещение персонала;
- подготовку, поддержание и повышение квалификации работников;
- психофизиологическое обеспечение процесса управления персоналом;
- сохранение и повышение компетенции руководящих кадров;
- разработку и контроль мероприятий по использованию социальных факторов повышения эффективности производства.
Одним из подразделений Службы управления персоналом, от которого зависит какой работник придет на станцию выполнять работу на должном уровне, является учебно-тренировочное подразделение (УТП).
Учебно-тренировочное подразделение является самостоятельным структурным подразделением Смоленской АЭС, цель деятельности которого - формирование, сохранение и совершенствование знаний, навыков и умений персонала для безопасной и надежной эксплуатации Смоленской АЭС.[2]
УТП Смоленской АЭС имеет лицензию Комитета по образованию Администрации Смоленской области на проведение образовательной деятельности и проводит обучение, как теоретической части, так и практической.
Учебно-тренировочное подразделение возглавляет заместитель главного инженера - начальник учебно-тренировочного подразделения на основе единоначалия. Он подчинен во всей своей деятельности директору, в производственно-технической деятельности также главному инженеру. Заместитель главного инженера - начальник учебно-тренировочного подразделения организует и контролирует работу подчиненного персонала подразделения и пользуется правами, связанными с этой деятельностью, предоставленными ему действующим законодательством о труде, другими нормативно-правовыми актами.
1.2 Организационная структура учебно-тренировочное подразделение [3]
Учебно-тренировочное подразделение для выполнения своих задач и функций имеет в своем составе следующие структурные образования:
1 Учебные отделы УТП:
- отдел подготовки оперативного персонала (ОПОП);
- отдел подготовки персонала по техническому обслуживанию и ремонту (ОППТОиР);
- отдел общей подготовки (ООП);
2 Отделы УТП, обеспечивающие организацию и проведение обучения персонала САЭС:
- отдел организации обучения (ООО);
- учебно-методический отдел (УМО);
- участок обслуживания технических средств обучения (УТСО);
- административно-хозяйственная группа (АХГ).
Структурная схема УТП приведена в Приложении А.
3 Задачи (номенклатура работ, порученных УТП):
- организация и проведение профессионального обучения персонала САЭС в соответствии с требованиями нормативных документов и потребностями подразделений САЭС;
- совершенствование системы профессионального обучения персонала САЭС на основе методологии системного подхода к обучению и с учетом опыта эксплуатации Смоленской АЭС;
- обеспечение эксплуатации и развития учебно-материальной базы УТП;
- планирование и контроль финансового обеспечения профессионального обучения персонала САЭС;
- организация и проведение работы с персоналом УТП в соответствии с требованиями нормативных документов (Руководители УТП).
Функции УТП:
- организация и планирование профессионального обучения персонала в порядке, установленном САЭС (ООО);
- организация и проведение анализа потребностей в обучении персонала САЭС (ООО, ОПОП, ОППТОиР, ООП);
- проведение профессионального обучения персонала САЭС в УТП в соответствии с утвержденным главным инженером САЭС Перечнем должностей (профессий), подготовку и поддержание квалификации которых проводится в УТП (ОПОП, ОППТОиР, ООП);
- разработка административных процедур (положений, инструкций, методических указаний и т.д.), регламентирующих организацию, проведение и оценку профессионального обучения персонала САЭС с применением методологии системного подхода к обучению (ООО, УМО);
- разработка индивидуальных программ подготовки для руководителей высшего звена управления САЭС (УМО);
- методическое сопровождение разработки и согласование программ подготовки на должность (профессию), поддержания и повышения квалификации персонала, разрабатываемых в подразделениях САЭС (УМО);
- организация обучения инструкторов УТП и специалистов САЭС, привлекаемых для работы в качестве инструкторов, в порядке, установленном эксплуатирующей организацией (ООО, ОПОП, ОППТОиР, ООП, УМО);
- оснащение учебно-материальной базы УТП техническими средствами обучения и необходимым оборудованием в соответствии с требованиями, установленными эксплуатирующей организацией и организация эксплуатации учебно-материальной базы УТП, в порядке установленном на САЭС (Руководители УТП);
- организация разработки, ввода в эксплуатацию, допуска к применению для обучения персонала САЭС и эксплуатации ТСО (УТСО, ОПОП, ОППТОиР, ООП);
- обеспечение эксплуатации, технического обслуживания и ремонта технических средств обучения и оргтехники УТП (УТСО);
- разработка графиков (расписаний) проведения обучения в УТП в порядке, установленном САЭС (ООО).
Полный перечень задач и функций УТП представлен в Приложении Б.
За учебно-тренировочным подразделением закреплены следующие тренажеры специализированного назначения:
- Полномасштабный тренажер РБМК-1000 (ПМТ-2);
- РЗМ ФАТ (функционально-аналитический тренажер);
- Аналитический тренажер третьего блока;
- РЗМ СМАРТ.
Также имеется более двухсот единиц компьютерной и оргтехники.
Организационная структура ЛВС УТП представлена в Приложении А.
1.3 Информационное и программное обеспечение функционирования отдела подготовки оперативного персонала
Основными программными продуктами, использующиеся в подразделении, являются:
- АС «Экзаменатор»;
- АС «Монтажник-проектировщик»;
- АСКЭД (собственная разработка);
- Пакет Microsoft Office 2003/2007;
- CorelDRAW Graphics Suite X3 RUS;
- Adobe Photoshop CS2 версия 9.0;
- AutoCad 2010.
Также в компьютерных классах в учебных целях установлены программы и системы используемые другими подразделениями.
АСУ «Кадры - 2. Подготовка персонала» - является одной из подсистем АСУ «Кадры - 2» разработанной специально для УТП.
АСУ «Кадры-2. Подготовка персонала» предназначена: [4]
- для автоматизации планирования профессиональной подготовки персонала
- для автоматизации индивидуального учета профессиональной подготовки;
- для автоматизации отчетности по профессиональной подготовке персонала САЭС и сторонних организаций ;
- для автоматизации функций инженеров по подготовке кадров УТП, экономиста УТП, специалистов подразделений, ответственных за профессиональную подготовку, инспекторов ОК (учитывающих проф. подготовку) и инженера ОРУРР;
- для автоматизации индивидуального учета выдачи разрешений Федеральной службы и СЕМТО по экологическому, технологическому и атомному надзору на право ведения работ в области использования атомной энергии;
- для автоматизации планирования и отчетности по выдаче разрешений Федеральной службы и СЕМТО по экологическому, технологическому и атомному надзору на право ведения работ в области использования атомной энергии.
АС «Экзаменатор» - автоматизированная система контроля знаний по всем направлениям деятельности на САЭС.
АС «Монтажник-проектировщик» - учебная программа, разработанная с целью повышения квалификации специалистов, выполняющих работы в области проектирования, монтажа, наладки, ремонта и технического обслуживания оборудования и систем противопожарной защиты [5].
АСКЭД (автоматизированная система контроля электронной документации) - система предназначена для работы с электронной документацией. Состоит из нескольких подсистем, таких как «Работа с договорами», «Бюджет», «Наряды».
Дизайнерами подразделения используются графические редакторы, как Corel DRAW Graphics Suite X3 RUS и Adobe Photoshop CS2 версия 9.0. Данные программные продукты используются дизайнерами для наглядного оформления учебных пособий, презентаций, а также для обработки файлов изображений для вывода на печать.
Пакет Microsoft Office 2003/2007 в подразделении незаменим, так помогает быстро и просто создавать и редактировать договора, инструкции, положения, презентации, чертежи, в свою очередь которые являются основой повседневной деятельностью большинства отделов.
В подразделении используются компьютеры разной конфигурации и сетевой операционной системой Windows XP Professional со специальными надстройками.
За техническое состояние компьютерной и оргтехники, установку и настройку программного обеспечения, включение/выключение тренажеров в подразделении отвечает персонал УТСО.
1.4 Состав обеспечивающей части информационной системы [6]
Состав, структура и характер взаимодействия обеспечивающих подсистем, термины, определяющие понятия, связанные с элементами обеспечения системы, изменяются и уточняются в ходе развития методологии создания информационных систем. И в большей или меньшей степени они продолжают уточняться, детализироваться, отрабатываться по мере совершенствования компьютерной техники, средств и методов программирования, развития информационного обеспечения.
В настоящее время в информационных системах принято выделять подсистемы технического, информационного, математического, программного, кадрового, организационно-правового обеспечения.
Информационная система учета протоколов несоответствия относится к подсистеме технического, информационного и программного обеспечения
Техническое обеспечение системы -- это комплекс технических средств (компьютер, оборудование локальной вычислительной сети, оргтехника, периферийная техника, средства связи).
Информационное обеспечение системы представляет собой совокупность базы данных и системы управления базой данных, системы входной и выходной информации, а также унифицированной системы документации.
Информационное обеспечение включает в себя всю экономическую информацию предприятия, описание способов ее представления, хранения и преобразования. Информационное обеспечение организуется на основе технического и программного обеспечения и является по отношению к ним обеспечением более высокого уровня. Исходя из задач информационного обеспечения можно обоснованно выдвинуть требования к техническому обеспечению системы и осуществить выбор соответствующих компьютеров и других технических средств.
Программное обеспечение ЭИС -- это совокупность программ (общесистемных и прикладных) для реализации задач, подсистем информационной системы на базе компьютерной техники. Программное обеспечение должно предоставить пользователям наибольшие удобства в работе и свести к минимуму затраты на программирование задач и обработку информации.
Совокупность этих подсистем, увязанных и согласованных между собой, должна обеспечить весь технологический цикл функционирования ЭИС при условии достижения заданных технико-экономических характеристик системы. Особенностью комплекса обеспечивающих подсистем является невозможность исключения их из системы в целом, тогда как отдельные функциональные подсистемы могут при создании системы временно функционировать в традиционном варианте. Например, отсутствие технического обеспечения не позволяет практически реализовать работу машинных программ с информацией, вырабатываемой в функциональных подсистемах ('работать не на чем'); отсутствие программного обеспечения делает невозможным использование компьютера, превращая технику в 'мертвое железо'; отсутствие программного обеспечения делает информацию системы недоступной для программ, а через них для компьютера и т.д. Поэтому если очередность разработки функциональных подсистем означает возможность последовательного проектирования и внедрения отдельных подсистем, то очередность разработки обеспечивающей части ЭИС предполагает обязательное одновременное создание всех обеспечивающих подсистем и их последующее совершенствование.
Использование компьютерных технологий при решении этих задач открывает принципиально новые возможности повышения актуальности, оперативности и достоверности учетной информации в системе управления предприятием не только без увеличения численности бухгалтерского персонала, но и с тенденцией к ее сокращению при правильной технологии и организации работ. Достоверность и оперативность обработки учетной информации позволяют принимать своевременно управленческие решения по повышению эффективности производства.
1.5 Технико-экономическое обоснование проекта
Технико-экономическое обоснование или ТЭО проекта составляется в случае развития предприятия, когда требуется обосновать внедрение инновации (новое оборудование, технология, маркетинговый канала и т. д.).
Учитывая, что ТЭО содержит не полное обоснование бизнеса, а только его часть соответственно в нем не будет некоторых разделов, которые есть в бизнес плане.
Анализ рисков соответственно проводится тоже не полностью, а рассматриваются только риски связанные с внедрением инновации и т. д.
Структура технико-экономического обоснования:
· резюме
· суть инновации
· обоснование выбора именно этого оборудования, технологии или решения
· допущения, принятые при расчетах
· расчет инвестиций во внедрение инновации
· структура получения дополнительных доходов
· В целом, можно сказать, что технико-экономическое обоснование проекта или ТЭО, представляет собой уменьшенную версию бизнес-плана, в которой рассматривается не весь бизнес целиком, а только его часть.
1.6 Экономическая сущность задачи и обоснование ее решения
Основной проблемой возникающей в процессе подготовки оперативного персонала, является проблема безопасности. Безопасность занятий на тренажере заключается в том, что бы обеспечить контроль и регистрация обучаемых на полномасштабном тренажере, будущих инженеров отвечающих за безопасную, стабильную работу эксплуатируемых энергоблоков АЭС.
До недавнего времени регистрация оперативного персонала не проводилась. Такая работа тренажера подвергала к риску не санкционированного доступа к полномасштабному тренажеру и в дальнейшем его порчи и вывода из строя, что влечет за собой неправильные действия инженера отвечающего за данный механизм работы энергоблока. Начальник отдела подготовки оперативного персонала сталкивался со следующими проблемами:
- отсутствие ИС позволяющей регистрировать работу на тренажере
- отсутствие единого механизма отчетности о выполненной работе
- отсутствие автоматизированных механизмов как хранение, поиск, обработка и отчетность.
Таблица 1.2 - Экономическая оценка проблем, с которыми сталкивается руководитель отдела подготовки оперативного персонала
№ |
Процесс |
Выявленные проблемы |
Затраты, руб./мес. |
|
1 |
Занятия по обучению технологического процесса на полномасштабном тренажере |
Не существует информационной системы позволяющей контролировать обучение оперативного персонала на полномасштабном тренажере. Не квалифицированные сотрудники ставят под угрозу работу атомной электростанции. |
Миллионы рублей |
Из таблицы 1.2 видно, что последствия не видения этого учета очень масштабны.
1.7 Технологические аспекты безопасности эксплуатации АЭС [7]
Термин «безопасность» относится как бы к диаметрально противоположной сфере деятельности человека. Противоположение (а не противопоставление!) определено тем, что культура обращена к человеку и от человека исходит, т.е. время (продолжительность) ее действия (проявления) определяется моментами ее существования в среде людей, когда происходит обмен проявлениями культуры в процессе человеческого общения.
Безопасность относится к сфере охранной деятельности, которая проявляется, когда возникает угроза здоровью или даже жизни людей вследствие природных катаклизмов или результатов деятельности людей по повышению комфортности существования людей в чуждых им геофизических условиях на планете Земля. Поэтому инструментами безопасности являются средства, доступные людям и ими же созданные в виде инженерных сооружений.
Математически легко определить безопасность (Б) как величину, обратную риску (Р)/Б=1/Р. Отсюда следует, что если риск равен нулю (Р=0), то безопасность имеет очень большое значение, иначе говоря, в таком случае мы имеем дело с полной безопасностью. И наоборот, если риск ущерба здоровью или потере жизни при каких-то технологиях или средствах перемещения очень велик (Р= ?) то безопасность очень мала, а опасность потерять здоровье или даже жизнь очень велика.
В цивилизованном обществе любой вид общественно-производственной деятельности связан с опасностью для здоровья не только занятых на этом производстве людей, но и для населения. Приходится констатировать, что все инженерные сооружения так или иначе опасны для человека. Отсюда возникает необходимость разработки адекватных мер безопасности.
Многочисленные опубликованные данные показывают, что нормальная эксплуатация АЭС, оборудованной современной техникой, не наносит заметного ущерба ни человеку, ни окружающей среде. Вывод по этим данным следующий: вложение средств в улучшение условий эксплуатации АЭС наименее эффективно. Однако оценка эффективности (и необходимости) финансовых вложений в АЭС может измениться на обратную, если вести ранжировку по некой суммарной величине с учетом условий не только нормальной эксплуатации, но и необходимости предотвращения аварий, их локализации и ликвидации последствий.
Опыт мировой ядерной энергетики свидетельствует о ее экологических и экономических преимуществах. Однако произошедшие аварии на АЭС «Три - Майл -Айленд» в США в 1979 г., катастрофической аварии на Чернобыльской АЭС в Украине в 1986 г. и авария на АЭС Фукусима 1, 11 марта 2011 года в Японии, где в результате сильнейшего за историю этой страны землетрясения в префектуре Мияги на первом, произошли взрывы на третьем и втором энергоблоках и пожар на четвертом энергоблоке АЭС. В результате аварии уровень радиационного фона в районе станции значительно повысился, что вынудило власти начать эвакуацию людей из зоны радиусом 50 километров вокруг реактора, а так же загрязнение территорий отходами ядерно-оружейного комплекса и потенциальная угроза терроризма вызвали рост социальной напряженности и антиядерных настроений среди населения различных стран мира. Весьма важным является изменение подходов к системе обеспечения безопасности при эксплуатации АЭС.
Исследование понимания ситуаций радиационной опасности профессионалами и непрофессионалами несомненно актуально в современных условиях развития общества. Понимание ситуаций радиационной опасности профессионалами и непрофессионалами является одним из факторов, способствующих прогрессивному личностному и профессиональному развитию до высокого уровня приближения к Acme. Понимание является универсальной характеристикой, присущей любой форме человеческой деятельности.
Понимание - целенаправленный, мотивированный процесс. Это означает, что в нем всегда есть некоторая движущая сила, побуждающая личность ставить перед собой определенные задачи или принимать их, когда они ставятся другими, осознавать их, включаться в процесс их исполнения. Источник непонятного -- противоречия в том, с чем столкнулись мы в процессе познания, или, что обнаружилось, встало у нас на пути в нашей деятельности. Непонимание может возникать из-за отсутствия мотивации понять что-либо, поэтому актуальным представляется изучение мотивации понимания радиационной опасности.
Понимание зависит от убеждений, сложившихся у личности, от ее взглядов на явления той отрасли объективной действительности, в которой ей больше всего приходится работать. Эти взгляды являются необходимой предпосылкой освоения ею новых явлений, и вместе в тем они могут становиться преградой на пути к достижению понимания, если они односторонние, поверхностные, устаревшие. Убеждения личности возникают вследствие понимания определенных явлений объективной действительности, и вместе с тем они становятся одной их важных предпосылок дальнейшего ее проникновения в сущность новых явлений. Необходимо более подробное изучение стереотипов понимания ситуаций радиационного воздействия.
В проведенных ранее исследованиях было установлено, что на понимание радиационной опасности оказывают влияние такие факторы, как наличие профессиональных знаний в области атомной энергетики, близость проживания к источнику опасности, половые различия, различия в определении ситуаций риска, социализация, содержание сообщений средств массовой информации, центральная политическая идеология и т.д. Однако, эти факторы не могли в полной мере объяснить особенности понимания радиационной опасности профессионалами и непрофессионалами.
В результате выполненного исследования понимания ситуаций радиационной опасности профессионалами и непрофессионалами были доказаны гипотезы о влиянии на понимание личностных особенностей. В Показано, что понимание радиационного воздействия зависит от таких личностных особенностей, как самоотношение, самоконтроль, саморуководство, высокий уровень мотивации социально одобрения, экстернальность - интернальность, личностная тревожность, склонность к риску, рациональность.
Полученные результаты могут использоваться при разработке психопрофилактических и коррекционных процедур по повышению фрустрационной толерантности населения, проживающего в районах размещения потенциально опасных технологических объектов на основе учета выявленных индивидуальных различий в понимании радиационной опасности, снижению уровня радиофобии, в рамках профессионального отбора кадров.
Были намечены перспективы дальнейших исследований. В частности, важно изучить влияние на понимание радиационной опасности механизмов психологической защиты. Профессионалы часто склонны занижать опасность пострадать от действия радиации и это может быть связано с действием механизмов рационализации. Психологическая защита - сложная структура, определяемая взаимодействием как внешних факторов (сила фрустрирующего воздействия, вид выполняемой задачи), так и внутренних, к которым относятся устойчивые характерологические особенности.
Существует несколько уровней функционирования психологической защиты. Индивидуальный защитный стиль связан с наличием ведущего (т.е. наиболее часто используемого личностью) уровня, на котором актуализируется психологическая защита.
Перспективным является также изучение зависимости понимания ситуаций радиационной опасности от уровня профессиональных знаний, опыта и стажа профессиональной деятельности. [8]
1.8 Культура безопасности АЭС
Культура безопасности входит в число основных принципов безопасности, без чего реализация всех других основных принципов невозможна. Культура безопасности имеет особенности, выделяющие ее из ряда иных принципов безопасности. [7]
Известно несколько определений культуры безопасности:
1. Культура безопасности - это такой набор характеристик и особенностей деятельности организаций и поведения отдельных лиц, который устанавливает, что проблемам безопасности АЭС, как обладающим высшим приоритетом, уделяется внимание, определяемое их значимостью (INSAG-4).
2. Культура безопасности - квалификационная и психологическая подготовленность всех лиц, при которой обеспечение безопасности АЭС является приоритетной целью и внутренней потребностью, приводящей к самосознанию ответственности и к самоконтролю при выполнении всех работ, влияющих на безопасность (ОПБ-88/97).
Культурой безопасности должна быть пронизана деятельностью всех организаций и предприятий, а также отдельных лиц, участвующих в создании АЭС на всех этапах ее - от разработки технико-экономического обоснования создания АЭС до снятия ее с эксплуатации.
1.9 Выводы
Смоленская атомная станция является сложным механизмом, состоящим из множества цехов и отделов, которые нуждаются в автоматизации с целью повышения безопасности ведение технологического процесса на блоках, а так же производительности труда, улучшение качества выполняемых работ, оптимизация управления, устранение человека от производств, опасных для здоровья.
В связи с отсутствием программных комплексов позволяющих вести автоматизированный учет оперативного персонала на ПМТ 2-го энергоблока Смоленской АЭС, принято решение о создании такой информационной системы позволяющей решить проблему безопасности на атомных станциях.
2. Проектирование информационной системы
2.1 Формирование функциональных возможностей разрабатываемой информационной системы
Таблица 2.1 - Ключевые показатели разрабатываемой информационной системы
№ |
Процесс |
Возможные направления автоматизации |
|
1 |
Организация возможности доступа в систему |
Необходимо предусмотреть разграничение прав доступа по каждому сотруднику. Обеспечить хранение данных о обучаемых в базе данных. |
|
2 |
Контроль за обучением. |
Разработать систему регистрации обучения персонала. В системе должны учитываться данные о обучаемом и его инструкторе, а так же дата и время начала и окончания занятия. |
|
3 |
Работа со справочниками |
В системе должны присутствовать основные справочники для подробной регистрации (смена, блок, должность, табельный номер, номенклатура задания и т.д.) |
|
4 |
Анализ данных |
Система должна обеспечивать быстрый выбор данных по всем критериям таблицы. |
|
5 |
Формирование отчетной документации |
Формирование отчетов должно быть едиными для дальнейшего анализа и предоставления руководству. |
Определим ключевые свойства разрабатываемой автоматизированной информационной системы. Исходя из таблицы 2.1, определим функциональные возможности разрабатываемой информационной системы. Информационная система должна содержать следующую информацию:
1. Сведения о обучаемом;
2. Сведения о руководителе;
3. Сведения о проводимом занятии.
Информационная система должна обеспечивать:
ь ввод, хранение и редактирование той или иной информации хранящейся в системе;
ь ограничение доступа к ИС с помощью идентификации пользователя (парольная защита с возможностью оперативного изменения пароля);
ь сортировку по всем признакам;
ь поиск информации по данному запросу;
ь формирование отчетов по запросам пользователя.
2.2 Выбор и обоснование программных средств разработки
Современной формой информационных систем являются банки данных. В их состав входят: вычислительная система на базе ЭВМ, система управления базами данных (СУБД), одна или несколько баз данных (БД), набор прикладных программ (приложений).
БД обеспечивает хранение данных, удобный и быстрый доступ к данным. Данные в БД должны быть непротиворечивы, не избыточны, целостны. Данные представляют информацию, которая хранится внутри базы данных.
Для разработки информационной системы учета регистрации занятий выбрана система транслирующего интерпретатора PHP.
PHP - это широко используемый язык сценариев общего назначения с открытым исходным кодом. Говоря проще, PHP это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере. Аббревиатура PHP означает “Hypertext Preprocessor (Препроцессор Гипертекста)'. Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление web-разработчикам возможности быстрого создания динамически генерируемых web-страниц.
Язык программирования PHP был выбран по следующим основным критериям:
- легкость реализации на современных компьютерах;
- гибкость и надежность;
- наличие набора структурных типов данных;
- применение структурного программирования;
- простота и ясность конструкции;
- наличие средств связи разрабатываемой программы с сервером баз данных.
Главным фактором языка РНР является практичность. РНР предоставляет средства для быстрого и эффективного решения поставленных задач. Практический характер РНР обуславливается пятью важными характеристиками:
· традиционностью;
· простотой;
· эффективностью;
· безопасностью;
· гибкостью.
Традиционность.
Язык РНР будет казаться знакомым так как многие конструкции языка позаимствованы из Си, Perl [9].
Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. Язык PHP, сочетающий достоинства Perl и Си и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом.
Простота.
Сценарий РНР может состоять из 10 000 строк или из одной строки -- все зависит от специфики вашей задачи. Вам не придется подгружать библиотеки, указывать специальные параметры компиляции или что-нибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (<?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?>). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист.
PHP -- язык, который может быть встроен непосредственно в html -код страниц, которые, в свою очередь будут корректно обрабатываться PHP -интерпретатором. Мы можем использовать PHP для написания CGI-сценариев и избавиться от множества неудобных операторов вывода текста. Мы можем привлекать PHP для формирования HTML-документов, избавившись от множества вызовов внешних сценариев.
Большое разнообразие функций PHP избавляют от написания многострочных пользовательских функций на C или Pascal.
Эффективность.
Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и web.
Очень важное преимущество PHP заключается в его «движке». «Движок» PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство «движка» PHP позволяет обрабатывать сценарии с достаточно высокой скоростью.
По некоторым оценкам, большинство PHP-сценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl. Однако, чтобы не делали разработчики PHP, откомпилированные исполняемые файлы будут работать значительно быстрее - в десятки, а иногда и в сотни раз. Но производительность PHP вполне достаточна для создания вполне серьезных web-приложений.
Безопасность.
РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.
- Средства безопасности системного уровня
В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера).
- Средства безопасности уровня приложения
В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source.
Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).
Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК. Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus -- РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003.
Наконец, средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМ-объекты Win32. Благодаря этим новым возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов.
PHP в основном сориентирован на серверный скриптинг, поэтому может делать всё то, что делают CGI-программы: сбор данных форм, динамическую генерацию содержимого страницы или приём и отправку кук. Но PHP может намного больше.
Скрипты PHP применяются в трёх основных сферах.
· Серверный скриптинг. Это наиболее традиционная и главная сфера применения PHP. Для выполнения этой работы вам нужны три вещи. Разборщик кода PHP (CGI или серверный модуль), web-сервер и web-браузер. Сервер должен быть запущен и должен иметь соединение с инсталированным PHP. Можно получить вывод PHP-программы в web-браузер, просматривая PHP-страницу на сервере.
· Скриптинг командной строки. Можно создать и запустить PHP-скрипт на выполнение без сервера или браузера. Для этого необходим только разборщик PHP. Этот тип использования идеально подходит для регулярного выполнения скрипта с помощью cron (в *nix или Linux) или Task Scheduler (в Windows). Эти скрипты можно использовать также для задач простейшего текстового процессинга/обработки..
· Клиентские GUI-приложения. PHP, возможно, не самый лучший язык для написания оконных приложений, но, если вы знаете PHP очень хорошо и хотели бы использовать некоторые продвинутые возможности PHP в клиентских приложениях, вы можете также использовать PHP-GTK для создания таких программ. Имеется также возможность создавать межплатформенные приложения. PHP-GTK является расширением PHP, отсутствующим в основном дистрибутиве. Одна из наиболее сильных и привлекательных черт PHP - поддержка им большого количества баз данных (БД). Создать web-страницу, работающую с БД, невероятно легко и в настоящее время поддерживаются следующими БД:
Adabas D |
Ingres |
Oracle (OCI7 и OCI8) |
|
dBase |
InterBase |
Ovrimos |
|
Empress |
FrontBase |
PostgreSQL |
|
FilePro (read-only) |
mSQL |
Solid |
|
Hyperwave |
Direct MS-SQL |
Sybase |
|
IBM DB2 |
MySQL |
Velocis |
|
Informix |
ODBC |
Unix dbm |
2.3 Разработка и описание структуры информационной системы
Создание современных информационных систем представляет собой сложнейшую задачу, решение которой требует применения специальных методик и инструментов. Неудивительно, что в последнее время среди системных аналитиков и разработчиков значительно вырос интерес к САSЕ (Computer-Aided - SoftwareSystem - Engineering) - технологиям и инструментальным САSЕ-средствам, позволяющим максимально систематизировать и автоматизировать все этапы разработки программного обеспечения.
На начальных этапах создания ИС необходимо понять, как работает организация, которую собираются автоматизировать. Никто в организации не знает, как она работает в той мере подробности, которая необходима для создания ИС. Руководитель хорошо знает работу в целом, но не в состоянии вникнуть в детали работы каждого рядового сотрудника. Рядовой сотрудник хорошо знает, что творится на его рабочем месте, но плохо знает, как работают коллеги. Поэтому для описания работы предприятия необходимо построить модель. Такая модель должна быть адекватна предметной области, следовательно, она должна содержать в себе знания всех участников бизнес-процессов организации.
Наиболее удобным языком моделирования бизнес-процессов является IDEF0, предложенный более 20 лет назад Дугласом Россом (Soft Tech, Inc.) и называвшийся первоначально SADТ - Structured Analysis Design Technique. На рисунке 2.1 показана контекстная IDEF0-диаграмма работы информационной системы регистрации занятий на ПМТ прототипа 2 го энергоблока Смоленской АЭС.
Описание системы с помощью IDEF0 называется функциональной моделью. Функциональная модель предназначена для описания существующих бизнес-процессов. В этом описании используются как естественный, так и графический языки. Для передачи информации о конкретной системе источником графического языка является сама методология IDEF0.
Методология IDEF0 предписывает построение иерархической системы диаграмм - единичных описаний фрагментов системы. Сначала проводится описание системы в целом и ее взаимодействия с окружающим миром (контекстная диаграмма), после чего проводится функциональная декомпозиция - система разбивается на подсистемы и каждая подсистема описывается отдельно (диаграммы декомпозиции). Затем каждая подсистема разбивается на более мелкие и так далее до достижения нужной степени подробности.
Каждая IDEF0-диаграмма содержит блоки и дуги. Блоки изображают функции моделируемой системы. Дуги связывают блоки вместе и отображают взаимодействия и взаимосвязи между ними.
Функциональные блоки (работы) на диаграммах изображаются прямоугольниками, означающими поименованные процессы, функции или задачи, которые происходят в течение определенного времени и имеют распознаваемые результаты. Имя работы должно быть выражено отглагольным существительным, обозначающим действие.
IDEF0 требует, чтобы в диаграмме было не менее трех и не более шести блоков. Эти ограничения поддерживают сложность диаграмм и модели на уровне, доступном для чтения, понимания и использования.
Каждая сторона блока имеет особое, вполне определенное назначение. Левая сторона блока предназначена для входов, верхняя - для управления, правая - для выходов, нижняя - для механизмов. Такое обозначение отражает определенные системные принципы: входы преобразуются в выходы, управление ограничивает или предписывает условия выполнения преобразований, механизмы показывают, что и как выполняет функция.
Блоки в IDEF0 размещаются по степени важности, как ее понимает автор диаграммы. Этот относительный порядок называется доминированием. Доминирование понимается как влияние, которое один блок оказывает на другие блоки диаграммы. Например, самым доминирующим блоком диаграммы может быть либо первый из требуемой последовательности функций, либо планирующая или контролирующая функция, влияющая на все другие.
Наиболее доминирующий блок обычно размещается в верхнем левом углу диаграммы, а наименее доминирующий - в правом углу.
Расположение блоков на странице отражает авторское определение доминирования. Таким образом, топология диаграммы показывает, какие функции оказывают большее влияние на остальные. Чтобы подчеркнуть это, аналитик может перенумеровать блоки в соответствии с порядком их доминирования. Порядок доминирования может обозначаться цифрой, размещенной в правом нижнем углу каждого прямоугольника: 1 будет указывать на наибольшее доминирование, 2 - на следующее и т. д.
Взаимодействие работ с внешним миром и между собой описывается в виде стрелок, изображаемых одинарными линиями со стрелками на концах. Стрелки представляют собой некую информацию и именуются существительными.
В IDEF0 различают пять типов стрелок.
Вход - объекты, используемые и преобразуемые работой для получения результата (выхода). Допускается, что работа может не иметь ни одной стрелки входа. Стрелка входа рисуется как входящая в левую грань работы.
Управление - информация, управляющая действиями работы. Обычно управляющие стрелки несут информацию, которая указывает, что должна выполнять работа. Каждая работа должна иметь хотя бы одну стрелку управления, которая изображается как входящая в верхнюю грань работы.
Выход - объекты, в которые преобразуются входы. Каждая работа должна иметь хотя бы одну стрелку выхода, которая рисуется как исходящая из правой грани работы.
Механизм - ресурсы, выполняющие работу. Стрелка механизма рисуется как входящая в нижнюю грань работы. По усмотрению аналитика стрелки механизма могут не изображаться на модели.
Вызов - специальная стрелка, указывающая на другую модель работы. Стрелка вызова рисуется как исходящая из нижней части работы и используется для указания того, что некоторая работа выполняется за пределами моделируемой системы.
В методологии IDEF0 требуется только пять типов взаимодействий между блоками для описания их отношений: управление, вход, обратная связь по управлению, обратная связь по входу, выход-механизм. Связи по управлению и входу являются простейшими, поскольку они отражают прямые воздействия, которые интуитивно понятны и очень просты.
Рисунок 2.1 Контекстная IDEF0-диаграмма работы информационной системы регистрации занятий на ПМТ.
Осуществим декомпозицию контекстной диаграммы. Для этого опишем последовательность обработки информации в системе регистрации занятий.
- Идентификация пользователя;
- Регистрация обучаемых;
- Проведение занятий;
- Формирование отчетной документации.
Таким образом, получим диаграмму, изображённую на рисунке 2.2.
Рисунок 2.2 Декомпозиция контекстной IDEF0-диаграмма
Данные диаграммы были построены для анализа основных требований предъявляемых к информационной системе, используемой для автоматизации регистрации занятий.
Далее построим логическую модель по стандарту IDEF1X с помощью CASE-средства ER-Win 4.0. Логическая модель информационной системы показана на рисунке 2.4. [10]
Рисунок 2.3 - Логическая модель системы
Как видно из рисунка 2.1, в модели присутствует три сущности связи типа один - ко - многим: «REG_ID», «EMPLOY_ID», «INSTR_ID», «STUD_ID». Физическая модель системы приведена на рисунке 2.2.
Рисунок 2.4 - Физическая модель системы
Информационная система должна работать с базой данных, в структуру которой входят три таблицы.
Таблица «INSTR_ID» (Инструктор) служит для внесения в базу данных информации об инструкторах. В нее заносится следующая информация: Ф.И.О. инструктора, должность, табельный номер.
Таблица «STUD_ID» (Обучаемый) служит для внесения в базу данных информации об обучаемых. В нее заносится следующая информация: Ф.И.О. обучаемого, должность, табельный номер, блок, смена.
Таблица«EMPLOY_ID» служит для внесения в базу данных информации о занятиях. В нее заносится следующая информация: инструктор, блок, смена, № ПМТ, дата и время начала занятия, причина проведения занятия, вид занятия, тема, раздел, протокол, длительность занятия.
Дерево программных модулей представлено на рисунке 2.3.
Рисунок 2.5 - Дерево программных модулей
Рисунок 2.6 - Схема взаимодействия программных модулей и массивов данных запуска ИС
На рисунке 2.7 изображен общий алгоритм работы программы.
Рисунок 2.7 - Общий алгоритм работы программы
2.4 Формирование технологической среды информационной системы
Технологическое обеспечение - основа автоматизированной информационной технологии (АИТ), которая реализует информационные процессы в автоматизированных системах организационного управления, удовлетворяет информационные потребности специалистов в решении профессиональных задач.
Технологическая среда информационной системы описывается отдельно от основного представления и должна отражать следующие моменты:
- «Администратор», который имеет право на ввод, редактирование, удаление любой информации, содержащейся в системе, просмотр любых отчетов, смену паролей пользователей, добавление новых занятий, удаление уже существующих, просмотр лог-файла, изменение настроек, формирование отчета.
- «Инструктор» - имеет право на ввод и добавление информации и её редактирования, а так же формирование отчета, о проведённых занятий и не имеет прав на изменение настроек системы.
- «Техник» - имеет право на ввод и добавления информации, права на удаление и формирование отчета он не имеет.
Безопасность информации обеспечивается как программными, так и организационными методами.
Для соблюдения правил безопасности все пользователи системы должны выполнять правило: никому не передавать пароль своей учетной записи. Руководитель отдела продаж должен раз в месяц менять пароли пользователей.
Для корректной работы системы необходим следующий комплекс аппаратных и программных средств:
– аппаратные средства: особых требований аппаратным средствам для работоспособности информационной системы не предъявляется.
– Разработка данной информационной системы производилась на ПК с процессором Intel Pentium 3 800Mhz, ОЗУ - 512Мб.
– программные средства: операционная система Microsoft Windows 2000/XP/Vista/7 , PHP 3.0 (или более поздняя версия), Microsoft Word.
В отделе подготовки оперативного персонала имеется в наличии компьютер с техническим и программным обеспечением, удовлетворяющим вышеописанным требованиям, поэтому приобретение дополнительных программных и аппаратных средств для работы информационной системы не требуется.
2.5 Выводы
Таким образом, была модернизирована информационная учета протоколов несоответствия учебно-тренировочного подразделения, путем внедрения базы данных позволяющая вести автоматизированный учет занятий на полномасштабном тренажере 2-го энергоблока Смоленской атомной станции. Данная информационная система включает в себя компоненты, автоматизирующие как основные, так и вспомогательные процессы позволяющая добавлять, хранить и редактировать информацию, учет которой ведется на предприятии, а так же систематизировать данную информацию и формировать отчеты. В качестве защитной функции используется система проверки имени пользователя и пароля.
Структура и основные свойства автоматизированной информационной системы были определены, исходя из построенной структурно-функциональной модели «TO-BE» по стандарту IDEF0 и методологии SADT.
Для описания логической и физической структур базы данных был применен стандарт IDEF1X с использованием CASE-средства ERwin Data Modeler r7.3. В результате, полное и детального описание процесса автоматизации занятий на полномасштабном тренажере было реализовано посредством трёх таблиц, связанных между собой по ключевым характеристикам объектов учета. Построены дерево программных модулей и блок-схемы некоторых из них, реализована связь программных модулей системы и таблиц базы данных.
Программный интерфейс информационной системы обеспечивающий оперативный учет занятий , был выполнен в системе транслирующего интерпретатора РНР.
Модернизированная информационная система подверглась тестированию. Тестирование было произведено в трех режимах:
- тестирование системы в нормальных условиях;
- тестирование системы в экстремальных условиях;
- тестирование системы в исключительных ситуациях.
В процессе тестирования ошибок выявлено не было.
Модернизированная информационная система «Учет протоколов несоответствия учебно-тренировочного подразделения» позволяет повысить уровень подготовки оперативного персонала и тем самым повысить уровень безопасной эксплуатации Смоленской АЭС.
3. Тестирование разработанной информационной системы и его экономическое обоснование
3.1 Тестирование разработанного прототипа информационной системы
Тестирование - процесс выполнения программы с целью обнаружения ошибок. Важен ответ на вопрос: что может тестирование?
Тестирование обеспечивает:
? обнаружение ошибок;
? демонстрацию соответствия функций программы её назначению;
? демонстрацию реализации требований к характеристикам программы;
? отображение надежности как индикатора качества программы.
Однако тестирование не может показать отсутствия дефектов.
Существует два способа тестирования программного продукта:
- стратегия «черного ящика»;
- стратегия «белого ящика».
Стратегия «черного ящика» - тестирование с управлением по данным или тестирование с управлением по входу-выходу. При использовании этой стратегии программа рассматривается как «черный ящик». Такое тестирование имеет целью выяснение обстоятельств, в которых поведение программы не соответствует спецификации. Тестовые данные используются только в соответствии со спецификацией программы (то есть без учета знаний о ее внутренней структуре).
Рисунок 2.20 - схема теста «Черный ящик»
Такие тесты демонстрируют:
· как выполняются функции программы;
· как принимаются исходные данные;
· как вырабатываются результаты;
· как сохраняется целостность внешней информации.
Стратегия «белого ящика», или стратегия тестирования, управляемого логикой программы, позволяет исследовать внутреннюю структуру программы. В этом случае тестирующий получает тестовые данные путем анализа логики программы.
Рисунок 2.21 - Схема теста «Белый ящик»
Для проверки работы прототип информационной системы было проведено тестирование в трех режимах:
- тестирование системы в нормальных условиях;
- тестирование системы в экстремальных условиях;
- тестирование системы в исключительных ситуациях.
Приведем пример поверки в нормальных условиях.
Для проверки работы прототипа в нормальных условиях в первую очередь были протестированы следующие объекты содержащие информацию о занятиях.
Подробнее остановимся на тестировании модуля «Объекты».
Программа тестирования включает в себя:
- добавление нового занятия;
- редактирование информации (удаление) о занятии;
Для добавления нового занятия в справочник необходимо нажать кнопку «Новое занятие», для удаления - кнопку «Удалить отмеченных».
Исключительные ситуации, возникшие при тестировании справочника, описаны в таблице 2.2
Таблица 2.2 - Исключительные ситуации при заполнении справочника «Объекты»
№ |
Исключительная ситуация |
Информационное сообщение |
|
1 |
Не введено значение в какое-либо поле |
Необходимо заполнить …(указывается наименование поля, в которое необходимо ввести данные). |
|
2 |
Неверно заполнены поля дат |
Неверный формат даты. Для правильного ввода даты необходимо воспользоваться календарем. |
|
3 |
Совпадение имен и табельных номеров, введенных с уже существующим объектом |
Такая запись уже существует. |
Примеры информационных сообщений, которые выводятся на экран при возникновении исключительных ситуаций, описанных в таблице 2.14.
При редактировании информации об объекте были проведены аналогичные тесты. Система реагировала на них адекватно.
Аналогично были протестированы остальные объекты системы, в которых предусмотрены ввод, редактирование и удаление информации. Отклонений в работе системы не наблюдалось.
Далее было произведено тестирование системы в экстремальных условиях. В данном режиме была проведена проверка работы информационной системы при помощи использования граничных значений области изменения входных переменных. При проведении тестирования системы в экстремальных условиях ошибок не обнаружено.
Для тестирования системы в исключительных ситуациях использовались данные, которые лежат за пределами допустимой области значений, при этом полностью отсутствовал профессионализм пользователя. При данном тестировании ошибок в работе системы не обнаружено.
Также для избегания ввода некорректных данных некоторые поля заполняются путем выбора значений из справочников, например из справочников «Инструктор», «Должность» «Вид занятия».
Таким образом, по результатам проведения всех тестов можно сделать вывод, что модернизированная информационная система полностью работоспособна и удовлетворяет всем поставленным задачам.
3.2 Инструкция пользователя
Запуск программы.
1. Запустить Denwer. Для этого необходимо нажать на ярлык на рабочем столе Start Denwer
2. В адресной строке Internet Explorer ввести: localhost/pmt/ и нажать клавишу Enter
3. В появившемся окне «Вход в систему» (рисунок 2.11) необходимо ввести свое пользовательское имя и пароль, предварительно полученный у администратора базы данных, и нажать кнопку «Войти». Если Вы правильно ввели имя и пароль, то увидите рабочее окно, вверху которого расположена панель управления, на которой отображается информация о пользователе системы, и кнопки выбора направления Вашей работы.
Работа с базой данных документов.
Для того чтобы начать работу с БД нужно нажать на кнопку 'Документы' на панели управления.
Добавление нового документа.
Добавить новый документ в БД может только пользователь с ролью 'Техник по документации'. Для добавления нового документа нужно нажать кнопку 'НОВЫЙ ДОКУМЕНТ', заполнить поля в появившейся форме и нажать кнопку 'Добавить'. Документ будет зарегистрирован в БД.
Добавляем новую тему проведения занятия.
После добавления темы занятия вводим данные об обучаемом.
Внос данных об инструкторе Ф.И.О и табельный номер
Должность обучаемого.
Причина проведения занятий.
Поиск
Для того чтобы найти документ по его номеру нужно нажать кнопку 'Документы', нажать кнопку с интервалом, содержащим номер требуемого документа и выбрать документ из появившегося списка. Если номер неизвестен, но известно название или его часть, то в строке 'Поиск документа по названию' нужно набрать часть названия, или слова которые в нем содержатся, и нажать одну из кнопок поиска. Кнопка 'Искать слова' обеспечивает поиск отдельных слов, 'Искать фразу' - целого фрагмента. Если Вам нужно напечатать список документов, то сначала нужно отметить галочками интересующие Вас документы в списке, затем нажмите кнопку 'Оставить отмеченные', а после этого - 'Показать в виде отчета'. Для печати в появившемся окне выберите пункт меню Файл ->Печать.
Просмотр
Нажав кнопку 'Просм.' в строке списка можно посмотреть информацию о соответствующем документе, кроме того, если на сервере хранятся файлы, составляющие документ, то кроме информации о документе будет предоставлен их список с возможностью просмотра каждого из них (кнопка 'Посмотреть').
Просмотр инструктором
После того, как инструктор-технолог ознакомится с содержанием вновь поступившего документа, он путем нажатия на соответствующую кнопку ставит отметку о просмотре.
- Просмотр начальником
После того как инструктор-технолог подтвердил то, что он изучил документ, инструктор-технолог передает печатную форму документа начальнику отдела подготовки оперативного персонала для согласования и ставит свою подпись. Следовательно он принимает на себя ответственность по организации технических и организационных мероприятий по приведению тренажера (ов) в соответствие с документом.
3.3 Обоснование экономической эффективности информационной системы
Оценка экономической эффективности проекта является обязательным этапом разработки любой автоматизированной информационной системы, так как позволяет судить о целесообразности вложения средств в проектирование и разработку, а также оценить положительные эффекты от внедрения.
В настоящее время существует целый ряд методов для оценки эффективности инвестиций[11]. Условно их можно разделить на классические, затратные методы оценки инвестиционных проектов и комплексные методы оценки набора финансовых и нефинансовых показателей эффективности.
Классические методы подразумевают определение таких показателей, как чистый приведенный доход, внутренняя норма доходности, срок окупаемости, добавленная стоимость.
Затратные методы оценки включают определение совокупной стоимости владения и его производные (истинная стоимость владения и совокупная стоимость владения приложениями). Модель совокупной стоимости владения позволяет сократить затраты и повысить эффективность вложений в информационные технологии в силу самой постановки решаемой с ее помощью задачи - минимизации стоимости владения при заданных параметрах функциональных возможностей информационной системы.
Комплексные методы оценки набора финансовых и нефинансовых показателей эффективности - сбалансированная система показателей Нортона и так далее.
Оценим экономическую эффективность разработанной системы с помощью затратного метода. Расчет затрат на разработку программного обеспечения будет включать расчет трудоемкости программных средств, то есть количество времени, затраченного на производство единицы продукции одним человеком, и расчет их себестоимости.
Под трудоемкостью понимается количество времени, затраченного на производство единицы продукции одним человеком. Нормы времени рассчитаны в зависимости от факторов, которые наибольшим образом влияют на трудоемкость проекта. К факторам можно отнести:
- количество разновидностей форм входной информации;
- количество разновидностей форм выходной информации;
- степень новизны комплекса задач;
- сложность алгоритма;
- вид используемой информации;
- сложность контроля входной и выходной информации;
- язык программирования;
- использование типовых проектных решений.
Расчёт затрат на основную заработную плату (ОЗП) разработчика производится по формуле (3.1):
(3.1)
где T - часовая тарифная ставка, руб./час,
H - количество рабочих часов.
Размер фонда основной заработной платы рассчитывается из фактической стоимости оплаты труда одного программиста отдела информационно-коммуникационных технологий Смоленской АЭС в час, равной 100 рублей. Премия составляет 15 % от основной заработной платы. Отчисления на социальные нужды равные 27,5 % от фонда заработной платы.
Процесс разработки проекта информационной системы можно разделить на три этапа.
Первым этапом является анализ предметной области и постановка задачи разработки будущей системы.
Второй этап - разработка структуры проекта и производство программной реализации проектируемой информационной системы.
Третий этап включает разработку методики внедрения и оценку эффективности проекта.
Продолжительность каждого этапа зависит непосредственно от процесса разработки проекта во время преддипломной практики. Соответственно от продолжительности рассчитывались трудозатраты, исходя из стандартного рабочего дня длительностью 8 часов.
Рассмотрим поэтапно разработку проекта и приведем расчет затрат для каждого этапа.
Первый этап:
- продолжительность этапа с 12 январь 2011 года по 16 февраль 2011 года;
- трудозатраты на первом этапе составили 25 · 8 = 200 (ч);
- основная заработная плата: 100 · 200 = 20000 (руб.);
- премия: 0,15 · 20000 = 3000 (руб.);
- отчисления на социальные нужды: 0,275 · (20000 + 3000) = 6325 (руб.).
Второй этап:
- продолжительность этапа с 17 февраль 2011 года по 10 март 2011 года;
- трудозатраты на втором этапе составили 15 · 8 = 120 (ч);
- основная заработная плата: 100 · 120 = 12000 (руб.);
- премия: 0,15 · 12000 = 1800 (руб.);
- отчисления на социальные нужды: 0,275 · (12000+1800) = 3795 (руб.).
Третий этап:
- продолжительность этапа с 10 марта по 28 марта 2010 года;
- трудозатраты на третьем этапе: 12 · 8 = 96 (ч);
- основная заработная плата: 100 · 96 = 9600 (руб.);
- премия: 0,15 · 9600 = 1440 (руб.);
- отчисления на социальные нужды: 0,275 · (9600+1440) = 3036 (руб.).
Полученные данные по этапам разработки сведены в таблицу 3.2.
Таблица 3.1 - Расчет суммарных затрат на разработку проекта
Наименование статей затрат |
Сумма, руб. |
||||
1 этап |
2 этап |
3 этап |
Всего |
||
Основная заработная плата, руб. |
20000 |
12000 |
9600 |
41600 |
|
Премия, руб. |
3000 |
1800 |
1440 |
6240 |
|
Отчисления на социальные нужды, руб. |
6325 |
3795 |
3036 |
13156 |
|
Суммарные затраты, руб. |
29325 |
17595 |
14076 |
60996 |
Таким образом, суммарные затраты на разработку проекта информационной системы составляют шестьдесят восемь тысяч тридцать четыре рубля
Произведем расчет затрат на материально-техническое обеспечение, требуемое для разработки информационной системы. Затраты на оборудование и программные средства разработки рассчитываются на основе прейскурантных цен соответствующих материальных ресурсов.
Для разработки программного продукта необходимо:
- 1 персональный компьютер (ПК);
- 1 принтер;
- 1 упаковки бумаги формата А4;
- 2 носителя информации CD-RW;
- программное обеспечение (операционная система Windows ХР, PHP, Microsoft Office 2003, BPWin Allfusion Process Modeler 4.1, ERWin Allfusion Data Modeler 4.1)
Программное и техническое обеспечение уже имеется в наличии, остальное необходимо закупить.
Расчеты затрат по приведенным пунктам представлены в таблице 3.3.
Таблица 3.2 - Затраты на оборудование и программные средства разработки
№ |
Наименование |
Ед. измерения |
Норма расхода |
Сумма, руб. |
|
1 |
ПК |
шт. |
1 |
- |
|
2 |
Принтер |
шт. |
1 |
- |
|
3 |
Бумага формата A4 |
упак. |
1 |
200 |
|
4 |
Носители информации CD-RW |
шт. |
2 |
50 |
|
5 |
Интернет-трафик, затраченный на изучение предметной области и существующих разработок |
- |
1 |
350 |
|
6 |
ОС Windows ХР |
шт. |
1 |
- |
|
7 |
Borland Delphi 7 |
шт. |
1 |
- |
|
8 |
Microsoft Office 2003 |
шт. |
1 |
- |
|
9 |
BPWin Allfusion Process Modeler 4.1 |
шт. |
1 |
- |
|
10 |
ERWin Allfusion Data Modeler 4.0 |
шт. |
1 |
- |
|
11 |
Microsoft SQL Server 2000 |
шт. |
1 |
- |
|
Совокупные затраты |
600 |
Расчет общих затрат на разработку приложения приведен в таблице 3.4.
Таблица 3.3 - Расчет общих затрат на разработку системы
Статьи калькуляции |
Сумма, руб. |
|
Затраты на оборудование (таблица 3.3) |
0 |
|
Затраты на сырье и материалы (таблица 3.3) |
600 |
|
Основная заработная плата (таблица 3.2) |
41600 |
|
Премия (таблица 3.2) |
6240 |
|
Отчисления на социальные нужды (таблица 20) |
13156 |
|
Итого: производственная себестоимость |
60996 |
|
Непроизводственные расходы (2% от производственной себестоимости) |
12199.2 |
|
Итого: полная себестоимость |
73195.2 |
Из таблицы 3.3 видно, что полная себестоимость информационной системы составила семьдесят три тысячи сто девяносто пять рублей две копейки.
Таблица 3.4 - Оценка экономии от внедрения информационной системы по отдельным процессам
№ |
Процесс |
Затраты, руб./мес. |
Экономия за счет автоматизации, руб./мес. |
||
до автоматизации |
после автоматизации |
||||
1 |
Работа с пользователями |
8000 |
4000 |
4000 |
|
2 |
Работа с обучаемыми |
9000 |
6000 |
3000 |
|
3 |
Контроль обучаемых |
8000 |
5000 |
3000 |
|
4 |
Учет занятий |
10000 |
7000 |
3000 |
|
ИТОГО |
35000 |
23000 |
12000 |
Из таблицы 3.4 видно, что экономия от внедрения информационной системы составит в среднем двенадцать тысяч рублей в месяц и сто сорок четыре тысячи рублей в год.
Рассмотрим обобщающие показатели экономической эффективности.
Первый показатель - годовой экономический эффект, определяющийся разностью между показателем снижения стоимостных затрат и произведением затрат на проектирование, разработку, внедрение информационной системы и нормативным коэффициентом эффективности капитальных вложений. Следует заметить, что нормативный коэффициент эффективности капитальных вложений принимают на уровне 0,15 для всех отраслей.
Годовой экономический эффект определяется по формуле (3.2).
Э = Эгод - Ен·К, (3.2)
где Э - годовой экономический эффект,
Эгод - показатель снижения стоимостных затрат,
Ен - нормативный коэффициент эффективности капитальных вложений,
К - затраты на проектирование, разработку, внедрение информационной системы.
Таким образом, годовой экономический эффект равен следующему значению: 144000 - 0,15* 73195.2= 133020,72 (руб.).
Второй показатель - экономическая эффективность капитальных затрат, определяющаяся как отношение показателя снижения стоимостных затрат к затратам на проектирование, разработку и внедрение информационной системы. Данный показатель определяется по формуле (3.3).
Е = (Эгод/К) ·100%, (3.3)
где Е - экономическая эффективность капитальных затрат,
К - затраты на проектирование, разработку, внедрение информационной системы,
Эгод - показатель снижения стоимостных затрат.
Экономическая эффективность составляет (144000 / 73195,2)*100% = 169%, что является более чем хорошим результатом.
Третий показатель - срок окупаемости, вычисляемый как отношение капитальных затрат на проектирование, разработку и внедрение системы к показателю снижения стоимостных затрат. Срок окупаемости определяется по формуле (3.4).
Т = К/ Эгод, (3.4)
где Т - срок окупаемости,
К - затраты на проектирование, разработку, внедрение информационной системы,
Эгод - показатель снижения стоимостных затрат.
Таким образом, получаем 73195,68 / 144000 = 0,5 года, что примерно составляет 6 месяцев.
В третий части дипломного проекта был спланирован и поставлен эксперимент по внедрению информационной системы.
Для оценки функциональной и экономической эффективности процесса регистрации занятий на полномасштабном тренажере в учебно-тренировочном подразделении Смоленской АЭС на основе разработанной информационной системы был использован количественный анализ.
Проведенный анализ показал, что после внедрения информационной системы затраты время регистрацию занятий сокращается на 30-40 %.Следовательно время для работы с обучаемыми увеличивается и их профессионализм соответственно возрастает. Годовой экономический эффект от внедрения информационной системы определялся как разница между показателем снижения стоимостных затрат и произведением коэффициента эффективности капитальных вложений и затрат на проектирование, разработку и внедрение информационной системы. В результате проведенных расчетов величина годового экономического эффекта составила сто тридцать три тысячи рублей.
Срок окупаемости, вычисляемый как отношение капитальных затрат на проектирование, разработку и внедрение системы к показателю снижения стоимостных затрат составил примерно 6 месяцев.
Полученные оценки экономической эффективности проекта позволяют сделать выводы о рентабельности и экономической целесообразности внедрения информационной системы для автоматизации учета технического оборудования.
Проведенный анализ экономической эффективности разработанной информационной системы с использованием затратного метода показал, что годовой экономический эффект составит 133020,72. При этом внедряемая информационная система окупится через 6 месяцев.
Заключение
В результате выпускной квалификационной работы была разработана информационная система регистрации занятий на полномасштабном тренажере учебно-тренировочного подразделения.
В первой части работы был произведен анализ САЭС и деятельности учебно-тренировочного подразделения.
Были рассмотрены основные виды деятельности предприятия и его учебно-тренировочного подразделения, описана организационная структура, а также кратко рассмотрены основные программные продукты, которые используются в различных его отделах. Далее были описаны основные задачи и функции, реализуемые в процессе работы ОПОП УТП САЭС. Отдельно выделены проблемы, возникающие при обучении на полномасштабном тренажере. Основной проблемой работы тренажера является отсутствие регистрации занятий. Автоматизация этих сведений поможет избежать неправильных действий оперативного персонала атомной станции, что может повлечь за собой последствия различного масштаба, вследствие этого миллионные затраты на восстановление. Отсутствие решений этой проблемы ставит под угрозу работу всей атомной станции.
В результате проведенного анализа сущности и реализации рассматриваемо процесса, существующих подходов к его автоматизации была определена необходимость и поставлена задача на разработку информационной системы учета занятий, способной обеспечить высококлассное обучение оперативного персонала эффективное решение рассматриваемых задач на основе применения методов и средств информационных технологий.
Во второй части работы была модернизирована и протестирована информационная система учета протоколов несоответствия учебно-тренировочного подразделения, путем создания информационной системы регистрации занятий.
Структура и основные свойства разработанной информационной системы были определены, исходя из построенной структурно-функциональной модели по стандарту IDEF0 и методологии SADT.
Для описания логической и физической структур базы данных был применен стандарт IDEF1X с использованием CASE-средства ERwin Data Modeler r7.3. В результате, полное и детального описание процесса регистрации занятий было реализовано посредством трех таблиц, связанных между собой по ключевым характеристикам объектов учета. Разработаны программные модули и подробно описаны их функции. Построено дерево программных модулей и блок-схемы некоторых из них. Реализована связь программных модулей системы и таблиц базы данных.
Модернизированная система подверглась тестированию. Тестирование было произведено в трех режимах:
- тестирование системы в нормальных условиях;
- тестирование системы в экстремальных условиях;
- тестирование системы в исключительных ситуациях.
Все ошибки, выявленные в процессе тестирования, были полностью устранены. информационный система тестирование
В третий части выпускной квалификационной работы был спланирован и поставлен эксперимент по внедрению информационной системы.
Для оценки функциональной и экономической эффективности процесса регистрации занятий на основе разработанной информационной системы был использован количественный анализ.
Проведенный анализ показал, что после внедрения информационной системы временные затраты на регистрацию занятий сокращается на 30-40 %. Следовательно, время для работы с обучаемым оперативным персоналом увеличивается, их профессионализм соответственно возрастает. Годовой экономический эффект от внедрения информационной системы определялся как разница между показателем снижения стоимостных затрат и произведением коэффициента эффективности капитальных вложений и затрат на проектирование, разработку и внедрение информационной системы. В результате проведенных расчетов величина годового экономического эффекта составила сто тридцать три тысячи рублей.
Полученные оценки экономической эффективности проекта позволяют сделать выводы о рентабельности и экономической целесообразности внедрения информационной системы для автоматизации регистрации занятий.
Таким образом, можно сделать вывод, что поставленная цель достигнута частично, поставленные задачи выпускной квалификационной работы достигнуты и решены полностью. В результате выполнения выпускной квалификационной работы модернизирована, информационная система учета протоколов несоответствия учебно-тренировочного подразделения путем внедрения в неё информационной системы, автоматизированного учета занятий и регистрации оперативного персонала, проходящих обучение в учебно-тренировочном подразделении Смоленской атомной станции, благодаря которой позволит сократить временные затраты на регистрацию занятий и повысить уровень безопасности эксплуатации АЭС.
Список используемых источников
1 Устав Смоленской АЭС Изд. САЭС, 2000. - 134 с.
2 Внутренний веб - узел САЭС.
3 Положение об учебно-тренировочном подразделении. Изд. САЭС, 2005. - 21 с.
4 Техническая документация к системе «Кадры-2. Подготовка персонала» Изд. САЭС, 2005. - 257 с.
5 Справка учебной программы «Монтажник-проектировщик» Изд. САЭС, 2005. - 123 с.
6 В.И.Лойко Информационные системы и технологии в экономике, 2 - е издание, Москва «Финансы и статистика» 2005. - 310 с.
7 Вопросы атомной науки и техники. Серия: Обеспечение безопасности АЭСВыпуск 12. Москва ФГУП НИКИЭТ 2007 151 с.
8 Маклаков А.Г. Личностный адаптационный потенциал: его мобилизация и прогнозирование в экстремальных условиях. Психологический журнал, 2001, №1, с 16-24.
9 Август-Вильгельм Шеер Моделирование бизнес-процессов. Весть-Мета Технология, 2000. - 206 с.
10 М. Ф. Меняев Организационно-экономическая часть дипломных проектов, направленных на разработку программного обеспечения (Учебное пособие) МГТУ им. Н. Э. Баумана, 2002
11 А.А. Козырев Информационные технологии в экономике и управлении. Издательство Михайлова Санкт-Петербург 2000 г.
12 Вендров, А.М. Проектирование программного обеспечения экономических информационных систем: Учебник./А. М. Вендров.- М.: Финансы и статистика, 2004. - 352 с.
13 Майерс Г. Искусство тестирования программ / Пер. с англ.; Под ред. Б.А. Позина. - М.: Финансы и статистика,2004. - 176 с..
14 Тестирование программного обеспечения / Сэм Канер, Джек Фолк, Енг Кек Нгуен и др. / Пер. с англ. - Киев: Изд-во «ДиаСофт», 2004. - 271 с.
15 Автоматизация управления предприятием / Баронов В.В. и др. - М.: ИНФРА-М, 2000.
16 Автоматизированные информационные технологии в экономике / Под общ. ред. И.Т. Трубилина. - М.: Финансы и статистика, 2007.
17 Когаловский М.Р. Перспективные технологии информационных систем. - М.: ДМК Пресс, 2003.
18 Дейт К. Введение в системы баз данных. - Киев: Диалектика, 2008.
19 Емельянов А.А., Власова Е.А., Дума Р.В. Имитационное моделирование экономических процессов. - М: Финансы и статистика, 2002.
20 Прикладная информатика в экономике: Учебное пособие/ Бугорский В.Н., Емельянов А.А., Порховник Ю.М. и др.; Под ред. Михайлушкина А.И. - СПб: СПбГИЭУ, 2005.- 407 с.
21 Гришин В.Н., Панфилова Е.Е. Информационные технологии в профессиональной деятельности: Учебник.: ИНФРА-М, 2005. - 416 с.
22 Прокушева А. П. Экономика информатики (практикум). - М.: Н.Д. Дашков и К, 2001. - 429 с.
23 Борзов Ю.В. Методы тестирования и отладки программ ЭВМ / М. А. Рогов. - М.: ПРИОР, 2005. - 117 - 119 с.
24 Титоренко Г.А. Информационные технологии в маркетинге.- М.: Юнити, 2004. - 250 с.
25 М. Ф. Меняев Организационно-экономическая часть дипломных проектов, направленных на разработку программного обеспечения (Учебное пособие) МГТУ им. Н. Э. Баумана, 2002
26 Описание программного продукта PHP http://www.php.net/docs.php
27 Дмитрий Ченгаев «PHP! Как сделать современный веб-сайт». 2007. - 45 с. http://www.bravoo.net
28 Руководство PHP Версии 3.0 - язык написания сценариев. http://wm-help.net/down_book.php?id=8
Список сокращений
САЭС |
- |
Смоленская атомная электростанция |
|
УМО |
- |
учебно-методический отдел |
|
УТП |
- |
учебно-тренировочное подразделение |
|
УТСО |
- |
участок обслуживания технических средств обучения |
|
ТЦ |
- |
турбинный цех |
|
ЭЦ |
- |
электроцех |
|
БЩУ |
- |
блок щитового управления |
|
ВИУБ |
- |
ведущий инженер по управлению блоком |
|
ВИУР |
- |
ведущий инженер по управлению реактором |
|
ВИУТ |
- |
ведущий инженер по управлению турбинами |
|
ИС |
- |
информационная система |
|
ИТ |
- |
информационные технологии |
|
ЛВС |
- |
локальная вычислительная сеть |
|
НСБ |
- |
начальник смены блока |
|
НСС |
- |
начальник смены станции |
|
ОК |
- |
отдел кадров |
|
ООМ |
- |
отдел обеспечения и маркетинга |
|
ООО |
- |
отдел организации обучения |
|
ООП |
- |
отдел общей подготовки |
|
ОПОП |
- |
отдел подготовки оперативного персонала |
|
ОППТОиР |
- |
отдел подготовки персонала по техническому обслуживанию и ремонту |
|
ОС |
- |
операционная система |
|
ОТУ |
- |
отдел технического управления |
|
ПМТ |
- |
полномасштабный тренажер |
|
ПМТ-БЩУ |
- |
полномасштабный тренажер блочного щита управления |
|
ПО |
- |
программное обеспечение |
|
ПЭВМ |
- |
персональная электронно-вычислительная машина |
|
РБМК |
- |
реактор большой мощности канального типа |
|
РЗМ |
- |
разгрузочно-загрузочная машина |
|
РЦ |
- |
реакторный цех |
|
СЕМТО |
- |
Североевропейский межрегиональный территориальный округ |
|
ТО |
- |
техническое обслуживание |
|
ТЦ |
- |
турбинный цех |
|
УМО |
- |
учебно-методический отдел |
|
УТП |
- |
учебно-тренировочное подразделение |
|
УТСО |
- |
участок обслуживания технических средств обучения |
|
ЭЦ |
- |
электроцех |
Приложение
Программный код информационной системы
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN'>
<html>
<head>
<META content='text/html; charset=windows-1251' http-equiv='Content-Type'>
<title>Поддержание конфигурации ПМТ</title>
<?php
$db=ibase_connect('localhost:d:inet1pmtpmt.gdb', 'sysdba', 'gbdj','WIN1251');
$query='select fio, sh_fio, id_role from users where id_user=$id_user';
$rs = ibase_query($db, $query);
while ($row = ibase_fetch_object($rs))
{
$fio=$row->FIO;
$role=$row->ID_ROLE;
$sh_fio=$row->SH_FIO;
}
ibase_close($db);
if (($role!=1) and ($role!=3) and ($role!=11) and ($role!=12)) exit(); //????????????????
if($role==1) // если мы зашли как Техник по занятиям на ПМТ
{
$db=ibase_connect('localhost:d:inet1pmtpmt.gdb', 'sysdba', 'gbdj','WIN1251');
echo'
<script>
var MenTab=new Array();n
var MenPost=new Array();n
var MenBlock=new Array();n
var Nmen=0;n
var Pattern='';
function Obnul()
{
Pattern='';
}
function Poisk()
{
Pattern=Pattern+String.fromCharCode(event.keyCode);
var sel=document.getElementById('s1');
for (i=0;i<sel.length;i++)
{
if (sel.options[i].text.toLowerCase().indexOf(Pattern.toLowerCase())==0)
{
sel.selectedIndex=i;
SetPost(sel.options[i].value);
return true;
}
}
}
<!--******************************************************************************************************************************************-->
function SetMen()
{'; // заполняет массив по людям из таблици MEN
//записываем в переменную NMen колличество людей
$query='select tabno, id_post, id_jobplace from men order by fio';
$rs = ibase_query($db, $query);
$i=0;
while($row = ibase_fetch_object($rs))
{
$i++;
echo'MenTab[$i]=$row->TABNO;n
MenPost[$i]=$row->ID_POST;n
MenBlock[$i]=';
if ( ($row->ID_JOBPLACE>=1)&&($row->ID_JOBPLACE<=6) ) {echo'$row->ID_JOBPLACE';}
else {echo'0';}
echo';n';
}
echo'NMen=$i;n
var obj1=document.getElementById('but1');
if (obj1)
{
obj1.focus();
obj1=document.getElementById('t1');
obj1.focus();
}
}
<!--******************************************************************************************************************************************-->
function SetPost(tabn)
{
for(var i=0; i<=NMen; i++)
{
if (MenTab[i]==tabn)
{
var obj1=document.getElementById('sel1');
var obj2=document.getElementById('sel2');
var obj3=document.getElementById('inp1');
var obj4=document.getElementById('inp2');
var obj5=document.getElementById('inp3');
for (var j=0; j<obj1.length; j++)
{
if (obj1.options[j].value==MenPost[i])
{
obj1.selectedIndex=j;
obj2.selectedIndex=j;
obj3.value=MenBlock[i];
if (obj4.value!='') {obj5.value=obj4.value;}
}
}
}
}
}
</script>';
ibase_close($db);
}
echo'</head><body style='font-family:Arial;'';
if($role==1) { echo ' onload=SetMen()';} //при загрузке станички выполняем функцию SetMen, описанную выше
echo'>
<form action='index_tr.php' METHOD='POST'>
<CENTER>
<div style='background:black;color:#FFF;padding:0px 0px 0px 0px'><H3>РЕГИСТРАЦИЯ ЗАНЯТИЙ НА ПМТ</H3></div>
</CENTER>';
$db=ibase_connect('localhost:d:inet1pmtpmt.gdb', 'sysdba', 'gbdj','WIN1251');
echo '<input type='hidden' name='id_user' value='$id_user'>
<table border=0 cellspacing=5><tr>';
//формируем кнопки
if ($role==1) echo'<td><input type='submit' name='new_tr' value='НОВОЕ ЗАНЯТИЕ'></td>'; //если Техник по занятиям на ПМТ, то кнопка НОВОЕ ЗАНЯТИЕ
echo '<td><input type='submit' name='all' value='ВСЕ ЗАНЯТИЯ'></td></form>'; //и кнопка ВСЕ ЗАНЯТИЯ для всех пользователей кто имеет доступ к кнопке Занятия
//если Техник по занятиям, то делаем кнопку СПРАВОЧНИКИ и переходим на guides_tr.php
if ($role==1) echo '<td>
<form action='guides_tr.php' METHOD='POST'>
<input name='guides' id='b1' type='submit' value='СПРАВОЧНИКИ'>
<input type='hidden' name='id_user' value='$id_user'></td></form>';
//для всех кнопка ОТЧЕТЫ и перходим на index_rep_tr.php
echo '<td><form action='index_rep_tr.php' METHOD='POST'>
<input name='reports' id='b2' type='submit' value='ОТЧЕТЫ'>
<input type='hidden' name='id_user' value='$id_user'>
</td></form></tr></table>
<!--Формируем окно поиска и при надатии на кнопку НАЙТИ перезапускаем страничку с параметром $search-->
<form action='index_tr.php' METHOD='POST'>
<input type='hidden' name='id_user' value='$id_user'>';
//формируем окно поиска
if ($first_time!='')//этот параметр передается из regdone.php при нажатии на кнопку ЗАНЯТИЯ. срабатывает при первой загрузки index_tr.php
{
echo'<fieldset><legend><b>Поиск</b></legend>
<table>
<tr>
<td><input type='checkbox' name='fsearch_date' value='1'';
if ($fsearch_date==1) {echo ' checked';}
echo '></td>
<td>за период:</td>';
if ($d_begin!='') {$d_b=$d_begin;} else {$d_b=date('d.m.y', mktime (0,0,0, date('m')-1, date('d'), date('y')));} //формируем дату начала поиска
//формируем поле начальной даты и записываем туда переменную с датой
//делаем обработку на ввод только цифр
echo '<td>с <input name='d_begin' size=10 id='t4' type='text' value='$d_b'>
<script for='t4' event='onkeypress'>
<!--
if ( (event.keyCode!=46)
&& (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script>';
//форрмируем конечную дату
//делаем обработку на клавиши
if ($d_end!='') { $d_e=$d_end;}
else { $d_e=date('d.m.y');}
echo ' по <input name='d_end' size=10 id='t5' type='text' value='$d_e'>
<script for='t5' event='onkeypress'>
<!--
if ( (event.keyCode!=46)
&& (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_sm' value='1'';
if ($fsearch_sm==1) {echo ' checked';}
echo '></td>
<td>по смене:</td>
<td><input name='search_sm' size=3 type='text' value='$search_sm'></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_bl' value='1'';
if ($fsearch_bl==1) {echo ' checked';}
echo '></td>
<td>по блоку:</td>
<td><input name='search_bl' size=3 type='text' value='$search_bl'></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_kind' value='1'';
if ($fsearch_kind==1) {echo ' checked';}
echo '></td>
<td>по виду занятия:</td>
<td><select name='search_kind'>
<option value='1'';
if ($search_kind=='1') {echo ' selected';}
echo '>Сменное оценочное
<option value='2'';
if ($search_kind=='2') {echo ' selected';}
echo '>Сменное учебное
<option value='3'';
if ($search_kind=='3') {echo ' selected';}
echo '>Индивидуальное оценочное
<option value='4'';
if ($search_kind=='4') {echo ' selected';}
echo '>Индивидуальное учебное
</select></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_instr' value='1'';
if ($fsearch_instr==1) {echo ' checked';}
echo '></td>
<td>по инструктору:</td>
<td> <select name='search_instr'>';
$query='select tab_no, sh_name from instructors order by sh_name';
$rs = ibase_query($db, $query);
while($row = ibase_fetch_object($rs))
{
echo'<option value='$row->TAB_NO'';
if ($search_instr==$row->TAB_NO) {echo ' selected';}
echo '>$row->SH_NAME';
}
echo '</select></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_theme' value='1'';
if ($fsearch_theme==1) {echo ' checked';}
echo '></td>
<td>по теме:</td>
<td><select name='search_theme'>';
$rs = ibase_query($db, 'select * from themes_pmt where in_work>0 order by name');
while($row = ibase_fetch_object($rs))
{
$s=$row->NAME;
if (strlen($s)>70) {$s=substr($s,0,67).'...';}
echo'<option value='$row->ID_THEME'';
if ($search_theme==$row->ID_THEME) {echo ' selected';}
echo '>$s';
}
echo '</select></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_reason' value='1'';
if ($fsearch_reason==1) {echo ' checked';}
echo '></td>
<td>по причине:</td>
<td><select name='search_reason'>
<option value=0> ';
$rs = ibase_query($db, 'select * from reasons_pmt order by name');
while($row = ibase_fetch_object($rs))
{
$s=$row->NAME;
if (strlen($s)>70) {$s=substr($s,0,67).'...';}
echo'<option value='$row->ID_REASON'';
if ($search_reason==$row->ID_REASON) {echo ' selected';}
echo '>$s';
}
echo '</select></td>
</tr>
<tr>
<td><input type='checkbox' name='fsearch_razd' value='1'';
if ($fsearch_razd==1) {echo ' checked';}
echo '></td>
<td>по разделу:</td>
<td><input name='search_razd' size=5 type='text' value='$search_razd'></td>
</tr>
</table>
<hr>
<input type='submit' name='search' value='Найти...'>
</fieldset>';
}
echo'</form><br>';
//если была нажата кнопа ВСЕ ЗАНЯТИЯ
if ($all!='')
{
$y=date('Y');//сегодняшний год
$months=array('январь','февраль','март','апрель','май','июнь','июль','август','сентябрь','октябрь','ноябрь','декабрь'); //делае массив из месяцев
//формируем таблицу год-месяца
echo '<form action='index_tr.php' METHOD='POST'>
<input type='hidden' name='id_user' value='$id_user'>
<table border=0 cellspacing=8>
<tr><th align='center'>Год<hr></th>
<th colspan=12 align='center'>Месяц<hr></th></tr>';
for($i=2010;$i<=$y;$i++)
{
echo '<tr><td><b>$i</b></td>';
foreach($months as $key => $value)
{
$k=$key+1;
$n='y'.$i.'m'.$k;
echo '<td><input type='submit' name='$n' value='$value'
title='Занятия за $value $i г.'></td>';
}
echo '</tr>';
}
echo '</table></form>';
ibase_close($db);
exit();
}
$y=date('Y');
for($i=2010;$i<=$y;$i++)
{
for($j=1;$j<=12;$j++)
{
if (${'y'.$i.'m'.$j}!='')
{
$myyear=$i;
$mymonth=$j;
}
}
}
$query='select max(id_training) from trainings_pmt';
$rs = ibase_query($db, $query);
while ($row = ibase_fetch_object($rs))
{
$maxid=$row->MAX;
}
for($i=0;$i<=$maxid;$i++) if (${'red'.$i}!='') $red=$i; //???????????????????????????????
if (($collect!='') or ($search!='') or ($mymonth!='')) //если были нажаты кнопки: ОСТАВИТЬ ОТМЕЧЕННЫЕ(при табл найденных занятиях) или НАЙТИ (окно поиска) или кнопка месяца
{
$query='SELECT t.id_training, t.dt_training, t.smena, t.block, th.name as theme, i.sh_name, m.fio';
$query=$query.' from trainings_pmt t, themes_pmt th, instructors i, men m, obuch_pmt o';
$query=$query.' where t.id_theme=th.id_theme and t.id_instr=i.tab_no';
$query=$query.' and t.id_training=o.id_training and o.id_man=m.id_man';
if ($collect!='')//если была нажата кнопка ОСТАВИТЬ ОТМЕЧЕННЫЕ
{
$listb='(0'; //формируем массив отмеченных строк
for($i=0;$i<$n_trs;$i++) if ((${'id_del'.$i}>0) and (strlen($listb)<165)) $listb=$listb.', ${'id_del'.$i}'; //n_trs-колличество найденных записей; 'id_del'.$i - chekbox в таблице
$listb=$listb.')';
$query=$query.' and t.id_training in $listb';
$par='listb='.$listb; //?????????
}
//если была нажата кновка НАЙТИ
if ($search!='')
{
$par='';//???????????????????????????
if ($fsearch_date==1) //по дате
{
$par='d_begin='.$d_begin.'&d_end='.$d_end;
$d_end=$d_end.' 23:00';
$query=$query.' and t.dt_training>=cast('$d_begin' as date) and t.dt_training<=cast('$d_end' as timestamp)';
}
if ($fsearch_sm==1) //по смене
{
$query=$query.' and t.smena='$search_sm'';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_sm='.$search_sm;
}
if ($fsearch_razd==1)//по разделу
{
$query=$query.' and t.razdel containing '$search_razd'';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_razd='.$search_razd;
}
if ($fsearch_bl==1) //по блоку
{
$query=$query.' and t.block='$search_bl'';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_bl='.$search_bl;
}
if ($fsearch_kind==1) //по типу
{
$query=$query.' and t.id_kind='$search_kind'';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_kind='.$search_kind;
}
if ($fsearch_instr==1) //по инструктору
{
$query=$query.' and t.id_instr=$search_instr';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_instr='.$search_instr;
}
if ($fsearch_theme==1) //по теме
{
$query=$query.' and t.id_theme=$search_theme';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_theme='.$search_theme;
}
if ($fsearch_reason==1) //по причине
{
$query=$query.' and t.id_reason=$search_reason';
if ($par!='') { $par=$par.'&';}
$par=$par.'search_reason='.$search_reason;
}
}
//если была нажата кнопка месяца
if ($mymonth!='')
{
$nach=date('d.m.y',mktime(0, 0, 0, $mymonth, 1, $myyear));
$kon=date('d.m.y H:i',mktime(23, 0, 0, $mymonth+1, 0, $myyear));
$query=$query.' and t.dt_training>=cast('$nach' as date) and t.dt_training<=cast('$kon' as timestamp)';
$par='mymonth='.$mymonth.'&myyear='.$myyear;
}
if ($par!='') { $par='?'.$par;}
$query=$query.' order by 2, 5';
// echo '$query';
//выполняем сформированный запрос
$rs = ibase_query($db, $query);
echo '<form action='index_tr.php' METHOD='POST'>
<input type='hidden' name='id_user' value='$id_user'>
<table border='1' cellpadding='2' cellspacing='0'>
<tr>
<th>Дата</th>
<th>Время</th>
<th>См.</th>
<th>Бл.</th>
<th>Тема</th>
<th>Инструктор</th>
<th>Просм.</th>
<th>Отм.</th>
</tr>';
$i=0;
$list='(0'; //формируем массив из id-ов найденных занятий
$old_id=0;
while ($row = ibase_fetch_object($rs))
{
if ($old_id!=$row->ID_TRAINING)
{
if ($old_id!=0)
{
echo'$sbeg$end';
}
$list=$list.', '.$row->ID_TRAINING;
$end='</td><td>'.$row->SH_NAME.'</td><td><input type='submit' name='red';
$end=$end.$row->ID_TRAINING.'' value='Просм.'title='Просмотретьредактировать занятие'>';
$end=$end.'<td><input type='checkbox' name='id_del'.$i.'' value=''.$row->ID_TRAINING.''></td></tr>';
$sbeg='<tr>';
$d=substr($row->DT_TRAINING,8,2).'.'.substr($row->DT_TRAINING,5,2).'.'.substr($row->DT_TRAINING,2,2);
$sbeg=$sbeg.'<td>$d</td>';
$t=substr($row->DT_TRAINING,11,5);
$sbeg=$sbeg.'<td>$t</td><td>$row->SMENA </td><td>$row->BLOCK </td>';
$sbeg=$sbeg.'<td>'.stripslashes($row->THEME).'<br>';
$old_id=$row->ID_TRAINING;
$i++;
}
$tok = strtok($row->FIO,' ');
$k=0;
while ($tok)
{
if ($k==0) {$s=$tok.' ';} else {$s=$s.$tok[0].'.';}
$tok = strtok(' ');
$k++;
}
$sbeg=$sbeg.' '.$s;
}
echo'$sbeg$end';
$list=$list.')';
echo '</table>
<table width=600 border=0><COLGROUP span='3' valign='top'>
<tr><td><STRONG>Всего $i зан. </STRONG>
<input name='n_trs' type='hidden' value='$i'>
<td><input name='collect' type='submit' value='Оставить отмеченные'>
</form>
<td><input type='button' id='c1' value='Показать в виде отчета'></table>
<script for='c1' event='onclick'>
<!--
window.open('rep_tr_all.php$par', false, 'width=670, left=30, top=30, menubar=1, height=550, resizable=no, scrollbars=yes');
//-->
</script>';
$red='';
}
//обработка на пустые поля при добавлении занятия
if (($id_instr=='net') or ($smena=='net') or ($block=='net') or ($kind_training=='net') or ($id_theme=='net'))
{
$add_tr='';
Echo'<p style='color:red'>Одно или несколько из обязательных для заполнения полей пусты. Заполните их пожалуйста.<br> Обязательные поля помечены *</p>';
$new_tr='Новое занятие';
}
if($new_tr!='')//если была нажата кнопка НОВОЕ ЗАНЯТИЕ
{
echo '<form action='index_tr.php' METHOD='POST'>
<input type='hidden' name='id_user' value='$id_user'>
<center>
<div style='background:grey;color:#FFF;'><b>НОВОЕ ЗАНЯТИЕ</b></div></br>
</center>
<table border=0 cellspacing=10>
<tr>
<td>Инструктор:<font color=red>*</font><br><select name='id_instr'><option value='net'> '; //делаем список инструкторов
$query='select tab_no, sh_name from instructors order by sh_name'; //формируем запрос на выборку инструктаров
$rs = ibase_query($db, $query);
while($row = ibase_fetch_object($rs)) //заполняем список
{
echo'<option value='$row->TAB_NO''; if ($id_instr==$row->TAB_NO) {echo'selected';} //если одно из обязательных полей было пустым (т. е. выдалось сообщение), то выбираем то значение которое было
echo'>$row->SH_NAME';
}
echo '</select></td>
<td>Смена:<font color=red>*</font><br><select name='smena' id='inp2'>
<option value='net'>';
for($sm=1;$sm<=3;$sm++) //sm- переменная номера смены
{ echo'<option value='$sm'';if ($smena==$sm) {echo'selected';} echo'>Смена №$sm'; //если одно из обязательных полей было пустым (т. е. выдалось сообщение), то выбираем то значение которое было
}
echo'</select></td>
<td>Блок:<font color=red>*</font><br><select name='block'>
<option value='net'>';
for($bl=1;$bl<=3;$bl++) //bl-переменная номера блока
{
echo'<option value='$bl'';if ($block==$bl) {echo'selected';} echo'>Блок №$bl'; //если одно из обязательных полей было пустым (т. е. выдалось сообщение), то выбираем то значение которое было
}
echo'</select></td>
<td>№ ПМТ:<br><input type='text' name='num_pmt' size=6 value='2' readonly style='text-align:right'></td>
<td>Дата:</br><input type='text' id='t1' name='dt_training' size=6 title='Дата проведения занятия' value='';//поле для даты
$s=date('d.m.y'); //ставим сегодняшнюю дату
echo'$s'>
<script for='t1' event='onkeypress'>
<!--
if ( (event.keyCode!=46)
&& (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
<td>Время:<br><input type='text' id='t3' name='tm_training' size=6 title='Время проведения занятия' value=''; //поле для времени
$s='00:00';
echo'$s'>
<script for='t3' event='onkeypress'>
<!--
if ( (event.keyCode!=58)
&& (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
</tr>
</table>
<hr>
<table border='0'>
<tr>
<td>Вид занятия:<font color=red>*</font></td>
<td><select id='s2' name='kind_training'>
<option value='net'> ';//добавляем пустое поле
$rs=ibase_query($db, 'select * from training_kinds');//формируем запрос на вид занятия
while($row=ibase_fetch_object($rs))
{ echo'<option value='$row->ID_KIND''; if ($kind_training==$row->ID_KIND){echo'selected';}//если одно из обязательных полей было пустым (т. е. выдалось сообщение), то выбираем то значение которое было
echo'>$row->NAME';
}
echo'</select></td>
</tr>
<tr>
<td>Тема:<font color=red>*</font></td>
<td><select name='id_theme'><option value='net'> ';
$rs = ibase_query($db, 'select * from themes_pmt where in_work>0 order by name'); //выбираем все темы где ????????????in_work>0????????????
while($row = ibase_fetch_object($rs))
{
$s=$row->NAME;
if (strlen($s)>100) {$s=substr($s,0,97).'...';}//сокращаем тему если ее длина больше 100, добавляем к концу три точки
echo'<option value='$row->ID_THEME''; if ($id_theme==$row->ID_THEME){echo'selected';} echo'>$s';//заносим тему в список
}
echo '</select></td>
</tr>
<tr>
<td>Раздел:</td>
<td><input type='text' name='razdel' size=10 value=''></td>
<tr>
<td>Протокол:</td>
<td><input type='text' name='n_prot' size=10 value=''></td>
</tr>
<tr>
<td>Длительность занятия:</td>
<td><input type='text' id='t2' name='duration' size=3 value='0'>
<script for='t2' event='onkeypress'>
<!--
if ( (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
</tr>
<tr>
<td>Причина проверки:</td>
<td><select name='id_reason'>
<option value=0 selected> ';
$rs = ibase_query($db, 'select * from reasons_pmt order by name');
while($row = ibase_fetch_object($rs))
{
$s=$row->NAME;
if (strlen($s)>100) {$s=substr($s,0,97).'...';}
echo'<option value='$row->ID_REASON'>$s';
}
echo '</select></td></tr>
</table>
<hr>
<input type='submit' name='add_tr' value = 'Добавить'>
</form>';
$red='';
}
//Если была нажата кнопка ДОБАВИТЬ
if($add_tr!='')
{
$dt_training=$dt_training.' '.$tm_training; //запмсываем дату и время тренировки в одну перемнную
//формируем запрос на добавление новой записи о занятии
$query='INSERT INTO TRAININGS_PMT (DT_TRAINING, SMENA, ID_KIND, ID_THEME, DURATION,';
if ($id_reason>0) $query=$query.' ID_REASON,';//если причина есть
$query=$query.' ID_INSTR, BLOCK, NUM_PMT, RAZDEL, N_PROT) VALUES';
$query=$query.' (cast('$dt_training' as timestamp), '$smena', '$kind_training', $id_theme, $duration,';
if ($id_reason>0) $query=$query.' $id_reason,';
$query=$query.' $id_instr, '$block', '$num_pmt', '$razdel', '$n_prot')';
// echo '$query';
$rs = ibase_query($db,$query);
$rs2 = ibase_query($db,'select max(ID_TRAINING) from TRAININGS_PMT');
$row2 = ibase_fetch_object($rs2);
$red = $row2->MAX;//присваиваем параметру red номер последней добавленной строчки (он же мах), чтобы при перезапуске странички сработало условие на редактирование последней добавленной записи.
// echo 'max=$row2->MAX';
}
if($red!='') //с параметром редактирования
{
if($change == 'Изменить') //если нажата кнопка ИЗМЕНИТЬ
{ //формируем запрос на изменение
$dt_training=$dt_training.' '.$tm_training;
$query='UPDATE TRAININGS_PMT SET DT_TRAINING=cast('$dt_training' as timestamp), SMENA='$smena',';
$query=$query.' ID_KIND='$kind_training', ID_THEME=$id_theme, DURATION=$duration,';
if ($id_reason>0) $query=$query.' ID_REASON=$id_reason,';
$query=$query.' ID_INSTR=$id_instr, BLOCK='$block', NUM_PMT='$num_pmt', RAZDEL='$razdel',';
$query=$query.' N_PROT='$n_prot' where ID_TRAINING=$red';
$rs1 = @ibase_query($db, $query) or $er=$php_errormsg;
if ($er!='')
{
$pos = strpos($er,'conversion error');
if ($pos===false)
{ echo 'Ошибка: '$php_errormsg'';}
else
{ echo '<font color='red'><marquee behavior='slide' scrollamount='20'>
Ошибка при вводе даты/времени. Повторите редактирование.</marquee></font>';}
}
}
//если была нажата кнопка УДАЛИТЬ ЗАНЯТИЕ
if($del_tr!='')
{
$query='delete from trainings_pmt where ID_TRAINING=$red';
$rs = ibase_query($db,$query);
echo '</form>';
ibase_close($db);
exit();
}
// если была нажата кнопка Добавить обучаемого
if($add_obuch!='')
{
if ($id_obuch>0)//если поле ФИО заполненно
{ //формируем запрос на добавление сведений для данного занятия по обучаемым в тбл OBUCH_PMT
$query='select id_man from men where tabno=$id_obuch';
$rs = ibase_query($db,$query);
$row = ibase_fetch_object($rs);
$id_man=$row->ID_MAN;
$query='INSERT INTO OBUCH_PMT (ID_TRAINING, ID_MAN, ID_POSTR, ID_POSTT, MARK, BLOCK, SMENA)';
$query=$query.' VALUES ($red, $id_man, $id_postr, $id_postt, '$mark', '$blockp', '$smenap')';
// echo '$query';
$rs = ibase_query($db,$query);
}
else
{ echo '<font color='red'> Вы не выбрали обучаемого. Повторите добавление.</font>';}
}
//если была нажата кнопка Удалить обучающихся
if ($del_obuch!='')
{ //?????????????????????????????????????????????????????
$listb='(0';
for($i=1;$i<=$n_obuchs;$i++)
if (${'id_delobuch'.$i}>0) $listb=$listb.', ${'id_delobuch'.$i}';
$listb=$listb.')';
$query='delete from obuch_pmt where id_training=$red and id_man in $listb';
$rs = ibase_query($db,$query);
}
$query='SELECT * FROM TRAININGS_PMT where id_training=$red';//этим запросом обновляем форму для редактирования занятия
$rs = ibase_query($db,$query);
$row = ibase_fetch_object($rs);
echo '<center><div style='background:grey;color:#FFF;'><b>ИНФОРМАЦИЯ О ЗАНЯТИИ</b></div></center>
<form action='index_tr.php' METHOD='POST'>
<input type='hidden' name='id_user' value='$id_user'>
<table collspacing=10>
<tr>
<td>Инструктор:<br><select name='id_instr'>';
$query='select tab_no, sh_name from instructors order by sh_name';
$rs1 = ibase_query($db, $query);
while($row1 = ibase_fetch_object($rs1))//Выбираем нужного инструктора по занятию
{
echo'<option value='$row1->TAB_NO'';
if ($row->ID_INSTR==$row1->TAB_NO) {echo ' selected';}
echo '>$row1->SH_NAME';
}
echo '</select></td>
<td>Смена:<br><select name='smena' id='inp2'>
<option value='1'';
if ($row->SMENA==1) {echo'selected';}
echo'>Смена №1
<option value='2'';
if ($row->SMENA==2) {echo'selected';}
echo'>Смена №2
<option value='3'';
if ($row->SMENA==3) {echo'selected';}
echo'>Смена №3
</select>
</td>
<td>Блок:<br><select name='block'>
<option value='1'';
if ($row->BLOCK==1) {echo'selected';}
echo'>Блок №1
<option value='2'';
if ($row->BLOCK==2) {echo'selected';}
echo'>Блок №2
<option value='3'';
if ($row->BLOCK==3) {echo'selected';}
echo'>Блок №3
</select></td>
<td>№ ПМТ:<br><input type='text' name='num_pmt' size=10 value='$row->NUM_PMT'></td>
<td>Дата:<br><input type='text' name='dt_training' id='t2' size=6 value='';
$s=substr($row->DT_TRAINING,8,2).'.'.substr($row->DT_TRAINING,5,2).'.'.substr($row->DT_TRAINING,2,2);
echo'$s'>
<script for='t2' event='onkeypress'>
<!--
if ( (event.keyCode!=46)
&& (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
<td>Время:<br><input type='text' id='t6' name='tm_training' size=6 value='';
$s=substr($row->DT_TRAINING,11,5);
echo'$s'>
<script for='t6' event='onkeypress'>
<!--
if ( (event.keyCode!=58)
&& (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
</tr>
</table>
<hr>
<table width=100%>
<tr>
<td width='10%'>Вид занятия:</td>
<td><select id='s2' name='kind_training'>
<option value='1'';
if ($row->ID_KIND=='1') {echo ' selected';}
echo '>Сменное оценочное
<option value='2'';
if ($row->ID_KIND=='2') {echo ' selected';}
echo '>Сменное учебное
<option value='3'';
if ($row->ID_KIND=='3') {echo ' selected';}
echo '>Индивидуальное оценочное
<option value='4'';
if ($row->ID_KIND=='4') {echo ' selected';}
echo '>Индивидуальное учебное
</select></td>
</tr>
<tr>
<td>Тема:</td>
<td colspan=9><select name='id_theme'>';
$rs1 = ibase_query($db, 'select * from themes_pmt where in_work>0 order by name');
while($row1 = ibase_fetch_object($rs1))
{
$s=$row1->NAME;
if (strlen($s)>80) {$s=substr($s,0,77).'...';}
echo'<option value='$row1->ID_THEME'';
if ($row->ID_THEME==$row1->ID_THEME) {echo ' selected';}
echo '>$s';
}
echo '</select></td>
</tr>
<tr>
<td>Раздел:</td>
<td><input type='text' name='razdel' size=10 value='$row->RAZDEL'></td>
</tr>
<tr>
<td>Протокол:</td>
<td><input type='text' name='n_prot' size=10 value='$row->N_PROT'></td>
</tr>
<tr>
<td>Длительность занятия:</td>
<td><input type='text' name='duration' id='t3' size=3 value='$row->DURATION'>
<script for='t3' event='onkeypress'>
<!--
if ( (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
</tr>
<tr>
<td>Причина проверки:</td>
<td><select name='id_reason'>
<option value=-1> ';
$rs1 = ibase_query($db, 'select * from reasons_pmt order by name');
while($row1 = ibase_fetch_object($rs1))
{
$s=$row1->NAME;
if (strlen($s)>80) {$s=substr($s,0,77).'...';}
echo'<option value='$row1->ID_REASON'';
if ($row->ID_REASON==$row1->ID_REASON) {echo ' selected';}
echo '>$s';
}
echo '</select></td></tr>
<tr>
<td valign=top>Список обучаемых:</td>
<td>
<table border='0' cellpadding='2' cellspacing='0' width=100%>
<tr style='background:grey;padding-left:20px;' align=left>
<th width=1%></th>
<th>№ п/п</th>
<th>Таб №</th>
<th>Ф.И.О.</th>
<th>Должность</th>
<th>Раб. место</th>
<th>Блок</th>
<th>Смена</th>
<th>Оценка</th>
</tr>';
$query='select o.id_man, m.fio, m.tabno, p1.name as postr, p2.name as postt, o.mark,';
$query=$query.' p2.sort_pmt, o.block, o.smena';
$query=$query.' from obuch_pmt o, men m, posts p1, posts p2 where';
$query=$query.' o.id_training=$red and o.id_man=m.id_man';
$query=$query.' and o.id_postr=p1.id_post and o.id_postt=p2.id_post order by 7, 2';
$rs1 = ibase_query($db, $query);
$i=0;
while($row1 = ibase_fetch_object($rs1))
{
$i++;
echo '<tr>
<td><input type='checkbox' name='id_delobuch$i' value='$row1->ID_MAN'></td>
<td>$i</td>
<td>$row1->TABNO</td>
<td>$row1->FIO</td>
<td>$row1->POSTR</td>
<td>$row1->POSTT</td>
<td>$row1->BLOCK</td>
<td>$row1->SMENA</td>
<td>$row1->MARK</td>
</tr>';
}
echo '</table><br><input type='submit' name='del_obuch' value = 'Удалить отмеченных'></td></tr></table><hr>';
if ($role==1)//если Техник по документации, то формируем рамку на добавление
{
echo '<fieldset><legend><b>Добавить обучаемых</b></legend>
<h5>Для добавления обучаемого нужно выбрать его в списке 'Ф.И.О.' или набрать
его таб. № в поле 'Поиск по таб. №' и нажать клавишу 'Enter'. Если такой
человек есть в списке обучаемых, то его имя появится в поле 'Ф.И.О.'</h5>
<table>
<tr>
<td>Поиск по таб.№:</td> ';
echo'<td><input type='text' id='t1' name='tabno' size=10 value=''>
<script for='t1' event='onkeypress'>
<!--
if (event.keyCode==13)
{
for (var i=0; i<s1.length; i++)
{
if (s1.options[i].value==t1.value)
{
s1.selectedIndex=i;
SetPost(t1.value);
var obj1=document.getElementById('but1');
obj1.focus();
}
}
event.returnValue=false;
}
if ( (event.keyCode!=8)
&& (event.keyCode<48 || event.keyCode>57))
{
event.returnValue=false;
}
//-->
</script></td>
</tr>
<tr>
<td>Ф.И.О.:</td>
<td><select name='id_obuch' id='s1' onChange=SetPost(this.value) onMouseOver=Obnul() onKeyPress=Poisk()>';
$query='select m.tabno, m.fio, m.id_post, p.name from men m, posts p';
$query=$query.' where m.id_post=p.id_post order by fio';
$rs1 = ibase_query($db, $query);
echo'<option value='-1'>';
while($row1 = ibase_fetch_object($rs1))
{
echo'<option value='$row1->TABNO'>$row1->FIO';
}
echo '</select>
</tr>
<tr>
<td>Должность:</td>
<td><select id='sel1' name='id_postr'>';
$query='select id_post, name from posts order by name';
$rs1 = ibase_query($db, $query);
echo'<option value='-1'>';
while($row1 = ibase_fetch_object($rs1))
{
echo'<option value='$row1->ID_POST'>$row1->NAME';
}
echo '</select></td>
</tr>
<tr>
<td>Рабочее место:</td>
<td><select id='sel2' name='id_postt'>';
$query='select id_post, name from posts order by name';
$rs1 = ibase_query($db, $query);
echo'<option value='-1'>';
while($row1 = ibase_fetch_object($rs1))
{
echo'<option value='$row1->ID_POST'>$row1->NAME';
}
echo '</select></td>
</tr>
<tr>
<td>Смена:</td>
<td><input type='text' name='smenap' size=10 value='' id='inp3'></td>
<tr>
<td>Блок:</td>
<td><input type='text' name='blockp' size=10 value='' id='inp1'></td>
</tr>
<tr>
<td>Оценка:</td>
<td><select name='mark'>
<option>зачет
<option>не зачет
</select></td>
</tr>
<tr><br><input type='hidden' name='n_obuchs' value = '$i'>
<td><input type='submit' name='add_obuch' value = 'Добавить обучаемого' id='but1'></td></tr>
</table>
</fieldset>';
}
echo'<input type='hidden' name='red' value = '$red'>';
if ($role==1)
{ //формируем кнопки ИЗМЕНИТЬ и УДАЛИТЬ для Техника по документации
echo '<br><input type='submit' name='change' value = 'Изменить'></form>
<form action='conf_del_tr.php' METHOD='POST'>
<input name='del_tr' type='submit' value='Удалить занятие'>
<input type='hidden' name='red' value = '$red'>
<input type='hidden' name='id_user' value = '$id_user'>';
}
//кнопка ПОКАЗАТЬ В ВИДЕ ОТЧЕТА доступна всем. при нажатии запускает rep_tr_all.php?red=$red в новом окне
echo '<input type='button' id='b5' value='Показать в виде отчета'>
<script for='b5' event='onclick'>
<!--
window.open('rep_tr_all.php?red=$red', false, 'width=670, left=30, top=30, menubar=1, height=550, resizable=no, scrollbars=yes');
//-->
</script>';
}
ibase_close($db);
?>
</body>
</html>