메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

유즈케이스 다이어그램(1)

한빛미디어

|

2008-02-13

|

by HANBIT

34,169

제공 : 한빛 네트워크
저자 : 이노우에 타츠키
역자 : 이영희
출처 : 다이어그램으로 쉽게 배우는 UML



본 기사에서는 UML 다이어그램을 작성할 때 고려해야 할 사항이나 주의 사항에 대해 설명하겠습니다. 제일 먼저 채택한 것이 유즈케이스 다이어그램입니다. 유즈케이스 다이어그램은 UML을 도입할 때 제일 먼저 만들어 보는 다이어그램인데도 불구하고, 그리는 방법이나 용도를 파악하기가 꽤 힘든 다이어그램이기도 합니다. 그러면 유즈케이스 다이어그램에 대한 정의부터 순차적으로 설명하겠습니다.

▶ 유즈케이스 다이어그램이란?

유즈케이스 다이어그램(Use Case Diagram)이 무엇인지를 알아보기 위해 먼저, 가장 기본적인 유즈케이스 다이어그램을 [그림2-1]에 나타냈습니다.

이 다이어그램 안에 등장하는 요소(UML에서는‘모델 요소’라고 합니다)는 각각 다음과 같은 의미가 있습니다.


[그림2-1] 유즈케이스 다이어그램의 개요
  • 유즈케이스(Use Case) : 모델화 대상이 외부에 제공하는 서비스. 이것을 액터가 이용합니다.
  • 관계 정의 : 관련된 액터와 유즈케이스를 연결합니다. 이 때 연결한 액터 = 유즈케이스의 행위자가 아니라는 점에 주의해 주십시오. 관계 정의는 어디까지나 서로의 관련성을 나타내는 것에 지나지 않습니다.
  • 시스템 경계 : 시스템화 대상 범위를 나타냅니다. 안쪽이 시스템화 대상 범위이고 바깥쪽이 시스템 대상 범위 이외가 됩니다. 시스템 경계는 생략할 수 있습니다.
일단 이 정도의 요소만 기억해도 유즈케이스 다이어그램을 그리기에는 크게 어려운 점은 없을 것입니다. 그러나 자신이 생각하고 있는 것을 상세하게 표현하고 싶을 때에는 좀 더 고도의 표기 방법이 필요합니다. 고도의 표기 방법에 사용되는 요소를 포함한 유즈케이스 다이어그램을 [그림2-2]에 나타냈습니다.


[그림2-2] 유즈케이스 다이어그램의 고도의 모델 요소

이들은 각각 다음과 같은 의미가 있습니다.

액터의 일반화 관계
액터와 액터간의 관계를 정의하고 싶을 때 사용합니다. [그림2-2]의 경우라면 일반 회원 자격에 특별 서비스를 이용할 수 있는 특별 회원 자격을 추가하여 정의하고 있습니다. 유즈케이스 다이어그램에서는 액터와 액터 사이를 일반화(Generalization) 관계로만 정의할 수 있습니다.

유즈케이스의 일반화 관계
상위 유즈케이스의 내용을 바탕으로 새로운 유즈케이스를 정의할 때 사용합니다. 하위 유즈케이스는 상위 유즈케이스의 일부를 수정하거나 서비스를 추가한 것입니다. [그림2-2]의 경우라면‘비디오를 빌린다’라는 서비스에 의거하여‘비디오를 택배로 빌린다’고 하는 서비스를 정의하고 있습니다(상위 유즈케이스의 빌리고 싶은 비디오를 선택하는 방법과 빌린 비디오를 가지고 돌아가는 방법을 수정해서, 비디오의 주문과 접수를 집에서 수행하는 서비스를 나타내면 이같이 표기됩니다).

포함 관계
유즈케이스 사이의 포함 관계를 나타낼 때 사용합니다. 포함 관계란 어떤 유즈케이스가 다른 유즈케이스를 이용하고 있다는 것을 의미합니다. [그림2-2]의 경우라면‘비디오를 빌린다’라고 하는 유즈케이스가 회원 여부를 확인하는 서비스까지 포함하고 있음을 나타내고 있습니다.

확장 관계
유즈케이스의 확장 부분을 표현할 경우에 사용합니다. 확장하고자 하는 유즈케이스에 무엇을 확장할 것인지‘확장 사항’을 표기합니다. [그림2-2]의 경우 비디오를 빌릴 때의 지불 방법을 확장 사항으로 표기하고 있으며, 지불 방법은 카드로도 가능하다는 것을 나타내고 있습니다. ‘카드로 요금을 지불한다’라고 하는 유즈케이스는 카드 지불 방법만을 나타냅니다.

