
9026e8adf24e44fa67348df5d1e5e6e7.ppt
- Количество слайдов: 38
Генератор проектов средство автоматизации проектирования прикладных информационновычислительных систем ORMM-2010 1
Авторский коллектив Вышинский Л. Л. n Гринев И. Л. n Логинов А. А. n Флёров Ю. А. n Широков Н. И. n Широков А. Н. ВЦ РАН Отдел математ. моделир. сист. проектирования n 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 ПРИКЛАДНОЙ СЕРВЕР 2 СУБД БД 2 ПРИКЛАДНОЙ СЕРВЕР N СУБД БД N ДИНАМИЧЕСКИЕ БИБЛИОТЕКИ УТИЛИТЫ РАБОТЫ С БАЗАМИ ДАННЫХ W E B САЙТ 1 W E B САЙТ 2 W E B САЙТ M 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_dblb 7 – MS SQL Server через ntwdblib в MS WIndows. ® win_orcl – Oracle через oci 32 в MS WIndows. ® win_sybase – SYBASE через ctlib в MS WIndows. ® win_mysql – My. Sql в MS Windows. ® uni_psql – Postgres в Linux. ® uni_sybase – SYBASE через ctlib в Linux. ® uni_mysql – интерфейс с My. Sql в 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 <имя функции> (<вход>) : (<выход>) { <тело> }… ЖЖЖЖЖЖ s 1 s 2 r 1 r 2 s 3 s 4 s 5 r 3 r 4 s 7 s 6 r 5 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_dblb 7. 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 г. ГУ ЦБ РФ) n АС МБР (1993 г. ГУ ЦБ РФ) n ГАМБИТ (1995 – 97 г. СБ РФ) n Взаимозачеты (1999 г. РПБ) n Mobipay (2002 г. ) n Mass. Pay (2003 г. СБ РФ) n Биллинг (2004 г. ) n 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