Научная статья на тему 'ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДОМЕННОГО ЦЕХА С POWER DESIGNER'

ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДОМЕННОГО ЦЕХА С POWER DESIGNER Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
79
7
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
POWERDESIGNER / МОДЕЛЬ ДАННЫХ / ДОМЕННЫЙ ЦЕХ / БИЗНЕС-МОДЕЛЬ / USECASE / СПЕЦИФИКАЦИЯ / КЛАССЫ UML / АТРИБУТЫ / SQL- СКРИПТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Саликов Валентин Александрович

Рассмотрено применение PowerDesigner при прямом проектировании (Forward Engineering) системы. На основе полученной бизнес-модели доменного цеха разработаны диаграмма UseCase и спецификации требований. Созданы классы UML и сгенерированы концептуальная, логическая и физическая модели данных. Получен SQL-скрипт базы данных доменного цеха

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Саликов Валентин Александрович

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

Текст научной работы на тему «ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДОМЕННОГО ЦЕХА С POWER DESIGNER»

LH

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

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

Литература:

1. Сивухин Д. В. Общий курс физики. Т. 2. ФИЗМАТЛИТ. 2005 г.

Salikov Valentine A..

Scd, associate professor National University of O. Gonchar, Ukraine, c. Dnepr

Саликов Валентин Александрович

канд. техн. наук, доцент кафедры автоматизированных систем обработки информации национального университета им. О. Гончара,

Украина, г. Днепр

DESIGNING INFORMATION SYSTEMS FOR BLAST-FURNACE DEPARTMENT WITH POWERDESIGNER

ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ ДОМЕННОГО ЦЕХА С POWER

DESIGNER

Аннотация. Рассмотрено применение PowerDesigner при прямом проектировании (Forward Engineering) системы. На основе полученной бизнес-модели доменного цеха разработаны диаграмма UseCase и спецификации требований. Созданы классы UML и сгенерированы концептуальная, логическая и физическая модели данных. Получен SQL-скрипт базы данных доменного цеха

Ключевые слова: PowerDesigner, модель данных, доменный цех, бизнес-модель, UseCase, спецификация, классы UML, атрибуты, SQL- скрипт

PowerDesigner компании Sybase реализует объектно-ориентированную методологию на основе стандарта UML и предназначен для моделирования данных. В книге [1], сделавшей доступным PowerDesigner для русскоязычных читателей, обстоятельно рассмотрены вопросы обратного проектирования (Revers Engineering) систем от имеющейся в наличии базы данных (БД). Покажем, как использовать PowerDesigner при прямом (Forward Engineering) проектировании БД информационных систем (ИС) на основе бизнес-модели BPMN .

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

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

ti » S 02

eg

2 to ô a>

2 H hd ^ о

3

rt

№ «

о о

I—I H

О я

Q ,_,

К»

H

о та

а>

н «

Sc F

1

