ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [UML] 유스케이스 다이어그램
    자바/기타 2021. 2. 2. 15:12
    유튜브 : 전병선 IT 아카데미 - UML 에센스 - 모듈9. 유스케이스 다이어그램 내용 정리

    개요

    • 시스템의 행위를 모델링하며 시스템의 요구사항을 표현
    • 시스템의 상위 레벨 기능과 범위를 기술

    예시


    요소

    주제 (subject)

    • 구축해야 할 시스템의 부분
    • 시스템 영역 (system boundary)
    • 시스템을 사용하는 사람/사물, 즉 액터(actor)와 시스템이 액터에게 제공하는 이점 즉, 유스케이스(usecase)로 정의된다.
      • 액터 : 시스템 영역 외부
      • 유스케이스 : 시스템 영역 내부

    시스템

    액터 (actor)

    • 시스템 외부에서 시스템과 상호작용하는 사람이나 시스템
    • 액터는 외부 시스템이나, 조직, 장치 일 수 있다.
      • 시스템을 사용하는 사람인 것만은 아니다.
    • 액터가 사람인 경우 그 사람이 시스템과 상호작용하는 역할(role)이다.
      • 액터는 한 사람의 개인이나 특정한 실체가 아니다.

    액터 표시 방법

    유스케이스 (usecase)

    • 여러 개의 연속적인 활동으로 구성된 시스템 행위의 단위
    • 특정한 액터에게 가치가 있는 주목할 만한 결과를 산출하기 위해 시스템이 수행하는 행위의 연속
      • 시스템의 행위가 시작에서 하나의 단위로 끝까지 완료함
      • 액터에게 가치있는 결과를 제공함

    유스케이스 표시 방법


    유스케이스 관계

    연관 (association)

    • 액터가 유스케이스를 사용하는 커뮤니케이션 관계 (communication releationship)
    • 액터가 유스케이스를 (사용한다 / 실행한다 / 커뮤니케이션한다)로 해석할 수 있다.

    연관 표시 방법

    포함(include) 관계

    • 하나의 유스케이스가 다른 유스케이스의 행위를 포함하는 관계
      • 기초 유스케이스가 실행 될 때 포함 유스케이스를 같이 실행
    • 하나 이상의 여러 유스케이스에 의해 재사용되는 행위의 부분을 모델링 할 때 사용

    포함관계 표시 방법

    [도서 주문]과 [결제 확인] 유스케이스가 실행 될 때 [주문 완료] 유스케이스가 실행된다.

     

     

    확장(extend) 관계

    • 하나의 유스케이스가 다른 유스케이스의 행위를 선택적으로 사용하는 관계
    • 선택적인 행위의 부분을 식별하여 별도의 유스케이스에 두도록 모델링할 때 사용
    • 확장점 (extension point) : 확장 유스케이스가 실행되는 위치
      • 확장점 조건이 true이면 실행되고 false이면 실행 안됨

    확장 관계 표시 방법

    일반화 (generalize) 관계

    • 일반화 / 특수화 관계가 존재할 때 사용
    • 자식 유스케이스는
      • 부모 유스테이스의 기능을 상속받는다.
      • 새로운 기능을 추가한다.
      • 상속된 기능을 변경한다.
    • JAVA에서 상속(abstract) 또는 인터페이스(interface)로 구현한다.

    상속 관계 표시 방법


    액터 관계

    일반화 (generalize) 관계

    • 일반화 / 특수화 관계가 존재할 때 사용
    • 회원/비회원 액터는 고객 액터의 일종으로 고객 액터가 실행하는 유스케이스를 실행할 수 있음

    일반화 관계 표시 방법

     

    '자바 > 기타' 카테고리의 다른 글

    [Java] JPA (Java Persistence API)  (0) 2021.03.23
    [JAVA] WebSocket  (0) 2021.03.22
    [JAVA] 멀티 모듈 프로젝트 구성  (0) 2020.09.21
    [IntelliJ] 단축키 정리  (0) 2020.09.11
    [JAVA] CommonUtil 클래스  (0) 2020.09.09

    댓글

Designed by Tistory.