Научная статья на тему 'Применение шаблонов проектирования при построении информационных систем предприятий машиностроения'

Применение шаблонов проектирования при построении информационных систем предприятий машиностроения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
149
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Применение шаблонов проектирования при построении информационных систем предприятий машиностроения»

Применение шаблонов проектирования при построении информационных систем предприятий машиностроения

И.В. Илларионов Воронежский государственный университет, кафедра Программирования и информационных технологий, [email protected]

В.Н. Старов

Воронежский государственный технический университет, кафедра Автоматизации оборудования В. А. Муранов

Воронежский государственный технический университет, кафедра Автоматизации оборудования, [email protected]

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

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

систему /1,2/, для описания различных сторон функционирования которых целесообразно использование различных способов. Например, известная группа методик IDEF /3/ позволяет описать функциональную структуру (IDEF0), информационную структуру (IDEF1Х), динамику функционирования (IDEF3) объекта. При использовании каждой из них приходится учитывать возможности соответствующих программных средств. Так, если для IDEF0 и IDEF1Х существует значительное количество активно используемых программных пакетов, то для описания динамического поведения вместо IDEF3 гораздо удобнее и экономически целесообразнее использовать иные нотации (UML), лучше поддержанные программными средствами.

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

В ГОСТ Р ИСО 9001:2001 к обязательным бизнес-процессам относятся:

- реализация ответственности высшего руководства в рамках системы качества;

- менеджмент ресурсов (кадры, инфраструктура, рабочая среда);

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

- процессы измерения, контроля и улучшения системы качества.

Кроме того, как обязательные элементы процессов, составляющих бизнес-процесс, рассматриваются:

• документы, содержащие политику, цели организации в сфере менеджмента качества, руководство по качеству;

• документированные процедуры, в том числе документы, содержащие ответственность сотрудников организации;

• документация на процессы, необходимая для обеспечения их эффективного планирования, управления и улучшения;

• записи качества, и т.д.

Соответственно, функциональная модель должна содержать все обязательные процессы и элементы в соответствии с требованиями ГОСТ Р ИСО 9000:2001.

В пользу применения методологии IDEF0 для описания и классификации процессов говорит то, что она является официальным стандартом функционального моделирования в ряде стран, включая США и Россию. Последнее обстоятельство делает возможным использовать методологию IDEF0 в качестве единого языка для обмена информацией между организациями.

Для промышленного предприятия действующего в современной конкурентной среде наряду с выполнением задачи построения его информационной модели не менее важной является способность построенной модели обеспечивать эффективную поддержку задачи постоянной реструктуризации производства (в частности технологических процессов материального производства и соответствующих им информационных технологий). Наиболее эффективно эти задачи решаются при поддержке программных средств. Так, развитие продукции, направленное на повышение её характеристик, эффективно поддерживается CAD/CAM/CAE - системами, обеспечивающими конструирование, проектные расчеты, кинематическое моделирование и др.

Цена продукции определяется, в свою первую очередь, её себестоимостью, на которую оказывает влияние значительное количество факторов. Оптимизация здесь может быть осуществлена при поддержке систем управления предприятием - ERP - систем, обеспечивающих оптимальное планирование, повышение загрузки оборудования, сокращение складских запасов, сокращение длительности производственных циклов, и т.д.

С внедрением в практику стандартов CALS место идеологической основы проектирования информационных систем прочно занял объектный подход, для которого, в свою очередь, стандартом проектирования стала нотация языка UML /4,5/ . Далее рассматривается формальное описание процессов

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

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

С развитием компьютерных технологий можно было наблюдать революцию в интеграции различных этапов проектирования и производства изделий; пришли новые технологии, таких производителей CAE/CAD/CAM-систем как Unigraphics Solutions, Dassault Systemes, Autodesk, Structural Dynamics Research Corporation и других. Но у отечественной промышленности зачастую просто не хватает средств на покупку этого, вне всякого сомнения, мощного современного программного обеспечения и его поддержку.

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

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

