Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 기록
- 웹해킹
- Linux
- 복습
- 클라우드
- IT
- webhacking
- 정리
- reivew
- 리눅스
- Review
- study
- DreamHack
- wargame
- 정보처리기사
- it자격증
- 취약점진단
- 워게임
- 보안
- 자격증
- 공부
- 위험관리
- Security
- 케이쉴드주니어
- Shell
- 보안용어
- 자격증공부
- 드림핵
- 리눅스마스터2급
- keyword
Archives
- Today
- Total
IT Memory Note
[정보처리기사] 화면 설계 : UI 설계(2) 본문
1️⃣ UML
☆☆☆
(6) UML의 유형
1. 클래스 다이어그램(Class Diagram)
⓵ 클래스 다이어그램의 개념
- 객체 지향 모델링 시 클래스의 속성 및 연산과 클래스 간 정적인 관계를 표현한 다이어그램
⓶ 클래스 다이어그램의 구성요소
구성요소 | 설명 |
클래스(Class) | 공통의 속성, 연산(메서드), 관계, 의미를 공유하는 객체들의 집합 |
속성(Attribute) | 클래스의 구조적 특성에 이름을 붙인 것으로 특성에 해당하는 인스턴스가 보유할 수 있는 값의 범위를 기술 |
연산(Operation) / 메서드(Method) |
• 이름, 타입, 매개변수들과 연관된 행위를 호출하는데 요구되는 제약사항들을 명시하는 클래스의 행위적 특징 • 객체에 요청하여 행동에 영향을 줄 수 있는 서비스 |
접근 제어자(제한자) (Access Modifier) |
클래스에 접근할 수 있는 정도를 표현 • - : 클래스 내부 접근만 허용(private) • + : 클래스 외부 접근을 허용(public) • # : 동일 패키지/파생 클래스에서 접근 가능(protected) • ~ : 동일 패키지 클래스에서 접근 가능(default) |
※ 객체(Object) : 자신의 고유의 데이터(Attribute)를 가지며, 클래스에서 정의한 행위(Behavior)를 수행함
⓷ 클래스 간의 관계
구분 | 설명 | 예제 |
연관 (Association) 관계 |
• 클래스가 서로 개념적으로 연결된 관계 • 2개 이상의 사물이 서로 관련되어 있는 상태를 표현 • 사물 사이를 실선으로 연결하여 표현하며, 방향성은 화살표로 표현 |
|
의존 (Dependency) 관계 |
• 하나의 클래스가 또 다른 클래스를 사용하는 관계 • 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현 • 하나의 클래스에 있는 멤버 함수의 인자가 변함에 따라 다른 클래스에 영향을 미칠 때의 관계 |
|
일반화 (Generalization) 관계 |
• 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현하는 관계 • 일반적인 개념을 부모(상위)라고 하고, 구체적인 개념을 자식(하위)이라 함 • 다른 의미로 상속 관계라고 함 |
|
실체화 (Realization) 관계 |
• 추상 클래스나 인터페이스를 상속받아 자식 클래스가 추상 메서드를 구현할 때 사용하는 관계 • 사물이 할 수 있거나, 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화할 수 있는 관계를 표현 |
|
포함 (Composition) 관계 |
• 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현 • 영구적이고, 집합 관계보다 더 강한 관계로 구성 • 복합 관계라고도 함 |
|
집합 (Aggregation) 관계 |
• 하나의 객체에 여러 개의 독립적인 객체들이 구성되는 관계 • 하나의 사물이 다른 사물에 포함되어 있는 관계 표현 |
2. 유스케이스 다이어그램(Usecase Diagram)
⓵ 유스케이스 다이어그램의 개념
- 시스템이 제공하고 있는 기능 및 그와 관련된 외부 요소를 사용자 관점에서 표현하는 다이어그램
⓶ 유스케이스 다이어그램의 구성요소
구성요소 | 설명 | 표기법 |
유스케이스(Usecase) | • 시스템이 제공해야 하는 서비스, 기능을 표현하는 요소 • 액터가 시스템을 통해 수행하는 일련의 행위 |
|
액터(Actor) | • 사용자가 시스템에 대해 수행하는 역할을 표현하는 요소 • 시스템과 상호작용하는 사람 또는 사물 • 이벤트 흐름을 시작하게 하는 객체 |
|
시스템(System) | 전체 시스템의 영역을 표현하는 요소 | |
시나리오(Scenario) | 발생되는 이벤트의 흐름 | |
이벤트의 흐름(Event Flow) | 사람, 시스템, 하드웨어, 시간의 흐름 |
⓷ 유스케이스 다이어그램의 관계
- 관계는 액터와 유스케이스, 유스케이스와 유스케이스 사이에서 나타날 수 있음
관계 | 설명 | 사례 |
포함 (Include) 관계 |
• 유스케이스를 수행할 때 다른 유스케이스가 반드시 수행되는 관계 • 여러 유스케이스에서 공통적으로 발견되는 기능 표현 • <<include>>로 표현 |
|
확장 (Extend) 관계 |
• 특정 조건일 때 한 유스케이스로만 확장되는 관계 • 한 유스케이스에서 추가되거나 확장된 기능 표현 • <<extend>>로 표현 |
|
일반화 (Generalization) 관계 |
• 추상적인 액터와 좀 더 구체적인 액터 사이에 맺어주는 관계 • 하위 액터나 유스케이스에서 상위 액터, 유스케이스 쪽으로 속이 빈 삼각형 화살표를 실선으로 연결 |
3. 시퀀스 다이어그램(Sequence Diagram)
⓵ 시퀀스 다이어그램의 개념
- 객체 간 상호작용을 메시지 흐름으로 표현한 다이어그램
- 객체 간의 동적 상호작용을 시간적 개념을 중심으로 모델링 하는 과정
- 객체의 오퍼레이션과 속성을 상세히 정의해야 함
- 유스케이스를 실현(Realization) 함
⓶ 시퀀스 다이어그램의 구성요소
구성요소 | 설명 | 표기법 |
객체 (Object) |
• 위쪽에 표시되며 아래로 생명선을 가지는 요소 • 사각형 안에 밑줄 친 이름으로 명시 |
|
생명선 (Lifeline) |
• 객체로부터 뻗어 나가는 점선 • 실제 시간이 흐름에 따라 객체의 생명주기 동안 발생하는 이벤트를 명시 |
|
실행 (Activation) |
• 오퍼레이션(함수)이 실행되는 시간을 의미하는 요소 • 직사각형이 길어질수록 오퍼레이션 수행시간이 긺 |
|
메세지 (Message) |
• 객체 간의 상호작용을 위한 요소 • 한 객체에서 다른 객체로의 메시지를 전달하여 전달받은 객체의 오퍼레이션을 수행 |
4. 패키지 다이어그램(Package Diagram)
⓵ 패키지 다이어그램의 개념
- 시스템의 서로 다른 패키지들 간의 의존 관계를 표현하기 위한 다이어그램
⓶ 패키지 다이어그램의 구성요소
구성요소 | 설명 | 표기법 |
패키지 (Package) |
객체들을 그룹화한 요소 | |
의존(Denpendency) 관계 |
• 하나의 패키지가 다른 패키지를 사용하는 관계 • 의존성 성질을 나타내기 위해 스테레오 타입을 붙일 수 있음 • 스테레오 타입에는 <<import>>, <<access>>가 있음 |
5. 활동 다이어그램(Activity Diagram)
⓵ 활동 다이어그램의 개념
- 시스템이 어떤 기능을 수행하는지를 객체의 처리 로직이나 조건에 따른 처리 흐름을 순서대로 표현하는 다이어그램
- 오퍼레이션이나 처리과정이 수행되는 동안 일어나는 일들을 단계적으로 표현함
- 하나의 유스케이스 안이나, 유스케이스 사이에서 발생하는 복잡한 처리 흐름을 명확하게 표현할 수 있음
⓶ 활동 다이어그램의 구성요소
- 활동 다이어그램에서 하나의 활동이 처리되면 그 다음 활동으로 자동적으로 옮겨지며, 활동 상태의 시작과 종료는 항상 존재함
구성요소 | 설명 | 표기법 |
시작점 (Initial Node) |
• 활동의 시작(액션이나 액티비티 시작)을 표현하는 요소 • 하나의 다이어그램 안에는 하나의 시작점만 존재 • 검은색 동그라미로 표현 |
|
전이 (Transition) |
• 실행 흐름을 나타내는 요소 • 화살표로 표현 |
|
액션(Action) / 액티비티(Activity) |
• 어떠한 일들의 처리와 실행을 표현하는 요소 - 액션(Action) : 더 이상 분해할 수 없는 단일 작업 - 액티비티(Activity) : 몇 개의 액션으로 분리될 수 있는 작업 • 모서리가 둥근 사각형으로 표현하고, 둥근 사각형 안에 액션이나 액티비티 명칭 기술 |
|
종료점 (Final Node) |
• 처리의 종료를 표현하는 요소 • 하나의 다이어그램 안에는 여러 개의 종료 노드가 있을 수 있음 • 검은색 동그라미를 포함한 원으로 표현 |
|
조건(판단) 노드 (Decistion Node) |
• 조건에 따른 제어 흐름의 분리를 표현하는 요소 • 마름모로 표현하고 들어오는 제어 흐름은 1개이고, 나가는 제어 흐름은 여러 개로 표현 |
|
병합 노드 (Merge Node) |
• 여러 경로의 흐름이 하나로 합쳐진 것을 표현하는 요소 • 마름모로 표현하고 들어오는 제어 흐름은 여러 개 이고, 나가는 제어 흐름은 1개로 표현 |
|
포크 노드 (Fork Node) |
• 평행적으로 수행되는 흐름을 나누는 노드 • 굵은 가로선으로 표현하고 들어오는 액티비티 흐름은 1개이고, 나가는 액티비티 흐름은 여러 개로 표현 |
|
조인 노드 (Join Node) |
• 포크 노드로 나눠진 흐름을 다시 하나로 합치는 노드 • 굵은 가로선으로 표현하고 들어오는 액티비티 흐름은 여러 개이고, 나가는 액티비티 흐름은 1개로 표현 |
|
구획면 (Swim Lane) |
• 액티비티 수행을 담당하는 주체를 구분하는 면 • 가로 또는 세로 실선을 그어 구분 |
6. 상태 다이어그램(State Diagram)
⓵ 상태 다이어그램의 개념
- 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호작용에 따라 상태가 어떻게 변화하는지 표현하는 다이어그램
- 어떤 이벤트에 의해 객체 자신이 속한 클래스의 상태 변화나 객체 간 상호작용하는 과정에서의 상태 변화를 표현함
- 객체는 파악된 상태들 이외의 상태는 가질 수 없고, 특정 순간에는 오직 한 상태로만 존재할 수 있음
- 객체의 상태 : 객체가 갖는 속성값의 변화
⓶ 상태 다이어그램의 구성요소
구성요소 | 설명 | 표기법 |
상태 (State) |
• 객체가 존재할 수 있는 조건을 표현하는 요소 • 둥근 사각형 안에 객체의 상태 기술 |
|
시작 상태 (Initial State) |
• 객체의 시작 상태를 표현하는 요소 • 속이 채워진 원으로 표현 |
|
종료 상태 (Final State) |
• 객체의 종료 상태를 표현하는 요소 • 원 안에 속이 채워진 원으로 표현 |
|
전이 (Transition) |
• 객체 상태가 다른 상태로 변경되는 상태를 표현하는 요소 • 화살표로 표현 |
|
이벤트 (Event) |
• 상태 변화를 주는 현상을 표현하는 요소 • 전이 위에 이벤트 이름 표시 |
|
전이 조건 (Transition Condition) |
• 특정 조건 만족 시 전이가 발생하기 위해 사용되는 요소 |
7. 커뮤니케이션 다이어그램(Communication Diagram)
⓵ 커뮤니케이션 다이어그램의 개념
- 시퀀스 다이어그램과 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하고, 메시지뿐만 아니라 객체 간의 연관까지 표현하는 다이어그램
- 시스템이나 객체들이 메시지를 주고받으며 시간의 흐름에 따라 상호작용하는 과정을 표현한 다이어그램
⓶ 커뮤니케이션 다이어그램의 구성요소
구성요소 | 설명 | 표기법 |
액터 (Actor) |
시스템으로부터 서비스를 요청하는 외부 요소(사람, 외부 시스템) | |
객체 (Object) |
• 메시지를 주고받은 주체 • 콜론(:)을 기준으로 앞쪽에는 객체명, 뒤쪽에는 클래스명 기술 |
|
링크 (Link) |
• 객체들 간의 관계를 표현하는 요소 • 액터와 객체, 객체 간 실선으로 표현 • 링크에 메시지를 표현 |
|
메시지 (Message) |
• 객체 간의 상호작용을 위한 요소 • 화살표의 방향은 메시지를 받는 쪽으로 향하게 표현 |
8. 컴포넌트 다이어그램(Component Diagram)
⓵ 컴포넌트 다이어그램의 개념
- 시스템을 구성하는 물리적인 컴포넌트와 그들 간의 의존 관계를 나타내는 다이어그램
- 코드 컴포넌트 기반의 물리적 구조로 표현됨
- 실질적 프로그래밍 작업에 사용함
⓶ 컴포넌트 다이어그램의 구성요소
구성요소 | 설명 | 표기법 |
컴포넌트 (Component) |
• 모듈화된 소프트웨어 시스템의 구성요소 • 컴포넌트는 탭이 달린 직사각형으로 표현 |
|
인터페이스 (Interface) |
• 기능을 모아놓은 클래스 • 스테레오 타입을 이용하여 <<interface>>로 표기 |
|
의존 (Denpendency) 관계 |
• 컴포넌트 간의 의존하는 관계 • 컴포넌트와 인터페이스는 화살표 모양의 점선으로 연결 |
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 데이터 입출력 구현 : 데이터 저장소(2) (0) | 2024.08.07 |
---|---|
[정보처리기사] 데이터 입출력 구현 - 데이터 저장소(1) (0) | 2024.07.17 |
[정보처리기사] 화면 설계 - UI 설계(1) (0) | 2024.01.31 |
[정보처리기사] 화면 설계 : UI 요구사항 확인(2) (1) | 2024.01.31 |
[정보처리기사] 화면 설계 : UI 요구사항 확인(1) (1) | 2024.01.30 |