728x90
2021년 NCS기반 정처기 필기입니다. 이기적2020과 수제비2021 수험서를 함께 보고 공부한 기록입니다.
제 1과목 소프트웨어 설계 > 요구사항 확인 > UML
UML(Unified Modeling Language)의 개념
- UML은 객체지향 소프트웨어 개발 과정에서 산출물을 명세화, 시각화, 문서화할 때 사용되는 모델링 기술과 방법론을 통합해서 만든 표준화된 범용 모델링 언어이다.
- UML은 비즈니스 프로세스 개발 분야에 특화되어 사용 · 발전되었다.
- UML은 방법론을 통합한 것으로, 표준화된 모델링 기법을 제공한다.
UML 도입 효과
- 개발 기획과 산출물에 대한 확인
- 프로그램 개발이라는 행위에 대해 전문가와 비전문가가 서로 대화할 수 있는 도구
UML의 특징 (가구명문)
특징 | 설명 |
가시화 언어 | 개념 모델 작성 시 오류가 적고 의사소통이 용이 |
구축 언어 | 다양한 프로그래밍 언어로 실행 시스템의 예측 가능 |
UML을 소스 코드로 변환하여 구축 가능, 역 변환하여 역공학 가능 | |
명세화 언어 | 정확한 모델 제시, 완전한 모델 작성 가능 |
문서화 언어 | 시스템에 대한 평가 및 의사소통의 문서 |
UML 구성요소
- 사물 Things
- 관계 Relationships
- 다이어그램 Diagrams
UML 다이어그램 유형
UML 다이어그램은 구분에 따라 구조적(정적) 다이어그램, 행위적(동적) 다이어그램으로 구분된다.
구조적 다이어그램 (클객 컴배 복패)
클래스 / 객체 / 컴포넌트 / 배치 / 복합체 구조 / 패키지
클래스 다이어그램(Class Diagram)
객체지향 모델링 시 구성요소간 정적인 관계를 표현한 다이어그램이다.
클래스 다이어그램의 구성요소
- 클래스 이름(Class Name)
- 속성(Attribute)
- 연산(Operation)
- 접근 제어자(접근 제한자)
클래스 다이어그램 접근 제어자
- | 클래스 내부 접근만 허용(private) |
+ | 클래스 외부 접근을 허용(public) |
# | 동일 패키지, 파생 클래스에서 접근 가능(protected) |
~ | 동일 패키지 클래스에서 접근 가능(default) |
행위적 다이어그램 (유시커 상활타)
유스케이스 / 시퀀스 / 커뮤니케이션 / 상태 / 활동 / 타이밍
유스케이스 다이어그램(Usecase Diagram, 사용 사례 다이어그램)
사용자의 관점에서 표현하는 다이어그램이다. 기능 모델링 작업에 사용된다.
유스케이스 다이어그램의 구성요소
- 유스케이스(Usecase)
- 액터(Actor)
- 시스템(System)
시퀀스 다이어그램(Sequence Diagram)
객체 간 상호작용을 메시지 흐름으로 표현한 다이어그램이다.
시퀀스 다이어그램의 구성요소 (어람? OLAM) [2020년 3회]
- 객체(Object) : 사각형 안에 밑줄 친 이름으로 명시
- 생명선(Lifeline) : 객체로부터 뻗어나가는 점선
- 실행(Activation) : 점선 위 직사각형, 직사각형은 실행 시간을 의미
- 메시지(Message) : 화살표
UML의 관계(Relationships)
UML의 관계는 사물과 사물 사이의 연관성을 표현하는 것이다.
UML의 관계
구분 | 설명 | 예시 |
연관 관계 (Association) |
2개 이상의 사물이 서로 관련된 상태를 화살표 실선으로 표현 양방향 관계의 경우 화살표를 생략하고 실선 표현 |
|
집합 관계 (Aggregation) |
포함되는 쪽(부분)에서 포함하는 쪽(Whole)으로 속이 빈 마름모를 연결하여 표현 | |
포함 관계 (Composition) |
포함 관계는 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에 영향을 미치는 관계를 표현 포함되는 쪽(부분)에서 포함하는 쪽(전체)으로 속이 채워진 마름모를 연결하여 표현 |
|
일반화 관계 (Generalization) |
일반화 관계는 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현 일반적인 개념을 부모(상위)라고 하고, 구체적인 개념을 자식(하위)이라 함 구체적(하위)인 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살푤르 연결하여 표현 |
|
의존 관계 (Dependency) |
의존 관계는 사물 사이에 서로 연관은 있으나 필요에 따라 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현 영향을 주는 사물이 영향을 받는 사물 쪽으로 점선 화살표를 연결하여 표현 |
|
실체화 관계 (Realization) |
실체화 관계는 사물이 할 수 있거나, 해야하는 기능(행위, 인터페이스)으로 서로를 그룹화할 수 있는 관계를 표현 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현 |
UML 확장 모델의 스테레오 타입(Stereotype)
- UML의 기본적 요소 이외에 새로운 요소를 만들어 내기 위한 확장 메커니즘이다.
- 형태는 기존의 UML의 요소를 그대로 사용하지만 내부 의미는 다른 목적으로 사용하도록 확장한다.
- UML의 스테레오 타입은 '<<>>'(길러멧; Guillemet) 기호를 사용하여 표현한다.
타입 | 설명 | 예시 |
<<include>> | 하나의 유스케이스가 어떤 시점에 반드시 다른 유스케이스를 실행하는 포함 관계 | |
<<extend>> | 하나의 유스케이스가 어떤 시점에 다른 유스케이스를 실행할 수도 있고, 그렇지 않을 수도 있는 확장 단계 | |
<<interface>> | 모든 메소드가 추상 메소드이며, 바로 인스턴스를 만들 수 없는 클래스로 추상 메소드와 상수만으로 구성된 클래스 | |
<<entity>> | 일반적으로 정보 또는 오래 지속되는 연관된 행위를 형상화하는 클래스로 유스케이스 처리 흐름이 수행되는 과정에서 기억 장치에 저장되어야 할 정보를 표현하는 클래스 |
|
<<boundary>> | 시스템과 외부 액터와의 상호작용을 담당하는 클래스 | |
<<control>> | 시스템이 제공하는 기능의 로직 및 제어를 담당하는 클래스 |
*직접 만든 약어: 어람?OLAM
728x90
'IT License > 정처기-1과목' 카테고리의 다른 글
2021 #정보처리기사 필기요약 #1-4. 인터페이스 설계 (0) | 2021.02.25 |
---|---|
2021 #정보처리기사 필기요약 #1-3. 애플리케이션 설계 (0) | 2021.02.25 |
2021 #정보처리기사 필기요약 #1-2. 화면 설계 (0) | 2021.02.24 |
2021 #정보처리기사 필기요약 #1-1. 애자일(Agile), 분석모델확인 (4) | 2021.02.24 |
2021 #정보처리기사 필기요약 #1-1. 요구사항 확인 (0) | 2021.02.18 |
댓글