Флёров Ю.А., Вышинский Л.Л., Гринев И.Л., Логинов А.А

advertisement
Генератор проектов средство автоматизации
проектирования
прикладных
информационновычислительных систем
ORMM-2010
1
Авторский коллектив
Вышинский Л.Л.
 Гринев И.Л.
 Логинов А.А.
 Флёров Ю.А.
 Широков Н.И.
 Широков А.Н.
ВЦ РАН Отдел математ. моделир. сист. проектирования

ORMM-2010
2
Основные проблемы разработки ИВС
 Изменяющиеся
нормы и правила работы
 Требования гибкости и различных настроек
 Многопользовательский режим
 Многокомпонентная сетевая архитектура
 Высокие требование к надежности
 Требования информационной безопасности
 Требования «масштабируемости»
 Сложность систем (большой объем программ)
 Необходимость длительного сопровождения
ORMM-2010
3
Жизненный цикл новых разработок
Технические объекты  Информационные системы
Разработка моделей
Проектирование
Конструирование
Изготовление
Испытания
Производство
Эксплуатация
Модификации
Разработка моделей (анализ)
 Проектирование
 Программирование
 Трансляция и сборка
 Тестирование
 Внедрение (тиражирование)
 Эксплуатация
 Модификации

ORMM-2010
4
Соотношение трудоемкости этапов
жизненного цикла ИВС
АНАЛИЗ
АНАЛИЗ
ПРОЕКТИРОВАНИЕ
ПРОГРАММИРОВАНИЕ
ПРОГРАММИРОВАНИЕ
СБОРКА
СБОРКА
ТЕСТИРОВАНИЕ
ВНЕДРЕНИЕ
СОПРОВОЖДЕНИЕ
ORMM-2010
5
Проектный подход к
разработке ИВС
информация о
содержательных понятиях и объектах
 Полная
 Методы
 Вид
и свойства объектов
представления результатов
ORMM-2010
6
Проектный подход к
разработке ИВС
Первый этап - проектирование системы.
Проект прикладной программной системы –
формальный документ.
 Второй этап – это генерация полного
программного кода системы и его
технологическая сборка, то есть создание
инсталляционного пакета.
 Автоматизация требует специального
инструментария, который является
технологической компонентой проекта.
Фактически, инструментарий – это
генератор программного кода проекта –
ГЕНЕРАТОР ПРОЕКТА.

ORMM-2010
7
Проектный подход к разработке ИВС
(генерация системы по ее проекту)
АНАЛИЗ
ПРОЕКТИРОВАНИЕ
ГЕНЕРАЦИЯ
ПРОГРАММИРОВАНИЕ
СБОРКА
СБОРКА
ТЕСТИРОВАНИЕ
ВНЕДРЕНИЕ
СОПРОВОЖДЕНИЕ
ORMM-2010
8
Задачи автоматизации
построения ИВС
создание единого информационного
пространства проекта;
 описание архитектуры проектируемой
системы;
 разработка математических моделей
объектов предметной области;
 описание логических структур и моделей
хранимых данных;
 описание серверных компонент системы;
 описание пользовательского интерфейса,

механизмы редактирования пользовательских
документов, форм, диалогов и прочее;
ORMM-2010
9
Задачи автоматизации
построения ИВС
создание опытных образцов, макетов,
демонстрационных стендов;
 автоматизация программирования,
генерация исходного программного кода;
 автоматизация разработки программной
и эксплуатационной документации;
 автоматизация разработки программы,
методики и тестов функциональных,
ресурсных и других испытаний системы;


автоматизация разработки средств загрузки и
инсталляции
системы,
средств,
обеспечивающих системное обслуживание и
эксплуатацию.
ORMM-2010
10
«Генератор проектов» это реализация следующих технологий:
 Клиент
– серверная архитектура
 Работа с реляционными базами данных
 Пользовательский оконный интерфейс
(клиентские приложения, окна, диалоги)
 Создание ИНТЕРНЕТ – сайтов
 Информационная безопасность
 «Многоплатформенность»
ORMM-2010
11
Архитектура «клиент-сервер»
SQL-запросы
БАЗА
ДАННЫХ
СУБД
КЛИЕНТСКИЙ МОДУЛЬ
ДВУХУРОВНЕВЫЙ «КЛИЕНТ – СЕРВЕР»
КЛИЕНТСКИЙ
МОДУЛЬ
ЗП
ПРИКЛАДНОЙ
СЕРВЕР
SQL
СУБД
БАЗА
ДАННЫХ
ТРЕХУРОВНЕВЫЙ «КЛИЕНТ – СЕРВЕР»
ORMM-2010
12
Описание проекта
Типы
данных
Схема базы
данных
Спецификации
запросов
Описание
клиентского
интерфейса
ГЕНЕРАТОР
Описание
запросов
Описание
WEB
интерфейса
ПРОЕКТОВ
ПРОГРАММНЫЙ КОД
ORMM-2010
13
КЛИЕНТСКИЙ МОДУЛЬ 1
МОДУЛЬ АДМИНИСТРАТОРА СИСТЕМЫ
КЛИЕНТСКИЙ МОДУЛЬ 2
БД
СБ
СИСТЕМА БЕЗОПАСНОСТИ
КЛИЕНТСКИЙ МОДУЛЬ К
ПРИКЛАДНОЙ
СЕРВЕР 1
СУБД
БД 1
W E B САЙТ 2
ПРИКЛАДНОЙ
СЕРВЕР 2
СУБД
БД 2
W E B САЙТ M
ПРИКЛАДНОЙ
СЕРВЕР N
СУБД
БД N
ДИНАМИЧЕСКИЕ
БИБЛИОТЕКИ
УТИЛИТЫ РАБОТЫ С
БАЗАМИ ДАННЫХ
W E B САЙТ 1
HTML - СТРАНИЦЫ
ORMM-2010
14
Состав проекта ИВС
 Головной
