Методы извлечения бизнес-логики на основе семантических свойств программ тема диссертации и автореферата по ВАК РФ 05.13.11, кандидат физико-математических наук Тарабухина, Надежда Константиновна

  • Тарабухина, Надежда Константиновна
  • кандидат физико-математических науккандидат физико-математических наук
  • 2010, Новосибирск
  • Специальность ВАК РФ05.13.11
  • Количество страниц 123
Тарабухина, Надежда Константиновна. Методы извлечения бизнес-логики на основе семантических свойств программ: дис. кандидат физико-математических наук: 05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей. Новосибирск. 2010. 123 с.

Оглавление диссертации кандидат физико-математических наук Тарабухина, Надежда Константиновна

Введение.

Глава 1. Бизнес-логика программ.

1.1. Основные понятия и определения.

1.1.1. История бизнес-правил в экономике и в программировании.

1.1.2. Определения бизнес-правила и бизнес-логики.

1.1.3. Сравнение моделей бизнес-правил.

1.2. Основные подходы к автоматизации работы с бизнес-правилами.

1.2.1. Использование бизнес-правил для проектирования приложения.

1.2.2. Извлечение бизнес-логики из кода приложения.

1.2.3. Программные средства для проектирования приложений с использованием бизнес-правил.

1.2.4. Программные средства для извлечения бизнес-логики.

Глава 2. Методы извлечения бизнес-логики.

2.1. Постановка задачи.

2.2. Варианты решений.

2.2.1. Слабая автоматизация.

2.2.2. Сильная автоматизация.

Глава 3. Автоматическое создание бизнес-правил на основе семантических свойств программ.

3.1. Восстановление вычислений.

3.1.1. Специальный информационный граф как входные данные метода

3.1.2. Построение и преобразование операторного графа.

3.1.3. Анализ условий.

3.1.4. Создание последовательности бизнес-правил.

3.1.5. Группировка бизнес-правил в бизнес-процедуры.

3.2. Валидация экранных портов.

3.2.1. Построение и анализ операторного графа.

3.2.2. Создание бизнес-правил.

3.3. Поиск использований заданной переменной.

Глава 4. Business Rule Manager - средство анализа бизнес-логики старых приложений.

4.1. Общее знакомство с инструментом.

4.1.1. Представление бизнес-правил.

4.1.2. Пользовательский интерфейс.

4.2. Возможности инструмента Business Rule Manager.

4.2.1. Жизненный цикл бизнес-правил.

4.2.2. Проверки бизнес-правил.

4.2.3. Поиск по атрибутам и групповое редактирование.

4.2.4. Обнаружение входных и выходных данных и подстановка терминов предметной области.

4.3. Особенности реализации методов автоматического создания бизнесправил.

4.3.1. Интерфейсные решения, или особенности с точки зрения пользователя.

4.3.2. Программные решения.

4.4. Применение на реальных приложениях.

4.5. Сравнение с другими программными средствами.

Рекомендованный список диссертаций по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Введение диссертации (часть автореферата) на тему «Методы извлечения бизнес-логики на основе семантических свойств программ»

В современном обществе компьютеры используются практически во всех областях человеческой деятельности и компьютерные программы составляют важную часть бизнес-процессов предприятий и организаций. Подобные программы создавались в течение не одного десятка лет и на сегодняшнем этапе требуют постоянной поддержки, модернизации и адаптации к меняющимся условиям их применения. Ситуация осложняется тем, что существенная часть этих приложений разработана с использованием устаревших языков программирования COBOL, PL/1, Natural и других, мало употребляемых современными программистами. Часто такие программы не имеют документации вообще или документация не соответствует коду, поскольку она уже не отражает многочисленных изменений, произведенных за годы эксплуатации. Кроме того, исходный код рассматриваемых приложений может оказаться частично утраченным, что затрудняет компиляцию и отладку.

Также нельзя не отметить, что для любого изменения существующих бизнес-приложений необходимо понимание предметной области их применения, которым программисты в большинстве случаев не владеют. Поэтому важно предоставить системным аналитикам средство работы с бизнес-логикой приложений, требующее от пользователя лишь минимальных навыков программирования. Полученные с помощью такого средства бизнес-правила имеют самостоятельную ценность и являются универсальным методом коммуникации между программистами и аналитиками. В дальнейшем бизнес-правила могут использоваться для корректировки работы имеющейся программы, создания спецификаций новых приложений или документирования кода.

