Научная статья на тему 'Новый подход реализации идеи «Программирование без программиста»'

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

CC BY
360
101
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНФОРМАЦИОННАЯ СИСТЕМА / БЛОК-СХЕМА / АЛГОРИТМИЧЕСКИЙ ЯЗЫК / ПРОЕКТИРОВАНИЕ / ВИЗУАЛЬНОЕ ПРОЕКТИРОВАНИЕ / INFORMATION SYSTEM / FLOWCHART / ALGORITHMIC LANGUAGE / PROGRAM DESIGN / VISUAL DESIGN

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Рогозов Ю. И., Дубровский А. А., Свиридов А. С.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Рогозов Ю. И., Дубровский А. А., Свиридов А. С.

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

New implementation approach of idea programming without programmer

Article is educated to idea development «programming without the programmer», to the analysis of lacks of existing ways of the description of structure of program modules and working out of a new algorithmic language of the description of program modules.

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

УДК 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 - идентификатор сущности

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

Сохранение 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 века ради

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