이러한 고도의 요소는 반드시 사용해야 되는 것은 아니기 때문에 무리해서 사용할 필요는 없습니다.

앞서 설명한 상위 요소들은 신중하게 사용하지 않으면 오해를 불러 일으키거나 이해할 수 없는 모델이 될 수도 있습니다. 그래서 모델을 만드는 사람은 유즈케이스의 사용법을 완전히 파악한 후 모델을 읽을 사람들과 그 내용을 충분히 공유해야 합니다. 그래야만 유즈케이스 다이어그램을 훨씬 다양하게 표현할 수 있습니다.

▶ 유즈케이스 다이어그램의 사용처

그러면 이번에는 유즈케이스 다이어그램의 사용처에 대해 알아보겠습니다.

모두들 잘 알겠지만, 유즈케이스 다이어그램은 UML을 도입할 때‘일단 만들어 보자’라고 하는 대상이 되기 쉬운 다이어그램입니다(유즈케이스 다이어그램이나 클래스 다이어그램을 제일 먼저 그리죠). 간단하기 때문이기도 하지만 모델화하려고 하는 대상(비즈니스, 시스템, 소프트웨어)의 대략적인 내용을 간결하게 나타낼 수 있기 때문에 제일 먼저 만듭니다.

사실 모델화 대상의 내부 구조를 파악하는 것보다 외부에서 보았을 때 대략 어떻게 구성되어 있는지부터 먼저 파악하고 싶어지기 때문에, 그러한 용도로는 유즈케이스 다이어그램이 안성맞춤입니다1) [그림2-3].

유즈케이스 다이어그램을 사용하여 모델화하다 보면 대상에 어떤 사람이나 시스템(액터)이 관련되어 있으며, 어떻게 관련되어 있는지를 알 수 있습니다. 액터를 따라 가다 보면 대상과 관련된 사람과 관련되지 않는 사람을 파악할 수 있으며, 이용자의 접근 제한(서비스를 제공해서는 안되는 액터)을 파악할 수 있습니다.


[그림2-3] 유즈케이스 다이어그램에 의한 모델화

또 유즈케이스 수에 따라 대상에 대한 규모가 어느 정도 될지 알 수 있습니다. 단순하게‘유즈케이스 수가 많은 시스템=규모가 큰 시스템’,‘ 유즈케이스 수가 적은 시스템=규모가 작은 시스템’이라고 파악할 수 있습니다. 다만 규모가 큰 시스템을 유즈케이스 다이어그램으로 작성하고자 할 때에는 상당한 노력과 연구가 필요합니다. 이것은‘규모’에 관한 내용으로 나중에 다시 설명하겠습니다.

유즈케이스 다이어그램의 정보가 도움이 되는 시점은 주로 시스템 개발 초기입니다. 시스템 개발 초기에는 시스템 내부 구성을 파악하기에는 좀 이른 감이 있지만, 시스템의 이용자로서 어떤 사람과 관련되고 있으며 어떤 서비스를 제공해야 하는지, 그리고 어느 정도의 규모인지 등을 확실히 해 둘 필요가 있습니다.

유즈케이스 다이어그램은 이러한 요구에 대응할 수 있습니다. 그래서 유즈케이스는 개발 공정 중 가장 앞에 위치하는 요건 정의2)시에 만들어지는 다이어그램입니다. 유즈케이스 다이어그램은 시스템 전체의 모습을 하나로 해서 가장 먼저 만들어지는 경우도 있지만, 시스템 전체를 몇 개의 블록(하부조직이나 도메인)으로 분할해서 개발을 진행시킬 경우에는 시스템 전체뿐만 아니라 블록 단위로 쪼개서 만들어지는 경우도 있습니다.

이와 같이 유즈케이스 다이어그램은 지금부터 만들고자 하는 것(시스템 등)을 나타내는 개요로써, 내부에 얽매이지 않고 분명하게 어떤 것을 만들고 싶다는 요구가 있을 때에는 어디서든지 도움이 됩니다.

어떤 것을 만들지 대충 머릿속으로 그려지면 대부분 바로 프로그램을 작성하기 시작할 것입니다.

이러한 경우에도 바로 프로그램 작성에 들어가기 전에 머릿속에 그려진 내용들을 유즈케이스 다이어그램으로 메모해 두면 기능 누락을 방지할 수 있음은 물론, 어느 정도의 개발 기간이 걸릴지 파악할 수 있게 되어 상당히 편리합니다. 꼭 그려 보세요.
TAG :
댓글 입력
자료실

최근 본 상품0