Как показывает практика, многие бизнес-приложения не соответствуют современному уровню развития информационных технологий, поскольку 4 большинство из них было создано до появления персональных компьютеров, сети Интернет и графического интерфейса пользователя. Эти приложения функционируют на устаревшей технике, под управлением архаичных операционных систем и не используют современные средства хранения и передачи данных. Подобные бизнес-приложения считаются устаревшими или унаследованными (legacy) и, безусловно, нуждаются в модернизации. Возможны различные методы их модернизации, в том числе и с применением таких элементов реинжиниринга (или «обратного проектирования»)!!], как автоматическое извлечение бизнес-логики и автоматический перевод кода приложения на другие языки программирования. Рассмотрим кратко некоторые из этих методов и отметим необходимость использования бизнес-правил для успешного их применения.

Метод разработки нового прилоэ/сения для полной замены существующего является одним из самых дорогостоящих методов модернизации, требующим значительного времени на проектирование, разработку, тестирование и внедрение нового приложения. Предварительное извлечение бизнес-логики исходного приложения в виде бизнес-правил может быть полезно на всех этапах модернизации: в качестве спецификаций при проектировании и разработке и в качестве тестовых сценариев (use cases) при тестировании. Важно, что соответствие новой системы бизнес-правилам, извлеченным из старой системы, обеспечивает корректность модернизации.

Метод автоматического перевода устаревшего бизнес-приложения на новые языки программирования и новые платформы является более привлекательным. К преимуществам использования этого метода относится быстрота и относительно низкая стоимость проведения модернизации.

Однако необходимо отметить, что полная автоматизация для реально используемых бизнес-приложений не всегда возможна и структура автоматически созданного кода не всегда является оптимальной. Данный метод может обеспечить синтаксически корректный перевод с одного языка 5 на другой, но это, как правило, не приводит к улучшению структуры программы и не позволяет выделить действительно интересные фрагменты (бизнес-правила) из устаревшего кода.

Метод извлечения знаний предполагает использование средств извлечения (в том числе и автоматического) и анализа бизнес-правил с последующей реализацией (в том числе и автоматической) полученных правил в новом приложении на новых языках и новых платформах. Этот метод обеспечивает высокое качество модернизации при высокой скорости проведения работы и относительно низкой ее стоимости.

При использовании любого метода модернизации детали технической реализации устаревших приложений обычно не представляют особой ценности при попытке создания современных аналогов этих приложений. В самом деле, для современных графических приложений, работающих в сети Интернет, совершенно неважно, как именно были реализованы детали пользовательского интерфейса на алфавитно-цифровом дисплее в оригинальной программе или какие средства использовались для обеспечения совместной работы пользователей. Наибольшую ценность представляют используемые в существующих приложениях бизнес-правила и алгоритмы, поскольку именно они определяют, что и как делает приложение.

На сегодняшний день объем существующих бизнес-приложений, нуждающихся в полной замене или дальнейшей модернизации, настолько велик, что актуальность автоматического извлечения бизнес-логики программ не вызывает сомнений.

Цель работы заключается в исследовании методов автоматического построения бизнес-правил на основе семантических свойств программ. Основные задачи в рамках достижения этой цели включают:

• Разработку метода восстановления вычислений заданной программной переменной на основе графа информационных зависимостей программы.

• Разработку метода валидации экранных портов для построения бизнес-правил из всех проверок корректности значений, вводимых пользователем и попадающих в программу через операторы обработки экранных форм - экранные порты.

• Построение вспомогательного алгоритма для валидации сегментов бизнес-правил, позволяющего проверять актуальность правил после редактирования программного кода.

• Реализацию всех разработанных алгоритмов в рамках программного средства анализа бизнес-логики старых приложений Business Rule Manager.

Практическая ценность

Практическим результатом работы явилось создание средства Business Rule Manager как одной из важнейших подсистем системы Modernization Workbench [1, 3, 4, 14, 32] анализа старых приложений, которая в настоящее время успешно применяется многими компаниями Европы, Азии и Америки для выполнения работ в области реинжиниринга. Описанные в работе методы извлечения бизнес-логики широко используются при анализе и модернизации приложений в области банковской деятельности, страхования, снабжения и управления.

Апробация работы