U1 ft (л

02 м

о <@

g I

en Ё го го о

S н

§ §

§ I

та H О ç

3 s

№ s

to о g^

02 О

s:

ï О РЧ

a

О/ ¡SO

¡S О

CS

Cl.'

I

m ¡S ¡S

о

О -s

m §

CÜ CÜ

s:

m g

§

О

Cl.' g

s:

' « Inclus iwe(OR)» Inclus ive(OR)3

0

1

о'

m se >!

>5. S*

P

a

bn

О

£

s:

r

S"

bn i

a

a ^

m

a §

rs ^

s:

3

*

to

.oo

to О

1 i

02 Ol

«Inclus ive(OR)» lnclusive(OR) 6

Ul

тельные компоненты для включения в состав шихты или доменной продувки. Полученная диаграмма может служить базой для разработки ведущей диаграммы UML - диаграммы вариантов использования (UseCase), управляющей всем процессом разработки [4]. Для создания этой диаграммы выделим из числа работников цеха тех, кто будет допущен к формированию и извлечению информации на рабочей станции (РС) нашей ИС - это начальник смены, мастер домны, сотрудники физико-химической лаборатории и оператор РС. Указанные субъекты становятся действующими лицами (actor) диаграммы, определяющей цели и задачи разработки ИС. Для формирования UseCase будем опираться на представления бизнес-модели на рис.1. В результате этого получим диаграмму UseCase на рис.2. Для завершения этой разработки все варианты использования необходимо специфицировать, т.е. определить содержание и формы представления информации каждого UseCase. Например, для варианта использования "Приготовить шихту" можно записать: "Состав шихты зависит от сорта выплавляемого чугуна или ограничивается наличием доступных сырьевых ресурсов.

В состав шихты может входить или железная руда, или окатыши, или агломерат, а также металлолом; топливом доменного процесса обычно является кокс (или древесный уголь, а также природный газ). Качество кокса отличается содержанием серы и зависит от поставщика; обычным компонентом шихты являются флюсы. В зависимости от состава рудных примесей в качестве флюса могут применяться известняк, песчаник, кремнезем и др.". В спецификации варианта использования "Получить продукты литья" можно записать: "Продуктами доменной плавки являются жидкий чугун (тонн), шлак (тонн), колошниковый газ (м3) и, после очистки, доменная пыль (тонн). Сортность чугуна зависит от содержания углерода (1-7%) и состава примесей - серы (<0,1%), марганца, фосфора, кремния (в %) и др. Часть шлака отправляется на гранулирование для последующего применения, остальной шлак - на золоотвал (обычно 40— 50%)". Аналогично нужно специфицировать остальные UseCase. Приведенные спецификации будут служить основой для конструирования

Лабор_шлак

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рисунок 2. Диаграмма вариантов использования для ИС доменного цеха. классов и определения их атрибутов.

После завершения специфицирования всех UseCase работы на фазе анализа

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

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

14: Обнаружить( )15: Вып_ремонт( )

Рисунок 3. Диаграмма кооперации объектов классов доменного цеха

Все объекты и классы, появившиеся в результате построения этой диаграммы, зарегистрированы в браузере PowerDesigner обособленными группами. В составе всех классов, принимавших сообщения, имеются операции. После перетаскивания (drag&drop) пиктограмм классов на пустое рабочее поле вновь открытой диаграммы Class получают множество несвязанных классов с пустыми полями атрибутов. Далее требуется определить отношения ассоциаций между классами и задать атрибуты, отвечающие интересам заказчика. Например, для класса Чугун нужно задать: марка чугуна, содержание углерода и серы (%), количество литья (в тоннах), фамилию мастера,

принимавшего литье, и дату. PowerDesigner требует при формировании атрибутов задавать и типы данных из некоего списка предопределенных типов. Эти типы позднее будут уточнены для выбранного сервера. Полученная таким путем диаграмма классов приведена на рис. 4. Следующим шагом проекта будет запуск из меню Tools генератора CDM - концептуальной модели данных - и настройка его опций. PowerDesigner проверяет работу генератора (check model) и при обнаружении ошибок в модели выводит сообщения или предупреждения. Полученная модель CDM представлена

Ul

Шихта

+ Код_шихты : int

+ Рудн_матер : char

+ Кол_руд(тонн) : int

+ Топливо : char

+ Кол_топл(тонн) : int

+ Матер_флюса : char

+ Кол_фл юса(то н н ) : int

+ Мастер_домны : char

+ Дата_шихты : Date

+ Определить состав () : int

+ Загрузить () : int

Расход_ресурсов

+ Код_расход int

+ Электроэнергия_квт int

+ ГорячийВоздух_м3 int

+ Кислород_м3 int

+ Природн_газ_м3 int

+ Технич_вода_литр int

+ Нач_смены char

+ Дата_расхода Date

+ Регистрировать () : ini

Чугун

+ Код_чугун : int

+ Марка чугуна : char

+ Содерж_углерод_проц : float

+ Содерж_серы_проц : float

+ Кол_чугун_тонн : int

+ Мастер_домны : char

+ Дата_литья : Date

+ Определ_сорт () + Сделать анализ ()

int int

Шлак

+ Код_шлак : int

+ Шлак_гранулир_тонн : int

+ Шл а к_от вал_то н н : int

+ Дата_шлак : Date

+ Сделать анализ () int

+ Определить зольность () : int

+ Отделить_гранулир_шлак () : int

ЕЕ

Упр_персон

+ Код_упр_перс + Должность

int

char

char

Персон_цеха

+ Код_персон : int + ФИО_персон : char + Должн_персон : char

Рабочие_цеха

+ Код_рабоч : int

+ ФИО_рабоч char

+ Должн_рабоч : char

+ Дата_инструктажа : Date

+ Выдать_задания () : int

+ Контр_соблюд_ТБ () : int

Колошн_газ

+ Код_колошн : int

+ Средн_темпер_градС : int

+ Кол_колошн_м3 : int

+ Дата_газ : Date

+ Измерить () : int

V

Ai

1..*

Колошн_пыль

+ Код_пыли : int

+ Содерж_Fe : int

+ Кол_пыли_тонн : Float

+ Дата_пыли : Date

+ Очистить () : int

Журнал_пропуск

+ Код_проп : int

+ ФИО_проп : char

+ Дата_проп : Date

+ Причина : char

+ Нач_смены : char

+ Проверить () : int

Отказы_оборуд

+ Код_отказ

+ Отказ_оборуд

+ Дата_отказ

+ Бригадир

+ Принятые_меры

int

char

Date

char

char

+ Обнаружить () + Вып_ремонт () + Проверить ()

Рисунок 4. Диаграмма классов доменного цеха

на рис. 5. Как видим, линии ассоциаций приняли вид "гусиных лапок", пропали поля операций классов, а для всех данных символьного типа (Char) задана длина (1), что необходимо исправить вручную с учетом длины вводимых данных. Кроме того, в браузере PowerDesigner появились сущности с именами бывших классов. Прежде, чем запустить генератор логической модели данных LDM необходимо в каждой сущности CDM определить

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

первичный ключ, а в опциях генератора LDM обязательно включить проверку модели, т.к. этот генератор может выявить много ошибок. Основной результат работы генератора LDM - это выполнение миграции ключей в связанных сущностях и образование внешних ключей (Foreign Key) ^хему LDM опускаем).