Разработка крупномасштабного программного обеспечения- достаточно сложная задача, требующая использования CASE-технологий (Computer-Aided Software Engineering - автоматизированная разработка программного

обеспечения) и UML (Universal Modeling Language - универсальный язык моделирования). Перечисленные средства позволяют жестко формализовать процесс создания ПО и разбить его на приемлемые по размеру части - для параллельной разработки несколькими группами /6,7/ .

При выполнении работы авторы исходили из следующих задач:

1) Изучение возможностей CASE-технологий и UML применительно к разработке программного обеспечения для материального производства.

2) Построение общей концептуальной модели техпроцесса (на примере сверления) как потомка абстрактного техпроцесса и словаря начального уровня информационной системы машиностроительного производства с использованием UML и шаблонов проектирования.

3) Подетальная проработка системы управления предприятием на уровне шаблонов.

4) Проектирование:

• услуг, предоставляемых системой, на диаграммах прецедентов или случаев использования (use case diagrams);

• их реализаций в виде ассоциаций классов на диаграммах коопераций (collaboration diagrams);

• классов на диаграммах классов (class diagrams);

• процессов и объектов во временных рамках на диаграммах последовательностей и состояний (sequence diagrams, state diagrams);

• физического развёртывания системы в пространстве на диаграммах развёртывания (deployment diagrams) для лучшего понимания масштаба системы и физической связи её отдельных звеньев.

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

5) Проектирование целевой части проекта (CAM-системы) до самого логически низкого уровня. Этим демонстрируется реальный пример разработки ПО с использованием CASE-технологии.

6) Разработка с использованием технологии CASE универсального CAM - программного обеспечения (АСТПП) для упрощения обслуживания и повышения эффективности работы оборудования с ЧПУ в рамках информационной системы предприятия. Разрабатываемая САМ-система - среда визуального проектирования формализованных техпроцессов сверления для операционной системы Windows с интуитивно понятным графическим интерфейсом, требующим минимум времени для освоения. САМ-система имеет клиентскую и серверную составляющие: собственно среда визуального проектирования с локальной базой данных (БД) и ПО оснастки сервера БД техпроцессов. Так реализуется принцип сотрудничества разработчиков техпроцессов: доступ к серверу базы данных возможен с любого компьютера, подключённого к корпоративной сети (рассматриваются сети, работающие по протоколу TCP/IP), на котором имеется клиентская часть CAM-системы. Права на удаление техпроцессов и управление базой данных пользователей и паролей для простых разработчиков отсутствуют. Для этих возможностей реализован вход для администратора через веб-интерфейс с любого компьютера, с которого опять же есть доступ к корпоративной сети, и установлен любой обозреватель сети (Internet Explorer, Netscape, Opera). Таким образом, администрирование главной БД техпроцессов может производиться с компьютера с любой операционной системой. Так частично реализован принцип кроссплатформенности. Для полной его реализации следует переписать клиентскую часть CAM-системы на Java, что, к сожалению, приведёт к снижению производительности и появлению ограничений, накладываемых на графический интерфейс, поэтому в рамках этого проекта мы не используем Java. Для конкретизации клиентская часть CAM-системы ориентирована на создание техпроцессов сверления.

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

для конкретного станка. Так реализован принцип универсальности (аналогия с виртуальной Java машиной).

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

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

• Диаграмма общей системы. На ней присутствуют актёры, представляющие людей или системы, внешних относительно АСУП, и прецеденты, представляющие в рамках АСУП те услуги, которые она предлагает потребителям. Обобщённо говоря, прецеденты показывают процессы, происходящие в системе, а актёры - их клиентов.

• Диаграмма системы поддержки жизненного цикла продукта. Как говорилось выше, предприятие, применительно к которому рассматривается разработка АСУП, работает в рамках стандартов CALS или ISO9000:2000, то есть обслуживает весь жизненный цикл своих продуктов - маркетинговое исследование, проектирование, разработка, испытание, техническая поддержка

• Диаграмма системы управления кадрами. АСУП в частности обеспечивает автоматизированную работу с кадрами, включая набор кадров через биржи труда, их обучение и т.д.

