Практическое применение систем автоматизированного учета на предприятии

ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ СИСТЕМ АВТОМАТИЗИРОВАННОГО УЧЕТА НА ПРЕДПРИЯТИИ Г.С. Александров, О.В. Елисеев, Н.С. Григорьева

(ОАО «Российский институт радионавигации и времени»), Д.В. Соловьев Научный руководитель - кандидат технических наук, доцент Н.С. Кармановский

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

Введение

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

Несомненно, существенную по значимости среди совокупности всех этих систем нишу занимают всевозможные базы данных (БД).

Современные системы управления БД (СУБД) в основном являются приложениями Windows и прочих операционных систем и используют все возможности персональных компьютеров. Снижение стоимости высокопроизводительных ПК обусловило не только переход большинства предприятий на их использование, но также сделало программное обеспечение ПК в целом и СУБД, в частности, менее критичными к аппаратным ресурсам ПК и очень удобными в качестве систем обработки информации [1, 2].

Среди наиболее ярких представителей СУБД можно отметить Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, а также Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии «клиент-сервер». Фактически у любой современной СУБД существует аналог, выпускаемый другой компанией, имеющий аналогичную область применения и возможности, любое приложение способно работать со многими форматами представления данных, осуществлять экспорт и импорт данных благодаря наличию большого числа конвертеров. Общепринятыми также являются технологи, позволяющие использовать возможности других приложений, например, текстовых процессоров, пакетов построения графиков и т. п., и встроенные версии языков высокого уровня (чаще - диалекты SQL и/или VBA) и средства визуального программирования интерфейсов разрабатываемых приложений. Поэтому уже не имеет существенного значения, на каком языке и на основе какого пакета написано конкретное приложение и, какой формат данных в нем используется. В одном ряду с «классическими» СУБД все чаще упоминаются языки программирования Delphi и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД. Современный подход к управлению базами данных подразумевает также широкое использование технологии «клиент-сервер».

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

Авторы статьи разработали систему автоматизированного учета измерительного и контрольно-поверочного оборудования, находящегося на балансе ОАО «РИРВ». Эта система представляет собой уникальную базу данных и систему управления этой базой. Цель

разработки - эффективный контроль за измерительным и контрольно-поверочным оборудованием, своевременный анализ информации о состоянии этого оборудования [3, 4].

Краткая характеристика программного обеспечения, используемого при создании СУБД

Рассмотрим более подробно программные продукты для работы с БД, а именно Visual FoxPro, Visual Basic, Visual С++, Access, SQL Server 2000, Delphi 7. Наиболее интересной чертой этих пакетов являются их большие возможности интеграции, совместной работы и использования данных, так как данные пакеты являются продуктами одного производителя, а также используют сходные технологии обмена данными.

Visual FoxPro отличается высокой скоростью, имеет встроенный объектно-ориентированный язык программирования с использованием xBase и SQL, диалекты которых встроены во многие СУБД. Имеет высокий уровень объектной модели. При использовании в вычислительных сетях обеспечивает как монопольный, так и раздельный доступ пользователей к данным. Применяется для приложений масштаба предприятия для работы на различных платформах.

Access входит в состав популярного пакета Microsoft Office. Основные преимущества: знаком многим конечным пользователям и обладает высокой устойчивостью данных, прост в освоении, может использоваться непрофессиональным программистом, позволяет готовить отчеты из БД различных форматов. Предназначен для создания отчетов произвольной формы на основании различных данных и разработки некоммерческих приложений.

Visual Basic - это универсальный объектно-ориентированный язык программирования, диалекты которого встроены в Access (да и вообще в весь пакет Microsoft Office), Visual FoxPro. Преимущества: универсальность, возможность создания компонентов OLE, невысокие требования к аппаратным ресурсам ЭВМ. Применяется для создания приложений средней мощности, не связанных с большой интенсивностью обработки данных, разработки компонентов OLE, интеграция компонентов Microsoft Office.

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

Delphi7 - пожалуй, самый удобный и универсальный в работе на сегодняшний день объектно-ориентированный язык программирования. Также как и Visual C++, обладает безграничной функциональностью. Имеет поддержку обращений-запросов к SQL Server^.

SQL Server - сервер баз данных, реализует подход «клиент-сервер» и взаимодействует с указанными пакетами. Главные достоинства: высоая степень защиты данных, мощные средства для обработки данных, высокая производительность. Область применения: хранение больших объемов данных, хранение высокоценных данных или данных, требующих соблюдения режима секретности. Минимальные ресурсы ПК: процессор 468DX-33МГц, Windows NT, объем оперативной памяти 16 (32) Мб, занимаемый объем на ЖМД 80 Мб.

Указанные программные продукты имеют возможности визуального проектирования интерфейса пользователя, т.е. разработчик из готовых фрагментов создает элементы интерфейса, программирует только их изменения в ответ на какие-либо события [5].