файл – имя проекта и его структура
 Описание типов данных
 Описание проектных документов
 Файлы описания баз данных
 Файлы описания серверов
 Файлы описания окон и диалогов
 Файлы описания клиентских приложений
 Файлы описания ИНТЕРНЕТ-серверов
 Файлы «ручных» функций для процедур
ORMM-2010
15
Единое информационное
пространство проекта
 текущая
версия генератора проекта;
 полный комплект файлов описания
проекта;
 полный комплект файлов
генерируемого программного кода
системы;
 полный комплект исполняемых
файлов системы.
ORMM-2010
16
Язык описания проекта
реквизиты проекта
 платформы
 пользователи системы
 типы данных
 документы
 сетевые структуры данных
 реляционные базы данных
 генерируемые (автоматически) SQL - запросы
 произвольные SQL - запросы

ORMM-2010
17
Язык описания проекта
 прикладные
серверы
 порты прикладных запросов
 WEB - порты серверов
 бизнес - процедуры прикладных
серверов
 «ручные» программы бизнес-процедур
 пользовательские окна
 пользовательские диалоги
 пользовательские (клиентские) модули
ORMM-2010
18
Платформы
Cltgtk – оконные приложения Linux
 Cltgtw – оконные приложения MS Windows.
 Cltwin – оконные приложения для
использования в MS Windows.
 Libuni – библиотеки для ручных программ в
Linux.
 Libwin - библиотеки для ручных программ в
MS WIndows.
 Srvuni – серверы для использования в Linux.
 Srvwin – серверы для использования в MS
Windows

ORMM-2010
19
Драйверы баз данных
win_dblb7 – MS SQL Server через ntwdblib в MS
WIndows.
 win_orcl – Oracle через oci32 в MS WIndows.
 win_sybase – SYBASE через ctlib в MS
WIndows.
 win_mysql – MySql в MS Windows.
 uni_psql – Postgres в Linux.
 uni_sybase – SYBASE через ctlib в Linux.
 uni_mysql – интерфейс с MySql в Linux.

ORMM-2010
20
Типы данных
предописанный тип данных
(numb,char,date,money,…),
 переопределение ранее определенного
прототипа,
 перечислимый тип (enum, radio, mask),
 type <идентификатор>:
{<формат>(<базовый тип>)|alias
<идентификатор типа>}
[(<список значений>|<список свойств>)]
/tilte=<строка комментария>/hdr=<строка
заголовка>

ORMM-2010
21
Типы и модели данных

структуры (struct). В описании задается состав
именованных компонент структуры с их типами.
type <имя> : {<имя предописанного типа>(<формат>)
| struct | alias <имя прототипа>}
[(<компоненты типа>)] /title=<строка> /hdr=<строка>
реляционные модели данных, основанные на SQL
 сетевые модели, основанные на списковых структурах

ORMM-2010
22
Документ – основное понятия
языка описания проектов
document <имя документа> : <тип документа>;
record <имя записи> : <тип записи>;…
set <имя набора> [owner <владелец>] member <член набора>;…
func <имя функции> (<вход>) : (<выход>) { <тело> }…
ЖЖЖЖЖЖЖЖЖЖЖЖ
ЖЖЖЖЖЖЖЖЖЖЖ
s1
s2
r1
r2
s3 s4
s5
r3
r4
s7
s6
r5
ORMM-2010
23
Операторы манипулирования
содержимым документа
Записать в заданный экземпляр документа
структуру.
 Считать из заданного документа структуру.
 Создать экземпляр записи данного типа с
указанием структуры, содержимое которой
нужно разместить в записи.
 Удалить заданный экземпляр записи.
 Считать из заданного экземпляра записи
структуру.
 Записать в заданный экземпляр записи
структуру.

ORMM-2010
24
Операторы манипулирования
содержимым документа





Включить заданный экземпляр записи в
экземпляр набора в заданную позицию.
Найти по заданному номеру позиции
экземпляр члена набора по экземпляру
владельца.
Перейти от заданного экземпляра члена
набора к следующему/предыдущему.
Найти экземпляр владельца по заданному
экземпляру члена набора.
Для заданного владельца ключевого набора и
значения ключа найти соответствующий
экземпляр члена набора.
ORMM-2010
25
Реализации абстракции
документа
 документ
