본문 바로가기

Programming/Architecture

StarUML 툴 구조


일단 가장 기본은 툴 자체의 사용법을 알아야 겠죠?ㅎ 설치는 차례에서 언급한 사이트에 가서 받으시면 되요 :)

StarUML을 처음 실행 시키면 아래와 같은 창이 뜨게 됩니다.


기본적인 구성에 대한 템플릿 이에요. 저는 그냥 비어있는 프로젝트로 만들게요.

  • 툴 기본 화면 구성
    1. tool bar : 현재 선택한 객체에 대한 설정을 조정 하는 아이콘들이 위치 해 있어요. 지금 상태는 아무것도 선택 되어 있지 않으므로, 비활성화 되어 있는 상태에요.
    2. tool box : 현재 선택 되어 있는 다이어그램이 있다면, 해당 다이어그램에 대해서 만들 수 있는 객체들이 나옵니다. 역시 아무것도 없으니까 비어 있어요 :)
    3. main window : 선택된 다이어그램이 그려지는 바탕 이에요.
    4. model explorer : 만들었었던 모델들 탐색기 에요.
    5. properties : 선택된 객체의 속성을 보여 줘요.


간단하게 각 부분 별로 사용되는 것을 진행하기 위해 예시로 몇 개 만들어서 설명 할게요.
실질적인 모델을 만들지 않으면 전부 비활성화이기 때문에 대충 만들 거에요. 만들어서 관리하는 부분에 대해서는 추후에 포스팅 할 예정 이구요:D



특정 모델에 대해서 마우스 우클릭을 한 후, Add Diagram 이라는 메뉴에 마우스를 올려 놓으면 만들 수 있는 다이어 그램의 종류가 쭈욱 나오게 되요.

예시로는 클래스 다이어그램을 사용 할게요. 탐색기에서 생성된 다이어그램을 더블 클릭하게 되면 메인윈도우에 해당 다이어그램이 바뀌게 되요. 그러면, 그 다이어그램에 대한 개체들을 배치 할 수 있죠 :)


원하는 개체를 만드는 가장 쉬운 방법은 해당 개체를 클릭 한 후에, 메인 윈도우에서 원하는 크기로 그리면 되요.

마우스를 올려놓으면 선택 되었다는 표시가 마치 [버튼]처럼 바뀌어요.


클릭하게 되면, 버튼이 눌린 모양을 하게 되는데 이 때 메인윈도우 에서 드래그를 하게 되면, 점선모양의 사각형이 그려져요.


원하는 크기로 만든 후에 버튼을 띄게 되면, 해당 개체가 만들어 지죠.

이름은 자동 생성된 거에요 :)


이 때, 생성된 개체는 아래 와 같은 형태로 위치가 정해 진답니다:)


몇 개의 클래스 개체를 넣어 봤어요.


클래스 개체를 한번 선택 해 볼까요? 그럼 선택되었다는 박스가 주변을 둘러 싸게 되요.


그럼 아까와 다르게 툴 바(2. tool bar)가 활성화 되게 되는데 이 부분의 경우에는 현재 보이는 것들은 어떻게 할까? 에 대한 부분이라서 다이어그램을 좀 더 이쁘게 그리고 싶은 사람들이 보면 될 거 같아요.
(설계자체와는 큰 관계가 없어요 :D)


특정하게 모양이 있는 개체들은 만들어서 가져다 놓으면 되지만, 선분들은 그러한 개체들 간의 관계를 나타내는 거에요. "관계"를 나타내는 것들이니까, 단독으로는 못쓰이겠죠? :D


선분을 선택한 후에, 관계를 가지는 개체를 클릭 후 드래그로 이어주면 되요.


그럼 서로의 관계가 만들어 지죠.

이러한 관계는 메인 윈도우에서 먼저 설정을 해야, 다른 설정을 할 수 있는거 같아요. 제가 아직 이 툴이 익숙치 않아서 찾질 못하는 걸수도 있지만요 :) ;;;


개체나 관계, 그 어떤 것이든 선택하면(메인윈도우 또는 탐색기)의 속성(Properties)창에서 속성을 수정 할 수 있어요.
  • 메인윈도우에서 개체 클릭 시
  • 탐색기에서 개체 클릭 시
  • 메인윈도우에서 관계 클릭 시

개체는 자기 자신이 사용하는 변수나 행동이 있겠죠? 그런 것들은 해당 개체(메인 윈도우 혹은 탐색기)를 마우스 우클릭 해서 나오는 메뉴에서 "Add"를 선택하면 생성 할 수 있는 메뉴가 나와요.


일단, 이게 가장 기본적으로 대부분의 모든 것을 생성할 수 있는 기본 사용법 이에요. 대부분 마우스 우클릭이나 클릭, 드래그 만으로 그럴 듯한 다이어그램을 만들 수 있는 직관적인 UI 이니까 사용에는 어려움이 없을 거에요.
다만, 어디까지나 UML에 대한 개념자체가 매우 어렵고, 제가 지금 포스팅을 시작하는 이유 자체가 구현과 연관 시켰을 때 어떻게 설계 해야 하는가를 궁금해 하기 때문에요.

'Programming > Architecture' 카테고리의 다른 글

04 Statechart Diagram  (2) 2012.07.10
03 Class Diagram 2  (6) 2012.05.30
03 Class Diagram 1  (0) 2012.05.26
02 Activity Diagram  (0) 2012.05.10
01 UseCase Diagram  (3) 2012.04.29