Создание программного приложения "Автоматизированное рабочее место подготовки отчетов" Федеральной автоматизированной информационной системы учета и контроля ядерных материалов Российской Федерации

Учет, контроль и физическая защита ядерных материалов. Анализ принципов построения и содержания Федеральной Информационной системы учета и контроля ядерных материалов. Проектирование и разработка автоматизированного рабочего места подготовки отчетов.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 05.12.2013
Размер файла 5,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Системы управления базами данных (СУБД) - это программные средства, предназначенные для создания, наполнения, обновления и удаления баз данных.

В зависимости от расположения различают локальные и распределенные (удаленные) СУБД.

Все части локальной СУБД размещаются на компьютере пользователя базы данных. Локальный вариант реально может обеспечить лишь однопользовательский режим доступа к данным.

Локальные СУБД не содержат специальных приложений и сервисов, управляющих данными, а используют для этой цели файловые сервисы операционной системы, вся реальная обработка данных в таких СУБД осуществляется в клиентском приложении, и любые библиотеки доступа к данным в этом случае также находятся в адресном пространстве клиентского приложения. Поэтому при выполнении запросов данные, на основании которых выполняется такой запрос (это может быть одна или несколько таблиц целиком либо, если повезет, один или несколько индексов и выбранные с их помощью части таблиц), должны быть доставлены в то же самое адресное пространство клиентского приложения. Это и приводит к перегрузке сети при увеличении числа пользователей и объема данных, а также грозит иными неприятными последствиями, например разрушением индексов и таблиц. Недаром до сих пор столь популярны утилиты для «ремонта» испорченных файлов локальных СУБД.

Известно много случаев, когда для решения подобных проблем закупалось дорогое сетевое оборудование с целью увеличения пропускной способности сети, а также применялись иные «ухищрения» наподобие хранения метаданных или наиболее часто используемых данных в клиентских приложениях или просто на локальных жестких дисках. Нередко также применялся подход, приводящий к децентрализации хранения данных. Типичный пример подобного подхода -- создание нескольких однотипных локальных баз данных, например для различных подразделений компании или для разных временных периодов (лет, кварталов, месяцев), что облегчало работу, связанную с вводом данных, но повышало стоимость их статистической обработки и анализа -- в этом случае нужно было обрабатывать данные из разных источников. Однако все эти меры позволяли лишь отложить на время решение проблемы снижения производительности, но не устраняли главного недостатка информационных систем, основанных на локальных СУБД, -- обработки данных в клиентском приложении.

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

Принцип централизации хранения и обработки данных является базовым принципом архитектуры «клиент-сервер». Для его реализации используется так называемый сервер баз данных, выполненный как приложение или сервис операционной системы, и только он может реально манипулировать файлами, в которых хранятся данные, -- для клиентских приложений эти файлы абсолютно бесполезны (и, при правильной организации доступа пользователей к файлам в сети, вообще не должны быть доступны).

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

Основными его обязанностями являются:

выполнение пользовательских запросов на выбор и модификацию данных и метаданных, получаемых от клиентских приложений, функционирующих на персональных компьютерах локальной сети;

· хранение и резервное копирование данных;

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

· обеспечение авторизованного доступа к данным на основе проверки прав и привилегий пользователей;

· протоколирование операций и ведение журнала транзакций.

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

Иными словами, в простейшем случае клиент-серверная информационная система состоит из двух основных компонентов:

· сервера баз данных, управляющего данными и выполняющего запросы клиентских приложений;

· клиентских приложений, предоставляющих интерфейс пользователя и посылающих запросы к серверу.

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

Преимущества архитектуры «клиент-сервер»

Информационные системы, использующие архитектуру «клиент-сервер», обладают серьезными преимуществами по сравнению с их аналогами, созданными на основе сетевых версий локальных СУБД. Ниже будут рассмотрены наиболее важные из них.

Одним из важнейших преимуществ архитектуры «клиент-сервер» является снижение сетевого трафика при выполнении запросов. Hапример, при необходимости выбора пяти записей из таблицы, содержащей миллион записей, клиентское приложение посылает серверу запрос, который сервером анализируется на корректность и, если запрос корректен, компилируется, оптимизируется и выполняется. После этого результат запроса (те самые пять записей, а вовсе не вся таблица) передается обратно клиенту. При этом, формулируя запрос, можно не задумываться о том, есть ли в базе данных индексы, способные облегчить поиск нужных записей, -- если они есть, то они будут использованы сервером, а если нет,запрос все равно будет выполнен, хотя, возможно, это займет больше времени, чем при использовании индексов. Но в любом случае -- есть индексы или нет -- в клиентское приложение передается только результат запроса, и в этом случае сетевой трафик не зависит ни от их наличия, ни от числа записей в таблицах, к которым произведен запрос.

Вторым преимуществом архитектуры «клиент-сервер» является возможность хранения бизнес-правил (например, правил ссылочной целостности или ограничений на значения данных) на сервере, что позволяет избежать дублирования кода в различных клиентских приложениях, использующих общую базу данных. Кроме того, в этом случае любое редактирование данных, в том числе и редактирование средствами, не предусмотренными разработчиками информационной системы (например, различными утилитами администрирования сервера), может быть произведено только с учетом этих правил. Если последние версии некоторых локальных СУБД и способны хранить ограничения на значения данных либо тексты SQL-запросов, триггеры и хранимые процедуры в них, как правило, отсутствуют -- их просто некому выполнять.