Принципы организации данных, лежащие в основе современных СУБД

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

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

Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», т. е. любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора).

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

Объект (сущность) - элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие - поступление человека в стационар).

Атрибут - информационное отображение свойств объекта. Каждый объект характеризуется набором атрибутов.

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

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

Альтернативный ключ - атрибут (или группа атрибутов), не совпадающий с первичным ключом и однозначным образом определяющий каждую строку в таблице [1].

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

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

Microsoft Access, Microsoft Visual FoxPro, Microsoft Visual Basic и др. обеспечивают средства для создания клиентских частей в приложениях «клиент-сервер», которые сочетают в себе средства просмотра, графический интерфейс и средства построения запросов, а Microsoft SQL Server является на сегодняшний день одним из самых мощных серверов баз данных.

OLE 2.0 (Object Linking and Embedding - связывание и внедрение объектов) - стандарт, описывающий правила интеграции прикладных программ. Применяется для использования возможностей других приложений. OLE 2.0 используется для определения и совместного использования объектов несколькими приложениями, которые поддерживают данную технологию. Например, использование в среде Access таблиц Excel и его

мощных средств построения диаграмм или использование данных, подготовленных Access, в отчетах, составленных в редакторе текстов Word.

OLE Automation (Автоматизация OLE) - компонент OLE, позволяющий программным путем устанавливать свойства и задавать команды для объектов другого приложения. Позволяет без необходимости выхода или перехода в другое окно использовать возможности нужного приложения. Приложение, позволяющее другим прикладным программам использовать свои объекты, называется OLE сервером. Приложение, которое может управлять объектами OLE серверов, называется OLE контроллером или OLE клиентом. Из рассмотренных программных средств в качестве OLE серверов могут выступать Microsoft Access, а также Microsoft Excel, Word и Graph. Microsoft Visual FoxPro 3.0 и 5.0 может выступать только в виде OLE клиента.

RAD (Rapid Application Development - Быстрая разработка приложений) - подход к разработке приложений, предусматривающий широкое использование готовых компонентов и/или приложений и пакетов (в том числе от разных производителей).

ODBC (Open Database Connectivity - открытый доступ к базам данных) - технология, позволяющая использовать базы данных, созданные другим приложением при помощи SQL.

SQL (Structured Query Language - язык структурированных запросов) - универсальный язык, предназначенный для создания и выполнения запросов, обработки данных как в собственной базе данных приложения, так и с базами данных, созданных другими приложениями, поддерживающими SQL. Также SQL применяется для управления реляционными базами данных.

VBA (Visual Basic for Applications - Visual Basic для Приложений) - разновидность (диалект) объектно-ориентированного языка программирования Visual Basic, встраиваемая в программные пакеты [6, 7].

Разработка структуры и основных форм БД структуры

В программный пакет Delphi 7 входят следующие утилиты: BDE Administrator; Database Desktop; Delphi7; Datapump; Image Editor; SQL Explorer; SQL Monitor; Win-Sight32; XML Mapper.

Restructure Paradox 7 Table: metrolog.DB

Щ

Field Name Type Size Key 1

1 A 100

NazvanieObiekta

2 TipObiekta A 30

3 ZavNo A 30

4 InvNo A 30

5 Kod A 30

6 GodVIpuska A 4

7 TYNo A 30

В DragMetZoloto A 10

Э DragMetSerebro A 10

10 DragMetPlatina A 10

11 Fondi A 30

Enter a field name up to 25 characters long.

Г Pack Table

Table properties: J Validity Checks

P 1. Required Field 2. Minimum value:

3. Maximum value:

4. Default value:

5. Picture:

eAs...

Cancel

Help

Рис. 1. Database Desktop

Database Desktop является удобной утилитой для создания структур баз данных. Database Desktop предлагает на выбор список форматов возможных структур БД. При выборе типа будущей таблицы следует учитывать то, какого типа данные будут в ней храниться. Так как разрабатываемая структура содержит каких-либо особенных данных, была выбрана таблица Paradox 7, поддерживающая все необходимые типы. После выбо-

ра таблицы создаем в ней необходимые поля и указываем тип данных, которые будут храниться в них. В разрабатываемой системе большинство входных данных состоит из набора букв и цифр, следовательно, таблицы должны «понимать» такую информацию. На рис. 1 приведен общий вид утилиты Database Desktop в процессе создания первой таблицы Paradox.Таким образом, реализуется поставленный в техническом задании пункт о создании структуры БД, содержащей общую и техническую информацию по измерительному и контрольно-поверочному оборудованию ОАО «РИРВ».

Разработка основных форм

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

> Delphi 7 - Project 1 ©a

File Edit Search View Project Run Component Database Tools Window Help |<None> - if}

I n m • n I m s I se se m Standard Additional Win321 Sustem Data Access Data Controls dbEmress DataSnarj BDE ADD InterBase WebServices lnternetUl_Ll

