• 정의 : 시스템이 제공하는 기능과 시스템을 사용하는 사용자(또는 다른 시스템)를 표현.

  • 유스케이스 다이어그램은 시스템의 요건을 명시하기 위해 사용하며, 사용자의 기능적 요구사항을 기술하는데 사용한다. 작성 시 사용자의 관점에서 작성하는 것이 필요하다. 사용자의 기능을 제대로 도출해내고, 개발 기간 동안 불충분한 요구사항에 의한 수정작업을 줄이기 위해 사용한다.

  • 유스케이스, 액터, 관계 (연관, 포함, 확장, 일반화)를 이용하여 표현한다.

  • 액터(Actor) : Stick Man

    • 시스템을 사용하는 사용자 또는 타 시스템으로 표현.
    • 여러 역할을 수행하는 사용자는 여러 액터로 표현될 수 있다.
    • 데이터 입출력 용도로 다른 시스템과 상호작용하는 경우는 액터로 표현하지 않는다.
    • 액터는 시스템 구축 대상이 아니기 때문에 시스템 범위에 포함시키지 않는다.
  • 유스케이스(Usecase) : 기능별 모델링 하는 것.

    • 유스케이스는 동사 또는 동명사 형태로 표기한다 → 유스케이스가 시스템의 기능을 의미함을 분명하게 나타내기 위함이다.
    • 유스케이스는 일련의 작업을 의미하며, 유스케이스 도출을 위해 그 유스케이스가 왜 필요한지 생각해 본다.
    • 예를 들어 유스케이스를 작은 단위로 생성하였을 경우, “객실선택”, “객실예약수 입력”, “예약일 선택”, “투숙자 정보입력”에서 각각이 왜 필요한지 생각해 본다. 각각은 “객실예약”이라는 유스케이스의 내부절차에 불과하다.
  • 연관관계(Association)

    • 액터와 유스케이스 사이에만 표현되며, 유스케이스 사이에서 부여될 수 없다.

    • 실선의 화살표로 표현한다.

    • 액터가 유스케이스를 사용하거나, 우스케이스와 상호 작용함을 의미한다.

      Untitled

  • 포함관계(Include)

    • 유스케이스 사이에서 있을 수 있으며, 반드시 포함되어 함께 수행되는 기능을 의미한다.

    • 점선의 화살표 기호와 <<include>>라는 스테레오 타입으로 표현한다.

      Untitled

  • 확장관계(Extend)

    • 조건에 따라 기능이 수행될 수 있음을 의미한다.

    • 반드시 확장되는 것이 아니라 조건에 따라 확장될 수 있는 관계를 나타낸다.

      Untitled

  • 일반화관계(Generalization)

    • 유스케이스와 유스케이스 간 또는 액터와 액터 간에 존재한다.

    • 상위의 기능을 하위에서 상속받아 사용하는 것을 나타낸다.

      Untitled