정보처리기사 필기발행일 2024. 3. 3.원본 https://blog.naver.com/jword_/223367975147 ↗

UML이란? 클래스다이어그램

UML이란? 클래스다이어그램 — #정보처리기사 #개발자의도구들 #UML이란 #클래스다이어그램 #class다이어그램 24년도 1회차 정보처리기...

#정보처리기사 필기#Naver Blog

#정보처리기사 #개발자의도구들 #UML이란 #클래스다이어그램 #class다이어그램

​

24년도 1회차 정보처리기사 필기 시험대비 공부를 진행하였습니다.

\* 본글은 PC버전에 최적화 되어있습니다.

​

**\\ **공부방법론은 가장 첫글에 있습니다. 참고하실 분들은 참고하세요! \\ - 개발자의도구들

\\ 정보처리기사 전체 총 정리는 여기 있습니다!! \\

이미지

1과목, 소프트웨어 설계

view

UML이란?

Unified Modeling Language의 약자로 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이뤄지도록 하는 객체지향 모델링 언어입니다.

​

-> 개인적으로 UML과 아키텍쳐 패턴, 디자인 패턴 등이 너무 헷갈리는데 개념을 잘 잡고 가는것이 중요합니다!

​

앞에서 언급하였듯이 "언어" 이기 때문에 다양한 형식(다이어그램)으로 고객과 소통할 수 있습니다. 소통하는 방식이 바로 우리가 공부할 다이어그램들입니다.

​

다이어그램을 표현하는 방식에따라 정적 모델링, 동적 모델링으로 분류됩니다. 정적 모델링은 구조적 다이어그램이라고 하고, 동적 모델링은 행위 다이어그램이라고 표현합니다.


관계의 종류

UML의 다이어그램에 사용되는 것은 기본적으로 사물(객체)와 관계들입니다.

​

객체는 관계에 따라 여러종류로 나물 수 있습니다.

​

연관(Association)관계: 연관 관계는 2개 이상의 사물이 서로 관련되어 있음을 표현한다.

​

집합(Aggregation)관계: 집합 관계는 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현한다.

​

포함(Composition)관계: 포함 관계는 집합 관계의 특수한 형태로, 부모 요소가 자식 요소에게 영향을 미치는 관계를 표현한다.

​

일반화(Generalization)관계: 일반화 관계는 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현한다.

​

의존(Dependency)관계: 의존 관계는 연관 관계와 같이 서로의 연관은 있지만, 필요에 의해 서로에게 영향을 주는 짧은 시간동안에만 연관을 유지한다.

​

  • 일반적으로 한 클래스가 다른 클래스의 오퍼레이션 매개변수로 사용된다.

​

실체화(Realization)관계: 실체화 관계는 사물이 할 수 있거나 해야 하는 기능(행위, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현한다.


다이어그램 - 구조적 다이어그램

관계까지 알아봤으니 사물들간의 관계를 도형으로 표현할 차례입니다. 객체들을 도형이나 기호로 표현한 것을 다이어그램이라고 부릅니다.

​

정적 모델링에서는 주로 구조적 다이어그램을, 동적 모델링에서는 다음글에 다룰 행위 다이어 그램을 사용하게 됩니다.

​


클래스 다이어그램

클래스와 클래스가 가지는 속성, 클래스의 속성과 오퍼레이션, 제약조건, 클래스 사이의 관계를 표현합니다.

​

구성요소

클래스: 클래스는 각 객체가 갖는 속성과 오퍼레이션을 표현, 일반적으로 3개의 구획으로 나눠서 이름, 속성, 오퍼레이션을 표기합니다.

​

속성은 클래스의 상태나 정보를 표현하며 오퍼레이션은 동작, 함수라고 보시면됩니다.

​

제약조건: 속성에 입력될 값에 대한 제약조건이나 오퍼레이션 수행 전후에 지정해야할 조건이 있다면 이를 적습니다.

​

관계: 관계는 클래스와 클래스 사이의 연관성을 표현합니다. 관계는 위에서 다룬 관계들을 참고하시면 되겠습니다.

​

​

​


객체 다이어그램

클래스에 속한사물들을 객체라고 부릅니다. 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현합니다. 럼바우 객체지향 분석 기법에서 객체 모델링에 사용됩니다.

​


​

컴포넌트 다이어그램

실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현합니다.

​

구현단계에서 사용되는 다이어그램입니다.

​


​

​

배치 다이어그램

결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현합니다.

​

노드와 의사소통(통신) 결로로 표현합니다.

​

구현 단계에서 사용됩니다.

​


복합체 구조 다이어그램

클래스나 컴포넌트가 복합구조를 갖는 경우 그 내부 구조를 표현합니다.

​


​

패키지 다이어그램

유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현합니다.