목차
- UML
1-1. 모델링
1-2. UML의 필요성
1-3. UML 다이어그램 종류
1-4. 소프트웨어(프로그램) 개발 프로세스별 다이어그램 - 유스케이스 다이어그램
2-1. 액터
2-2. 유스케이스
2-3. 유스케이스 다이어그램 관계 종류
2-4. 액터와 유스케이스간 연관 관계 방향 - 유스케이스 다이어그램 사용 예시
3-1. 로그인 유스케이스
3-2. 동일 기능 제공
3-3. 유스케이스 구체화
3-4. 세부 상황 표현
1. UML
1-1. 모델링
- 모델링이란, 현실 세계를 단순화해 표현하는 기법이다. 말 그대로 모델을 만드는 작업을 뜻한다.
- 소프트웨어 개발 프로세스상에서 요구사항 분석~설계 단계를 일컬어 모델링 단계라고 한다.
1-2. UML의 필요성
- 통합 모델링 언어(UML, Unified Modeling Language)는 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어로서 소프트웨어 개념을 다이어그램으로 그리기 위해 쓰이는 시각적인 표기법이다.
①. 프로젝트 팀 내 의사소통을 돕는다.
②. 개발할 시스템 구축에 대한 기초를 마련할 수 있다.
③. 대규모 프로젝트 구조의 로드맵을 만들기에 유용하다.
④. 소프트웨어 구조의 재사용 문제를 해결한다.
- UML의 필요성은 위와 같다.
1-3. UML 다이어그램 종류
- 클래스 다이어그램, 복합구조 다이어그램, 배치 다이어그램, 패키지 다이어그램, 컴포넌트 다이어그램, 객체 다이어그램으로 이뤄진 정적 다이어그램과 활동 다이어그램, 상호작용 다이어그램, 통신 다이어그램, 타이밍 다이어그램, 상호작용 다이어그램, 시퀀스 다이어그램, 상태 다이어그램, 유스케이스 다이어그램으로 구성된 동적 다이어그램이 있다.
1-4. 소프트웨어(프로그램) 개발 프로세스별 다이어그램
2. 유스케이스 다이어그램
❗ 유스케이스 다이어그램은 UML 다이어그램 종류 기준으로 보았을 때 동적 다이어그램에 속한다. 또한 프로그램 개발 프로세스상에서 상당히 초기에 작성함을 알 수 있다. 즉 고객사와 소통하거나 개발자 팀원들간에 소통하는 용도로서 요구사항 분석 단계에서 그려볼 수 있는 다이어그램이다.
- 유스케이스 다이어그램은 동적(행위) 다이어그램으로, 시스템 내 활동들의 흐름을 보여준다.
- 여러 업무 프로세스를 설명하는 데 자주 활용된다.
2-1. 액터
- 시스템과 상호작용하는 시스템 외부의 존재이다.
- 개발 대상에 따라 달라질 수 있으며, 시스템 관점에서 바라본 사용자의 역할을 뜻해야 한다.
학생이라는 액터가 도서관리시스템을 이용한다.
사서라는 액터가 도서관리시스템을 이용한다.
미납자에게 문자를 보내는 등 도서관리시스템에서 외부 SMS 시스템과 상호작용한다.
- 위 예시 이미지에서 확인할 수 있듯 액터는 사람도 시스템도 의미할 수 있다.
2-2. 유스케이스
- 유스케이스란 개발 대상 시스템이 제공하는 개별 기능이다.
- 시스템 동작 기술, 즉 사용자가 육안으로 인지하고 구분할 수 있는 하나의 기능 단위를 말한다.
학생이라는 액터가 도서대출(유스케이스)을 신청한다.
사서라는 액터가 신착도서(유스케이스)를 등록한다.
ATM 시스템에서 입금, 출금, 이체, 현금보충는 각각의 유스케이스이다.
- 시스템 내에서 제공하는 내부적인 기능 단위가 곧 유스케이스인 것이다.
2-3. 유스케이스 다이어그램 관계 종류
❗ 실선은 유스케이스-액터간 연관 관계를 의미한다.유스케이스끼리 연결할 때는 실선이 쓰이지 않는다. 이들간 관계를 표현할 때는 포함/확장/일반화에 따라 적용한다.
연관 관계
- 유스케이스와 액터간 상호작용을 의미하는 관계이다.
- 이들 관계를 나타낼 때 실선이 쓰인다.
포함 관계
예를 들어 개인정보 조회를 위해서는 로그인을 해야만 한다. 즉 개인정보 조회라는 기능은 로그인이라는 기능을 내포하고 있다는 것이다.
- 한 유스케이스가 다른 유스케이스의 기능을 포함하는 관계이다.
- 반드시 해야만 하는 관계를 말한다.
확장 관계
일례로 게시판에 게시글을 등록할 때 파일 업로드는 해도 되고 안 해도 되는 선택사항이다. 이처럼 파일 업로드라는 기능은 게시글 등록이라는 기능을 확장한다. 파일 업로드는 추가적인 기능을 제공하고 있기에 확장이라고 표현된다.
- 기본 유스케이스에서 특정 조건 또는 액터의 선택에 따라 발생하는 유스케이스이다.
- 선택적으로 치를 수 있는 관계이다.
일반화 관계
- 유사한 유스케이스들 또는 액터들을 추상화한 하나의 유스케이스이다.
- 그룹핑하여 이해도를 높인 관계이다.
2-4. 액터와 유스케이스간 연관 관계 방향
활성화
- 액터가 유스케이스를 활성화시킨다.
수행결과 통보
- 유스케이스 결과가 액터에게 통보된다.
외부 서비스 요청
- 외부 시스템에 서비스 실행을 요청한다.
3. 유스케이스 다이어그램 사용 예시
❗ 유스케이스 다이어그램 작업 과정
①. 요구사항 기술서 토대로 액터, 유스케이스 추출
②. 추출한 액터, 유스케이스를 UML 툴 사용해 무작위로 단순 배치
③. 중복 의미의 유스케이스 제거, 불필요한 유스케이스 제거, 그룹핑 작업
④. 액터, 유스케이스간 관계 설정
3-1. 로그인 유스케이스
- 로그인을 별도의 유스케이스로 활성화해놓고 포함 관계(include)는 굳이 표현하지 않아도 괜찮다.
- 로그인이 선행되어야 실행 가능한 기능들이 많게 마련이므로 생략 가능한 것이다.
3-2. 동일 기능 제공
- 회원등록은 관리자는 해당되지 않고 일반회원만 쓰도록 정확하게 기재한다. 관리자 입장에서 해당 기능이 필요하지 않고 수행 또한 치러지지 않는데 직접 연결돼 있는 것은 옳지 않다.
3-3. 유스케이스 구체화
- 입출금이 아니라 입금, 출금, 이체로 나눠져야 한다.
3-4. 세부 상황 표현
- 엘리베이터 사용자가 위쪽 엘리베이터 요청/아래쪽 엘리베이터 요청함을 각각의 유스케이스로 작성할 필요는 없다.
- 엘리베이터 사용자(액터 1)가 엘리베이터 요청(유스케이스 1) 정도의 상황 표현이면 충분하다.
'Database' 카테고리의 다른 글
[MyBatis] framework | 영속성 프레임워크 (0) | 2022.03.14 |
---|---|
[UML] 유스케이스 다이어그램 실습 (0) | 2022.03.02 |
[DB 모델링] 3차 정규화 실습 | 데이터 논리 모델링 (0) | 2022.03.02 |
[DB 모델링] 2차 정규화 실습 | 데이터 논리 모델링 (0) | 2022.03.02 |
[DB 모델링] 1차 정규화 실습 | 데이터 논리 모델링 (0) | 2022.03.02 |