Boardmix AI 화이트보드에서 협업하고 아이디어를 창출하세요, 평생 플랜 80% 할인 받기
평생 이용할 수 있는 독점 혜택, $99부터!
지금 구매하기
activity banner
logo logo
김희준
김희준

2026년 10월 02일업데이트

사용 사례 다이어그램은 UML에서 시스템의 범위와 외부 참여자의 목표를 정리할 때 사용하는 다이어그램입니다. 화면의 순서보다 누가 시스템을 통해 무엇을 하려는지에 초점을 둡니다.

이 글에서는 레스토랑, ATM, 온라인 쇼핑 등 8가지 예시의 참여자와 목표를 살펴보고, 포함(include)과 확장(extend)을 구분하는 방법을 설명합니다.

사용 사례 다이어그램

사용 사례 다이어그램에는 선택한 범위의 액터와 목표를 표시합니다. 모든 화면이나 내부 처리까지 넣는 것이 아니라, 요구사항을 논의하는 데 필요한 상호작용을 골라 표현합니다.

사용 사례 다이어그램

사용 사례 다이어그램 구성 요소

사용 사례 다이어그램의 역할을 배운 후에는 해당 구성 요소에 대해 모두 배워야 합니다. 다른 모든 다이어그램 유형과 마찬가지로 사용 사례 다이어그램에는 각 요소를 나타내는 특정 주석과 모양이 있습니다. 따라서 사용 사례 다이어그램의 예를 이해하려면 각 모양이 무엇을 나타내는지 알아야 모든 동료가 이해할 수있는 것을 만들 수 있습니다.

사용 사례 다이어그램 예에서 반드시 만나야 하는 구성 요소는 다음과 같습니다.

1. 시스템 경계

시스템 경계는 이번에 설명할 시스템의 책임 범위를 나타내는 직사각형입니다. 유스케이스는 그 안에, 시스템과 상호작용하는 액터는 바깥에 배치합니다. 같은 조직의 직원이라도 해당 소프트웨어의 외부 사용자라면 액터가 될 수 있습니다.

2. 액터

액터는 시스템과 상호작용하는 역할입니다. 사람뿐 아니라 외부 시스템도 액터가 될 수 있습니다. 실제 사람 수를 뜻하지 않으며, 한 사람이 여러 역할을 맡을 수도 있습니다.

사용 사례 다이어그램 액터

3. 사용 사례/유스케이스

이 요소는 이 다이어그램의 중심에 있습니다. 실제로는 시스템의 개별 기능을 나타내는 구성 요소입니다. 타원형의 사용 사례 요소를 추가할 수 있습니다.

사용 사례 다이어그램 유스케이스

포함(include)은 기본 유스케이스가 다른 유스케이스의 동작을 사용하는 관계입니다. 확장(extend)은 특정 조건에서 기본 유스케이스의 확장 지점에 동작을 추가하는 관계로, 단순히 다음에 실행되는 단계를 뜻하지 않습니다.

관계화살표 방향판단 기준
«include»기본 유스케이스 → 포함되는 유스케이스기본 시나리오에서 사용하는 공통 동작인가?
«extend»확장 유스케이스 → 기본 유스케이스특정 조건에서만 추가되며 기본 시나리오는 독립적으로 의미가 있는가?

두 관계는 점선 화살표와 관계 이름으로 구분합니다. IBM의 포함 관계 설명과 확장 관계 설명에서 방향과 적용 조건을 확인할 수 있습니다.

4. 커뮤니케이션 관계 링크

연관 관계는 액터가 어떤 유스케이스에 참여하는지 보여 주는 실선입니다. 이 선을 작업 순서를 나타내는 화살표로 해석하지 않습니다. 포함되는 유스케이스처럼 액터와 직접 연결되지 않는 유스케이스도 있을 수 있습니다.

사용 사례 다이어그램 커뮤니케이션 관계 링크

8가지 사용 사례 다이어그램 예시

아래에서는 다양한 유형의 시스템에 대한 몇 가지 예를 살펴서 요구 사항을 충족하는 사용 사례 다이어그램 예를 찾을 수 있습니다.

레스토랑 시스템

사용 사례 다이어그램 레스토랑 시스템

첫 번째 사용 사례 다이어그램 예는 레스토랑 시스템에 관한 것입니다. 다이어그램에서 볼 수 있듯이 레스토랑에는 웨이터, 고객, 요리사, 계산원 등 4가지 액터 역할가 있습니다.