Для описания серверных бизнес-правил в наиболее типичных ситуациях (например, при реализации связей master/detail) нередко используются так называемые CASE-средства (CASE означает Computer-Aided System Engineering) для создания диаграмм «сущность-связь». Эти инструменты позволяют описать подобные правила на уровне логической и физической моделей данных без какого бы то ни было программирования, а затем сгенерировать код соответствующих серверных объектов -- триггеров, хранимых процедур, серверных ограничений. В этом случае клиентские приложения будут избавлены от значительной части кода, связанного с реализацией бизнес-правил непосредственно в приложении. Отметим также, что часть кода, связанного с обработкой данных, также может быть реализована в виде хранимых процедур сервера, что позволяет еще больше «облегчить» клиентское приложение, а это означает, что требования к рабочим станциям могут быть не столь высоки. Это в конечном итоге снижает стоимость информационной системы даже при использовании дорогостоящих серверной СУБД и аппаратного обеспечения.

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

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

2.4 Выбор БД для создания информационной модели

В архитектуре клиент-сервер используются промышленные серверы данных типа Oracle, MS SQL Server, Informix, Sybase, InterBase и ряд других Серверы Oracle, Informix, Sybase управляют базами данных объемом десятки и сотни гигабайт. Для управления меньшими корпоративными базами данных используют MS SQL Server и InterBase. Каждый тип сервера работает на собственном диалекте языка, который более или менее соответствует стандарту ANSI 92. Серверы Oracle и InterBase имеют некоторые дополнения. А диалекты серверов Sybase и MS SQL отличаются от стандарта довольно сильно. Сейчас Oracle и Microsoft SQL Server, разработанные лидерами мирового рынка программного обеспечения, сегодня являются одними из наиболее широко используемых СУБД.

Некоторые важные особенности Oracle и SQL Server

Рассмотрим некоторые особенности СУБД обеих фирм, которые, наиболее важны при принятии решения о том, какую из СУБД выбрать.

Поддержка различных платформ

Одним из главных событий, определивших дальнейшую судьбу Microsoft SQL Server, стало решение Microsoft сосредоточить усилия исключительно на поддержке только платформы Windows NT. Можно найти немало аргументов, подтверждающих как правильность, так и ошибочность такого решения. В результате его принятия популярность SQL Server определяется в первую очередь популярностью платформы, которую он поддерживает, в данный момент - Windows 2000 и ее будущих потомков. Эта СУБД настолько связана с операционной системой, что ее надежность, масштабируемость и производительность определяются надежностью, масштабируемостью и производительностью самой платформы, и положение SQL Server на рынке будет зависеть от выпуска новых версий Windows

Подход Oracle к поддержке различных операционных систем радикально отличается от подхода Microsoft - СУБД этой фирмы существуют для огромного количества платформ. Хотя поддержка большого количества платформ (а не нескольких наиболее прибыльных, как это характерно для других производителей СУБД) требует немалых вложений, переход к широкому применению Java, который сейчас происходит в Oracle, позволяет существенно сократить затраты на разработку и поддержку продуктов.

Настольные и однопользовательские версии

Чем шире используются распределенные вычисления, тем более важной оказывается возможность хранить данные где угодно, в частности на рабочей станции или переносном компьютере. Несмотря на утверждения некоторых аналитиков о том, что в эпоху Интернет-приложений настольные СУБД уже не нужны, они по-прежнему широко применяются во всех областях бизнеса.

И Oracle, и Microsoft многое делают для поддержки настольных версий своих СУБД или применения их в указанном режиме. SQL Server можно применять на любых Intel-совместимых компьютерах под управлением Windows 9x, Windows NT, Windows 2000, но SQL Server более не поддерживает компьютеры на базе процессора Alpha (видимо, ввиду ухудшения отношений между Microsoft и Digital Equipment Corporation). Имеется также версия SQL Server 2000 для Windows CE, предназначенная для применения в мобильных устройствах.

Microsoft Data Engine (MSDE) - это продукт фирмы Microsoft, специально предназначенный для настольных приложений. Эта СУБД по существу представляет собой ограниченный вариант SQL Server, который можно применять в Windows 9x, NT, Windows 2000 и администрировать с помощью Microsoft Access. Подобно Access на рынке MSDE позиционируется как однопользовательская СУБД. Отметим также, что Microsoft встроила в этот продукт специальные средства, снижающие его производительность при попытке одновременной работы с ним более пяти пользователей.

Среди продуктов Oracle также имеются две СУБД, позиционируемые в качестве настольных. Продукт Personal Oracle, известный уже много лет, представляет собой однопользовательскую, но полнофункциональную версию Oracle, требующую некоторых навыков администрирования при ее применении. Вторая настольная СУБД этой компании, Oracle Lite, может применяться в качестве однопользовательской СУБД на обычных рабочих станциях, но в действительности она предназначена для применения в мобильных устройствах. В отличие от других СУБД этот продукт поддерживает только язык Java, но не поддерживает PL/SQL (язык, на котором создается серверный код в других СУБД Oracle).

Полная стоимость владения

Когда IT-менеджеры и руководители компаний сравнивают те или иные программные продукты, их всегда интересует такая важная характеристика, как полная стоимость владения (total cost of ownership, TCO). Полная стоимость владения включает не только стоимость приобретения самого продукта и необходимого для его эксплуатации аппаратного обеспечения, но и стоимость сопровождения, технической поддержки, обучения пользователей и технического персонала.