Результаты работы были представлены на конференциях-конкурсах «Технологии Microsoft в теории и практике программирования», проходивших в Новосибирске в 2006 и 2007 годах, на XLV Международной научной студенческой конференции «Студент и научно-технический прогресс» в 2007 году, на VIII Всероссийской конференции молодых ученых по математическому моделированию и информационным технологиям, проходившей в Институте вычислительных технологий СО РАН в 2007 году, на рабочем семинаре «Наукоемкое программное обеспесение» в рамках седьмой международной конференция памяти академика А. П. Ершова «Перспективы систем информатики» (PSI'09) в 2009 году, а также обсуждались в ряде встреч с российскими и зарубежными специалистами в области реинжиниринга.

Автором опубликовано 9 печатных работ, из них по теме диссертации — 7 работ.

Структура и объем работы

Диссертационная работа состоит из введения, четырех глав, заключения, списка литературы и трех приложений. Объем диссертации — 123 стр. Список литературы содержит 40 наименований. Работа включает 4 таблицы и 56 иллюстраций, в том числе полученных с использованием разработанного программного обеспечения.

Похожие диссертационные работы по специальности «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», 05.13.11 шифр ВАК

Заключение диссертации по теме «Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей», Тарабухина, Надежда Константиновна

Основные результаты

• Разработан метод восстановления вычислений заданной программной переменной на основе графа информационных зависимостей программы.

• Разработан метод валидации экранных портов для постоения бизнес-правил из всех проверок корректности значений, вводимых пользователем и попадающих в программу через операторы обработки экранных форм - экранные порты.

• Предложен вспомогательный алгоритм для валидации сегментов бизнес-правил, позволяющий проверять актуальность бизнес-правил после редактирования программного кода.

• Все разработанные алгоритмы реализованы в рамках программного средства анализа бизнес-логики старых приложений Business Rule Manager.

Заключение

Применение методов извлечения знаний в формате бизнес-правил фактически стало стандартом для документирования, сопровождения и модернизации программного обеспечения. Различными компаниями разработаны многочисленные системы для хранения, управления и исполнения бизнес-правил. Наиболее сложной и трудоемкой задачей остается собственно извлечение бизнес-правил из кода программ. Отдельные средства позволяют в той или иной степени автоматизировать этот процесс, как правило путем выполнения поиска по образцу в исходном коде. К сожалению, бизнес-правила, извлеченные таким образом, имеют низкое качество и не вполне отражают логику исследуемого приложения.

Данная работа посвящена разработке автоматических методов извлечения бизнес-логики на основе семантических свойств программ. Применение алгоритмов обработки графов в сочетании с использованием результатов синтаксического и потокового анализов позволило существенно улучшить качество бизнес-правил и восстановить порядок их использования. Результаты исследований были использованы при создании системы управления бизнес-правилами Business Rule Manager, которая в составе продукта Relativity Modernization Workbench успешно используется для анализа, документирования и модернизации устаревших программ многими компаниями Европы, Азии и Америки.

Теоретическая часть работы выполнялась автором совместно с научным руководителем. Практическая реализация алгоритмов автоматического извлечения бизнес-правил, интерфейса пользователя и некоторых алгоритмов в системе Business Rule Manager выполнена автором лично с применением технологических решений системы Modernization Workbench, разработанной совместно российской компанией «Ланит-Терком», американской компанией Relativity Technologies и лабораторией смешанных вычислений Института

107 систем информатики СО РАН. Общий объем программного кода составляет около 8000 строк кода (или 350 Кб).

В качестве направлений дальнейших исследований можно отметить улучшение производительности системы, оптимизацию запросов к базе данных и доработку метода поиска использований переменной.

Список литературы диссертационного исследования кандидат физико-математических наук Тарабухина, Надежда Константиновна, 2010 год

1. Автоматизированный реинжиниринг программ / Под ред. проф. А.Н. Терехова и А.А. Терехова. — Спб.: Издательство С.-Петербургского университета, 2000. 332 с.

2. Ахо А., Сети Р., Ульман Д. Компиляторы: принципы, технологии и инструменты. -М.: Издательский дом "Вильяме", 2002.

3. Бульонков М.А., Бабурин Д.Е. HyperCode открытая система визуализации программ // Автоматизированный реинжиниринг программ / Ред. Терехов А.Н. СПб: Изд-во СПбГУ, 2001. - С. 96-106.

4. Бульонков М.А., Бабурин Д.Е., Емельянов П.Г., Филаткина Н.Н. Средства визуализации при перепроектировании программ // Программирование. 2001. № 27. - С. 21-33.

5. Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология / Пер. с англ. И. В. Романовского. СПб.: Невский Диалект; БХВ-Петербург, 2003. - 654 е.: ил.

6. Касьянов В.Н. Оптимизирующие преобразования программ. М.: Наука, 1988.

7. Касьянов В. Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. СПб.: BHV-Санкт-Петербург, 2003.

8. Кристофидес Н. Теория графов. Алгоритмический подход. М.: Мир, 1978.

9. Михайлов А.В. Объектно-ориентированная технология разработки программных систем (UML), 2002. URL: http://gis-2000.narod.ru/books.html

10. Новоженов Ю.В. Опыт реинжиниринга объектно-ориентированного комплекса программ с применением CASE-средства Rational Rose и109

11. SILVERRUN // Материалы конференции «Индустрия программирования '96». URL: http://www.citforum.ru/programming/prg96/97.shtml

12. Свами М., Тхуласираман К. Графы, сети и алгоритмы. — М.: Мир, 1984.

13. A Brief History of the Business Rule Approach, 2nd ed. // Editors of BRCommunity.com. Business Rules Journal, Vol. 7, No. 11. Business Rule Community, 2006. URL: http://www.BRCommunity.com/a2006/b317.html

14. Baker B.S. Parameterized Duplication in Strings: Algorithms and an Application to Software Maintenance // SIAM J. on Computing. 1997. - Vol. 26, N5.-P. 1343-1362.

15. Bulyonkov M., Filatkina N. Exploring Data Flow in Legacy Systems // Proceedings of the Second Asian Workshop on Programming Languages and Systems (APLAS 2001), 2001. P. 61-75.

16. Business Rule Extraction // SoftwareMining White Paper, 2008. URL: http://www.softwaremining.com/download/SM-BRE-Brochure.pdf. ». ,

17. Business Rules Manifesto // Business Rules Group, 2003. URL: http://www.businessrulesgroup.org/brmanifesto.htm

18. Date C.J. What Not How: The Business Rules Approach to Application Development. Boston, MA: Addison-Wesley, 2000. - 144 p.

19. Haggerty N. Modeling Business Rules Using the UML and CASE // Business Rules Journal, Vol. 1, No. 10. Business Rule Community, 2000. URL: http://www.brcommunity.com/bO 16.php

20. Khusidman V. Business Rules Discovery from Existing Applications // Business Rules Journal, Vol. 8, No. 10. Business Rule Community, 2007. URL: http://www.BRCommunity.com/a2007/b366.html

21. Krinke J. Program Slicing // Handbook of Software Engineering and Knowledge Engineering, Volume 3: Recent Advances. World Scientific Publishing, 2005.

22. Legacy IT Applications & Compliance with Sarbanes-Oxley // Trinity Millenium Group. URL: www.tringroup.com/images/TMGiSOXWP.pdf

23. McAllister A. An Alternative Strategy for Legacy Modernization. // z/Journal, 2008. URL: http://www.zjournal.com/index.cfm?section=article&aid=947#

24. Modernizing and Improving the Maintainability of RPG Applications Using X-Analysis Version 5.6 // IBM Redbook, 2006. URL: http://www.redbooks.ibm.com/redpapers/pdfs/redp4046.pdf.

25. Perkins A. Business Rules Are Meta Data // Business Rules Journal, Vol. 3, No. 1. Business Rule Community, 2002. URL: http://www.BRCommunity.com/a2002/b097.html

26. Ross R.G. Exploring Business Rules. // Business Rule Community, 1999. URL: http ://www. brcommunity. с om/a439.php

27. Ross R.G. Principles of the Business Rule Approach. Boston, MA: Addison-Wesley, 2003.-400 p.

28. Semantics of Business Vocabulary and Business Rules // Object Management Group, 2008. URL: http://www.omg.org/spec/SBVR/LO/PDF

29. Sneed H. Extracting Business Logic from Existing COBOL Programs as a Basis for Redevelopment // Proceedings of the 9th International Workshop on Program Comprehension, 2001. P. 167-175.

30. Wadhwa V., Erlikh L., Oara I.M., Terekhov A.N., Bulyonkov M.A. Method and system of business rule extraction from existing applications for integration into new applications. US Patent 6389588, Submitted 02/04/1999. Published 05/14/2002.

31. Weiser M. Program slicing // IEEE Transactions on Software Engineering, Volume 10, Issue 4 IEEE Computer Society Press, 1984. - P. 352-357.

32. Публикации по теме диссертации

33. Вольхина Н.К. Автоматическое восстановление бизнес-логики . программ // Молодая информатика. Вып. 2. Новосибирск, 2006. - С. 90102.

34. Вольхина Н.К. Группировка бизнес-правил для улучшения понимания программы. // Материалы XLV Международной научной студенческой конференции "Студент и научно-технический прогресс": Математика / Новосиб. Гос. Ун-т. Новосибирск, 2007. С. 147-148.

35. Вольхина Н.К. Корректное упорядочение бизнес-правил на основе информационных зависимостей // Технологии Microsoft в теории и практике программирования: Тезисы докладов. — Новосибирск, 2007. — С. 4-6.

36. Вольхина Н.К. Поиск по образцу для валидации бизнес-правил // Технологии Microsoft в теории и практике программирования: Тезисы докладов. — Новосибирск, 2006. — с. 10-11.

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.