고객의 목표는 음식 주문과 결제 등으로 정리할 수 있습니다. 그림의 «음식 먹기»처럼 실제 행동까지 포함하면 레스토랑 업무 전체를 모델링하는 것입니다. 주문 소프트웨어가 대상이라면 시스템이 제공하는 기능만 경계 안에 남깁니다.

웨이터는 주문 접수와 음식 제공을 담당합니다. 와인 주문은 추가 주문이 있을 때의 동작으로 검토할 수 있지만, 관련이 있다는 이유만으로 확장 관계를 붙이지 말고 기본 시나리오와 추가 조건을 먼저 정합니다.

요리사는 접수된 주문을 확인하고 음식을 준비하며, 계산원은 결제를 처리합니다. 소프트웨어를 그리는 경우에는 직원의 전체 업무가 아니라 시스템을 통해 수행하는 목표로 이름을 다듬습니다.

ATM 기계 시스템

사용 사례 다이어그램 ATM 기계 시스템

다음 예는 ATM 기계 시스템을 보여줍니다. 이 경우 배우는 운영자, 고객, 외부 은행 시스템의 3가지 역할입니다.

운영자는 시스템 시작과 종료, 고객은 출금·입금·송금·잔액 조회를 수행하고 외부 은행 시스템이 거래에 참여합니다. 출금과 입금은 거래를 할 때 항상 함께 실행되는 동작이 아니므로, 이들을 모두 include로 연결하면 뜻이 달라집니다. 거래 종류의 선택과 공통 인증 동작을 구분하고, 잘못된 PIN 입력은 인증 시나리오의 예외 흐름으로 설명할 수 있습니다.

온라인 쇼핑 시스템

사용 사례 다이어그램 온라인 쇼핑 시스템

다음 예에는 웹 사이트 사용자, 시스템 인증, ID 제공자 및 결제 서비스(예: 신용 카드 서비스)와 같은 여러 행위자가 있습니다.

웹사이트 사용자는 신규 사용자와 재방문 사용자로 나눌 수 있습니다. 상품 보기, 구매, 회원 등록, 결제 진행과 같은 목표를 정리하되, 회원가입 없이 구매가 가능한지 등 실제 서비스의 조건을 먼저 결정합니다.

ID 제공자와 결제 서비스는 외부 시스템의 액터로 나타낼 수 있습니다. 인증 모듈이 쇼핑 시스템 내부에 있다면 독립된 외부 액터로 그리지 않습니다. 외부 인증을 쓰는 경우에만 실제로 참여하는 로그인 등의 유스케이스에 연결합니다.

철도 예약 시스템

사용 사례 다이어그램 철도 예약 시스템

철도 예약 예시에서는 여행자와 예약 담당자의 목표를 살펴봅니다. 철도 웹사이트 자체를 대상 시스템으로 정했다면 웹사이트를 다시 외부 액터로 놓지 않습니다.

주요 목표는 좌석 조회, 승차권 예약, 요금 결제, 예약 취소입니다. 승객 정보 입력은 예약 시나리오의 단계로 정리할 수 있습니다. 취소 시 환불이 필요한지는 해당 승차권의 조건에 따라 달라지므로, 취소와 환불을 무조건 같은 동작으로 취급하지 않습니다.

여행자는 자신의 예약을 조회하고 변경 또는 취소합니다. 예약 담당자가 대신 처리할 수 있는 범위도 함께 정하면, 액터별 권한을 논의하기 쉬워집니다.

공항 체크인 시스템

사용 사례 다이어그램 공항 체크인 시스템

공항 체크인 예시의 주요 액터는 승객과 단체 여행 인솔자입니다. 인솔자가 승객을 대신해 체크인하는지, 별도의 권한을 갖는지에 따라 관계를 정합니다.

승객의 개별 체크인과 인솔자의 단체 체크인을 구분합니다. 위탁 수하물이 있을 때만 수하물 접수를 추가한다면 확장 관계를 검토할 수 있습니다. 보안 검사가 체크인 소프트웨어 밖의 절차라면 시스템 경계 밖에서 다뤄야 합니다.

여행사 시스템

사용 사례 다이어그램 여행사 시스템

다음 예는 여행사 시스템의 사용 사례 다이어그램을 보여줍니다. 이 다이어그램에는 고객, 항공사, 여행사 , 투어 회사가 액터로 나와 있습니다.

고객은 항공권 예약과 결제를 요청합니다. 투어를 함께 예약할 수 있는 서비스라면, 항공권만 예약해도 목표를 달성할 수 있는지와 투어가 추가되는 조건을 설명합니다.

