-
Use Case DiagramSoftware/UML 2018. 7. 10. 01:05반응형
Actor (행위자)
- Actor란 시스템 외부에서 시스템과 상호작용하는 개체를 일컫는다. 이 시스템을 사용하는 사용자가 될 수도 있고 시스템과 상호작용하는 기계 혹은 소프트웨어가 될 수도 있다.
- Actor를 표시하는 형태로는 보통 Stick Man과 Decoration View이 있다.
- Decoration View는 사각형 틀안에 오른쪽 상단 아이콘이 포함된다.
Use Case (쓰임새)
- Use Case는 시스템의 행위(behavior)를 정의하기 위해 사용하는 요소이다. 일반적으로 Actor와 상호작용하는 행동 혹은 행위로서 사용된다. Use Case는 Texture, Iconic 그리고 Decoration View 형태로 표현할 수 있다.
Association / Directed Association
- 보통 Class Diagram에서의 Association은 두 클래스간의 참조 관계를 의미한다. 그리고 Directed Association은 참조 관계에 있어 방향성을 의미하는데 사실 Use Case에서 Directed Assocation을 사용하는 경우는 많지 않은 것 같고 Association의 경우는 Actor의 Behavior를 나타내는 Use Case간 관계에서 많이 사용된다.
- 기본적으로 Association은 실선으로 나타내며 Directed Association은 실선에 화살표를 참조 당하는 쪽에 추가하여 나타낸다.
Extend (확장)
- 어떠한 특정 조건에 따른 진행 단계의 행위 확장을 위해 다른 Use Case를 참조하는 것을 말한다. 이 때 확장 용도로 사용되는 참조 Use Case를 Extension Use Case (확장 쓰임새) 라고 부르며 Extension Use Case를 참조하는 시나리오의 특정 진행 단계를 Extension Point(확장 포인트) 라고 한다. (Base Use Case : Extension Use Case를 참조)
- Base Use Case와 Extension Use Case 사이는 쇄선으로 연결되며, Base Use Case쪽에 화살표 머리를 위치 시킨다.
- 예) 북크로싱 (공공 장소에 책을 두고 다른 사람과 공유하는 운동) 에서 Picker(공공 장소에 기부된 책을 취하는 사람)의 예를 살펴 보자. Picker는 북크로싱 서비스 시스템에서 다른 사람들이 공공장소에 기부한 책 정보를 검색할 수 있다. 그런데 이 때 Picker는 어떤 책이든 상관없이 자신의 위치에서 가장 가까이 있는 책들을 우선적으로 보고 싶을 수 있다. 이 경우에 Picker는 자신의 현재 위치에 따른 주변 책 검색을 확장 실행할 수 있을 것이다.
- 즉 이 예제에서 Base Use Case는 "책 정보 검색"이 되고 특정 조건은 "어떤 책이든 상관없이 자신의 위치에서 가장 가까이 있는 책들이 우선적으로 필요한 상황"이 된다 그리고 Extension Use Case는 "현재 위치에 따른 주변 책 검색"으로 만들 수 있다.
Include (포함)
- 어떠한 Use Case가 다른 Use Case를 포함하는 관계를 의미한다. 포함되는 Use Case는 반드시 전체 Use Case의 부분으로만 존재하며 독립적으로(단독으로) 존재할 수 없다.
- Include 관계의 Use Case 사이를 쇄선으로 잇고, 화살표 머리를 포함되어 지는 Use Case쪽에 위치시킨다.
- 예) "시스템에 책 등록"하기 라는 Use Case는 "책 위치 등록하기"와 "책 정보 등록하기"라는 Use Case를 포함할 수 있다. 여기서 "책 위치 등록하기"와 "책 정보 등록하기"라는 Use Case는 단독으로 사용될 수 없는 Use Case 임을 알 수 있다.
Generalization (일반화)
- 두 Use Case 혹은 Actor간의 상속의 의미를 말한다. 즉 상속을 해주는 Parent Use Case가 존재하고 상속을 받는 Child Use Case가 존재한다. Child Use Case는 Parent Use Case의 모든요소를 상속 받으며, 더불어 자신만의 요소(하위 요소)를 추가 할 수 있다. 일반화 관계는 Actor 간 관계에서도 적용할 수 있다.
- Generalization 관계를 가지는 Parent/Child Use Case 사이를 실선으로 연결하고, 속이 빈 삼각 화살표를 Parent Use Case (혹은 Actor)에 위치시킨다.
- 예) 북크로싱 시스템에서 책을 기부하는 기부자 (Dominator)가 있고 동시에 기부 된 책을 취하는 사람(Picker)가 있다고 하자. 그리고 이 둘은 북크로싱 시스템을 이용하는 사용자(User) 간의 상속 관계를 가진다고 생각해 보자. 이 상속 관계에서 User는 Parent Actor가 될 것이고 Dominator와 Picker는 Child Actor가 될 것이다. 그리고 이 Child Actor들은 Parent Actor인 User가 가지고 있는 "계정 인증하기"라는 Use Case를 그대로 상속받게 된다.
반응형'Software > UML' 카테고리의 다른 글
시퀀스 다이어그램 [Sequence Diagram] (0) 2018.09.10 Class Diagram (클래스 다이어그램) - Basic (3) 2018.07.31 댓글