Odzyskiwanie architektury oprogramowania
Odzyskiwanie architektury oprogramowania to zestaw metod wydobywania informacji o architekturze z reprezentacji systemu oprogramowania niższego poziomu , takich jak kod źródłowy. Proces abstrakcji mający na celu generowanie elementów architektonicznych często obejmuje grupowanie jednostek kodu źródłowego (takich jak pliki, klasy, funkcje itp.) w podsystemy zgodnie z zestawem kryteriów, które mogą być zależne od aplikacji lub nie. Odzyskiwanie architektury ze starszych systemów jest motywowane faktem, że systemy te często nie posiadają dokumentacji architektonicznej, a jeśli już, to dokumentacja ta jest wielokrotnie niezsynchronizowana z wdrożonym systemem.
W ramach modernizacji oprogramowania może być wymagane przywrócenie architektury oprogramowania.
Podchodzi do
Większość podejść do odzyskiwania architektury oprogramowania opiera się na analizie statycznej systemów. Rozważając oprogramowanie zorientowane obiektowo, które wykorzystuje wiele polimorfizmów i mechanizmów dynamicznego wiązania, analiza dynamiczna staje się podstawową techniką zrozumienia zachowania systemu, interakcji obiektów, a tym samym rekonstrukcji jego architektury. W niniejszej pracy kryteria stosowane do określenia, w jaki sposób jednostki kodu źródłowego powinny być grupowane w elementy architektoniczne, opierają się głównie na dynamicznej analizie systemu, uwzględniającej występowanie wzorców i typów interakcji (klas i interfejsów) w realizacje przypadków użycia .