Взгляды Oracle и Microsoft на пути снижения полной стоимости владения их СУБД существенно различаются. Oracle рассматривает этот вопрос с позиции надежности продукта, в то время как Microsoft - с позиции цен на отдельные продукты, дополнительные утилиты, сервисы и услуги. Цена на продукты Oracle обычно намного превышает цены на аналогичные продукты Microsoft, особенно с учетом того, что в составе Microsoft SQL Server имеются утилиты и сервисы, которые при выборе Oracle следует приобретать отдельно (и, разумеется, за дополнительную плату). Считается, что надежность СУБД Oracle может быть выше, нежели надежность SQL Server, особенно при эксплуатации Oracle под управлением операционной системы с высокой надежностью и отказоустойчивостью. На практике вычислить полную стоимость владения тем и другим продуктом можно, только сведения о том, что представляет собой конкретное предприятие, в чем заключается его деятельность и какова его инфраструктура, то есть необходимо всесторонне рассмотреть использование продукта в контексте проекта, в котором он будет применяться.

Инструменты и утилиты

Одним из преимуществ SQL Server является простота его применения, в частности администрирования. SQL Server Enterprise Manager, входящий в состав всех редакций Microsoft SQL Server (за исключением MSDE), представляет собой полнофункциональное и достаточно простое средство для администрирования этой СУБД. Oracle Enterprise Manager во многих отношениях превосходит SQL Server Enterprise Manager по своим возможностям, однако процесс его установки довольно сложен, к тому же, что более существенно, он входит в состав далеко не всех редакций СУБД Oracle, а некоторые его компоненты можно приобрести только как отдельные продукты. Эта ситуация несколько улучшилась с появлением одной из последних версий Oracle Enterprise Manager - DBA Studio для Oracle8i Release 2, то есть версий 8.1.6 и 8.1.7).

Административные утилиты и другие инструменты для ранних версий Oracle обычно производились независимыми компаниями (выпускались как дорогие продукты, так и бесплатные), а основные усилия самой корпорации Oracle были сосредоточены на разработке самой СУБД. Однако сейчас ситуация существенно изменилась, и в настоящее время Oracle поставляет на рынок немалое количество разнообразных инструментов, среди которых помимо средств администрирования имеются средства разработки приложений, проектирования данных, моделирования бизнес-процессов, серверы приложений, корпоративный портал. Впрочем, и в арсенале Microsoft также имеются многие из подобных продуктов, правда, не все они позиционируются как таковые (например, Microsoft Visio Enterprise, обладающий функциональностью средства моделирования бизнес-процессов и проектирования данных, но позиционируемый как средство создания диаграмм).

Производительность

Трудно ответить на вопрос, какая из СУБД обрабатывает запросы быстрее, - слишком многое здесь зависит от того, на каком оборудовании производится тестирование, каков состав выполняемых запросов. По данным Transaction Processing Performance Council (TPC), SQL Server сейчас является рекордсменом по производительности, однако и Oracle стабильно входит в пятерку лидеров. Отметим, однако, что подобного рода тесты не могут дать однозначного ответа на вопрос, какая из СУБД будет производительнее при решении конкретной задачи: в одних случаях производительность СУБД Oracle превосходит производительность SQL Server, а в других наоборот. Реально проверить это можно только с помощью тестирования, основанного на запросах, типичных именно для конкретной задачи.

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

На основе проведенного исследования и основываясь на требованиях заказчика для разработки программы по автоматизации Федеральной Информационной Системы Учета и Контроля Ядерных Материалов Российской Федерации (ФИС УиК ЯМ РФ) была выбрана СУБД Oracle 8i. Решающую роль при выборе версии СУБД сыграло то, что только Oracle8i аттестован по необходимому классу безопасности. В дальнейшем, после аттестации безопасности предполагается перевод системы на базу Oracle 10g

Клиентская часть была разработана с помощью средств проектирования Oracle Forms Developer 6 и Oracle Reports Developer 6.

Oracle Forms

Forms Developer - средство быстрой разработки приложений. Forms Developer позволяет создавать приложения, состоящие из экранных форм, отчетов и деловой графики, основанных на информации, хранящейся в базах данных или других источниках. Обычно в больших организациях парк вычислительной техники довольно разнообразен: от Unix-серверов и рабочих станций до персональных компьютеров под управлением MS Windows и MAC OS. С помощью Forms Developer разработка и развертывание приложений возможно на разных платформах. Приложение, созданное на персональном компьютере, без изменений может быть перенесено и запущено, например, на рабочей станции под управлением ОС АIХ. Среда разработки Forms Developer имеет одинаковый интерфейс в системах под управлением Unix и Windows - разработчику не придется переучиваться. Forms Developer снабжен большим числом "мастеров", контекстных подсказок и множеством примеров. Пользователь избавлен от необходимости написания большого количества кода, так как все операции по работе с БД автоматизированы. Тесная интеграция с БД Oracle дает возможность разработчикам использовать внутренние механизмы сервера для увеличения производительности создаваемых приложений. Применяемый язык программирования - PL/SQL - является процедурным расширением языка SQL-стандарта для работы с реляционными БД. Использование одного языка программирования дает возможность распределять логику приложения, что обеспечивает лучшую балансировку нагрузки и уменьшает сетевой трафик.

