UML
프로그램의 구조/설계를 이해하기 쉽도록 도식화할 수 있는 명세화, 시각화, 문서화된 모델링 언어
UML 특징: 가시화, 구축, 시각화, 문서화 언어
UML 구성요소
- 사물: 추상적인 개념으로 주제를 나타내는 요소
- 관계: 사물의 의미를 확장하고 명확히 하는 요소
- 다이어그램: 사물과 관계를 모아 그림으로 표현한 형태
UML 다이어그램
- 구조적 다이어그램/정적 다이어그램 <<클객 컴배 복패>>
- 클래스
- 객체
- 컴포넌트
- 배치
- 패키지 - 행위적 다이어그램/동적 다이어그램 <<유시커 상활타>>
- 유스케이스
- 시퀀스
- 커뮤니케이션
- 상태
- 활동
UML 확장 모델의 스테레오 타입
- <<include>> 하나의 유스케이스가 반드시 다른 유스케이스 실행하는 포함 관계
- <<extend>> 하나의 유스케이스가 다른 케이스를 실행할 수도 있고, 그렇지 않을 수도 있는 확장 관계
- <<interface>> 모든 메서드가 추상 메서드이며 바로 인스턴스를 만들 수 없는 클래스로 추상 메서드와 상수로 구성
- <<entity>>
- <<boundary>>
- <<control>>
UML 유형
- 클래스 다이어그램
객체지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현
클래스 공통의 속성, 연산, 관계, 의미를 공유한 객체들의 집합 속성 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스 보유할 수 있는 값의 범위 연산, 메서드 제약사항을 명시하는 클래스의 행위적 특징
객체에 요청하여 행동에 영향을 줄 수 있는 서비스접근 제어자 - 클래스 내부 접근만 허용(private)
+ 클래스 외부 접근을 허용(public)
# 동일 패키지/파생 클래스에서 접근 가능(protected)
~ 동일 패키지 클래스에서 접근 가능(default)연관관계 클래스가 서로 개념적으로 연결
2개 이상의 사물이 서로 관련되어 있는 상태집합관계 하나의 객체에 여러 개의 독립적인 객체들이 구성
하나의 사물이 다른 사물에 포함
포함되는 쪽(바퀴, 엔진) 포함하는 쪽(차)복합관계 영구적이고, 집합관계보다 강한 관계
포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
포함되는 쪽(피스톤, 플러그) 포함하는 쪽(엔진)일반화관계
(= 상속관계)하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현
구체적인 개념(자식, 하위) 일반적인 개념(부모, 상위)의존관계 하나의 클래스가 또 다른 클래스를 사용하는 관계
필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관 유지
영향을 주는 사물 받는 사물추상 클래스 객체 인스턴스를 생성하지 않고, 유사 클래스들의 공통된 특징을 정의
동일한 부모를 가지는 클래스 묶는 개념
<<abstract>> - extends인터페이스 기능을 모아놓은 클래스로 추상 메서드와 상수만을 포함하는 추상클래스
<<interface>> - implements실체화 관계 추상 클래스나 인터페이스를 상속받아 자식클래스가 추상 메서드를 구현할 때 사용 - 컴포넌트 다이어그램
시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존관계를 표현
컴포넌트 - 탭이 달린 직사각형
- 패키지 이름:: 컴포넌트 이름인터페이스 - 실제로 동작하는 컴포넌트에 인터페이스를 적용 의존 관계 - 컴포넌트 사이의 의존하는 관계 표현 - 패키지 다이어그램
시스템의 서로 다른 패키지들 사이의 의존관계를 표현
패키지 요소들을 그룹으로 조직하기 위한 요소 의존관계 하나의 패키지가 다른 패키지를 사용하는 관계
스테레오 타입: <<import>> <<access>> - 유스케이스 다이어그램
시스템이 제공하고 있는 기능 및 관련된 외부 요소를 사용자의 관점에서 표현
유스케이스 시스템이 제공해야 하는 서비스, 기능
액터가 시스템을 통해 수행하는 일련의 행위액터 사용작 ㅏ시스템에 대해 수행하는 역할
시스템과 상호작용하는 사람 또는 사물시스템 전체 시스템의 영역을 표현 시나리오 발생되는 이벤트의 흐름 포함관계 <<include>> 다른 유스케이스가 반드시 수행되는 관계 확장관계 <<extend>> 특정 조건이 만족되는 상황에서만 흐름 수행 일반화관계 추상적인 액터와 좀 더 구체적인 액터 사이에 맺어주는 관계
하위 액터 상위 액터 - 시퀀스 다이어그램
객체 간 상호작용을 메시지 흐름으로 표현
동적 상호작용을 시간적 개념을 중심으로 모델링하는 과정
객체의 오페레이션과 속성을 상세히 정의
유스케이스를 실현한다.
객체 객체는 위족에 표시되며 아래로 생명선을 가진다. 생명선 실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트를 명시 실행 오퍼레이션이 실행되는 시간 메시지 객체 간의 상호작용은 메시지 교환으로 이루어짐 - 커뮤니티 다이어그램(시퀀스 다이어그램과 유사)
동작에 참여하는 개체들이 주고받는 메시지를 표현하고 메시지뿐만 아니라 객체 간의 연관까지 표현
액터 시스템으로부터 서비스를 요청하는 외부 요소 객체 메시지를 주고받은 줴
객체명 : 클래스명링크 객체들 간의 관계 표현 메시지 객체가 상호작용을 위해 주고받는 메시지
메시지를 받는 쪽으로 화살표 - 상태 다이어그램
객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현
상태 객체가 존재할 수 있는 조건 중 하나 시작 상태 종료 상태 전이 객체의 상태가 다른 상태로 변경
상태 사이의 흐름, 변화이벤트 객체의 전이를 유발하는 자극
상태의 변화전이 조건 특정 조건 만족 시 전이 발생하도록 하기 위해 사용되는 속성 값의 불리언 식 - 활동 다이어그램
시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 흐름을 순서대로 표현
하나의 유스케이스 안이나, 유스케이스 사이에서 발생하는 복잡한 처리의 흐르을 명확하게 표현
시작점 전이 실행의 흐름을 나타냄 액션/액티비티 어떠한 일들의 처리와 실행을 의미
-액션: 이상 분해할 수 없는 단일 작업
-액티비티: 몇 개의 액션으로 분리될 수 있는 작업종료점 조건 노드 조건에 따른 제어 흐름의 분리를 표현 병합 노드 경로의 흐름이 하나로 합쳐진 것을 표현 포크 노드 평행적으로 수행되는 흐름을 나누는 노드 조인 노드 포크 노드로 나눠진 흐름을 다시 하나로 합치는 노드 구획면 = swim lane 액티비티 수행을 담당하는 주체를 구분하는 면
'Certificate > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 소프트웨어 개발 보안 (0) | 2021.07.19 |
---|---|
정보처리기사 실기_04_요구사항 확인 (0) | 2021.06.30 |
정보처리기사 실기_02_필기기반 출제 개념 (0) | 2021.06.29 |
정보처리기사 실기_01 _소프트웨어 개발 보안 설계 (0) | 2021.06.29 |