• Диаграмма системы работы с репозиторием (базой знаний). Репозиторий -это база знаний, в которой хранятся все наработки данного предприятия и других, схожих по профилю, а также нормативная документация (ГОСТ, ОСТ и пр.), каталоги моделей стандартизированных деталей и материалов и подобная информация. Репозиторий не однороден по своей природе и удачная организация его может служить залогом успешной работы в дальнейшем. Нами избрана объектно-релятивистская модель базы данных для организации базы знаний. Как сказано выше, такие базы данных основаны на следующих принципах:

Каждая сущность, информация о которой хранится в БД, — это объект.

1. Каждый объект уникален в пределах БД и имеет уникальный идентификатор.

2. Объект имеет свойства (строковые, числовые, временные, перечислимые), которые описывают атрибуты сущности.

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

4. Объект может быть хранилищем. В этом случае допускается хранение в нем других объектов (например, товара на складе).

5. Такая БД не привязана к конкретной бизнес-модели и позволяет реализовать «над собой» практически любую бизнес-логику. Логика выделяется в отдельный программный слой и, как правило, реализуется на сервере приложений, где по запросу клиента создаются объекты, загружающие информацию о себе из БД и реализующие «поведение» объектов реального мира. В то же время, в силу однообразности модели хранения, эти объекты довольно легко создаются на основе базовых классов, инкапсулирующих функциональность по загрузке и сохранению свойств и связей в БД.

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

• Диаграмма системы управления ресурсами. Система управления ресурсами является неотъемлемой частью АСУП. Она включает в себя системы прогнозирования ресурсоёмкости, снабжения ресурсами и энергией и т. д.

• Диаграмма процессов, связанных с оборудованием.

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

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

Диаграмма подготовки производства. Наиболее важная для настоящего проекта диаграмма высокого уровня - это диаграмма прецедентов системы подготовки производства. Это последняя диаграмма уровня прецедентов. Она состоит собственно из диаграммы АСТПП, диаграммы базы знаний (репозитория) и актёров.

Для диаграмм среднего уровня выделяются

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

• Диаграммы состояний рабочего и оборудования - иллюстрируют поведение объекта в системе. Согласно методологии объектно-ориентированного программирования, всякий объект на протяжении времени его жизни находится в различных состояниях. Простейший пример - окно Windows может находиться в состоянии «активно» или «неактивно». Так и рабочий в контексте системы имеет ряд состояний.

• Диаграмма последовательностей «Заготовка-техпроцесс-рабочий» -служит для демонстрации взаимодействий объектов во времени. Взаимодействие осуществляется с помощью событий, которые могут быть как синхронными, так и асинхронными. При проектировании данной диаграммы мы ограничились использованием синхронных процедурных событий, суть которых состоит в вызове методов одного объекта другим. В диаграмме использована также разновидность синхронных событий, при посылке которых объект сам запускает свой метод.

• Диаграмма прецедентов CAM-системы.

Диаграммы нижнего уровня -

• Диаграмма физических данных БД техпроцессов

• Диаграмма классов CAM-системы

• Диаграмма развёртывания CAM-системы

• Диаграмма компонентов системы визуального проектирования техпроцессов

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

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

• Диаграмма классов САМ-системы - описывает классы, используемые в системе. Ограничимся двумя главными классами: класс техпроцесса (СТесИРгосеББ) и класс элемента техпроцесса (СТРИеш). Класс техпроцесса является листовым, то есть на данном этапе не имеет потомков, а класс элемента техпроцесса -абстрактным базовым, то есть экземпляр (объект) этого класса создать невозможно, но есть классы-потомки этого класса, создание экземпляров (объектов) которых допускается.

• Диаграмма развёртывания САМ-системы. Диаграммы развёртывания очень полезны при проектировании систем с уровнем сложности выше малого. Они позволяют спланировать, как будут размещены в пространстве элементы проектируемой системы, на каких устройствах будут установлены, как будут связаны между собой (вплоть до физических параметров коммуникаций). Строго говоря, для эффективного функционирования проектируемого элемента САМ-системы необходимо пять процессоров. Процессорами в методологии иМЬ называются любые устройства, имеющие некоторую вычислительную мощность. В данном случае это четыре компьютера и один станок с ЧПУ. Файлы, относящиеся к модулю

