1. UML의 개요
- 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
- 모델링 언어 : 우리가 만들고자 하는 것을 시각적으로 표현할 수 있는 표기법, 도구 등
- Rumbaugh(OMt), Booch, Jacobson 등의 객체지향 방법론의 장점을 통합
- UML을 이용하여 시스템의 구조를 표현하는 6개의 구조 다이어그램과 시스템의 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있음
- 각각의 다이어그램은 사물과 사물 간의 관계를 용도에 맞게 표현
- UML의 구성 요소 : 사물, 관계, 다이어그램 등. UML의 개요
- 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
- Rumbaugh(OMt), Booch, Jacobson 등의 객체지향 방법론의 장점을 통합
- UML을 이용하여 시스템의 구조를 표현하는 6개의 구조 다이어그램과 시스템의 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있음
- 각각의 다이어그램은 사물과 사물 간의 관계를 용도에 맞게 표현
- UML의 구성 요소 : 사물, 관계, 다이어그램 등
2. 사물 (Things)
- 모델을 구성하는 가장 중요한 기본 요소
- 다이어그램 안에서 관계가 형성될 수 있는 대상
- 사물의 종류
- 구조 사물 Structural Things
- 시스템의 개념적, 물리적 요소를 표현
- 클래스(Class), 유스케이스(Use Case), 컴포턴트(Component), 노드(Node) 등
- 컴포넌트 : 문서, 소스코드, 파일, 라이브러리 등과 같은 모듈화된 자원, 재사용이 가능
- 행동 사물 Behavioral Things
- 시간과 공간에 따른 요소들의 행위를 표현
- 상호작용(Interaction), 상태 머신(State Machine) 등
- 그룹 사물 Grouping Things
- 요소들을 그룹으로 묶어서 표현
- 패키지(Package)
- 주해 사물 Annotation Things
- 부가적인 설명이나 제약조건 등을 표현
- 노트(Note)
- 구조 사물 Structural Things
3. 관계 (Relationships)
- 사물과 사물 사이의 연관성을 표현하는 것
- 관계의 종류
- 연관(Association) 관계
- 2개 이상의 사물이 서로 관련되어 있음을 표현
- 사물 사이를 실선으로 연결하여 표현, 방향성은 화살표로 표현
- 서로에게 영향을 주는 양방향 관계의 경우 화살표를 생략하고 실선으로만 연결
- 연관에 참여하는 객체의 개수를 의미하는 다중도를 선 위에 표기
다중도 의미 1 1개의 객체 연관 n n개의 객체가 연관 0_1 연관된 객체가 없거나 1개만 존재 0..* 또는 * 연관된 객체가 없거나 다수 1..* 연관된 객체가 적어도 1개 이상 n..* 연관된 객체가 적어도 n개 이상 n..m 연관된 객체가 최소 n개에서 최대 m개
- 집합(Aggregation) 관계
- 하나의 사물이 다른 사물에 포함되어 있는 관계를 표현
- 포함하는 쪽(전체, Whole)과 포함되는 쪽(부분, Part)은 서로 독립적
- 포함되는 쪽(부분, Part)에서 포함하는 쪽(전체, Whole)으로 속이 빈 마름모를 연결하여 표현
- 포함(Composition) 관계
- 집합 관계의 특수한 형태
- 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현
- 포함하는 쪽과 포함되는 쪽은 서로 독립될 수 없고 생명주기를 함께함
- 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결하여 표현
- 일반화(Generalization) 관계
- 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
- 사람은 여자와 남자보다 일반적인 개념이고 반대로 여자와 남자는 사람보다 구체적인 개념
- 보다 일반적인 개념을 상위(부모), 보다 구체적인 개념을 하위(자식)라고 부름
- 구체적(하위)인 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살표를 연결하여 표현
- 의존(Dependency) 관계
- 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현
- 하나의 사물과 다른 사물이 소유 관계는 아니지만 사물의 변화가 다른 사물에도 영향을 미치는 관계
- 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타나는 관계
- 영향을 주는 사물(사용자)이 영향을 받는 사물(제공자) 쪽으로 점선 화살표를 연결하여 표현
- 실체화(Realization) 관계
- 사물이 할 수 있거나 해야 하는 기능 (오퍼레이션, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현
- 한 사물이 다른 사물에게 오퍼레이션을 수행하도록 지정하는 의미적 관계
- 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현
- 연관(Association) 관계
4. 다이어그램 (Diagram)
- 사물과 관계를 도형으로 표현
- 시스템을 가시화한 뷰(View)를 제공함으로써 의사소통에 도움을 줌
- 다이어그램의 종류
- 구조적(Structural) 다이어그램의 종류 : 정적 모델링에서 주로 사용
- 클래스 다이어그램 Class Diagram
- 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현
- 시스템의 구조를 파악하고 구조상의 문제점을 도출할 수 있음
- 객체 다이어그램 Object Diagram
- 클래스에 속한 사물(객체)들, 즉 인스턴스를 특정 시점의 객체와 객체 사이의 관계로 표현
- 럼바우(Rumbaugh) 객체 지향 분석 기법에서 객체 모델링에 활용
- 컴포넌트 다이어그램 Component Diagram
- 실제 구현 모듈인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스를 표현
- 구현 단계에서 사용되는 다이어그램
- 배치 다이어그램 Deployment Diagram
- 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치를 표현
- 노드와 의사소통(통신) 경로로 표현
- 구현 단계에서 사용되는 다이어그램
- 복합체 구조 다이어그램 Composite Structure Diagram
- 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현
- 패키지 다이어그램 Package Diagram
- 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현
- 클래스 다이어그램 Class Diagram
- 행위(Behavicral) 다이어그램의 종류 : 동적 모델링에서 주로 사용
- 유스케이스 다이어그램 Use Case Diagram
- 사용자의 요구를 분석하는 것
- 기능 모델링 작업에 사용
- 사용자(Actor)와 사용 사례(Use Case)로 구성되며, 사용 사례 간에는 여러 형태의 관계로 이루어짐
- 순차 다이어그램 Sequence Diagram
- 상호 작용하는 시스템이나 객체들이 주고받는 메시지를 표현
- 커뮤니케이션 다이어그램 Communication Diagram
- 순차 다이어그램과 같이 동작에 참여하는 객체들이 주고받는 메시지를 표현하는데, 메시지뿐만 아니라 객체들 간의 연관까지 표현
- 상태 다이어그램 State Diagram
- 하나의 객체가 자신이 속한 클래스의 상태 변화 혹은 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지를 표현
- 이벤트(event)에 의한 객체들의 상태 변화를 그림으로 표현
- 럼바우 객체지향 분석 기법에서 동적 모델링에 활용됨
- 활동 다이어그램 Activity Diagram
- 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
- 오퍼레이션이나 처리 과정이 수행되는 동안 일어나는 일들을 단계적으로 표현
- 상호작용 개요 다이어그램 Interaction Overview Diagram
- 상호작용 다이어그램 간의 제어 흐름을 표현
- 타이밍 다이어그램 Timing Diagram
- 객체 상태 변화와 시간 제약을 명시적으로 표현
- 유스케이스 다이어그램 Use Case Diagram
- 구조적(Structural) 다이어그램의 종류 : 정적 모델링에서 주로 사용
5. 스테레오 타입 Stereotype
- UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용
- 길러멧(겹화살괄호 ≪ ≫) 사이에 표현할 형태를 기술
- 스테레오 타입의 표현
≪incluse≫ | 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우 |
≪extend≫ | 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우 |
≪interface≫ | 인터페이스를 정의하는 경우 |
≪exception≫ | 예외를 정의하는 경우 |
≪constructor≫ | 생성자 역할을 수행하는 경우 |
'Study > EIP' 카테고리의 다른 글
[정보처리기사 필기] 화면 설계 - 011. 사용자 인터페이스 (0) | 2025.01.20 |
---|---|
[정보처리기사 필기] 요구사항 확인 - 010. 주요 UML 다이어그램 (0) | 2025.01.20 |
[정보처리기사 필기] 요구사항 확인 - 008. 요구사항 분석 CASE와 HIPO (0) | 2025.01.20 |
[정보처리기사 필기] 요구사항 확인 - 007. 요구사항 분석 (1) | 2025.01.19 |
[정보처리기사 필기] 요구사항 확인 - 006. 요구사항 정의 (0) | 2025.01.19 |