Восстановление архитектуры программного обеспечения - Software architecture recovery

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

Восстановление архитектуры программного обеспечения может потребоваться в рамках модернизации программного обеспечения.[1]

Подходы

Большинство подходов к восстановлению архитектуры программного обеспечения изучали статический анализ систем. При рассмотрении объектно-ориентированного программного обеспечения, в котором используется множество механизмов полиморфизма и динамического связывания, динамический анализ становится важным методом понимания поведения системы, взаимодействия объектов и, следовательно, реконструкции ее архитектуры. В этой работе критерии, используемые для определения того, как объекты исходного кода должны быть кластеризованы в архитектурных элементах, в основном основаны на динамическом анализе системы с учетом появления шаблонов и типов взаимодействия (классов и интерфейсов) в реализации вариантов использования. [2]

Смотрите также

Рекомендации

  1. ^ Ронзон, Т. (2015). «Модернизация программного обеспечения в системах высокой доступности: когда важно время безотказной работы». Программное обеспечение IEEE. 32 (3): 11–17. Дои:10.1109 / MS.2016.49.
  2. ^ Lutellier, T .; Chollak, D .; Garcia, J .; Tan, L .; Rayside, D .; Medvidovic, N .; Крегер, Р. (2015). «Сравнение методов восстановления архитектуры программного обеспечения с использованием точных зависимостей». 2015 37-я Международная конференция IEEE / ACM по разработке программного обеспечения, Флоренция. С. 69–78. Дои:10.1109 / ICSE.2015.136. ISBN  978-1-4799-1934-5.