티스토리 뷰

유즈케이스 다이어그램에서 유즈케이스간의 관계는 의존(Dependency, --->) 관계로 표현되며주석을 달아서 그 관계를 명확하게 표현한다주석은 포함과 확장을 의미하는 <<include>>와 <<extend>>로 표현된다.



1. 유즈케이스간의 포함관계

포함관계는 하나의 유즈케이스를 수행할때포함된 유즈케이스가 반드시 수행되는것을 말한다.

 

예를들어 우리는 도서관에서 책을빌릴때 회원정보를 가지고 반드시 로그인을 해야지 대여를 할 수 있는데 이를 대여하기’ 유즈케이스가로그인’ 유즈케이스를 포함한다고 할 수 있다.

 

이와 같이 여러 유즈케이스에 나타난 공통적인 이벤트 흐름을 별도의 유즈케이스로 표현함으로ㅆ 이벤트 흐름의 중복을 방지할 뿐만 아니라 시스템의 공통 기능을 추출하여 효율적으로 개발하는것이 가능하게 된다.

 

2. 유즈케이스간의 확장관계

확장관계의 유즈케이스는 포함관계처럼 여러 유즈케이스에 걸쳐 중복적으로 사용되지 않고특정 조건에서 한 유즈케이스로만 확장되는 것을 의미한다따라서 확장(extend)하는 유즈케이스는 상위 유즈케이스로부터 어떠한 특정 조건에 의해 수행됨을 의미한다포함관계가 여러 유즈케이스에서 공통적으로 발견되는 시스템의 기능을 표현하기 위하여 사용되는 반면에 확장관계는 한 유즈케이스에서 추가되거나 확장된 기능을 표현하기 위하여 사용된다.

 

예를들어 우리는 도서관에서 책을빌릴때 빌릴 책에 대한 정보를 할 수도 있고 안할 수도 있다. 도서검색은 도서대여의 부가적인 기능이라고 볼 수 있다그리고 도서검색은 도서대여 유즈케이스의 기능과 성격이 다르므로 도서대여 유즈케이스의 이벤트 흐름에 포함시켜 기술하는 것보다 별도의 유즈케이스로 표현하는것이 바람직 하다.


따라서 도서대여 유즈케이스를 기준 유즈케이스라고 하고 도서검색 유즈케이스를 확장 유즈케이스라고 부른다.

 

확장 유즈케이스는 일반적으로 특정 조건이 만족되는 상황에서만 확장 유즈케이스의 이벤트 흐름이 수행된다. ‘도서대여’ 유즈케이스의 경우 사용자의 특별한 요청에 의해 도서검색’ 유즈케이스를 수행하게 된다.

 

확장 유즈케이스의 이벤트 흐름의 수행여부를 결정짓는 조건은 확장 유즈케이스를 포함하는 기준 유즈케이스가 아니라 확장 유즈케이스에 표현되는 점을 주목한다.즉 확장 유즈케이스인 도서검색’ 유즈케이스의 이벤트 흐름 1번 항목에 수행여부 조건(사용자는 도서검색을 요청한다)가 나타나있다.

 

3. 확장 유즈케이스와 포함 유즈케이스

 

확장관계에 있는 유즈케이스 사이의 이벤트 흐름은 포함관계에 있는 유즈케이스 사이의 이벤트 흐름과 유사하다즉 기준 유즈케이스의 이벤트 흐름이 수행되었다가 확장점을 만나면 지정된 유즈케이스의 이벤트 흐름으로 분기된다.


 

확장 관계에서의 이벤트 흐름


위 그림은 기준 유즈케이스와 확장 유즈케이스 사이의 이벤트 흐름 수행관계를 보여준다기준 유즈케이스인 도서대여’ 유즈케이스에 기술된 이벤트 흐름이 차례로 수행되다가 확장점에서 확장 유즈케이스인 도서검색’ 유즈케이스로 이벤트 흐름이 분기된다확장 유즈케이스에 기술된 이벤트 흐름의 수행이 완료되면 다시 기준 유즈케이스로 되돌아와서 이후의 이벤트 흐름을 수행한다.


포함관계의 이벤트 흐름

 

확장 유즈케이스와 포함된 유즈케이스의 이벤트 흐름이 수행된 후에 다시 원래 유즈케이스로 돌아와서 이후의 이벤트 흐름이 수행되는 것은 확장관계와 포함관계 모두 동일하다그러나 포함관계의 유즈케이스는 이벤트 흐름이 피포함 유즈케이스로 항상 분기되는 반면에 확장 유즈케이스에서는 확장 유즈케이스에 기술된 조건이 만족되는 경우에만 확장 유즈케이스의 이벤트 흐름으로 분기가 발생한다.

 

즉 포함된 유즈케이스로의 분기는 필수적인 반면에 확장 유즈케이스로의 분기는 선택이다포함 또는 확장 유즈케이스로부터 다시 돌아와 이후의 이벤트를 수행할 때 필수와 선택의 차이점이 드러난다포함된 유즈케이스는 필수적으로 분기가 발생하며대부분의 경우에 포함된 유즈케이스의 수행결과에 따라서 기준 유즈케이스의 이벤트 흐름이 영향을 받는다즉 로그인’ 유즈케이스에서 로그인을 했는지 하지 않았는지에 따라 도서대여’ 유즈케이스 이후의 이벤트 흐름에 영향을 주게 된다.

 

반면 확장 유즈케이스는 선택적으로 이벤트 흐름이 수행된다따라서 기존 유즈케이스 이후의 이벤트 흐름은 확장 유즈케이스의 수행결과에 의존하지 않는다비록 도서대여’ 유즈케이스에서 도서검색’ 유즈케이스로의 분기 이후에 다른 이벤트 문장이 없지만 만약 있다 하더라도 이 이벤트 문장은 도서대여’ 유즈케이스의 수행 결과에 영향을 받지 않는다.


 

 

 

포함관계

확장관계

목적

여러 유즈케이스에 공통적인 기능을

표현하기 위해 사용된다.

기준 유즈케이스에 부가적으로

추가된 기능을 표현하기 위해 사용된다.

이벤트흐름

포함된 유즈케이스로의 이벤트 흐름

분기가 필수적이다.

기준 유즈케이스 이후의 이벤트 흐름이 포함된

유즈케이스의 수행결과에 의존한다

확장 유즈케이스에 기술된 조건에 따라

선택적으로 수행된다.

기준 유즈케이스 이후의 이벤트 흐름이

확장 유즈케이스의 결과에 의존하지 않는다.

 

 

'분석설계,UML' 카테고리의 다른 글

액터사이의 일반화 관계  (0) 2015.04.29
액터의 의미와 식별법  (0) 2015.04.29
유즈케이스 표기법  (0) 2015.04.29
모델링의 개념  (0) 2015.04.29
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함