Шихта

o Код_шихты

o Рудн_матер

o Кол_руд(тонн)

o Топливо

o Кол_топл(тонн)

o Матер_флюса

o Кол_флюса(тонн) Integer

o Дата_шихты Date & Time

Integer Characters (1) Integer Characters (1) Integer Characters (1)

Assoc

Чугун

o Код_чугун

o Марка чугуна

o Содерж_углерод_проц Float

o Содерж_серы_проц Float

o Кол_чугун_тонн

o Мастер_домны

VyO Дата_литья

Расход_ресурсов

o Код_расход Integer

o Электроэнергия_квт Integer

o ГорячийВоздух_м3 Integer

o Кислород_м3

o Природн_газ_м3

o Технич_вода_литр

o Нач_смены

o Дата_расхода

Integer Integer Integer Characters (1 ) Date & Time

/ Колошн_газ \

o Код_колошн Integer

o Средн_темпер_градС Integer

o Кол_колошн_м3 Integer

o Дата_газ Date & Time

V

v

ation_5

ssociation_6

Integer Characters (1)

Integer Characters (1) Date & Time

s Шлак N

o Код_шлак Integer

o Шлак_гранулир_тонн Integer

o Шл а к_от вал_тонн Integer

o Дата_шлак Date & Ti m e

Г л

Упр персон

o Код_упр_перс Integer

o Должность Charact

o ФИО Charact

V j

Association_1

Association

Association_3

Л

As -Ass

Персон_цеха o Код_персон Integer o ФИО_персон Characters (1) о Должн_персон Characters (1) j

ation_4 _12

sociati ociatio

JL

A

Колошн_ л пыль

o Код_пыли Integer

o Содерж_Fe Integer

o Кол_пыли_тонн Float

o Дата_пыли Date & Ti m e

Отказы_оборуд o Код_отказ Integer

o Отказ_оборуд Characters (1) o Дата_отказ Date & Time o Бригадир Characters (1)

o Принятые_меры Characters (1)

Рабочие_цеха о Код_рабоч Integer

o ФИО_рабоч Characters (1)

o Должн_рабоч Characters (1)

o Дата_инструктажа Date & Time

Журнал_пропуск o Код_проп Integer o ФИО_проп Characters (1) o Дата_проп Date & Time o Причина Characters (1)

Рисунок 5. Концептуальная модель данных доменного цеха

1

+ ФИО

A

1 1

Associ a

