PromleeBlog
sitemap
aboutMe

posting thumbnail
Use 케이스, Use 케이스 다이어그램
Use Cases, Use Case Diagram

📅

🚀

들어가기 전에 🔗

이전에 우리는 사용자의 관점에서 시스템의 기능을 이야기 형식으로 풀어내는
유스케이스 서술서
작성법에 대해 배웠습니다.

하지만 여러 개의 유스케이스들이 모여 시스템 전체의 기능 범위를 이루게 될 때, 이들을 한눈에 파악하고 서로의 관계를 이해하기란 쉽지 않습니다.
오늘은 이렇게 개별 유스케이스들을 모아 시스템이 제공하는 전체 기능의
큰 그림
을 보여주는 시각적 도구, 바로
UML 유스케이스 다이어그램(Use Case Diagram)
에 대해 자세히 알아보겠습니다.

🚀

유스케이스 다이어그램이란 무엇일까요? 🔗

유스케이스 다이어그램은 시스템이 제공해야 하는
기능적 요구사항
을 사용자의 관점에서 시각적으로 표현하는 UML 다이어그램 중 하나입니다.
시스템과 상호작용하는 외부 요소인
액터(Actor)
, 시스템이 제공하는 기능인
유스케이스(Use Case)
, 그리고 이들 간의 관계를 단순하고 직관적인 기호를 사용하여 나타냅니다.
유스케이스 다이어그램
유스케이스 다이어그램
유스케이스 다이어그램의 주요 목적
유스케이스 다이어그램은 시스템의 복잡한 내부 로직보다는, 외부에서 바라본 시스템의 기능적 모습에 집중합니다.

🚀

유스케이스 다이어그램의 핵심 구성요소 🔗

유스케이스 다이어그램은 몇 가지 간단한 표준 기호로 구성되어 있어 배우고 사용하기 쉽습니다.

1. 액터 (Actor) 🔗

액터는 시스템
외부
에 있으면서 시스템과 상호작용하는 사람, 다른 시스템, 또는 장치 등을 의미합니다.
이전에 유스케이스 서술서에서 다루었던 바로 그 액터입니다.
액터
액터

2. 유스케이스 (Use Case) 🔗

유스케이스는 시스템이 특정 액터에게 제공하는 하나의 완전하고 의미 있는 기능을 나타냅니다.
액터가 시스템을 통해 달성하고자 하는 목표를 반영합니다.
유스케이스 (로그인, 상품 조회, 주문하기)
유스케이스 (로그인, 상품 조회, 주문하기)

3. 시스템 경계 (System Boundary) 🔗

시스템 경계는 개발하려는 시스템의 범위와 그 외부를 구분하는 선입니다.
일반적으로 큰 사각형으로 표현되며, 사각형의 상단이나 내부에 시스템의 이름을 명시합니다.

4. 관계 (Relationships) 🔗

액터와 유스케이스, 그리고 유스케이스와 유스케이스 사이에는 다양한 관계가 존재할 수 있습니다.
➡️

액터와 유스케이스 간의 관계 (Association) 🔗

➡️

유스케이스 간의 관계 🔗

유스케이스들은 서로 독립적일 수도 있지만, 때로는 다른 유스케이스의 기능을 포함하거나, 특정 조건에서 다른 유스케이스의 기능을 확장하는 관계를 맺기도 합니다.
이를 표현하기 위해
포함(Include)
관계와
확장(Extend)
관계가 사용됩니다.
포함 관계 <<include>> (Include Relationship) 🔗
하나의 유스케이스가 실행될 때,
반드시
다른 유스케이스의 기능이 함께 수행되어야 하는 경우를 나타냅니다.
여러 유스케이스에서 공통적으로 사용되는 기능을 별도의 유스케이스로 분리하고, 이를 필요한 곳에서 포함시켜 재사용성을 높일 수 있습니다.
<<include>> 관계
<<include>> 관계
확장 관계 <<extend>> (Extend Relationship) 🔗
하나의 유스케이스(기본 유스케이스)가 특정 조건(확장점, Extension Point)에서 다른 유스케이스(확장 유스케이스, Extending Use Case)의 기능을
선택적으로
수행할 수 있음을 나타냅니다.
기본 유스케이스는 확장 유스케이스 없이도 독립적으로 실행될 수 있지만, 특정 상황에서는 확장 유스케이스의 부가적인 기능이 추가될 수 있습니다.
<<extend>> 관계
<<extend>> 관계
포함(Include) vs. 확장(Extend) 구분 팁

🚀

유스케이스 다이어그램 작성 시 고려사항 및 팁 🔗


🚀

유스케이스 다이어그램의 장점과 한계 🔗

장점:
한계:
이러한 한계 때문에 유스케이스 다이어그램은 단독으로 사용되기보다는, 유스케이스 명세서, 활동 다이어그램, 시퀀스 다이어그램, 클래스 다이어그램 등 다른 모델링 기법들과 함께 사용될 때 그 효과가 극대화됩니다.

🚀

결론 🔗

오늘은 시스템이 제공하는 기능과 사용자와의 상호작용을 한눈에 보여주는 UML 유스케이스 다이어그램에 대해 자세히 알아보았습니다.
액터, 유스케이스, 시스템 경계와 같은 핵심 구성요소를 이해하고, 유스케이스 간의 중요한 관계인 포함(<<include>>)과 확장(<<extend>>) 관계를 어떻게 표현하고 활용하는지 살펴보았습니다.
다음 시간에는 소프트웨어의 품질 요건(성능, 보안, 확장성 등)을 명세하고, 시스템 제약사항의 의미를 파악하며, 비기능 요구사항을 테스트하는 전략에 대해 알아보는
추가적인 설계 요구사항
에 대해 이야기 나누겠습니다.

참고 🔗