클래스 다이어그램은 항상 코드를 문서화하는 데 사용해야한다고 생각합니다. 코드를 직접 보면 완전한 아키텍처를 볼 수 있다고 생각하지 않습니다. 본인이 직접 코드를 작성했거나 오랫동안 작업 한 경우 이해할 수 있지만 매번 코드를보고이 새 코드를 추가 할 위치를 검색해야 할 때마다 새로운 요구가 발생할 때마다 동의합니다.
우리 회사에서하는 일은 프로젝트에 대한 클래스 다이어그램보기를 갖는 것입니다. 우리는 모델링에 시간을 소비하지 않고 리버스 엔지니어링 후 코드를 시각화하기 위해 클래스 다이어그램 만 사용합니다. 코드가 변경되면 병합 메커니즘이 있고 클래스 다이어그램이 항상 업데이트됩니다.
환상적인 점은 java doc 외에도 주석에 제약 조건을 추가 할 수 있다는 것입니다. 프로젝트를 뒤집은 다음 모델을 작성하고 UML 클래스 다이어그램으로 표시된 모델에서 뷰를 최종적으로 추출합니다. 이 단계에서 코드를 작성하지는 않지만 코드 아키텍처에서 청사진을 가져 와서 현재 아키텍처를 작성하거나 확장하기 위해 노력하고 있습니다. 마음에 든다면 버튼을 누르면 기존 코드가 다이어그램과 병합됩니다. 병합을 의미하며 완전한 코드 생성이 아닙니다. 매번 전체 코드가 아닌 기존 코드와 다이어그램 간의 델타 만 작성됩니다.
나는 몇 년 동안 공부하고, 석사 학위와 여전히 코드를 가지고 있지만 Java 작가가되고 싶지 않으며 뇌를 조금 더 사용하고 싶습니다. UML보기는 내 아키텍처에 대해 생각하고, 다른 팀 구성원과 의사 소통하며, 모델 중심 개발을 사용하지 않고 더 나은 아키텍처를 만들지 만 기존의 수동으로 작성된 코드 간의 델타 만 그래픽으로 클래스 다이어그램을 작성하는 데 필요한 것을 제공합니다. 코드 수준에서 아키텍처를 만든 다음이를 뒤집고 모델을 살펴 봅니다. 뷰를 작성하고 코드에서 직접 아키텍처를 개선하려고 시도한 다음 다시 되돌리고 수행 된 작업 등을 확인하십시오. 모델 기반 코드 생성은 없지만 코드와 UML간에 실시간 동기화 또는 병합을하는 영구적 인 반복입니다. 내가 좋아하는 것은 코드가 UML을 구동하고 반대는 아니라는 것입니다.