여행사 직원은 예약을 처리하고 발권 결과를 전달합니다. 항공권 대금과 여행사 수수료를 함께 받는다면 결제 시나리오에 각각의 처리 조건을 적어 둡니다.

외부 항공사 시스템은 좌석 확인과 예약 확정에, 투어 업체는 투어 예약에 참여할 수 있습니다. 그림을 실제 서비스에 적용할 때는 각 시스템의 책임 범위를 먼저 정하고, 단순한 선후 관계를 include나 extend로 바꾸지 않습니다.

병원 관리 시스템

사용 사례 다이어그램 병원 관리 시스템

실제로 병원 관리 시스템은 여러 모듈로 구성됩니다. 그러나 우리는 예를 따르기 쉽게 하기 위해 하나에만 집중하고 있습니다. 이 예에서는 병원의 접수를 조사하고 있습니다. 따라서 주요 액터는 접수 담당자입니다.

접수 담당자의 목표는 환자 등록, 진료 예약, 입원 접수, 보험 서류 처리 등으로 구분할 수 있습니다. 하나의 «환자 관리» 안에 모든 일을 묶기보다 권한과 결과가 다른 목표를 나눕니다.

환자 등록은 처음 방문할 때 필요하지만 기존 환자의 입원마다 반복되는 것은 아닐 수 있습니다. 따라서 등록을 모든 입원의 include로 넣기 전에 업무 규칙을 확인합니다. 외래 접수와 입원 접수도 구분하며, 병상 배정은 입원 절차에 해당합니다.

예약과 입원은 환자 등록 뒤에 일어날 수 있어도 그 사실만으로 extend 관계가 되지는 않습니다. 각 목표의 기본 흐름과 예외 조건을 따로 적은 뒤 관계를 선택합니다.

사용자 관리 시스템

사용 사례 다이어그램 관리 시스템

최종 사용 사례 다이어그램의 예는 사용자 관리 시스템의 예입니다. 이 특정 시스템에서는 소프트웨어 프로세스 그룹, 프로세스 소유자 및 사용자의 세 가지 액터 역할가 있음을 알 수 있습니다.

소프트웨어 프로세스 그룹에는 "개인화 페이지" 및 "구성원 그룹 설정"의 사용 사례가 있습니다. 반면에 사용자는 "개인화 페이지"만 사용 사례로 사용합니다. 프로세스 소유자는 사용 사례 "자산 보호 설정" 및 "프로세스 소유자 변경"을 가지고 있습니다. 예에서 볼 수 있듯이 프로세스 소유자는 소프트웨어 프로세스 그룹과 직접 관련이 있습니다.

사용 사례 다이어그램을 그리는 방법

Boardmix에서는 도형과 연결선을 배치해 유스케이스를 정리하고 팀과 함께 검토할 수 있습니다. 템플릿을 활용하거나 빈 보드에서 시스템 경계, 액터, 유스케이스를 차례로 추가해 보세요.

사용 사례 다이어그램 Boardmix

다음은 Boardmix를 사용하여 사용 사례 다이어그램을 만드는 방법입니다.

  1. 템플릿 센터에서 사용할 수 있는 유스케이스 다이어그램을 찾아 시작하거나, 빈 보드에 기본 도형을 배치합니다.

사용 사례 다이어그램 템플릿

  1. 그런 다음 모든 행위자와 사용 사례를 식별하고 작성합니다. 템플릿에서 작업하는 경우 시스템 기능에 따라 추가 요소를 추가하거나 제거합니다.

사용 사례 다이어그램 작업

  1. 액터와 참여하는 유스케이스는 실선으로 연결합니다. include와 extend를 넣을 때는 점선 화살표의 방향과 관계 이름을 구분합니다.

사용 사례 다이어그램 화살표

  1. 다이어그램을 팀과 공유하고 보기 또는 편집 권한을 설정합니다. 받은 사람이 필요한 범위에 접근할 수 있는지 확인합니다.

사용 사례 다이어그램 공유

먼저 자신의 시스템과 가장 가까운 예시 하나를 고르고 액터와 목표를 바꿔 보세요. 그다음 포함 관계가 정말 공통 동작인지, 확장 관계의 조건이 명확한지 팀과 검토하면 요구사항을 구체화할 수 있습니다.

무료 이용 arrow

보드믹스에 가입하여 팀과 협업하세요
무료 이용 클라이언트 다운로드
맨 위로 이동
twitter share
facebook share