5부: Altova UModel을 사용하여 기존 애플리케이션 분석하기

이 시리즈의 1부, 2부, 3부, 그리고 4부에서 우리는 Altova UModel의 역공학 기능을 활용하여 ATM 은행 시뮬레이션 애플리케이션의 UML 다이어그램을 생성했습니다. 기존 아키텍처를 분석한 후, 우리는 새로운 기능인 "인출 수수료"를 계획하고 구현했습니다. 축소된 크기에도 불구하고, 업데이트된 순서 다이어그램은 인출 트랜잭션의 복잡한 논리 구조를 시각적으로 명확하게 보여줍니다.

오늘 아침, 커피 머신 앞에서 우연히 ATM 제품 담당자를 만났습니다. 그는 "거기서 ATM 코드를 한 달 넘게 작업하고 있군요."라고 말했습니다. "제가 그 결과물을 언제쯤 볼 수 있을까요?" 우리는 UModel의 문서 생성 기능을 활용하여 이러한 요청을 충족할 수 있습니다. UModel은 프로젝트에 대한 맞춤형 문서를 HTML, Microsoft Word 또는 RTF 형식으로 자동으로 생성합니다. "문서 생성" 대화 상자의 "포함" 탭을 사용하면 어떤 다이어그램 유형을 포함할지 선택하고, 각 다이어그램 요소 유형을 확장하여 보고서의 상세 수준을 지정할 수 있습니다.

개요 보고서를 생성하기 위해, 모든 다이어그램 유형을 선택할 수 있습니다. 또한, "요소" 목록에서 "클래스"를 선택하여 애플리케이션 내의 클래스에 대한 추가 정보를 표시할 수 있습니다. UModel은 클래스에서 파생된 요소들도 추가할지 여부를 묻습니다.

다른 문서 설정, 예를 들어 글꼴과 크기를 선택하거나 조정하면, UModel은 몇 초 만에 보고서를 생성합니다. 첫 페이지 상단에는 도식 목록과 요소 목록이 별도로 표시됩니다. 각 항목은 문서 내의 특정 위치(북마크)로 연결되어 있습니다.

어떤 형식을 선택하시든, 결과적으로 생성되는 보고서는 완전히 편집 가능합니다. 예를 들어, 페이지 번호와 문서 생성 날짜를 기록하는 하단 글꼴을 추가할 수 있습니다. UModel에서 생성된 하단 글꼴을 활용하여 보고서의 하단 글꼴을 만들 수 있습니다.

저희가 완성한 보고서에는 기존 ATM 애플리케이션을 설명하는 모든 UML 다이어그램이 포함되어 있으며, 클래스의 속성과 기능을 상세하게 보여주는 클래스 다이어그램도 있습니다. 또한, 각 클래스에 대한 설명에는 클래스 간의 관계를 보여주는 계층 구조 다이어그램과 모든 클래스 간의 연관 관계 목록이 함께 제공됩니다. 앞으로 프로젝트가 더 발전함에 따라, 저희는 보고서의 최신 버전을 쉽게 생성할 수 있습니다. 또한, UModel의 명령줄 기능이나 API를 활용하여 프로젝트 문서 생성을 자동화하거나, 보고서의 .html 버전을 개발팀 위키에 첨부할 수도 있습니다. 하지만 현재로서는 보고서를 ATM 제품 담당자에게 이메일로 보내는 것만으로 충분합니다.

결론

Altova UModel을 사용하여 레거시 애플리케이션을 분석하는 이 과정을 통해 많은 도움이 되셨기를 바랍니다. 비록 이 시리즈는 여기서 마무리되지만, 실제로는 저희 ATM 애플리케이션에 대해 더 많은 작업이 남아 있습니다. 예를 들어, 사용자가 수수료를 수락하거나 출금을 취소할 수 있는 기능은 아직 구현되지 않았습니다. 또한, 제네릭, 어노테이션, 열거형과 같은 최신 Java 언어 기능을 사용하여 기존 코드를 업데이트할 수도 있습니다.

UML에 이미 익숙하신 분이라면, 저희가 몇 가지 새로운 기술을 보여드렸기를 바랍니다. UML을 한 번도 사용해 보지 않은 개발자분들을 위해, 시각적인 소프트웨어 모델링의 특징과 장점을 조금이나마 경험해 보실 수 있도록 준비했습니다. 어쨌든, 만약 여러분이 개인 프로젝트에서 UML을 더 깊이 활용하고 싶다면, 여기에서 클릭하여 Altova UModel의 완전 기능이 포함된 무료 체험 버전을 다운로드하세요.