администрирования базы данных, помещаются на любой сервер сети, имеющий доступ к серверу базы данных и открытый для доступа с рабочих станций сети. Фактически производительность у скрипт-языков на несколько порядков ниже производительности приложений на C++, однако, в отличие от них, скрипты платформеннонезависимы, то есть работают в любой операционной системе. К тому же доступ к базе данных занимает какое-то время, что при определённых условиях почти сравнивает по производительности приложения на C++ и на PHP, так что использование скрипт-языка вполне допустимо в проектируемой нами системе. Серверу HTTP необходимо иметь двухстороннюю цифровую связь с сервером БД по протоколу TCP/IP.

• Диаграмма компонентов системы визуального проектирования техпроцессов. Диаграмма компонентов позволяет правильно расставить связи между компонентами разрабатываемой системы. Компоненты - это файлы, из которых состоит проект. На диаграммах компонентов часто изображают динамически подгружаемые библиотеки (*.dll), дополнительные компоненты Windows (*.ocx) и исполнимые файлы (*.exe), то есть те элементы программных систем, которые имеются в наличии только после компиляции их исходных кодов.

Разработка системы визуального проектирования техпроцессов велась с использованием методологии RAD, то есть присутствовало несколько циклов разработки с распределением задач между группами разработчиков. Это позволяет снизить фактический уровень сложности разработки и повысить оперативность обмена информацией с предметной областью. На каждом этапе разработки ведётся планирование следующего этапа, а также исследования в предметной и программной области с целью оптимизации работы системы и максимального удовлетворения требований предметной области.

Разработанная программная система состоит из двух частей: система визуального проектирования техпроцессов сверления и модуль администрирования базы данных. Система визуального проектирования позволяет создавать техпроцессы сверления, состоящие из операций трёх типов, у которых можно задавать параметры. На выходе системы -формализованный технологический процесс, который может быть использован для генерации технологической, экономической и пр. документации. Программа поддерживает сохранение формализованных техпроцессов в базу и на диск и открытие их из базы и с диска. Модуль администрирования -позволяет просматривать базу и удалять техпроцессы из неё.

Всё это обеспечение включено в инсталляционный комплект, который также производит установку на компьютер HTTP-сервера Apache, языка PHP /8/ , СУБД MySQL /9/ и драйвера MyODBC последних (на момент завершения проекта) версий.

Список литературы

1 Зиндер Е.З. Бизнес-реинжиниринг и технологии системного проектирования. Учебное пособие. - М., Центр Информационных технологий, 1996

2 Международные стандарты, поддерживающие жизненный цикл программных средств. - М., МП «Экономика», 1996

3 Дэвид А. Марка. Методология структурного анализа и проектирования. /Дэвид А. Марка, Клемент МакГоуэн/ - Электронная версия.

4 Крег Ларман. Применение UML и шаблонов проектирования. - СПб., Питер-пресс. 2001

5 Inside the Unified Modeling Language. Rational Corp., ® 2000

6 Илларионов И.В. «Проектирование иерархической структуры классов для систем механообработки при проектировании системы управления качеством продукции» / Новые информационные технологии: материалы

четвёртого научно-практического семинара. /Муранов В. А., Илларионов И.В./ -Моск. гос. ин-т электроники и математики. М., 2000. стр. 220-230

7 Илларионов И.В. «Информационное моделирование процессов механической обработки» / Новые информационные технологии: материалы пятого научно-практического семинара. /Муранов В.А., Илларионов И.В., Старов В.Н./ - Моск. гос. ин-т электроники и математики. М., 2001. стр. 180-191

8 Хьюгс Стерлинг. PHP: руководство разработчика. / Хьюгс Стерлинг, Андрей Змиевски/ - К:. «ДиаСофт». 2001 ю - 384 с.

9 David Axmark. MySQL reference manual. David Axmark, Michael (Monty) Widenius, Paul DuBois, Kim Aldale

i Надоели баннеры? Вы всегда можете отключить рекламу.