00. UI 설계
1) UML (Unified Modeling Language)
UML은 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화 할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어
2) UML 특징 (Unified Modeling Language) : 가구명문
특징 | 설명 |
가시화언어 | 개념 모델 작성시 오류가 적고 의사소통이 용이 |
구축언어 | 다양한 프로그래밍 언어로 실행 시스템의 예측 가능 UML을 소스코드로 변환하여 구축가능, 역 변환하여 역공학 가능 |
명세화언어 | 정확한 모델 제시, 완전한 모델 작성 가능 |
문서화언어 | 시스템에 대한 평가 및 의사소통의 문서 |
3) UML 구성요소 : 사관다
구성요소 | 내용 |
사물(Things) | 추상적인 개념으로, 주제를 나타내는요소 단어관점에서 명사 또는 동사 의미 |
관계(Relationships) | 사물의 의미를 확장하고 명확히 하는 요소 사물과 사물을 연결하여 관계를 표현하는 요소 단어 관점에서 형용사 또는 부사 의미 |
다이어그램(Diagrams) | 사물과 관계를 모아 그림으로 표현한 형태 형식과 목적에 따라 9가지로 정의 |
3) UML 다이어그램 : 클객컴배복패, 유시커상활타
구분 : 구조적 (정적)다이어그램, 행위적 (동적) 다이어그램
reference : https://www.lucidchart.com/pages/uml-class-diagram
구분 | 다이어그램 | 설명 | 예시 |
구조적 다이어그램 (Structural)/ 정적 (Static) |
클래스 (Class) |
객체지향 모델링 시 클래스의 속성 및 연산과 클래스간 정적인 관계를 표현한 다이어그램 | |
객체 (Object) |
클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현 연관된 모든 인스턴스를 표현함 |
||
컴포넌트 (Component) |
시스템을 구성하는 물리적인 컴포넌트와 그들 사이의 의존관계를 나타냄 | ||
배치 (Deployment) |
컴포넌트의 사이의 종속성을 표현하고 결과물, 프로세스, 컴포넌트등 물리적 요소들의 위치 표현 | ||
복합체구조 (Composite structure) |
클래스나 컴포넌트가 복합구조를 갖는 경우 그 내부 구조를 표현하는 다이어그램 | ||
패키지 (Package) |
유스케이스나 클래스 등의 모델 요소들을 그룹화 한 패키지들의 관계를 표현 | ||
행위적 다이어그램 (Begavioral)/ 동적 (Dynamic) |
유스케이스 (Usecase) |
시스템이 제공하고 있는 기능 및 그와 관련된 외부요소를 사용자의 관점에서 표현 | |
시퀀스 (Sequence) |
객체 간 동적 상호작용을 시간적 개념을 중심으로 메시지 흐름으로 표현 | ||
커뮤니케이션 (Communication) |
동작에 참여하는 객체들이 주고 받는 메시지를 표현하고, 메시지 뿐만 아니라 객체 간의 연관까지 표현 | ||
상태 (State) | 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현 | ||
활동 (Activity) | 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서대로 표현 | ||
타이밍 (Timing) |
객체의 상태 변화와 시간 제약을 명시적으로 표현 |
4) UML 확장모델 스테레오 타입
UML 기본적 요소 이외의 새로운 요소를 만들어 내기 위한 확장 매커니즘
reference : https://velog.io/@e_juhee/UML
유형 | 설명 | 예시 |
<<include>> | 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함관계 | |
<<extend>> | 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수 있고 아닐 수도 있는 확장관계 | |
<<interface>> | 모든메서드가 추상메서드이며 바로 인스턴스를 만들수 없는 클래스로 추상메서드와 상수만으로 구성된 클래스 | |
<<entity>> | 일반적으로 정보 또는 오래 지속되는 연관된 행위를 형상화 하는 클래스 유스케이스 처리 흐름이 수행되는 과정에서 기억 장치에 저장되어야 할 정보를 표현하는 클래스 |
|
<<boundary>> | 시스템과 외부 액터와의 상호 작용을 담당하는 클래스 | |
<<control>> | 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스 |
5) UML 클래스 간 관계 : 연집복 일의실
reference : https://kyoun.tistory.com/100
구분 | 설명 | 사례 |
연관 (Association) |
클래스가 서로 개념적으로 연결된 선 두개 이상의 사물이 서로 관련되어 있는 상태 사물 사이를 실선으로 연결 (방향성은 화살표) 양방향 관계의 경우 화살표 생략 |
|
집합 (Aggregation) |
하나의 객체에 여러개의 독립적인 객체들 구성 하나의 사물이 다른 사물에 포함 되어있는 관계 차와 엔진, 바퀴, 운전대 |
|
복합(합성, 포함) (Composition) |
영구적이고 집합관계보다 더 강한 관계 집합관계의 특수한 형태로 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계 |
|
일반화 (상속) (Generalization) |
하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지 표현 일반적 개념을 부모(상위)라고하고 구체적인 개념을 자식(하위) |
|
의존 (Dependency) |
하나의 클래스가 다른 클래스를 사용하는 관계 다른 클래스의 멤버함수 사용 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계 |
|
실체화 (Realization) |
추상클래스나 인터페이스를 상속받아 자식클래스가 추상메서드를 구현할때 사용 사물이 할 수 있거나 해야하는 기능으로 서로 그룹화 할수 있는 관계를 표현 |
'|Developer_Study > 정보처리기사' 카테고리의 다른 글
[정보처리기사 실기] 5과목 - 인터페이스구현 (0) | 2023.02.20 |
---|---|
[정보처리기사 실기] 4과목 - 통합구현 (0) | 2023.02.15 |
[정보처리기사 실기] 3과목 - 데이터 입출력 구현 (0) | 2023.02.08 |
[정보처리기사 실기] 1과목 - 요구사항 확인 (0) | 2023.01.06 |
[정보처리기사 실기] 목차 (0) | 2023.01.06 |
댓글