Use Case Diagram
: Use Case(시스템을 사용하는 다양한 경우)와 Actor(외부 행위자)의 관계를 구조화한 다이어그램이다.
시스템 행동을 조직화하고 모델링하는데 중요하다.
Use Case Diagram 요소
- System Boundary: 시스템 내부와 외부를 구분하는 경계
- Use Case: 시스템의 행위를 구조화하기 위해 사용되고 선으로 실현됨
- Actor: 시스템에 접근할 수 있는 모든 외부 행위자
- Association: 일반적인 연관 관계(의미적 연결)
- Directed Association: 방향성이 있는 연관 관계
- Include: 다른 Use Case에서 기존의 Use Case를 재사용하는 관계, Absolute
- Extend: 기존의 Use Case에 진행 단계를 추가하여 새로운 Use Case로 만들어 낸 관계, Optional
Use Case Diagram 작성 순서
1. 요구사항을 확인한다.
2. 요구사항을 바탕으로 시나리오를 작성한다.
3. 시나리오를 바탕으로 시스템 상황을 확인한다.
4. Actor 식별: 외부 행위자와 그들의 책임(권한)을 확인한다.
5. Use Case 식별: 기능의 쓰임새와 시스템의 특성을 확인한다.
6. Use Case Diagram을 작성한다.
💡 아래 Use Case Diagram은 잘못된 정보를 포함할 수 있습니다.
특히 시스템 내부에 include 와 extend 만으로 표시하는 것이 적합해 보입니다.
Use Case Diagram 예시 1
- 요구사항: 주차 관제 시스템과 주차 단말 PC(로컬 서버)가 원활한 실시간 통신을 할 수 있다.
- 시나리오: 주차관제 시스템(ex. 차량 번호판 인식기)에서 번호판을 인식하여 유선 LAN이나 무선 네트워크를 통해 주차단말 PC에 차량 번호, 입차 시간, 출차 시간 등을 전송한다. 만약 차량이 입차한 경우, 주차단말 PC는 전송받은 데이터를 DB에 저장하고, 입차한 차량이 올바르게 주차했다는 가정 하에 주차장의 주차된 차량 수를 계산한다. 그리고 이를 DB에 업데이트한다. 만약 차량이 출차한 경우, 주차단말 PC 전송받은 데이터를 DB에 저장하고, 주차된 차량 수를 계산하여 DB에 업데이트한다.
Use Case Diagram 예시 2
- 요구사항: 주차단말 PC(로컬 서버)와 주차정보 서버(원격 서버)가 원활한 실시간 통신을 할 수 있다.
- 시나리오: 주차단말 PC는 실시간으로 주차된 차량의 수를 로컬 DB에서 조회한다. 인터넷망을 통해 해당 데이터를 주차정보 서버에 전송한다. 주차정보 서버의 API 엔드포인트와 연결되며, 인증 토큰을 통해 주차단말 PC가 주차정보 서버에 접근할 수 있는 권한을 인증받는다. 주차정보 서버는 수신한 데이터를 바탕으로 주차장의 실시간 상태를 갱신한다. 그리고 데이터 수신 여부와 처리 결과를 주차단말 PC에 응답하고, 주차단말 PC는 이 응답을 확인하여 오류를 점검한다.
Use Case 예시 3
- 요구사항: 운전 중 음성으로 주차장 추천을 받을 수 있다.
- 시나리오: 사용자는 음성인식 기반 주차장 추천 서비스를 사용하기 전에, 앱 사용 중 위치와 마이크 접근 권한을 설정한다. 또한 맞춤 추천 서비스를 위해 가격이나 거리 중 하나를 선택한다. 사용자는 내비게이션 화면에서 마이크 아이콘을 클릭하여 “지금부터 3시간 주차할 예정인데, 혜화역 근처 주차장을 추천해줘”와 같은 음성 명령어를 입력한다. 음성 명령어를 통해 지난 사용자 패턴, 주차 예정 시간, 이에 따른 주차 요금, 목적지와의 거리를 바탕으로 주차장 두 곳을 선별한다. 이 주차장의 추천 기준 및 추가 정보를 사용자에게 음성으로 안내한다. 사용자가 음성 명령어나 주차장 클릭을 통해 한 곳을 선택하면, 내비게이션의 위치를 해당 주차장으로 변경하여 안내한다.
'설계 > 창의적컴퓨터공학설계' 카테고리의 다른 글
창의적컴퓨터공학설계] Activity Diagram과 Swimlane (0) | 2024.12.09 |
---|---|
창의적컴퓨터공학설계] Deployment Diagram (0) | 2024.12.09 |
창의적컴퓨터공학설계] UML과 다이어그램 (0) | 2024.12.09 |
창의적컴퓨터공학설계] 프로젝트 소개와 요구사항 분석 (0) | 2024.12.08 |
창의적컴퓨터공학설계] 창의적 문제 해결 과정과 문제 인식 예시 (0) | 2024.12.08 |