WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

загрузка...
   Добро пожаловать!

Pages:     | 1 ||

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

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

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

Отдельные фрагменты результатов перевода могут быть подвергнуты рефакторингу. Автором выделены следующие направления структурных модификаций:

• дальнейшее улучшение понимания кода (преобразования:

переименования, введение константы/переменной, выделение метода);

• дальнейшее улучшение объектной структуры (преобразования: извлечение базового класса/интерфейса, изменение сигнатуры метода) • выделение общего кода между программными классами и вынесения его в отдельные классы (преобразования: сделать метод статическим, перенести метод, сделать статический метод методом экземпляра);

Автором описано применение предложенных подходов и методов для автоматизированного перевода программ с другими входными (ПЛ1, Натурал) и выходными языками (Visual Basic и С++).

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

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

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

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

Список литературы 1. M. Fowler, K. Beck, J. Brant, et. al., “Refactoring: Improving Design of Existing Code”, Addison Wesley Longman, 2. R. Gray, T. Bickmore, S. Williams, “Reengineering Cobol Systems to Ada,” In Proceedings of Air Force/Army/Navy Software Technology Conference, US Dept. of Defense, 1995.

3. M. Harsu “Reengineering Legacy Software through Language Conversion”, Report A-2000-8, Department of Computer and Information Sciences, University of Tampere (Doctoral thesis), June 2000, 150 pp.

4. C. Jones "The Year 2000 Software Problem – Quantifying the Costs and Assessing the Consequences", Addison-Wesley, 5. LegacyJ's PercCobol - Cobol to Java compiler 6. B. Lientz, E. B. Swanson "Problems of application software maintenance", Communications of the ACM, Vol. 24, No. 11, 1981, pp. 763–769.

7. H. M. Sneed "Object-Oriented COBOL Recycling", In Proceedings of Working Conference on Reverse Engineering, IEEE Computer Society Press, 1996, pp. 169-8. A. A. Terekhov, C. Verhoef "The Realities of Language Conversions", IEEE Software, November/December 2000, Vol. 17, No.

6, pp. 111–124.

9. C. Verhoef “Software Development is a Special Case of Maintenance”, In Proceedings of International Conference on Software Engineering and Applications, IEEE Computer Society Press, Работы автора по теме диссертации 1. М. Мосиенко "Построение динамической поддержки для задач реинжиниринга", в сб. "Автоматизированный реинжиниринг программ", СПб, изд-во С.-Петербургского университета, 2000. С. 145–164.

2. M. Mossienko “Automated Cobol to Java Recycling”, In Proceedings of 7th IEEE Conference on Software Maintenance And Reengineering, IEEE Computer Society Press, 2003, pp. 40-3. M. Mossienko, O. Khaschansky, D. Antonov, O. Smirnov, A.

Gubanov “Towards managing environment dependence during legacy systems maintenance and renovation”, In Proceedings of 3rd IEEE Workshop on Source Code Analysis and Manipulation, IEEE Computer Society Press, 2003, pp. 131-4. М. Мосиенко, А. Тиунова “Интеграция программной логики с пользовательским интерфейсом в процессе реинжиниринга” в сб. "Труды кафедры системного программирования", СПб, изд-во С.-Петербургского университета, 2004. С. 199– 224.

ЛР № 040815 от 22.05.Подписано к печати. Формат бумаги 60х90 1/16.

Бумага офсетная. Печать ризографическая.

Объем 1 п.л. Тираж 100 экз. Заказ.

Отпечатано в отделе оперативной полиграфии НИИХ СПбГУ с оригинал-макета заказчика.

198504, Санкт-Петербург, Старый Петергоф, Университетский пр., 26.

Бесплатно

Pages:     | 1 ||






© 2011 www.dissers.ru - «Бесплатная электронная библиотека»