Oraclе предлагает уникальное решение для переноса готовых приложений, реализованных на Forms Developer, в Web-архитектуру. Схема работы приложения в этой архитектуре предельно проста: приложение размещается на сервере приложений, где установлен модуль Oracle AS Forms Services, и при запуске приложения графический интерфейс преобразуется в набор Java-апплетов, которые пересылаются на клиентский компьютер. Пользователь работает с приложением через Web-навигатор, и ему не нужно устанавливать какую-либо клиентскую часть на каждом рабочем месте, достаточно только навигатора с поддержкой виртуальной Java-машины. Если некоторые компоненты системы используют стандарт JavaBean или BC4J, то разработчик может обращаться к этим компонентам напрямую из создаваемого приложения.

При применении Oracle AS Forms Services приложение выполняется на сервере приложений, и за счет этого достигается его высокая масштабируемость - администрирование сервера приложений намного проще и дешевле, чем множества клиентских компьютеров. Пользователи работают с приложением по стандартному сетевому протоколу - HTTP(S). Следует отметить важное качество данной архитектуры, существенно повышающее производительность всей системы: Oracle AS Forms Services автоматически распределяет нагрузку на все серверы приложений, работающие в системе. При запуске клиентской части приложения пользователь обращается к серверу приложений, если в этот момент времени сервер имеет нагрузку, близкую к максимальной, пользовательский запрос автоматически переадресуется на другой, менее загруженный сервер приложений. Проблема управления такой довольно сложной архитектурой решается с помощью OEM, в его состав входят компоненты для администрирования всех серверов приложений и баз данных Oracle. При разработке сложных приложений правильным решением будет использование связки: Oracle Designer, Oracle Forms Developer и Oracle Reports Developer, а для развертывания разработанного приложения - Oracle AS Forms Services и Oracle AS Reports Services.

Oracle Reports

Oracle Reports - это гибкое визуальное средство разработки и получения отчетов. Reports Developer предоставляет коллективу разработчиков среду, в которой можно получить и обработать данные, спроектировать внешний вид отчетных документов. Визуальное проектирование и генерация отчетов могут вестись на разных программных платформах. Пользователи получают результат работы Reports либо в печатном виде, либо в виде электронных файлов стандартного формата HTML, PDF, RTF или XML, доставленных по электронной почте или записанных на файл-сервер. В оперативном режиме доступ пользователей к отчетам может быть организован через Web во внутренней или внешней сети. В этом случае достаточно обычного навигатора, чтобы получить готовый или сгенерированный "на лету" отчет. Отчеты также могут формироваться при возникновении какого-либо, заранее определенного события, например, поступления новой информации в базу данных.

Reports применяет технологию JSP (Java Server Pages) для представления информации в удобном для пользователей виде. Ссылку на созданный отчет можно разместить на любой Web-странице. Важно отметить, что Reports Developer не требует от разработчиков применения нескольких подходов для проектирования отчетов, выполняемых в различных средах. Единожды созданный отчет будет выполняться на большинстве платформ, а его выходная форма представлена в разных форматах - от текстовых файлов до динамических Web-страниц. Если несколько пользователей запрашивают одни и те же данные практически одновременно, то отчеты не создаются при каждом обращении снова. Пользователям выдается копия первого отчета из буфера на сервере приложений. В соответствии с традициями средств разработки Oracle, Reports Developer тесно интегрирован с Oracle Database, использует одинаковые с ним языки разработки. В тоже время Reports позволяет получать данные из сервера аналитической обработки данных Express Server, a также из других информационных источников - из плоских файлов или через стандартные интерфейсы (ODBC и JDBC).

2.5 Общие правила работы с экранными формами

Доступ к таблицам БД ФИС осуществляется через экранные формы. Выбор той или иной экранной формы производится с помощью соответствующих пунктов Главного меню. Вызов экранных форм справочников организован так, что при открытии какого-либо справочника остается доступным Главное меню приложения, поэтому одновременно можно открыть несколько справочников (рис. 3). В этом случае переключение между окнами производится традиционными способами:

- или щелчком мыши в поле нужного окна;

- или через пункт Главного меню “Window”, выбрав из списка открытых справочников интересующий.

Панель инструментов

Под строкой Главного меню расположена панель инструментов-пиктограмм (кнопок), с помощью которой можно осуществлять ввод, просмотр, изменение или удаление данных в базе данных (Рис.3).

Рис. 3

Кнопка

Назначение

1

Save

Сохранение данных.

2

Print

Вывод на печать содержимого окна.

3

Clear Form

Очистить экранную форму.

4

Find

Поиск нужной записи или группы записей.

5

Insert

Вставить пустую строку для ввода новой записи.

6

Remove

Удалить запись, на которой стоит курсор из базы данных.

7

Clear Record

Очистить запись (удалить) с экрана.

8

Help

Вывести на экран справочную информацию.

9

Предыдущий

блок

Перейти к предыдущему блоку данных

10

Следующий блок

Перейти к следующему блоку данных

11

Предыдущий

блок

Перейти к предыдущему блоку данных

12

Следующий блок

Перейти к следующему блоку данных

13

На предыдущую запись

Перейти к предыдущей записи текущего блока

14

На следующую запись

Перейти к следующей записи текущего блока

15

Отчет

Формирование отчета по текущей экранной форме

Ввод данных

Окно экранной формы содержит поля для ввода данных и краткое название этих полей. Место ввода отмечается курсором. Перемещать курсор по тексту можно с помощью клавиш управления или мышью. Переход к следующему полю осуществляется с помощью клавиши «ТАВ».

Внизу экрана на рисунке 5.1 видна “подсказка” - описание колонки, в которой находится курсор в данный момент:

Значение кода, описывающего физическую форму ядерного материала.

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

“Обязательное” поле

