UML, 유스케이스 다이어그램

2025. 1. 23. 14:05기반기술/SW공학

모델링

  • 현실 세계를 단순화 시켜 표현하는 기법 (모델을 만드는 작업)
  • 개발 프로세스에서 모델링은 요구사항 분석, 설계 단계에서 사용된다. 

 

UML (Unified Modeling Language)

  • 정의
    • UML은 소프트웨어 시스템을 설계하고 시각화하기 위한 표준화된 다이어그램 언어.
    • 복잡한 시스템의 구조와 동작을 이해하기 쉽게 그림(다이어그램)으로 표현하는 것.
  • 왜 쓰일까?
    • 개발자, 디자이너, 비즈니스 팀 간의 의사소통 도구로 사용.
    • 시스템 구조와 동작을 시각화해서 복잡함을 줄여준다.
    • 설계 과정에서 문제점 발견개선에 도움을 준다. 
  • 종류 
구조 다이어그램 (정적) 행위 다이어그램 (동적)
클래스 다이어그램: 클래스 간 관계 표현 유스케이스 다이어그램: 사용자와 시스템의 상호작용 표현
객체 다이어그램: 객체 간 상태와 관계 표현 시퀀스 다이어그램: 작업 수행 순서 표현
컴포넌트 다이어그램: 모듈 간 구조 표현 활동 다이어그램: 프로세스 흐름 표현
배치 다이어그램: 하드웨어 배치와 연결 표현 상태 다이어그램: 객체 상태 변화 표현

 

유스케이스 다이어그램

  • 정의
    • 시스템과 사용자(또는 다른 시스템) 간의 상호작용을 나타내는 다이어그램.
    • 사용자가 시스템을 어떻게 사용할지를 보여주는 그림.
  • 왜 유용할까?
    • 시스템의 기능 요구사항을 한눈에 이해할 수 있다.
    • 개발 초기에 고객, 개발자, 디자이너 간 의사소통을 원활히 만들어준다.
    • 시스템이 제공해야 할 기능의 범위를 정리할 때 사용된다. 
  • 구성 요소
    • 액터(Actor): 시스템과 상호작용하는 사람 또는 외부 시스템을 나타냄 (예: 사용자, 관리자)
    • 유스케이스(Use Case): 사용자가 시스템에서 수행할 수 있는 기능이나 작업을 나타냄 (예: 로그인, 파일 업로드).
    • 시스템 경계(System Boundary): 시스템의 범위를 나타내는 박스.
    • 관계(Relationship): 액터와 유스케이스 간의 연결선 (연결, 포함, 확장 등)
  • 유스케이스 작성시 주의사항 
    • 연관관계(실선)는 액터와 유스케이스 간만 사용 가능
    • 유스케이스는 실제로 현실에서 발생하는 기능으로 구체적이어야 한다.
    • 하나의 독립적인 기능을 구성하는 다양한 세부상황은 각각 하나의 유스케이스로 표현되어 야 한다.
    • 반드시 한 개 이상의 활성화 상호 작용을 하는 액터가 있어야 한다.
    • 유스케이스는 모든 활성화 액터에게 동일한 기능을 제공해야 한다.
    • 유스케이스는 트랜잭션 성격을 가져야 한다.
  • 유스케이스 다이어그램 작업 과정
    • 요구사항 기술서에서 액터, 유스케이스 추출
    • 추출한 액터, 유스케이스 무작위 단순 배치 (UML 툴 사용)
    • 중복 의미의 유스케이스 제거 및 불필요한 유스케이스 제거, 그룹핑 작업
    • 액터, 유스케이스 간 관계 설정