Study/소프트웨어공학

UML, 유스케이스 모델링

Gyuri 2021. 8. 22. 20:49

UML : 표준화 된 모델링 언어 (unified modeling language) 시스템 구조&행위를 표현

제임스 러버 OMT + 야콥슨 OOSE + 부치 OOAD --> 강점들을 합쳐 UML이란 모델링 언어 만듦

 

요구사항 분석 단계 ー 소프트웨어를 바로 구현하지 않고 모델링을 먼저 함. 고객의 문제의 실체를 이해하고 분석해 분석 모델을 구축

*분석 모델 : 고객의 요구사항을 모델링

 

설계 단계 – 설계 모델을 통해 고객의 문제를 해결하는 해결책 표현

*설계 모델 : 해결책을 모델링

 

구현 단계 – 설계 모델을 기반으로 프로그래밍 언어를 통해 소프트웨어 (구현 모델) 구축

 

 

모델의 역할

  • 서로의 해석을 공유해 합의 이루거나 해석의 타당성 검토
  • 시스템 구축하는 틀 제공
  • 현재 시스템 / 앞으로 개발할 시스템의 원하는 모습 가시화

요구사항 표현

  • 사용자 스토리
  • 유스케이스 다이어그램

 

유스케이스 다이어그램 : 시스템 사용하는 목적들, 즉 유스케이스들을 사용자 관점에서 기술한 다이어그램이며 이 목적 달성을 위한 사용자-시스템 사이의 상호작용 보여줌. 시스템이 제공하는 기능/서비스 등을 정의하고, 시스템의 범위 결정.

 

 

액터 : 시스템의 외부에 있으면서 시스템과 상호작용 하는 사람 OR 외부시스템

-> 표기법 : 사람 모양으로 표현. 액터명은 액터의 역할로 정함

액터가 시스템인 경우? 박스로 나타내고 박스 안에 <<actor>>로 표시함

 

 

유스케이스 (Usecase) : 시스템이 액터에게 제공해야 하는 기능의 집합. 시스템의 요구사항 보여줌

-> 표기법 : 타원으로 표시하고, 유스케이스의 이름은 “~한다” 와 같이 동사로 표현. 각 유스케이스가 개발될 기능 하나와 연결될 수 있도록 함

 

 

★표현법

관계 : 액터와 유스케이스 사이의 의미 있는 관계

종류

1) 연관 관계 : 액터-유스케이스 간의 상호작용 있음을 표현. 유스케이스&엑터를 실선으로 연결함.

구체적인 상호작용은 유스케이스 명세서에서 기술됨

 

2) 의존 관계

- 포함 관계 : 필수적으로 수행하는 관계 (반드시 ~을 포함해야한다 예: 글을 등록하기 위해선 로그인 수행해야함) 포함하는 유스케이스에서 포함되는 유스케이스 방향으로 화살표를 점선으로 연결해 포함하고 <<include>> 라고 표기

- 확장 관계 : 선택적으로 수행하는 관계. 확장 기능 유스케이스에서 확장 대상 유스케이스 방향으로 화살표 점선으로 연결해 표현하고 <<extend>> 라고 표기.

** 포함관계, 확장 관계 : 유스케이스 들 간의 관계

 

3) 일반화 관계 : 액터 간의 관계, 유스케이스 간의 관계 : 유사한 유스케이스들 또는 액터들 모아 그들을 추상화한 유스케이스 또는 액터와 연결시켜 그룹핑 함으로써 이해도 높이기 위한 관계

구체적인 유스케이스에서 추상적인 유스케이스 방향으로 끝부분이 삼각형의 테두리로 표현된 화살표를 실선으로 연결해 표현

예) 글쓴이 검색&날짜로 검색 을 일반화 관계로 글을 검색한다 로! ’(~은 ~의 종류이다‘ 로 해석!)

 

 

UMLet

 

유스케이스 다이어그램 작성 순서

  1. 액터 식별 : 사용자의 역할 식별. 외부 시스템 식별 (액터는 개개의 실체 개체가 아니라 그들이 수행하는 역할임)
  2. 유스케이스 식별 : 액터가 요구하는 서비스/정보 식별. 액터가 시스템과 상호작용하는 행위 식별
  3. 관계 정의 : 액터간 유스케이스간의 일반화/연관관계 정의. 유스케이스간 포함, 확장관계 정의

 

유스케이스 명세서 작성

유스케이스 명세서 : 액터가 유스케이스로 표현된 목적을 달성하기 위한 시스템과 상호작용하는 단계를 기술

 

 

유스케이스 기술서 항목

- 유스케이스 명

- 액터 명

- 유스케이스 개요/설명

- 사전/사후조건

- 작업 흐름

   - 정상 흐름 : 해당 유스케이스가 정상적으로 수행되는 흐름을 표현하는 절차. 모든 것이 잘될 것 이라 는 가정 하에 happy path

   - 대체 흐름 : 유스케이스 내의 작업 흐름 수행되는 중 특정 시점에서 여러 가지 선택적인 흐름으로 나뉘어질 경우에 발생하는 흐름

    - 예외 흐름 : 유스케이스 내의 작업 흐름이 수행되는 중 발생할 수 있는 예외상황이나 오류를 표현하는 흐름

     시나리오 : 각 시나리오는 유스케이스의 특정한 예를 나타냄

 

 

<<extend>> 관계 (확장 관계)

확장점 : 확장 대상 유스케이스에서 확장(추가) 기능이 수행되는 지점

 

 

primary actor : 주액터. 쓰템을 사용함으로써 실제 가치를 획득하는 액터. 왼쪽에 그리는 것이 관례

secondary actor : 부액터. primary actor가 목적 달성을 위해 지원하는 액터. 오른쪽에 나타냄 (보조적 지원 해줌)

 

 

잘못된 유스케이스 다이어그램

  • 유스케이스 다이어그램은 흐름도가 아님. 유스케이스간 실행 순서 관계는 유스케이스 다이어그램에서 나타나지
  • 한 유스케이스의 실행 단계를 포함 단계를 사용해 나타내면 X

'Study > 소프트웨어공학' 카테고리의 다른 글

응집도  (0) 2021.08.22
소프트웨어 아키텍처  (0) 2021.08.22
릴리스 계획/스크럼 도구  (0) 2021.08.22
스프린트 계획  (0) 2021.08.22
제품백로그의 특성 (DEEP)  (0) 2021.08.22