본문 바로가기
UML

[펌] [안영회의 UML 강좌5] - Active Diagram

by 사우람 2010. 7. 12.
액티비티 다이어그램 그리기
2 .0 의사결정 지점 (Decision Points)
3 .0 동기화 막대(Synchronization Bars)
4 .0 구획면(Swimlanes)
5 .0 시작 및 종료 액티비티(Initial and Final Activities)
##########0*
##########1*

##########2*액티비티 다이어그램(Activity Diagram)은 활동 다이어그램이라고도 합니다. 액티비티 다이어그램은 시스템에서 액티비티와 액티비티 간의 제어의 흐름을 보여주는 웍플로우를 나타내는 흐름도입니다. 액티비티 다이어그램은 순차적인 제어의 흐름뿐 아니라, 병렬적으로 수행되는 활동과 분기가 이루는 대안들에 대해서도 표현해줍니다. 유즈케이스 다이어그램을 작성한 후 하나의 유즈케이스 내에서의 흐름을 표현해주는 액티비티 다이어그램을 작성할 수 있습니다. 나중에는 특정 오퍼레이션(Operation) 내에서의 웍플로우 표현을 위해 액티비티 다이어그램을 사용할 것입니다.

액티비티 다이어그램은 액티비티, 전이(Transition), 의사결정 지점(Decision Point)과 동기화 막대(Synchronization bar)등으로 구성되며 각각의 UML 표기법은 그림 4-1과 같습니다.

##########3*
[액티비티 다이어그램 요소를 위한 UML 표기법]

액티비티 다이어그램 만들기

액티비티 다이어그램을 작성하기 위해서는 브라우저의 Use Case View 폴더 위에서 오른쪽 마우스를 클릭해 New - Activity Diagram 단축키를 선택합니다. 액티비티 다이어그램을 생성하면 새로 만들어진 다이어그램이 선택됩니다. 선택된 상태에서 다이어그램에 이름을 부여합니다. 다이어그램을 더블클릭하면 다이어그램을 편집할 수 있는 창이 열립니다.

##########4*
[액티비티 다이어그램 만들기]

액티비티(Activities)

액티비티는 웍플로우상의 특정 작업 단계를 나타냅니다. 액티비티는 모서리가 둥근 직사각형으로 나타냅니다. 액티비티를 만들기 위해서는 우선 액티비티 다이어그램을 선택합니다. 툴바에서 액티비티 아이콘을 선택하고 다이어그램에서 액티비티가 놓일 위치를 클릭합니다. 액티비티를 클릭하여 액티비티의 이름을 입력합니다.

##########5*
[액티비티 만들기]

전이(Transitions)

전이는 액티비티에서 액티비티로 제어의 흐름이 넘어가는 것을 나타낸다. 일반적으로 제어를 넘기는 액티비티의 종료가 뒤 따르는 액티비티를 유발시킵니다.

툴바에서 state transition 아이콘을 선택하고, 전이를 유발시키는 액티비티에서 다음 액티비티로 드래그합니다.

##########6*
[전이 만들기]

 

 

1 .0 액티비티 다이어그램 그리기
##########7*0 의사결정 지점 (Decision Points)
3 .0 동기화 막대(Synchronization Bars)
4 .0 구획면(Swimlanes)
5 .0 시작 및 종료 액티비티(Initial and Final Activities)
##########8*
##########9*
##########10*워크플로우가 의사결정 지점을 기준으로 분기할 때가 있습니다. 의사결정 지점은 감시 조건(guard condition)을 포함하고, 감시 조건에 따라 웍플로우 상에서 여러 가지 대안을 표시하는 것이 가능합니다.

의사결정 지점을 만들기 위해서는 툴바에서 Decision 아이콘을 선택하고 다이어그램 창에서 의사결정 지점이 놓일 위치를 클릭합니다. 의사결정 지점을 다시 클릭하여 이름을 설정하고, 액티비티와의 전이를 표현하기 위해서 State Transition 아이콘을 선택하여 드래그합니다.

