2010-05-29 3 views
9

프로젝트에 대한 UML 클래스 다이어그램을 만들어야합니다. 과거에 Sparx Enterprise Architect를 사용하여 다이어그램에서 소스 코드를 생성하여 사용하고 있습니다.Sparx Enterprise Architect 변환 (소스에서 UML로)

이 프로젝트는 그래서 모든 코드가 수행되고 난 정말 수동으로 모든 클래스/함수를 작성하지 않으 완료, 그래서 나는 소스 코드에서 다이어그램을 생성하기 위해 노력했지만 찾을 수가 없습니다 그것을하는 방법. 나는 온라인으로 그리고 그들의 웹 사이트 그러나 아무것도에서 찾지 않았다.

도움을 주시면 감사하겠습니다.

+0

이렇게하면 어떤 가치가 있다고 생각하십니까? 모듈로 책임을 나타내는 패키지 다이어그램을 고수하고 프로젝트를 문서화하기 위해 doxygen과 같은 것을 사용합니다. –

+0

나는 (그리고 아무도 나에게 미리 말하지 않았기 때문에) 단지 그것을했다. 나는 항상 doxygen으로 프로젝트를 문서화한다. – user228938

+0

나는 그 말이 많은 의미가 있는지 모르겠습니다. Doxygen은 UML 스타일 클래스 다이어그램을 생성 할 수 있습니다. – Clifford

답변

6

이 모델에 코드를 가져옵니다 "reverse engineering"라고. 모델에 들어가면 다이어그램을 만들 수 있습니다.

+1

리버스 엔지니어링 개념은 좋지만 현실은 다릅니다 !! 모델을 자세하게 살펴보면 프로젝트의 50 %만이 실제로 모델에 매핑 된 것을 알 수 있습니다. 나는 자바 반전을 시도했지만 다른 반전이 더 좋을 수있다. –

+0

모델에서 코드를 생성 한 다음 코드에서 모델을 다시 작성하면 초기 클래스 다이어그램 모델의 70 %가 손실되기 때문에 가치가 있습니다! 문제는 모델과 코드 생성간에 추적 가능성이 없다는 것입니다. EclipseUML Omondo 만 병합 옵션이 있기 때문에이 기능을 허용합니다. –

+1

@ roko-sifredi - 몇 년 전에 Sparx Enterprise Architect가 C#을 사용하여 왕복 엔지니어링에 잘 작동하는 것으로 나타났습니다. – ChrisW

10

EA Corporate Edition 버전 8. 프로젝트를 열거 나 만듭니다. 빈 클래스 다이어그램을 만듭니다. 메뉴 선택 : 프로젝트 -> 소스 코드 엔지니어링 -> 파일 가져 오기 파일을 선택할 수있는 디렉터리 대화 상자가 열립니다.

이 나는 ​​크고 작은 많은 C++ 프로젝트 '리버스 엔지니어링'했다. 당신은 청소에 상당한 시간을 할애합니다. 그것은 프로젝트의 질, 구조 및 코드에 달려 있습니다.

는 그런 다음 코드를 탐색하는 내가,의 HTML 보고서를 매우 유용하다고 그 (프로젝트 -> 문서)에 문서 보고서를 생성 할 수 있습니다. 당신이 첫번째 리버스 엔지니어링 옵션을 사용해야하지만 다른 사용자가 지적했듯이,이 EA에서 strenght가 아닌 대한

1

. 나는 C, Python, Java Projects로이 작업을하기 위해 과거에 (7.3 버전) 시도했지만 그 결과가 항상 만족 스럽지는 않았다.

나는 코드를 작성하는 프로그래밍 언어를 잘 모릅니다,하지만 당신은 전처리 지침을 사용하는 경우 C에 관해서는, 당신은 결과의 문제와 호환성을 많이해야합니다.

관련 문제