При вводе данных система проверяет, является ли поле обязательным для заполнения или может быть пропущено. Если при проектировании поле было определено как “обязательное”, пользователю не удастся обойти его при заполнении. Появится сообщение о том, что данные в поле должны быть введены:

Field must be entered.

Список возможных значений

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

Список раскроется в виде еще одного окна (рис. 4).

На этом экране приведен пример выбора значений поля “Физ. код” из справочника Коды физической формы при заполнении справочника допустимых комбинаций кодов описания материала. Для облегчения выбора, перечень кодов физической формы дается вместе с описанием этих кодов и датами начала и окончания действия кодов.

Рис. 4

Рис.5

Закрытие экранной формы.

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

Нажатием правой пиктограммы в заголовке окна ;

Нажатием левой пиктограммы в заголовке окна, после чего раскрывается подменю среди пунктов которого есть и пункт “Закрыть” (рис. 5).

3. Разработка и программная реализация АРМ Подготовки Отчетов

Приложение АРМ ПОДГОТОВКИ ОТЧЕТОВ предназначено для автоматизации процесса подготовки отчетов организаций по универсальной схеме.

Разработанный АРМ обеспечивает генерацию отчетов СНК ЗО и ОИК ЗО как в виде, установленном для бумажной формы представления документа, так и в обменном формате для передачи отчетов на машинном носителе или по каналам связи в ИАЦ ФИС.

Главной задачей ПО АРМ является облегчение процесса документооборота между отчетными организациями и информационно-аналитическим центром системы государственного учета и контроля ядерных материалов.

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

Весь комплекс АРМ состоит из трех логически раздельных блоков - базы данных, программы подготовки отчетов - оболочки и системы синтаксического контроля данных.

База данных хранит всю необходимую информацию для ведения учета ядерных материалов.

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

* Общие сведения об организации;

* Сведения о зонах отчетности организации ;

* Сведения об имеющихся в зонах отчетности ядерных материалах ;

* Сведения об организациях-партнерах .

Так же в соответствии с нормативными документами Росатома, все организации РФ, имеющие в обращении ЯМ, подлежащий учету в системе СГУК ЯМ, отчитываются по зонам отчетности по следующим формам:

* Список наличного количества ЯМ в зоне отчетности организации (СНК ЗО);

* Отчет об изменении инвентарного количества ЯМ в зоне отчетности организации (ОИК ЗО).

3.1 Описание таблиц БД, с которыми работает программа

учет контроль ядерный автоматизированный

АРМ Подготовки отчетов - клиентское приложение работающие с БД ФИС.

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

При разработке, лучше руководствоваться следующими основными принципами:

· Информация в таблицах не должна дублироваться. Когда определённая информация хранится только в одном месте, то нет необходимости в синхронизации этих данных, и обеспечит эффективность, и исключит возможность не совпадения.

· Каждая таблица должна содержать информацию только на одну тему, в этом случае данные намного легче обрабатывать, если они содержаться в разных таблицах.

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

AC_BATCH - Содержит характеристики учетной партии (наименование партии, количество учетных единиц, общий вес материала и др).

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

Column

Nulls

Type

OID

NOT NULL

NUMBER (9)

OWN_ORG_OID

NULL

NUMBER (9, 0)

CD_PRG_OID

NULL

NUMBER (9, 0)

MTL_KIND_OID

NULL

NUMBER (9, 0)

BATCH_NM

NOT NULL

VARCHAR2 (120)

MTL_MASS

NULL

NUMBER (20, 5)

INV_OID

NOT NULL

NUMBER (9)

ALW_COMB_OID

NULL

NUMBER (9)

PHYS_FORM_OID

NULL

NUMBER (9)

CHEM_FORM_OID

NULL

NUMBER (9)

IRRAD_PUR_OID

NULL

NUMBER (9)

PKG_TYP_OID

NULL

NUMBER (9)

ENRICHMNT

NULL

NUMBER (6, 3)

Primary Key

Name Column

BAT_PK OID

AC_MTL - Строка инвентарного отчета описывает материал подлежащий учету (тип материала, массу элемента, массу изотопа) .

CD_CHEM_FORM

Коды химической формы материала-часть кода описания материала.

Данные используются для проверки правильности заполнения отчётов по ЗБМ и генерации выходных отчетов.

CD_ELEM

Код учитываемого элемента ЯМ

CD_IRRAD_PUR

Составная часть кода описания материала, определяющая степень чистоты (1символ) и статус облучения материала (1символ).

Данные используются для проверки правильности заполнения отчётов по ЗБМ и генерации выходных отчетов.

CD_ISOT

Код учитываемого изотопа ЯМ

CD_PHYS_FORM

Коды физической формы материала-часть кода описания материала.

Данные используются для проверки правильности заполнения отчётов по ЗБМ и генерации выходных отчетов.

CD_PRG

Код Федеральной программы

CLSF_CODE

Код секретности описывает степень секретности данных и определяется федеральными требованиями. Это может быть: НС, С, СС и т.д.

ICR

Содержит основные характеристики события инвентарного

изменения материала:

- дату и время инвентарного изменения материала в ЗБМ,

- дату и время корректировки ОИК.

Ссылки на:

- код ЗБМ,

- тип изменения,

- отчетный период,

- передачу,

- регистратор ОИК поЗБМ.

MBA

Зона баланса материала (ЗБМ) - участок на предприятии с четко определенными границами, предназначенный для учета ЯМ с целью определения мест его нахождения и количества ядерного материала на объекте.

MTL_KIND

