728x90
유스케이스 다이어그램(Use Case Diagram)은 UML(Unified Modeling Language)을 사용하여 시스템의 기능 요구사항을 시각적으로 표현하는 도구입니다. 이 다이어그램은 시스템의 행위자(Actors)와 그들이 시스템과 어떻게 상호작용하는지를 보여줍니다. 유스케이스 다이어그램을 그릴 때 특별한 양식이나 템플릿이 있는 것은 아니지만, 일반적으로 따라야 할 표준 규칙과 구성 요소가 있습니다.
유스케이스 다이어그램 구성 요소
액터(Actors):
시스템 외부에서 시스템과 상호작용하는 사용자나 다른 시스템을 나타냅니다.
사람 모양의 아이콘으로 표시됩니다.
액터는 시스템에 대해 역할을 합니다.
유스케이스(Use Cases):
시스템이 수행해야 하는 기능이나 작업을 나타냅니다.
타원으로 표시됩니다.
유스케이스는 액터와 시스템 간의 상호작용을 설명합니다.
시스템 경계(System Boundary):
시스템의 범위를 나타내는 직사각형입니다.
시스템의 모든 유스케이스는 이 경계 내부에 위치합니다.
연관(Associations):
액터와 유스케이스 간의 관계를 나타냅니다.
직선으로 표시됩니다.
관계(Relationships):
확장(extends): 한 유스케이스가 다른 유스케이스의 동작을 확장할 때 사용합니다.
포함(includes): 한 유스케이스가 다른 유스케이스를 포함할 때 사용합니다.
유스케이스 다이어그램 예시
아래는 유스케이스 다이어그램을 그릴 때 일반적으로 사용되는 구성 요소와 그 예시입니다.
plaintext
코드 복사
|----------------------------|
| 시스템 |
| ---------------------- |
| | 유스케이스 1 | |
| | 유스케이스 2 | |
| ---------------------- |
|----------------------------|
예시 다이어그램
plaintext
코드 복사
+-----------+
| 액터 |
+-----------+
|
+-----------------+
| 유스케이스 1 |
+-----------------+
|
+-----------+
| 시스템 |
| 경계 |
+-----------+
|
+-----------------+
| 유스케이스 2 |
+-----------------+
|
+-----------+
| 다른 액터 |
+-----------+
예시 설명
액터:
사용자 또는 외부 시스템
유스케이스:
시스템이 제공하는 기능 또는 서비스
시스템 경계:
시스템의 범위를 나타내는 직사각형
연관:
액터와 유스케이스 간의 관계를 나타내는 직선
+--------+ +---------------------+
| 사용자 | | 시스템 |
+--------+ | +----------------+ |
| | | 상품 검색 | |
|--------------------->| +----------------+ |
| | | |
| | | |
| | +----------------+ |
|--------------------->| | 장바구니 추가 | |
| | +----------------+ |
| | | |
| | | |
| | +----------------+ |
|--------------------->| | 주문 하기 | |
| | +----------------+ |
| +---------------------+
사용자는 상품 검색, 장바구니 추가, 주문 하기와 같은 유스케이스와 상호작용합니다.
이 유스케이스들은 시스템 경계 안에 위치합니다.
다이어그램 작성 도구
유스케이스 다이어그램을 작성할 때 다양한 도구를 사용할 수 있습니다:
Lucidchart
Microsoft Visio
Draw.io
StarUML
PlantUML
이 도구들은 유스케이스 다이어그램을 쉽게 만들 수 있는 다양한 기능과 템플릿을 제공합니다.
유스케이스 다이어그램은 시스템의 기능적 요구사항을 시각적으로 명확히 전달하는 데 매우 유용합니다. 이를 통해 개발 팀과 이해관계자 간의 의사소통을 원활하게 하고, 시스템 설계의 기초를 마련할 수 있습니다.
728x90
'프로젝트 > 프로젝트' 카테고리의 다른 글
요구사항정의서 (0) | 2024.07.21 |
---|---|
프로젝트를 위한 CRUD 공부 (0) | 2024.07.03 |
데이터베이스 정규화 및 프로젝트 사용할 데이터베이스 생각 (0) | 2024.06.24 |
요구사항 (0) | 2024.06.20 |
준비 단계 (1) | 2024.06.18 |