[1]의 5장 "디테일한 모델 캡처"는 소프트웨어 시스템의 이해와 리엔지니어링 과정을 지원하기 위한 다양한 방법론을 제공합니다. 이 문서는 시스템을 더 잘 이해하고, 코드의 설계와 동작을 개선하기 위해 사용할 수 있는 구체적인 패턴들을 설명한다. 주요 내용은 다음과 같다.

  1. 코드에 대한 질문을 연결하기: 소스 코드에 직접적으로 질문과 주석을 추가하여, 코드의 특정 부분에 대해 이해하고, 팀 내에서 지식을 공유한다.
  2. 이해하기 위해 리팩터링하기: 코드의 일부를 반복적으로 리팩터링하여, 코드의 설계를 명확하게 하고 이해도를 향상시킨다. 이 과정은 코드에 대한 가설을 검증하는 실험으로 간주된다.
  3. 단계 별 실행해 보기: 런타임에 객체가 어떻게 인스턴스화되고 상호작용하는지 관찰하기 위해 코드를 단계별로 실행한다.
  4. 컨트랙트 찾기: 코드에서 클래스 간의 클라이언트-공급자 관계를 분석하고, 인터페이스가 어떻게 사용되어야 하는지를 명확히 한다.
  5. 과거로부터 배우기: 과거의 코드 버전을 분석하여, 특정 설계 결정들이 왜 내려졌는지 이해하고, 이를 통해 더 나은 설계 결정을 내리는 데 도움을 준다.

여기서 개발자들이 기존 소프트웨어 시스템을 이해하고, 유지 관리하며, 효과적으로 리엔지니어링할 수 있도록 돕기 위해 설계되었다.

 

참고 문헌

[1] Serge Demeyer et al., "Object-oriented Reengineering Patterns"

[2] https://github.com/blcktgr73/OORP 

+ Recent posts