Код вида учетного ядерного материала. Вид учетного ЯМ определяет:

- ядерные материалы, обладающие одинаковым или близким изотопным составом;

- смеси различных типов ЯМ.

MTL_TYP

Код типа учетного ядерного материала, его описание и характеристики.

Кодификатор типа материала содержит: код группы типа материала, учетное количество ЯМ, наименования элемента и изотопа, единицы измерения.

Column

Nulls

Type

OID

NOT NULL

NUMBER (9)

MTL_TYP_GRP_OID

NOT NULL

NUMBER (9)

MTL_KIND_OID

NULL

NUMBER (9, 0)

CD_ELEM_OID

NULL

NUMBER (9, 0)

CD_ISOT_OID

NULL

NUMBER (9, 0)

CODE

NOT NULL

VARCHAR2 (2)

DESCR

NOT NULL

VARCHAR2 (250)

ELEM_NM

NULL

VARCHAR2 (20)

ELEM_UNIT

NULL

VARCHAR2 (3)

ISOT_NM

NULL

VARCHAR2 (20)

ISOT_UNIT

NULL

VARCHAR2 (3)

FACTOR

NULL

NUMBER (6)

START_DT

NOT NULL

DATE

END_DT

NULL

DATE

Primary Key

Name Column

MT_PK OID

NOMEN

Перечень материалов, включенных в Государственный Регистр ЯМ

ORG

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

Column

Nulls

Type

OID

NOT NULL

NUMBER (9)

MNG_ORG_OID

NULL

NUMBER (9)

IMPL_DEP_OID

NULL

NUMBER (9)

ORG_TYP_OID

NOT NULL

NUMBER (9)

FED_CODE

NOT NULL

VARCHAR2 (12)

FULL_NM

NOT NULL

VARCHAR2 (400)

SHORT_NM

NOT NULL

VARCHAR2 (50)

RPT_STAT_OID

NULL

NUMBER (9)

POST_INDEX

NULL

VARCHAR2 (6)

CITY

NULL

VARCHAR2 (60)

REGION

NULL

VARCHAR2 (240)

STREET

NULL

VARCHAR2 (40)

BUILD

NULL

VARCHAR2 (30)

START_DT

NOT NULL

DATE

END_DT

NULL

DATE

Primary Key

Name Column

ORG_PK OID

PRD

Содержит информацию об установленных в ФИС отчетных периодах для ЗБМ. Отчетный период определяет дату отчетности каждой ЗБМ по учетным материалам.

3.2 Парсер - программа синтаксического контроля данных

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

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

При обнаружении ошибок на этапе синтаксического контроля отчетного файла организации, обработка отчета прекращается и для организации генерируется сообщение ФИС об ошибке формата обменного файла.

В ФИС для представления отчетных данных СНК ЗО и ОИК ЗО используется формат языка XML - well formed XML.

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

Начальная метка имеет форму<Имя>, конечная метка форму</Имя>.

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

Конструкция<Имя>содержание элемента</Имя>применяется как к отдельным данным, так и к блокам данных, которые могут содержать отдельные данные и другие блоки данных.

Таким образом, этот формат обеспечивает представление иерархических структур данных, характерных для отчетов СНК ЗО и ОИК ЗО

Общие правила, применяемые при формировании обменного файла well formed XML:

· В XML файле информация должна представляться в коде Windows 1251;

· В первой строке файла должна указываться версия XML и используемая

· кодировка. Например:

<?xml version="1.0" encoding="windows-1251" ?>

· Каждый элемент XML-подобного формата имеет вид

<Имя>содержание элемента</Имя>;

· Имя метки не должно включать знаков пробела;

