소프트웨어 아키텍처 복구
Software architecture recovery소프트웨어 아키텍처 복구는 소스 코드와 같은 소프트웨어 시스템의 하위 수준 표현에서 아키텍처 정보를 추출하기 위한 일련의 방법이다.아키텍처 요소를 생성하기 위한 추상화 프로세스는 응용 프로그램에 의존할 수 있거나 그렇지 않을 수 있는 일련의 기준에 따라 소스 코드 엔티티(파일, 클래스, 함수 등)를 하위 시스템으로 클러스터링하는 것을 포함한다.레거시 시스템으로부터의 아키텍처 복구는 이러한 시스템들이 종종 아키텍처 설명서를 가지고 있지 않으며, 그럴 때, 이 문서는 구현된 시스템과의 동기화에서 여러 번 벗어난다는 사실에 의해 동기가 부여된다.
소프트웨어 아키텍처 복구가 소프트웨어 개선의 일부로 필요할 수 있다.[1]
접근
소프트웨어 아키텍처 복구에 대한 대부분의 접근법은 시스템의 정적 분석을 탐구해 왔다.다형성과 동적 결합 메커니즘을 많이 채용하는 객체 지향 소프트웨어를 고려할 때, 동적 분석은 시스템 동작, 객체 상호작용을 이해하고, 따라서 그 구조를 재구성하는 데 필수적인 기법이 된다.본 연구에서는, 소스코드 실체가 건축 요소에서 어떻게 군집화되어야 하는가를 결정하는 데 사용되는 기준은 주로 시스템의 동적 분석에 기초하고, 사용 사례 실현에서 상호작용 패턴과 유형(클래스 및 인터페이스)의 발생을 고려한다.[2]
참고 항목
참조
- ^ Ronzon, T. (2015). "Software Retrofit in High-Availability Systems: When Uptime Matters". IEEE Software. 32 (3): 11–17. doi:10.1109/MS.2016.49.
- ^ Lutellier, T.; Chollak, D.; Garcia, J.; Tan, L.; Rayside, D.; Medvidovic, N.; Kroeger, R. (2015). "Comparing Software Architecture Recovery Techniques Using Accurate Dependencies". 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, Florence. pp. 69–78. doi:10.1109/ICSE.2015.136. ISBN 978-1-4799-1934-5.