в памяти компьютера
 документ
в виде совокупности
бинарных файлов с прямым
доступом (сетевая базы данных)
 сетевой
(TCP/IP) интерфейс к одной
из двух предыдущих реализаций
ORMM-2010
26
Схема выполнения бизнес-процедур
Входные документы
ВХОДНЫЕ ДОКУМЕНТЫ
с е р в е р
КЛИЕНТСКИЕ
МОДУЛИ
(АРМ)
БИЗНЕС
- ПРОЦЕДУРА
БИЗНЕС
- ПРОЦЕДУРЫ
СУБД
БД
Выходные документы
ВЫХОДНЫЕ ДОКУМЕНТЫ
ORMM-2010
27
Пользователи
Пользовательские окна – это абстрактное понятие,
связанное с внешним представлением описанных в проекте
документов.
Пользовательские диалоги - специальный вид окна
Пользовательские приложения - это клиентские модули,
обеспечивающие интерфейс пользователей с бизнеспроцедурами серверов.
ORMM-2010
28
Пользовательский интерфейс
ORMM-2010
29
ORMM-2010
30
Результат генерации проекта
(состав программных модулей)

исполняемые модули бизнес-серверов
конфигуратор баз данных
crpsetup.exe - конфигуратор безопасности
crplib.dll – библиотека шифрования
db_dblb7.dll – драйвер интерфейса с СУБД MS SQL Server
db_orcl.dll – драйвер интерфейса с СУБД Oracle 7
db_sybase.dll – драйвер интерфейса с СУБД Sybase 11
<имя кл. модулей>.exe – исполняемые файлы клиентских модулей
sysadm.exe – исполняемый модуль администратора безопасности
crplib.dll – библиотека алгоритмов шифрования (clt)
zlib.dll – библиотека компрессирования информации …

конфигурационные, командные и другие вспомогательные файлы










ORMM-2010
31
Эффективность «Генератора проектов»
 Объем
сгенерированного программного кода
~ 7.5 Мбт
в том числе:
 клиентские модули
 библиотеки
 сервер
 Объем
~ 4.0 Мбт
~ 1.0 Мбт
~ 2.5 Мбт
проекта
~ 0.4 Мбт
ORMM-2010
32
Разработанные информационно
вычислительные системы







Система МФО (1992 г. ГУ ЦБ РФ)
АС МБР (1993 г. ГУ ЦБ РФ)
ГАМБИТ (1995 – 97 г. СБ РФ)
Взаимозачеты (1999 г. РПБ)
Mobipay (2002 г.)
MassPay (2003 г. СБ РФ)
Биллинг (2004 г.)
ORMM-2010
33
АСБУ - Автоматизированная система
бюджетного управления корпорацией (2005,
ОАО ТВЭЛ).
АСВР-М - Автоматизированная система
весовых расчетов (2007, ОКБ им. П.О.
Сухого).
КПИР - Комплексная программа
управления инженерными расчетами
(2010, ОКБ им. П.О. Сухого.
ORMM-2010
34
Вышинский Л.Л., Прибытков Ю.Д., Флеров Ю.А., Шиленко В.И.,
Широков Н.И. Инструментальная система ФАКИР. Известия Академии
наук СССР, Техническая кибернетика, Москва, 1986 г., № 3.
Вышинский Л.Л., Гринев И.Л., Флеров Ю.А., Шиленко В.И.,
Широков Н.И. Инструментальные средства САПР. В сб. Задачи и методы
автоматизированного проектирования в авиастроении. Издание
Вычислительного Центра АН СССР, Москва, 1991 г.
Гринев И.Л., Широков Н.И. Средства управления данными в САПР.
В сб. Задачи и методы автоматизированного проектирования в
авиастроении. ВЦ АН СССР, Москва, 1991 г.
Вышинский Л.Л., Гринев И.Л., Демидов А.Ю., Широков Н.И.
Технологии разработки и сопровождения АБС. «Банковские
технологии», Москва, 1997 июль-август
ORMM-2010
35
Вышинский Л.Л., Гринев И.Л., Катунин В.П., Лабутин И.В., Флеров
Ю.А. Широков Н.И. Банковские информационные технологии (части I
и II) // М.: ВЦ РАН 1999, 272 с.
Вышинский Л.Л., Гринев И.Л., Флеров Ю.А., Широков А.Н., Широков
Н.И. Генератор проектов – инструментальный комплекс для
разработки «клиент - серверных» систем // Информационные
технологии и вычислительные системы. 2003, № 1-2, с..6-25.
сборник «Автоматизация проектирования финансовых
информационных систем» // М.: ВЦ РАН 2004 г.
ORMM-2010
36
Текущие задачи
Повышение эффективности создаваемых
многопользовательских транзакционных клиентсерверных систем
Повышение эффективности самого Генератора
проектов
Вопросы разработки новых оконных типов в рамках
Генератора проектов
ORMM-2010
37
Спасибо за внимание
ORMM-2010
38
Download