1. Activity Diagram이란?


 액티비티 다이어그램은 일련의 Activity들로 어떤 프로세스를 표현하는 다이어그램으로, 모든 종류의 프로세스를 표현하는데 사용 될 수 있다.



2. Acitvity Diagram의 구성

 

 

 


Action 

Activity 

 Object node

 

 


 

 Control flow

Object flow

 

 

 

 

Initial node 

Final Node

 

 

 

 

Decision node 

Merge node 

 

 

 

 

Fork node 

Join node 

 



 Action/Activity - 어떤 Action이나 Action의 집합. 동사 + 명사로 이름이 붙여짐.


 Object Node - 한 Activity에서 다른 Activity로 이어지는 flow of information을 나타내는 것.


 Control Flow - 실행 순서를 나타내는 화살표.


 Object Flow - Flow of Object를 나타내는 것.


 Initial Node - Activity Diagram의 시작점(Action 들의 시작점)


 Final Node - Activity Diagram 종료지점(Activity의 Flow들이 모두 끝나는 시점)


 Decision Node - 분기점.


 Merge Node - Decision Path들을 하나로 모으는 노드.(Decision Node로 나눠진 Control flow를 다시 합침)


 Fork Node - 평행적으로 수행되는 Flow를 나누는 노드


 Join Node - Fork Node로 나눠진 Control Flow를 다시 하나로 합치는 노드


 구성 요소들을 정리해놓고 보니 너무 많고 애매한 정의가 많아서 정의를 달달달 외우는 것 보다는 예시를 보면서 이해하고, 나중에 필요할 때는 예시와 정의를 같이 찾아보는게 좋겠다.


 컨트롤 노드

 Initial node, Final node, Decision node, Merge node, Forke node, Join node를 컨트롤 노드(Control Node)라고 부른다.


 예제

 다음 액티비티 다이어그램은 병원의 진료 예약 관리 기능에 대한 것이다.

 진료 예약 관리에서는 예약, 예약 취소, 예약 변경 기능을 제공한다.


 처음 이 액티비티가 시작되면 환자의 정보를 받는다.(Get Patient Onformation)

 이 때 예약정보(Appt Request Info) 오브젝트가 생성되어 이후 예약 할 지, 예약을 취소 할 지, 예약을 변경 할 지 결정할 때 사용된다.(기존 환자)

 또, 이 오브젝트는 신규 환자가 예약을 잡을 때도 사용된다.

 환자의 정보를 받은 이후에는 기존에 등록된 환자인지, 신규환자인지에 따라 다른 프로세스가 진행된다.

 

3. Swimlanes

 Swimlane은 오브젝트들간의 역할 분리를 나타낸다. 분리된 역할들이 서로다른 오브젝트에서 평행적으로 수행된다.

 Swimlane은 가로로 그려도 되고 세로로 그려도 된다.


 예제

 이 예제는 학교 점심 도시락을 만드는 Activity에 대한 액티비티 다이어그램이다.



 이 액티비티가 시작되면 바로 firstParent와 secondParent로 flow가 분할되어 평행적으로 진행된다.

 firstParent를 보면 내부에서 다시 GetJelly, GetPeanutButter, GetBread로 flow가 분할되어 평행적으로 수행되는데, 처음에 firstParent, secondParent로 나뉜것과는 달리 모든 flow가 오브젝트 내부에서 수행된다는 차이가 있다.



4. Activity Diagram 작성 가이드라인

 

1. 작성하는 Activity의 Scope를 정한다.

2. Activity들을 식별하고, flow로 각각을 잇는다.

3. 필요한 Decision들을 식별한다.

4. 프로세스 상에서 평행적으로 수행될수 있는 부분들을 식별한다.

5. 액티비티 다이어그램을 작성한다.


5. Activity Diagram과 Usecase의 관계

 

- 유즈케이스 디스크립션상에서 하나의 Flow가 액티비티 다이어그램의 하나의 액션/액티비티에 대응된다.

- 액티비티 다이어그램 상의 모든 오브젝트들은 유즈케이스 디스크립션에서 어급되는 것이어야한다.

- 유즈케이스 디스크립션 상의 흐름(Sequence)는 액티비티 다이어그램의 흐름과 맞아야한다.


6. 레퍼런스

System Analysis & Design 5th - WILEY








'IT 관련 > 소프트웨어 공학' 카테고리의 다른 글

Class Diagram  (0) 2019.11.11
Use Case Diagram  (1) 2019.10.30
블로그 이미지

서기리보이

,