감시 조건에 따른 전이를 만들기 위해서는 전이를 더블클릭하여 Specification 대화상자를 엽니다. Detail 탭을 선택하고 Guard Condition 필드에 해당 감시 조건을 입력합니다. 전이를 나타내기 위해 드래그 할 때 키를 이용하면 꺾은 선을 나타낼 수 있습니다.

##########11*
[의사결정 지점 만들기]



 

##########12*
[감시 조건을 이용한 전이]



전이를 나타내는 꺾인 선을 선택한 상태에서 Format – Line Style 메뉴에서 Rectilinear를 선택하면 직선으로 표현됩니다.

##########13*
[Rectilinear 스타일의 전이]


 

1 .0 액티비티 다이어그램 그리기
2 .0 의사결정 지점 (Decision Points)
##########14*0 동기화 막대(Synchronization Bars)
4 .0 구획면(Swimlanes)
5 .0 시작 및 종료 액티비티(Initial and Final Activities)
##########15*
##########16*
동기화 막대는 웍플로우 상에서 동시에 병렬 수행되는 액티비티들을 표현하기 위해 사용합니다. 가령, 두 개의 선행 액티비티가 종료해야 이어지는 액티비티가 수행되는 경우나 하나의 액티비티의 종료가 뒤따르는 복수의 액티비티가 동시에 수행되기 위한 조건일 때 동기화 막대를 사용하여 나타냅니다.

동기화 막대를 나타내기 위해서는 툴바의 Horizontal Synchronization이나 Vertical Synchronization 아이콘을 선택하고 다이어그램 창의 원하는 위치를 클릭합니다. 동기화 막대의 크기를 조절하려면 막대를 클릭하여 모서리에 핸들이 나오게 하고 핸들을 드래그 하면 크기를 조절할 수 있습니다. 정확히 핸들을 드래그하지 않으면 동기화 막대가 이동합니다.

State Transition 아이콘을 선택하여 전이를 표현합니다. 선들을 직선으로 만들고자 하는 경우에는 앞에 보았던 방법으로 Format – Line Style 메뉴를 이용하시면 됩니다. 이를 적용한 예가 다음 그림입니다.

##########17*
동기화 막대 만들기



 

1 .0 액티비티 다이어그램 그리기
2 .0 의사결정 지점 (Decision Points)
3 .0 동기화 막대(Synchronization Bars)
##########18*0 구획면(Swimlanes)
5 .0 시작 및 종료 액티비티(Initial and Final Activities)
##########19*
##########20*
구획면은 액티비티 다이어그램을 분할하기 위해 사용합니다. 구획면 안에 포함된 액티비티들에 대한 책임을 갖는 특정 조직이나 사람을 표현합니다.

구획면을 나타내기 위해서는 툴바에서 Swimlane 아이콘을 선택하고 다이어그램 창에 클릭합니다. NewSwimlane이라는 임시로 부여된 이름을 더블클릭하여 구획면의 이름, 즉 책임자나 해당 조직명을 부여합니다. 액티비티들을 구획면에 적절히 배치한다. 이를 적용한 예가 다음 그림입니다.

##########21*
구획면으로 나눈 액티비티 다이어그램



1 .0 액티비티 다이어그램 그리기
2 .0 의사결정 지점 (Decision Points)
3 .0 동기화 막대(Synchronization Bars)
4 .0 구획면(Swimlanes)
##########22*0 시작 및 종료 액티비티(Initial and Final Activities)
##########23*
##########24*
하나의 웍플로우에서 시작하는 웍플로우나 끝나는 웍플로우는 다른 표기법을 사용합니다. 시작 액티비티(Initial Activities)의 경우 채워진 원(solid filled circle)을 사용하여 나타내고, 종료 웍플로우(Final Activities)는 빈 원안에 채워진 원을 넣은 이른바 bull’s eye로 표기합니다.

##########25*
시작 액티비티와 종료 액티비티