На заключительном шаге проектирования необходимо создать физическую модель данных с помощью генератора FDM. При настройке опций этого генератора обязателен выбор сервера для организации базы данных (БД) и приведение типов данных модели в соответствие с выбранным сервером. Сгенерированная модель данных приведена на рис. 6. В данной модели воплощены все цели, предусмотренные вариантами использования (рис.2): предусмотрены регистрация состава шихты, продуктов литья, расхода ресурсов, отказов оборудования и др. Теперь можно из меню Database запустить генератор из пункта Generate Database и получить SQL- скрипт для развертывания БД на сервере. Приводим для примера небольшой

фрагмент этого скрипта: go if exists (select 1 from dbo.sysreferences r join dbo.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id(Шихта') and o.name = 'FK_ШИХТА_ASS0CIATI_УПРПЕРС0') alter table Шихта drop constraint

FK_ШИХТА_ASS0CIATI_УПРПЕРС0 go

Выполнение операций на сервере и разработка приложений клиента составляют содержание этапа реализации ИС и здесь не рассматриваются. Как видим, PowerDesigner является эффективным инструментом быстрой разработки систем путем Forward Engineering как на фазе анализа требований, так и на фазе проектирования ИС.

Шихта

Код_шихты int <pk>

Код_упр_перс int <fk>

Рудн_матер char(20)

Кол_руд(тонн) int

Топливо char(20)

Кол_топл(тонн) int

Матер_флюса char(20)

Кол_флюса(тонн) int

Дата_шихты datetime

1..*

Чугун

Код_чугун int <pk>

Код_упр_перс int <fk>

Марка чугуна char(20)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Содерж_углерод_проц float

Содерж_серы_проц float

Кол_чугун_тонн int

Мастер_домны char(20)

Дата_литья datetime

Расход_ресурсов

Код_расход int <pk>

Код_упр_перс int <fk>

Электроэнергия_квт int

ГорячийВоздух_м3 int

Кислород_м3 int

Природн_газ_м3 int

Технич_вода_литр int

Нач_смены char(20)

1..*

Шлак

Код_шлак int <pk>

Код_упр_перс int <fk>

Шлак_гранулир_тонн int

Шлак_отвал_тонн int

Дата_шлак datetime

ï

Колошн_ газ

Код_колошн int <pk>

Код_упр_перс int <fk>

Средн_темпер_градС int

Кол_колошн_м3 int

Дата_газ datetime

Упр_персон Код_упр_перс int <pk

Должность char(20) ФИО char(20)

Персон_цеха

Код_персон int <pk>

Код_упр_перс int <fk>

ФИО_персон char(20)

Должн_персон char(20)

Рабочие_цеха

Код_рабоч

Код_упр_перс

ФИО_рабоч

Должн_рабоч

Дата_инструктажа

int int

char(20) char(20) datetime

<pk> <fk>

Колошн_пыль

Код_пыли int <pk>

Код_упр_перс int <fk>

Содерж_Fe int

Кол_пыли_тонн fl oat

Дата_пыли datetime

Отказы_оборуд

Код_отказ int <pk>

Код_упр_перс int <fk>

Отказ_оборуд char(20)

Дата_отказ datetime

Бригадир char(20)

Принятые_меры char(20)

Журнал_пропуск

Код_проп int <pk>

Код_упр_перс int <fk>

ФИО_проп char(20)

Дата_проп datetime

Причина char(20)

Рисунок 6. Физическая модель данных доменного цеха для MS SQL Server

Литература

1. Анна Нартова. PowerDesigner 15. Моделирование данных. - Издательство "Лори", 2012

2. Salikov V.A. Analysis and specify requirement at information systems with Power Designer // Eastern European Scientific Journal (Gesellschaftswissenschalten): Düsseldorf (Germany): Auris Verlag, 2016, № 5.

3. Саликов В.А. Проектирование информационных систем по технологии Rational Rose. Учеб-

ное пособие для дипломников. Издатель: LAP LAMBERT Academic Publishing, Saarbrücken, Deutschland, 2016- 128 c.: ил.

4. Якобсон А, Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения.- Питер, 2002

5. Business Process Modeling. PowerDesigner. Document ID: DC38088-01-1510-01. Sybase, Inc. Dublin, 2009.

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