Флёров Ю.А., Вышинский Л.Л., Гринев И.Л., Логинов А.А
Download
Report
Transcript Флёров Ю.А., Вышинский Л.Л., Гринев И.Л., Логинов А.А
Генератор проектов средство автоматизации
проектирования
прикладных
информационновычислительных систем
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