Papers/Others

Pattern-Based Reverse-Engineering of Design Components

tomato13 2009. 8. 23. 19:11

http://130.203.133.121:8080/viewdoc/download?doi=10.1.1.89.2693&rep=rep1&type=pdf


본 논문은 기존에 구현된 Software를 Design Pattern으로 분석하는 방안을 소개한다. 자동화 도구가 어떻게 분석을 수행하는지에 대해서 간략하게 설명을 하고 실제 적용사례를 소개하였기에 참고하기에는 좋은 자료일 듯 하다. 


얼마전 회사에서 Pattern을 위한 RE에 대한 세미나를 하던 도중 Pattern의 예가 무엇인지 그리고 왜 필요한지에 대해서 질문을 받은 적이 있었다. 본 논문을 인용해본다면 Pattern의 예는 DB기반의 사용자 query로 지정을 할 수 있을 것이다. 논문에서는 Template method, Factory method 그리고 Bridge logic을 찾아내는 예를 소개하였다. 왜 pattern 분석이 필요한가는 사실 이 논문 서두에 아래와 같이 소개된다.


Many reverse-engineering tools have been developed to derive abstract representations from source code. Yet, most of these tools completely ignore recovery of the all-important rationale behind the design decisions that have led to its physical shape. Design patterns capture the rationale behind proven desine solutions and discuss the trade-offs among their alternatives.


즉, 왜 design을 이렇게 만들었을까에 대한 해답을 pattern 기반으로 분석하면 쉽게 도출할 수 있다는 설명을 하고 있다.(충분조건은 아니겠으나 필요조건을 될 수 있을 것이다)