D - Il I  V Ci A|« is I*  H Я ™ 111 H G

Рис. 2. Delphi 7

Создаем внешний вид СУБД. Работа в Delphi основана на визуально-осязаемых компонентах, таких как кнопки, диалоговые окна, текстовые вставки и многое другое. Сначала создаем форму. Форма - это заготовка стандартного исполняемого окна в Windows. Помещаем на нее из строки компонентов Delphi необходимые элементы. После утверждения желаемого графического интерфейса создаем основную форму [5, 7- 9].

Аналогично, оперируя стандартными компонентами Delphi, создается форма добавления нового элемента БД (рис. 3).

Рис. 3. Добавление нового элемента

Форма добавления нового элемента содержит все необходимые компоненты для добавления новой записи в таблицу с общими характеристиками (год выпуска прибора, № свойства, код прибора, содержание драгметаллов и т.д.). Но необходимо занести еще и техническую информацию по прибору. В зависимости от названия прибора, необходимо создать двенадцать форм, одноименных с названием приборов - анализаторы спектра; антенны; ваттметры; вольтметры; генераторы; измерители АЧХ; измерители КСВН; измерители сопротивления; источники питания; мосты; осциллографы; частотомеры - так как для каждого прибора существуют свои индивидуальные технические характеристики. Все эти формы внешне похожи, хоть и позволяют внести разные технические характеристики. На рис. 4 и рис. 5 приведены в качестве примера две типовые формы ввода технических характеристик.

Рис. 4. Вольтметр

Рис. 5. Источник питания

Рис. 6. Запрос

Рассмотрим подробнее форму запроса, утвержденную заказчиком. Запрос - это выборка из БД отдельных записей по следующим условиям: по названию прибора, по типу прибора, по коду прибора, по году выпуска прибора. Например, если указать в графе формы запроса «Выберите название прибора» вольтметр, то программа выведет только те записи, которые относятся к вольтметрам. На рис. 6 приведено графическое изображение формы запроса.

После создания формы запроса необходимо вывести информацию на экран. Основная форма вывода информации представляет собой таблицу типа таблиц Microsoft Excel с рядом функциональных кнопок. Эта форма является стартовой для большинства алго-

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

Рис. 7. Вывод запроса

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

Рис. 8. Осциллографы

Структура программы

Все алгоритмы и пользовательский интерфейс были разработаны и реализованы с помощью объектно-ориентированного языка программирования Delphi 7. Структура БД была разработана с помощью утилиты Database Desktop, входящей в стандартный состав утилит программного пакета Delphi 7. На рис. 9 представлен основной алгоритм работы разработанной БД.

Запуск пр

Начало | заглавн

Добавление

Рис. 9. Алгоритм работы БД Заключение

Основное окно: въ

запр

аже ния

В статье рассмотрены системы управления базами данных, используемые в приложениях, построенных по технологии «клиент-сервер». Сегодня уже не имеет значения, на каком языке и на основе какого пакета написано конкретное приложение и какой формат данных в нем используется. Более того, стандартом «ДефШГо» "стала «быстрая "вод разработка приложений» - RAD (Rapid Application Development), ^УнованЬая на широ^й^^ декларируемом в литературе «открытом подходе. Поэтому в одном ряду с «классиче скими» СУБД все чаще упоминаются языки программирования Delphi и Visual C++, которые позволяют быстро создавать необходимые компоненты приложений, критичные по скорости работы, которые трудно, а иногда невозможно разработать средствами «классических» СУБД. В статье рассмотрена введенная в эксплуатацию конкретная база данных по контролю и учету контрольно-поверочного оборудования, находящегося на балансе ООО «РИРВ». Исследованы и применены на практике алгоритмы программирования БД.

Литература

1. Вирт Н. Алгоритмы и структуры данных / Пер. с англ. М.: Мир, 1989. 360 с., ил.

2. Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. Лекции и упражнения. М: ДиаСофт, 2002.

3. Нечаев В.М. Microsoft Excel. Электронные таблицы и базы данных в задачах. М: иРь1ХОД и: теллект-Центр, 2001.

4. Яргер Р.Дж., Риз Дж., Кинг Т. MySQL и mSQL. Базы данных для небольших предприятий и Интернета. СПб: Символ-Плюс, 2000.

5. Архангельский А.Я. 100 компонентов общего назначения библиотеки Delphi5. М: Бином, 1999.

6. Послед Б. Access 2000. Базы данных и приложения. Лекции и упражнения. М: ДиаСофт, 2000.

7. Фаронов В.В. Delphi 5. Руководство программиста. СПб: Питер, 2001.

8. Архангельский А.Я. Delphi 6. Справочное пособие. М: Бином, 2001.

9. Кэнту М. Delphi 7. Для профессионалов. СПб: Питер, 2004.