Search
🏫

[소프트웨어 공학] 10. 유즈케이스 다이어그램 및 명세

Created
2023/05/24 11:05
Tags
CS
Software Engineering
Last edited time
2023/06/10 08:40
Status
Done
Search
[소프트웨어 공학] 12. 상호작용 다이어그램
CS
Software Engineering
2023/06/11 15:16
[소프트웨어 공학] 12. 상호작용 다이어그램
CS
Software Engineering
2023/06/11 15:16

1. 유즈케이스 분석

1.1. UML

객체지향분석과 설계에서 모델 작성을 위한 표준 표기법
Unified Model Language
방법론이 아니라 표기법, 즉 모델링 언어

1.2. UML 다이어그램

시스템의 일부를 그래픽 형태로 표현
종류
구조 다이어그램 - 시스템 정적 구조 보여줌. 추상화 수준으로 관계 표현
행위 다이어그램 - 시스템 내 객체들의 동적 행위 표현. 시간에 따른 시스템 변화 보임

1.3. UML과 4+1 뷰

UML 모델을 관점에 따라 분해하는 방법
다양한 관점을 표현하는 여러 다이어그램이 존재
유즈케이스 뷰
외부에서 본 시스템 기능 표현
다른 네가지 뷰의 기초
논리 뷰
기능 관점에서 시스템의 구성과 구성요소들 간의 상호작용을 추상화하여 표현
클래스 다이어그램, 시퀸스 다이어그램, 상태머신 다이어그램
프로세스 뷰
시스템 실행에 초점을 맞춰어 내부 작업 시각적 표현
액티비티 다이어그램, 상태머신 다이어그램
개발 뷰
프로그래머 관점에서 시스템 아키텍처를 이루는 각 계층에서 시스템 모듈과 컴포넌트 구성 표현
패키지 다이어그램, 컴포넌트 다이어그램
물리 뷰
앞의 세 관점에서 표현된 시스템 설계 결과가 실세계 개체들에게 어떻게 연결되는지 표현
최종적 시스템의 배치를 보여주는 배포 다이어그램

1.4. 유즈케이스

유즈케이스
시스템이 사용자에게 제공하는 단일 기능
시스템이 제공하는 특정 기능의 동작을 설명한 시나리오
사용자 관점에서 시스템을 모델링하기 위한 도구
시스템 내부 구조나 구현 방법을 기술한 것은 아님
유즈케이스 분석
사용자 요구사항 정리 및 구조화 과정
분석의 결과 (기능 모델)
유즈케이스 다이어그램
유즈케이스 명세
분석 전에 자연어로 된 사용자 요구사항 분석
구조화보다는 정확성, 완전성, 일관성 검토
유즈케이스 부석의 첫단계는 시스템과 상호작용하는 개체를 찾는 일
액터 - 요구사항에서 명사로 표현됨
동사 - 유즈케이스에 해당

2. 액터

표기법
막대인간으로 표현
스테레오 타입의 사용
액터 찾기
액터
구현대상은 아니며 외부에서 시스템과 상호작용하는 개체
시스템과 상호작용하나 그 자체에 대한 분석이 필요 없는 개체
액터간의 관계
일반화(또는 상속) 관계가 존재할 수 있음
공통 요구사항을 가지는 여러 액터들을 일반화하여 모델을 단순화함

3. 유즈케이스

대게 타원으로 표현
유즈케이스와 액터와의 관계
양방향의 경우 화살표 생략
포함 관계 (include)
두 유즈케이스 중복 기능이 있는 경우 중복된 부분을 별도의 유즈케이스로 분리
점선의 화살표 사용하며 소스 → 공통 유즈케이스로 향함
확장 관계 (extend)
특정 조건에서 선택적으로 사용되는 시나리오
확장 유즈케이스는 기본 유즈케이스에서 예외적이고 선택적인 사건의 흐름을 떼어내는 것
기본 유즈케이스는 그 자체로 완전한 유즈케이스
점선의 화살표 사용, 확장 → 기본 유즈케이스로 향함
include 관계의 경우와 화살표 방향이 반대임
상속 관계 (generalize)
전체적인 흐름은 동일. 일부에서 구체적인 방법이나 내용이 틀린경우
자식 유즈케이스는 부모 유즈케이스에서 사용디는 흐름이 일치
시스템의 경계
서브젝트 경계

4. 유즈케이스 명세

유즈케이스 다이어그램
액터와 유즈케이스 간의 관계를 요약적으로 표현
요구사항 구조화 & 고객과 원활히 의사소통하기 위한 수단

4.1. 유즈케이스 명세

유즈케이스 명세
유즈케이스 다이어그램에 상세 설명을 추가한 것
시나리오의 구체적 사건 흐름을 텍스트 형식으로 기술한 것
기본 흐름
원하는 목적을 달성하는 성공적 시나리오
번호와 제목을 달아 구조적으로 작성
대체 흐름
기본 흐름에서 벗어나는 다양한 상황 기술
기본 흐름의 번호를 이용하여 다른 상황에서 일어나는 요약된 시나리오 기술
특수 요구사항
시간, 성능, 품질등과 같은 비기능 요구사항 기술
도메인 요구사항, UI 들에 관한 요구사항 자유롭게 기술

4.2. 예시

유즈케이스
기본 흐름
대체 흐름 및 특수 요구사항