· «Содержание элемента» не должно в явном виде включать символы<,>, &, «, » и `, используемые для идентификации меток XML (они могут включаться с использованием строк CDATA XML или специальной кодировки по правилам языка XML);

· Имя конечной метки должно с точностью до букв и регистра повторять имя начальной метки.

· В XML файле элементы данных должны отделяться разделителем строки;

Элемент может быть либо полем данных, либо блоком данных.

Поле данных представляется в форме

<ИМЯ_ПОЛЯ>значение</ИМЯ_ПОЛЯ>

Порядок следования полей должен соответствовать приведенному в данном документе синтаксису обменного файла для соответствующего отчета организации.

Необязательные поля данных с отсутствующим значением могут быть представлены как:

<ИМЯ_ПОЛЯ></ИМЯ_ПОЛЯ> или могут отсутствовать.

Блок данных состоит из группы полей и, возможно, других блоков данных:

<ИМЯ_БЛОКА>группа полей и блоков данных</ИМЯ_БЛОКА>

Вложение блоков должно быть правильным.

Пример правильного вложения блоков:

< ИМЯ_КОРНЕВОГО_БЛОКА>

< ИМЯ_БЛОКА_1>

. . .

< ИМЯ_БЛОКА_2>

. . .

</ИМЯ_БЛОКА_2>

. . .

</ИМЯ_БЛОКА_1>

</ИМЯ_КОРНЕВОГО_БЛОКА>

Пример неправильного вложения блоков:

<ИМЯ_БЛОКА_1>

. . .

< ИМЯ_БЛОКА_2>

. . .

</ИМЯ_БЛОКА_1>

. . .

</ИМЯ_БЛОКА_2>

На основе данных требований, разработанной структуры обменного файла и требований предоставляемых к учета и контроля, был разработан и реализована система синтаксического контроля (парсер).

Реализация парсера осуществлена средствами процедурного блочно-структурированного языка Pl/Sql.

Размещено на http://www.allbest.ru/

Запуск процедуры входного контроля

Для запуска процедуры входного контроля необходимо в главном меню приложения выбрать команду Входной контроль (рис. 6) На экране открывается диалоговое окно выбора файла.

Рис. 6

При нажатии на кнопку «Отмена» входной контроль прекращается (рис7).

Рис. 7

Для продолжения работы необходимо выбрать в окне файл для обработки и нажать кнопку «Открыть» (рис 8). Появляется окно:

Рис. 8

При нажатии на кнопку «ОК» (рис. 8) синтаксический контроль файла.

Если синтаксический контроль прошел без ошибок (рис. 9), то производится загрузка данных БД ФИС.

Рис. 9

Если же синтаксический контроль обнаружил ошибки во входном файле (рис. 10), то обработка данных прекращается (рис. 1).

Рис. 10

Рис. 11

3.3 Арм предприятия для автоматизации процесса подготовки отчетов организаций по универсальной схеме

Средства разработки АРМ.

Описание процесса создания пользовательского интерфейса с помощью Oracle Forms Builder.

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

Oracle forms builder позволяет создавать приложения, состоящие из экранных форм, отчетов и деловой графики, основанных на информации, хранящейся в базах данных или других источниках.

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

Для этого достаточно воспользоваться утилитой Data Block Wizard.(рис.12)

Утилита Data Block Wizard позволяет быстро создать запросы к БД, избавляя от необходимости писать громоздкий код самому. Достаточно выбрать таблицу и поля этой таблицы в которые или из которых будет происходить выборка.

Рис. 12

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

Для упрощения работы, существует утилита Layout Wizard. (рис.13)

Рис.13

С помощью этой утилиты мы определяем принадлежность блоков данных к различным оснвам - канве, выбрать тип канвы (Content, Vertical toolbar, Horizontal toolbar, Tab), определить отображаемые элементы блока данных и стиль фрейма (рамки).

Канва (canvas), или объект-основа, это фон, на котором размещаются шаблонный текст и элементы. Элементы блока данных можно распределять среди различных объектов-основ.

Канва может не полностью отображаться в окне, тогда используются полосы прокрутки. Понятие окна Forms совпадает с понятием окна графического интерфейса операционной системы (в данном случае Windows).(рис.14)

Для последующей настройки и детализации интерфейса формы можно воспользоваться панелью инструментов.

Настройка фреймов, полей, добавление новых элементов, написание триггеров обработки осуществляется через панель Object Navigator, представляющая собой дерево объектов. Для каждого элемента этого дерева есть возможность изменить общие настройки, добавить/удалить триггер обработки данных и т.п.(рис.15)

Рис.14

Рис.15

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

Рис.16

Описание процесса создания отчетов с помощью Oracle Reports Builder

Oracle reports builder позволяет сформировать шаблон отчета и реализовать его автоматическое заполнение для дальнейшего вывода на печать или публикации в сети интернет.

Внутренними средствами разработки была сформирована структура данных отчета.

Утилита Data Model позволяет быстро создать сложные запросы как к нескольким таблица одной БД, так и к таблицам разных БД, представляя его в наглядной графической форме. Так же утилита Data model позволяет создавать отдельные столбцы, по которым ведется суммирование, или используются разнообразные функции.

Рис.17

Кликнув на каждом столбце мышкой, вызывается окно свойств property inspector, где можно настроить все необходимые поля.

Далее была сформирована структура шаблона отчета (рис.18)

Рис.18

Подготовленный отчет можно сохранить в нескольких распространенных форматах таких как: HTML (для публикации в веб),RDF, XML.

3.4 Описание системы АРМ ФИС УиК ЯМ

Прежде чем приступить к работе, оператору или аналитику требуется выполнить следующие действия:

Войти в сеть.

Для входа в сеть в диалоговом окне “Вход в систему” ввести:

Имя - зарегистрированное имя пользователя;

Пароль.

Эти данные определяет администратор системы.

Запустить приложения FIS.

Для запуска приложения FIS необходимо:

На панели задач щелкнуть мышкой по пиктограмме, с подсказкой “FIS Application”:

В появившемся диалоговом окне “Logon” (Рис. 19) для соединения с базой данных ввести:

Username (имя пользователя);

Password (Пароль);

Datаbase (Имя открытой базы данных). Выпадающего списка баз данных нет.

Имя пользователя и пароль сообщает администратор системы.

Рис. 19

В случае появления сообщений об ошибках при запуске приложения FIS, например, как показано на рис. 20, следует обратиться к Администратору системы.

Рис. 20

После подсоединения к базе данных на экране появится Главное меню приложения FIS .

Для работы оператора на участке ввода и контроля отчетов предприятий предусмотрены следующие функции:

Прием отчетов предприятий с участка шифрования.

Прием отчетов предприятий на бумажном носителе.

Формирование при помощи АРМ подготовки сводных отчетов в электронном виде.

Входной контроль отчетов предприятий.

Передача отчетов ФИС для предприятий на участок шифрования.

Прием отчетов от предприятий.

Отчеты предприятий либо передаются оператором участка шифрования на участок ввода и контроля отчетов на дискетах, либо поступают на бумажном носителе.

Оператор участка ввода и контроля отчетов вставляет дискету в дисковод и запускает процедуру входного контроля. В случае ошибок при записи файла на дискеты, они возвращаются оператору участка шифрования для повторной записи.

Если сводный отчет поступил на бумажном носителе, то оператор сначала при помощи АРМ подготовки сводных отчетов делает его электронную копию в виде XML-файла, а затем запускает процедуру входной обработки отчета.

Формирование сводных отчетов с бумажных форм

Сводные отчеты (СНКс и ОИКс) могут поступать в ФИС на бумажном носителе. Для формирования таких отчетов в обменном формате предназначена программа SumRpt.exe .

После запуска программы на экране откроется окно, представленное на рисунке 20.

Рис. 20

Экран программы содержит следующие элементы:

· Меню;

· Панель инструментов;

· Кнопку выбора формы отчета (СНКс или ОИКс);

· Рабочую область, для ввода данных;

· Указатель текущей строки табличной части отчета.

Меню Файл содержит семь подпунктов:

· Открыть отчет - ввод ранее сохраненного отчета в формате АРМ в форму из

· файла;

· Сохранить - сохранение в файле отчета в формате АРМ;

· Сравнить - сравнение двух регламентных отчетов;

· Печать отчёта - печать полного отчета;

· Импорт - ввод отчета в обменном формате в форму из файла;

· Экспорт - сохранение отчета в обменном файле;

· Выход - выход из программы.

Панель инструментов содержит семь кнопок для выполнения наиболее часто используемых команд. Каждая кнопка снабжена всплывающей подсказкой, которая объясняет назначение данной команды. Чтобы увидеть подсказку на экране, достаточно задержать на несколько секунд указатель мыши около нужной кнопки.

Кнопка выбора формы отчета предназначена для отображения на экране либо табличной части отчета СНКс, либо табличной части отчета ОИКс.

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

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

Ввод данных из регламентного отчета

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

Перемещение от одного поля к другому может быть выполнено нажатием клавиши Tab, клавиш со стрелками влево и вправо, клавиши Enter, а также с помощью мыши, щелкнув ее на любом поле.

После ввода значения в последнее поле строки и нажатия клавиши Таб, в табличной части отчета создается пустая строка для ввода данных из следующей строки отчета.

Ввод кодов в форму можно выполнять из раскрывающегося списка, связанного с соответствующим ему полем. Для того, чтобы вставить значение из списка в такое поле, необходимо установить фокус на этом поле с помощью клавиши Таб или мыши. При этом в поле появляется кнопка со стрелкой, после нажатия на которую, раскрывается соответствующий кнопке список кодов. После выбора кода из этого списка, значение кода заносится в поле как показано на Рис 21.

Рис. 21

При вводе кода предприятия из раскрывающегося списка автоматически заполняется поле <Фамилия И.О. контактного лица> и поле <Номер телефона>, если предварительно в справочник предприятий были введены эти данные.

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

Для того чтобы удалить строку из отчета необходимо сначала выделить её, щёлкнув мышкой на левом краю формы, напротив удаляемой строки, а затем щелкнуть мышкой на кнопке <Удалить строку> на панели инструментов. Чтобы удалить несколько строк из отчета, необходимо выделить первую строку, как описано выше, а затем выделять оставшиеся строки c нажатой клавишей <Ctrl>.

Для поиска строк в отчете служит кнопка <Поиск строки>. Поиск строк может выполняться по номеру строки или по идентификатору учетной партии.

Кнопка <Копировать строку> предназначена для копирования строк (по одной) в буфер АРМ'а, из которого её можно добавить в отчет.

Вставка новых строк выполняется либо нажатием клавиши <Tab> в последнем поле последней строки отчета, либо щелчком мышки на кнопке <Вставить строку>. При этом, в конце табличной части отчета создается пустая строка для ввода данных. Если это не следующая строка отчета, а строка, которая должна быть вставлена после какой либо строки, то ей необходимо присвоить номер той строки, после которой она должна быть вставлена.

Сохранение отчета

Для того чтобы сохранить отчет надо выбрать из меню Файл команду <Сохранить>. При этом, оператору предлагается либо сохранить этот отчет, либо не сохранять его, либо отменить команду сохранения отчета.

Рис. 22

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

Ввод и редактирование отчетов в формате АРМ из файла

Для просмотра и редактирования ранее сохраненного отчета, надо выполнить команду <Открыть отчет> из меню Файл. При этом, если экранная форма содержит какой либо отчет, оператору предлагается сохранить этот отчет. После сохранения отчета экранная форма очищается и на ней отображается диалоговое окно выбора файла, показанное на Рис. 23

Рис. 23

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

Печать отчета

Для того чтобы просмотреть или распечатать отчет надо выбрать из меню Файл команду <Печать отчета> или щелкнуть мышкой на кнопке <Печать отчета> на панели инструментов. При этом, оператору предлагается подтвердить необходимость печати (или просмотра) отчета.

Рис. 24

Если оператор отвечает "Да", то начинается процесс формирования отчета. После завершения формирования отчета он отображается на экране.

Рис. 25

Чтобы вернуться в систему подготовки отчетов необходимо её активизировать, щелкнув её мышкой на панели задач, и закрыть форму "Формирование отчета".

Рис. 26

По каждому справочнику системы может быть сформирован отчет. Для того чтобы сформировать отчет следует щелкнуть мышью пункт меню Файл/Отчет на экранной форме справочника. Сформированный отчет по выбранному справочнику появится на экране. Этот отчет можно просмотреть и вывести на печать.

Рис. 27

Оператор участка ввода и контроля отчетов передаёт данные с архивированными выходными отчетами на участок шифрования с регистрацией в журнале этого участка.


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.