УДК 004.415.26
ЮЛ. Рогозов, А.А. Дубровский, АХ. Свиридов
НОВЫЙ ПОДХОД РЕАЛИЗАЦИИ ИДЕИ «ПРОГРАММИРОВАНИЕ БЕЗ ПРОГРАММИСТА»
Введение
Развитие программного обеспечения информационных систем идет в направлении постоянного увеличения сложности создаваемого ПО. Требуются огромные трудозатраты для создания современных систем как в гражданских об, ,
.
была на переднем рубеже технического прогресса в нашей стране, и именно в этой области впервые встала проблема снижения трудозатрат и увеличения прозрачности процесса разработки систем управления.
Запуск первого спутника в 1957 г. потряс весь мир и застал американцев врасплох. Полет Юрия Гагарина в 1961 г. стал триумфом советской науки. Воплотились в жизнь и стали явью фантастические проекты национального героя СССР - легендарного конструктора Сергея Королева. Интеллектуальную поддержку его дерзких проектов обеспечивала «нервная система» ракеты - бортовая система управления, созданная Николаем Пилюгиным [1].
Чем больше усложнялись ракетно-космические комплексы и системы, тем сильнее была нужда в безупречном взаимопонимании между разработчиками. Отсутствие взаимопонимания болезненно сказывалось на ходе крупных ракет.
создании космического комплекса «Энергия-Буран» [1].
В качестве ответа на эти вызовы совместными усилиями Российского космического агентства (Научно-производственный центр автоматики и приборостроения имени академика НА. Пилюгина, г. Москва) и Российской академии наук (Институт прикладной математики имени академика М.В. Келдыша, г. Москва) была начата разработка инструмента, обеспечивающего безукоризненное взаимопонимание между людьми, позволяющего описать структуру и логику программы или бизнес-процесса в понятной неспециалисту по програм, -
.
Разработка получила название «Дракон» и реализовывала основную пара-« » « ,
». « »
и успешно применялся при создании целого ряда управляющих систем использовавшихся в ракетно-комических комплексах [1]: «Энергия-Буран», «Морской старт» (Sea Launch), «Протон-М» и др.
« » ,
-
построения. Может использоваться как для описания бизнес-процессов, так и для описания алгоритмов работы программы, в таком случае он использует синтаксис определенного языка программирования, образуя подмножество исходного языка («Дракон-С», «Дракон-Паскаль», «Дракон-Оберон» и т.д.).
При использовании такого программно-ориентированного «Дракона» возможна трансляция «Дракон-адгоритма» в программный код на соответствующем
.
Анализ структуры «Дракон» и области его применения показывает ряд недостатков, особенно остро проявляющихся при использовании для разработки систем, ориентированных не на управление, а на накопление и обработку информации:
♦ привязка к языку программирован ия производится на стадии составления «Дракон-адгоритма» работы программного модуля;
♦ требуется знание языка программирования аналитиком, при создании « - », « »;
♦ высокая трудоемкость создания систем, тесно взаимодействующих с БД, так как операции по работе с БД описываются в «Дракон» ,
.
Принципы построения алгоритмического языка описания модулей
Выявленные недостатки языка ДРАКОН в области построения систем, ориентированных на создание информационных систем привели к необходимости создания нового инструмента. Данный инструмент должен реализовать основную идею, заложенную создателями «Дракон» - сокращение звеньев в цепочке аналитик - программа, и, за счет этого, снижение затрат при создании системы.
Предлагается новый алгоритмический язык описания структуры и логики программных модулей (АОМ), на входе которого будут знания о предметной , - . -ствующим лицом в такой схеме будет системный аналитик, а степень участия программиста должна стремиться к нулю. Особенностью применения является ориентация на создание систем сбора, хранения и обработки информации в ши-
- ( ).
Основными принципами, которые закладываются в АОМ, являются:
♦
( , -
);
♦ качество выразительного средства (используются модифицированные блок-схемы алгоритмов МБА, с добавлением специализированных эле);
♦ отказ от трансляции алгоритма в текст программы на языке программирования и компиляции текста в исполняемый код (непосредственная
);
♦ возможность адаптации ИС к изменениям предметной области;
♦ высокая универсальность для реше ния задач накопления и обработки данных в ИС различных предметных областей, за счет использования оригинальной формы представления данных со статической структурой [2].
Проанализируем соответствие и различия, предлагаемого подхода и структуры использования языка «Дракон» в разрезе стадий разработки, представленных в табл. 1.
Таблица 1
Сравнение дракон» и АОМ
ДРАКОН АОМ
Описание БП Средство «Дракон» Любые методологии
Предмет описания БП предметной области БП предметной области
Элемент Функции БП Функции БП
Программный модуль Средство «Дракон-С», «Дракон-ПАСКАЛБ» и др. АОМ
Предмет описания Структура и логика работы программного модуля Структура и логика работы программного модуля
Элемент Код на языке программирования Шаблоны программ
Программный код Средство «С», «Паскаль» и др. Исполняющая среда
Предмет описания Код программы
Элемент Операторы языка программирования
5Е 3 ё * * 9 о С о 5 Исполняемый код программы
При описании бизнес-процессов предметной области могут быть использованы любые известные методологии, относящиеся как к методам структурного, так и объектно-ориентированного (8ЛБТ, иМЬ, ЛЯШ) анализа и проектирования [3, 4]. , ,
- .
Переход на этап описания структуры программных модулей производится после выделения атомарных функций бизнес-процесса и синтеза модульной структуры ИС [5]. Каждый модуль реализует одну или несколько функций бизнес-процесса, объединенных в логическую последовательность. Данная последовательность записывается в виде алгоритма на АОМ. Элементы АОМ, в отличие от «Дракон», содержат не код на языке программирования, а являются прототипами шаблонов, с указанием необходимых параметров. Шаблон представляет собой набор заранее определенных типовых операций, которые применяются при создании ИС. Шаблоны описывают операции, связанные с манипуляцией данными в БД, например, получение значений атрибутов указанной сущности, удаление и модификация данных в БД. Кроме того, шаблоны описывают структуру взаимодействия программного модуля с пользователем через графический интерфейс ИС.
При переходе на уровень программной реализации предлагается переводить алгоритм, записанный в виде совокупности элементов АОМ, не в текст на языке программирования, а передавать на выполнение в исполняющую среду. При вызове соответствующего программного модуля в момент исполнения происходит интерпретация элементов алгоритма в программные элементы (интерфейсные окна и , ).
задачи унификации программных элементов ИС, т.е. выделения шаблонов АОМ необходимо преодолеть сложность связанную с особенностями предметной области. Каждая область имеет свой набор данных со своей уникальной структурой. Проблема унификации традиционно решатся на основании двух подходов:
1) использование низкоуровневых элементов унификации, фактически близких к языкам программирования (в том числе и в подмножествах «Дракон» - «Дракон-С», и т.п.) [1];
2) специализации шаблонов по предметным областям (подход в БКР-системах) [6].
Нами предлагается подход к унификации программных элементов (шаблонов) на основании унификации структуры данных, хранящихся в БД - статической структуры данных [2]. Использование такой структуры позволяет на физическом уровне единообразно работать с данными, имеющими различную структуру на . -большой и полный набор шаблонов, достаточный для построения ИС в любой предметной области без узкой специализации и без низкоуровневого описания.
( . 1):
ІІНФОРМАІЮННАЯ СИСТЕМА
Рис. 1. Структура ИС при использовании АОМ
Реализация алгоритмического языка описания модулей
Алгоритмический язык описания модулей основан на следующих состав:
♦ декларативная часть, описывающая внешнее взаимодействие модуля и
, ;
♦ алгоритм р аботы модуля, записанный в виде специализированных МБА с
.
Рассмотрим подробнее декларативное описание модуля, которое состоит:
♦
этим модулем, исходя из того что, модуль это подмножество т^:^...^} множества М = {т1,т2..т1} всех функций ИС, где : атомарная функция , -множеств т1 множества М. Принимаемые и передаваемые данные, например, имеется модуль, который может добавлять и изменять данные по человеку, такой модуль будет иметь 2 интерфейса - «Добавить» без каких-либо параметров и «Изменить» с параметром идентификатор человека;
♦ описания логическ ой структуры данных, с которыми будет работать модуль. Сущности е1е Б ={е1, е2..еп} и их атрибуты, которые будут участвовать в работе модуля;
♦ описания интерфейсных компонентов модуля - детальное описание компонентов отображения и редактирования информации с указанием атрибутов сущностей и результатов запросов, с которыми будет работать этот компонент, является ли обязательным для заполнения этот компонент, ограничения по внесению информации;
♦ перечня действий, которые пользователь может выполнить над модулем
( , ).
Алгоритм работы модуля составляется на основе специальных икон [1] -,
( . 2).
В табл. 2 приведены некоторые иконы алгоритмического языка описания модулей и их символьное обозначение. Владимир Паронджанов доказал [1], что графический синтаксис языка может представлять собой графическое логическое исчисление («исчисление икон»). Исследования по реализации такого исчисления для АОМ еще ведутся, перечень икон и их символьное представление в настоящее время не являются полностью сформированным. Указанное обстоятельство не препятствует успешному практическому применению АОМ в соответствии с раз.
Исходными данными для предлагаемого метода является:
♦ структура сущностей ИС;
♦ структура модулей ИС;
♦ набор функциональ ных элементов языка.
Для построения модели программного модуля в виде АОМ необходимо выполнение следующих шагов:
1)
основании модели ИС, полученной в результате синтеза модульной структуры [5];
2) , модуле на основании модели бизнес-процессов и логической модели данных;
3) определение элементов управления/ввода/отображения обрабатывающихся в модуле данных на основании модели бизнес-процессов и логической модели
;
4)
-;
5) -нии модели бизнес-процессов предметной области.
В настоящее время построение АОМ-описания модуля выполняется на основании знаний аналитика с использованием указанных входных данных. Полученное описание передается программисту, а точнее - оператору по настройке испол-, , , « »,
- настраивает ИС под конкретный бизнес-процесс любой предметной области. Разработан визуальный редактор [7], предназначенный для работы с АОМ-,
задачи и готовой ИС.
Таблица 2
Иконы АОМ
Название Обозначение Описание Икона
Добавление или изменение данных сущности I[E{a1,a2..an},Id] I - обозначение операции E - сущность, которая добавляется/изм еняется al, a2..an - атрибуты сущности, которые будут добавлены Id - идентификатор сущности ( (
Удаление D[E] D - E - сущность, которая будет удалена
Получение единичного значение из БД S[E{a},Id] S - E - , необходимо выбрать a - Id - идентификатор сущности
Сохранение Com Сохранение данных в базу О
Установка параметра компонента CSP[c,p,v] CSP - с - имя компонента p - v - значение параметра
Вызов интерфейса Call[I,[p1,p2..pi]] Call - обозначение операции I - имя интерфейса pl, p2.. .pi - параметры интерфеса ~\ V У
Вариант V[p] V - p - рассматриваемый параметр А
Имя ветки B[p,v] B - p - рассматриваемый параметр v - /\
Цикл «ДО1Я» For[cp,i,j] For - обозначение операции cp - переменная цикла i - j - конец цикла ч
Переменная Var+name Name - Сг
Получение нового идентификато ра GNI[E] GNI - E - тип сущности < >
Сохранение в переменую SIV[VarName,Val] SIV - VarName - имя переменной Val - значение
Загрузка данных для компонентов LoadData LoadData - \' /
Практическая реализация
На базе изложенной концепции и многолетнего опыта разработки информационных систем профессиональным коллективом научно-производственного предприятия "БетаМ" был создан пакет программного обеспечения для проектирования и моделирования информационно-управляющих систем - "ПРИМИУС" [7] ( - ).
Данное средство реализует исполняющую среду ИС и предназначено для разработки и поддержки информационных систем различной направленности, сложности и масштаба, который дополнительно не требует привлечения услуг высококвалифицированных специалистов и затрат на обучение штатных программистов. Основной упор при создании был сделан на простоту построения пользовательских форм с помощью визуального редактора и упрощение работы с базами данных. Для возможности реализации логических алгоритмов был разработан собственный .
Заключение
Алгоритмический язык описания программных модулей, рассмотренный в
, « -»,
:
♦ использование АОМ позволяет создавать ИС, ориентированные на сбор, хранение и обработку информации без использования труда высококва-
;
♦
;
♦ АОМ не зависит от я зыка программирования, так как нет привязки к синтаксису языка программирования на этапе создания схемы работы
;
♦ нет привязки к особенностям предметной области, так как данные хранятся и обрабатываются в унифицированной статической структуре БД;
♦
среды, минуя дополнительную трансляцию в текст на языке программирования и компиляцию в исполняемый код.
Практическое использование разработанной методики и ПРИМИУС в ряде проектов в области медицинского и социального обслуживания показало высокую эффективность предлагаемого подхода и его реализации. Во время реализации систем были оценены на практике преимущества от использования средства :
♦ понижение требований к квалификации программиста - действующие проекты были реализованы сотрудниками после кратких двухмесячных курсов обучения работе с ПРИМИУС;
♦ уменьшение времени на разработку проекта, а следовательно, и затрат -при использовании ПРИМИУС время на разработку системы сократилось
2 , средств разработки (С#, Бе1рЫ);
♦ централизация прикладной ло гики и логики хранения данных, упрощение поддержки и сопровождения ИС.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Паронджанов В. Д. Как улучшить работу ума: Алгоритмы без программистов - это очень просто! - М.: Дело, 2001. - 360 с.
2. Почечуев Я.5., Рогозов Ю.И. Построение базы данных со статической структурой // Материалы IX ВНК студентов и аспирантов «Техническая кибернетика, радиоэлектроника и системы управления». - Таганрог: Изд-во ТТИ ЮФУ, 2008. - С. 189.
3. Трофимов С.А. CASE-технологии: практическая работа в Rational Rose - М: Изд-во «БИНОМ», 2001. - 272 с.
4. Марка Д.А., Мак Гоуэн К. Методология структурного анализа и проектирования. - М.: МетаТехнология, 1993.
5. Микита P.M. Методы реализации модульного принципа построения информационных
// . . . - : -ТРТУ, 2006. - №9. - С. 76.
6. Д. О'Лир и. ERP-системы. Современное планирование и управление ресурсами предпри-
. - .: , 2004.
7. Рогозов Ю.И., Бутенков С.А., Свиридов А.С., Горбань КС., Дубровский А.А., Друппов С.А., Жибулис Ю.А., Стукотий Л.Н. Метод создания инструментальный средств разра-
- // , -матизация, управление. - 2008. - №1 (82). - С. 52.
УДК 681.3.067: 007.52: 611.81
В.С. Поликарпов, Е.В. Поликарпова
НАЦИОНАЛЬНАЯ БЕЗОПАСНОСТЬ В КОНТЕКСТЕ ИНТЕЛЛЕКТУАЛЬНЫХ ВОЙН
В связи с особенностями новых интеллектуальных войн XXI столетия возникают проблемы обеспечения национальной безопасности России. Следует иметь в виду то существенное обстоятельство, что в этом сверхсложном мире национальная безопасность является комплексной по своему характеру. Поэтому в этом плане представляет немалый интерес исследования М.С. Алёшенкова комплексной безопасности на основе научных методов познания, предполагающих в , , , субъектах, причинно-следственных механизмах развития угроз, их переменных характеристик, способах и средствах оптимального прогнозирования [1]. Здесь предлагается систематизировать любые расчетно-вероятностные пространства негативных факторов и дается следующее структурирование опасностей и угроз: 1) ( ) ; 2) величине ущерба; 3) по степени вероятности наступления негативного события;
4) по масштабу проявления негативных факторов; 5) по причинам возникновения;
6) по характеру проявления; 7) по типу нанесенного (прогнозируемого) ущерба; 8) .
характеристика опасностей и угроз в следующих расчетных пространствах: 1) ; 2) ; 3) - ; 4) ;
5) техногенное; 6) энергоинформационное; 7) военное; 8) медицинское; 9) демографическое; 10) правовое; 11) геополитическое; 12) космическое. Возникает проблема обеспечения комплексной по своему существу национальной безопасности России в контексте интеллектуальных войн.
, , помогут ей не только адаптироваться к вызовам и угрозам XXI века ради