2008년 9월 22일 월요일

텍스트로 시퀀스 다이어그램 그리는 툴 Quick Sequence Diagram Editor



http://sdedit.sourceforge.net/

이런류의 툴이 필요해서 찾아봤는데 딱히 맘에 드는게 없네.
그나마 이놈이 내가 원하는 모양에 가장 가깝다.
자바로 만들어졌다는게 짱나지만..

아주 간단히 하나 그려보고 대강 적어둔다.
싱크메시지와 어싱크메시지를 섞어서 그려야 할일이 많은데
아직 방법을 모르겠군. 좀더 읽어보면 나오겠지.


아래 코드는 위 다이어그램을 생성한 소스.
UML 을 잘 모르니 용어등이 맞게 쓰였는지 모르겠군
뭐 대강 읽고 분위기만 알면 되는거지.

# 주석은 # 이다.
# 일단 제목을 지정하는 문법이 있는데 #![제목] 이렇게 써주면 된다.
# 아래 예를들어 제목을 달아봤다.
# 제목은 생략해도 되는데.. 생략하는게 오히려 보기엔 좋군
#![여기에 제목이 들어가야 하는데 별로 보기에 좋진 않어]

# 각 노드들을 여기서 정의하자.
# 사람모양을 그리려면 Actor 타입으로 해주면 되고 이놈은 모든 메시지가 어싱크형태로 된다.
# 만약 일반 노드에 어싱크 스타일의 메시징을 넣어주고 싶다면 속성에 [p] 를 추가하면 된다.
# 속성에 a 를 주면 name 이 생략되고 타입만 표시된다.
# 만약 어떤 노드가 동적으로 생성/파괴 된다면 /foo:server 식으로 앞에 / 를 붙여주면 된다.
# 이건 여기선 생략.
user:Actor
foo:foo[arp]
bar:bar[a]
baz:baz[a]

# 메시징
# foo 가 bar 에 hello 란 메시지를 보내려면 foo:bar.hello() 식으로
# 그외 문법이 좀더 복잡스럽던데 문서 참고
# 리턴값을 명시하는건 자주 쓰겠네. 여기 적어둔다.
# foo:result=bar.hello() 식으로 하면 된다.
user:foo.hello()
foo:bar.hello()
bar:fuck=baz.hello()
baz:대상을 지정 안하면 요렇게 나온다
bar:foo.damn 사실 꼭 메서드 형태로 적을 필요는 없다.
foo:user.damn()


# 요거이 노트
# 노트는 *숫자 오브젝트 로 시작해서 *숫자 로 끝내면 된다.
# 숫자가 뭘 의미하는지 모르겠네.
*1 bar
노트가 여기 들어간다
낄낄낄
*1

# 숫자는 요렇게 쓰는거구먼.
(2)user:foo.노트링크
*2 baz
그런데 노트 앞의 숫자는 뭔지 몰겠네
아 메시지앞에 (숫자) 를 붙여주면 링크가 되는구만
*2

음. 그외에
http://www.websequencediagrams.com/
라는 곳도 괜찮아 보이는데 웹서비스만 해주니 탈락.


댓글 없음: