2008-09-09 5 views
12

Ruby와 Ruby on Rails를위한 좋은 UML/모델링 도구를 추천 해 줄 수 있습니까? 편집 : UML 다이어그램에서 코드를 생성하고 기존 코드에서 다이어그램을 생성하는 것이 좋습니다.Ruby 용 UML

+3

UML? 실제 프로그래머는 토글 스위치를 사용합니다. :-) 저는 "와우, 프로그래밍은 정말로 먼 길을왔다"고 생각하고 있습니다. –

답변

8

리눅스를 사용하는 경우 확인 "UML tools for Ruby"(즉 루비 코드에서 일부 UML 다이어그램을 생성하는 UML 다이어그램 또는 둥근 다른 방법으로, 일부 루비 코드를 생성하는 도구를 제공합니다.)

5

"for Ruby"는 무엇을 의미합니까? UML은 언어에 구애받지 않습니다.

귀하의 의견에 따라 - UML은 일반적인 언어 독립적 모델입니다. 구현 언어를 선택하기 전에 사용하도록 설계되었으므로 모든 UML 요소가 모든 언어에서 해당 요소를 가지고있는 것은 아닙니다 (예 : Ruby의 인터페이스). 그렇다고해서 UML 모델을 만들 수없고 루비에서 설명하는 시스템을 구현할 수 없다는 의미는 아닙니다.

모든 UML 요구 사항에 대해 StarUML을 권장합니다.

+0

Ruby에는 인터페이스가 없지만 믹스 인이 있습니다. 어떤 UML 도구가이를 지원하는지 모르겠습니다. 또한 코드에서 다이어그램을 생성하는 것이 좋을 것이므로 루비 코드로 작업해야하며 많은 도구가 언어에 구애받지 않습니다. – Jimmy

+1

@Jimmy - UML은 mixin을 다중 상속으로 처리합니다 (C++ 에서처럼). UML은 클래스/인터페이스와 관련이 없습니다. –

3

UML을 루비 코드로 변환하는 도구를 요구하겠습니까?

나는 현재 어떤 것이 있다고 생각하지 않는다. 그러나 그것의 아주 좋은 응용 프로그램의 아이디어는 :

나는 ruby-uml

기존 응용 프로그램의 analysation 에 대한 응용 프로그램의 실행을 추적하여 UML 다이어그램을 생성하고 에 refactorisations에 대한 지원을 제공 발견했다.

3

Visual Paradigm은 Mac 응용 프로그램이며이를 수행합니다.

일부 OT이지만 찾은 최고의 UML 도구는 Windows 응용 프로그램이며 기본 라이센스의 경우 약 130 달러입니다. Ruby는 아니지만 Java, C++ 및 생성 및 리버스 엔지니어링 모두 SQL에서 전체 데이터베이스를 비롯한 다양한 언어를 지원합니다. 보세요.

1

에서 살펴 봐야 할 수 있습니다, 모델 및 컨트롤러를 포함하여 레일 애플리케이션을위한 UML의 클래스 다이어그램을 생성 .

3

원본 Railroad gem은 Rails v2 이전 버전에서만 작동합니다. Rails 3을 사용하는 경우 대신 use the RailRoady gem을 사용하십시오. (또한 github의 README를 참조하십시오.)

2

나는이 메시지를 조금 늦추고 있지만, 여기에 몇 가지 추가 할 것이 있다고 생각합니다.

UML (클래스 다이어그램)은 동적 유형 지정 언어에서 제대로 작동하지 않습니다. 언어 별 구문과 같은 구체적인 사례는 아니지만보다 근본적인 것에 대해 이야기하고 있습니다.

루비에서는 변수에 어떤 유형도 없습니다. UML에서는 사이에 유형의 연관을 만듭니다.

루비는 오리 타이핑을 사용합니다. 덕 타이핑은 특정 인터페이스를 구현하는 클래스에 쉽게 매핑 될 수 있습니다. 그러나 모든 클래스는 자체적으로 포함되어 있고 서로 완전히 분리되어 있으므로 각 루비 클래스를 하나의 구성 요소로보고 싶어합니다.

나는 당신이 체크 아웃 할 수있는 루비 보석 도구를 만들었습니다.약간 어려운 일 이었지만 Ruby 코드를 추출 할 수는 있지만 (Rails, Rails 모델 이 데이터베이스에 매핑되었으므로 입력되지 않았습니다. 연관성을 위해 카디널리티가 있습니다) 그것으로부터 Uuml 다이어그램을 생성합니다. https://github.com/mikaa123/umlify

1

, 당신은 확실히 즐길 수 있습니다 Umbrello는 Ruby를 비롯한 여러 언어로 코드를 생성하는 UML 모델러입니다.

https://umbrello.kde.org/