[UML] 유스 케이스 다이어그램(Use Case Diagram)
유스 케이스 다이어그램(Use Case Diagram)
환경
- UML
Use Case Diagram
Use Case
- 유스 케이스(Use Case): 유저가 시스템을 통해서 얻고자 하는 하나의 행위나 이야기를 의미한다.

Use Case Diagram
- 유스 케이스 다이어그램(Use Case Diagram): 액터 그리고 시스템들의 관계를 표현한 다이어그램이다.

액터(Actor), 유스 케이스(Use Case), 시스템 경계(System Boundary)
액터(Actor)
- 액터(Actor): 시스템과 상호작용하는 외부 개체를 나타낸다.
- 다이어그램에서는 사람 모양으로 표시한다.
- Use Case에 있는 그림에서 “Registered User”가 액터다.
유스 케이스(Use Case)
시스템 경계(System Boundary)
- 시스템 경계(System Boundary): 설계하고자 하는 시스템의 모델의 나타낸다.
- 다이어그램에서는 사각형으로 표시한다.
- Use Case Diagram에 있는 그림에서 “System Boundary”가 시스템 경계다.
관계(Relationship)
연관(Association)
- 연관(Association): 액터와 유스 케이스의 상호작용을 나타낸다.
- Ex) 유저가 보드를 수정한다.

포함(Include)
- 포함(Include): 다른 유스 케이스를 포함하는 관계를 의미한다.
- Ex) 글을 올리는건 사진 추가를 포함한다.

확장(Extend)
- 확장(Extend): 특정 조건을 만족하면 다른 유스 케이스로 확장될 수 있는 관계를 의미한다.
- Ex) 비행기 예약은 어떤 조건이 되면 좌석을 선택할 수 있다.

일반화(Generalization)
- 일반화(Generalization): 상속과 비슷한 개념으로 유스 케이스가 다른 유스 케이스들의 일반화된 상위 유스 케이스임을 나타낸다.
