1. 단원 요약
- 개요
- UML (Unified Markup Language) 1.0: OMG, 1997
- UML 2.5: OMG, 2015
- 4+1 View
- Usecase View: 유스케이스 다이어그램
- Logical View: 상호작용 다이어그램(시퀀스 다이어그램, 통신 다이어그램)
- Process View: 액티비티 다이어그램
- Development View
- Physical View
- UML 2.5 다이어그램
- 유스케이스 다이어그램: 구조적, 행위적 측면을 모두 표현한다.
- 구조 다이어그램
- 클래스 다이어그램
- 객체 다이어그램
- 패키지 다이어그램
- 컴포넌트 다이어그램
- 배포 다이어그램
- 행위 다이어그램
- 액티비티 다이어그램
- 상태머신 다이어그램
- 상호작용 다이어그램
- 시퀀스 다이어그램
- 통신 다이어그램
- 액터: 막대인간, 아이콘, 스테레오타입(《》), 명사
- 시스템 외부에 존재하는, 시스템과 상호작용하는 개체(사람, 타 시스템 등)
- 액터 간에도 일반화, 상속 등의 관계가 존재 가능하다.
- 유스케이스와의 관계는 화살표 선으로 표현한다.
- 유스케이스: 타원, 동사
- 시스템 사용 시나리오(Usecase)
- 유스케이스 간 관계
- 포함《include》
- 중복 기능을 별도의 유스케이스로 분리하고, 점선 화살표로 표현
- Java에서 중복되는 기능을 수행하는 코드를 별도의 클래스로 분리하고, import하는 경우와 같다.
- 확장《extend》
- 특정 조건에서만(선택적으로) 부모 유스케이스를 확장해서 사용
- Java에서 부모 클래스를 상속해서 쓰는 경우와 같다.
- 일반화(상속)《generalize》
- 전체적인 흐름이 동일하며, 일부 구체적인 부분이 상이한 경우
- Java에서 추상 클래스를 구현해서 쓰는 경우와 같다.
- 부모를 가리키는 속이 빈 삼각형을 가진 실선 화살표로 표현
- 부모를 가리키는 점선 화살표로도 표현하나 일반적이지 않음\
- 포함《include》
- 시스템 경계(=Subject 경계): 개발 대상들을 직사각형으로 둘러쌈
- 액터는 경계 밖에 위치
- 사각형 상단에 시스템 이름을 명기
- 유스케이스 명세: 시나리오의 사건 흐름을 구체적으로 추가 기술한 텍스트
- 유스케이스 이름
- 참여 액터
- 요약 설명
- 선행 조건
- 기본 흐름: 목적을 달성하는 성공적 시나리오를 구조적으로 작성
- 대체 흐름: 기본 흐름에서 벗어난 시나리오를 작성
- 종료 조건
- 특수 요구사항: 비기능 요구사항(시간, 성능, 품질) 등을 자유롭게 작성
2. 연습문제 요약
- UML은 방법론을 제시하지 않는다. UML은 Markup Language이다.
- 유스케이스는 시나리오를 표현하며, 구체적인 객체(클래스)와 그 속성 등은 완전히 표현하지 못한다.
- 이는 클래스 다이어그램으로 표현한다