Myo-Kyeong Tech Blog

[ 정보처리기사 ] 1-1 요구사항 확인 - UML ( Unified Modeling Language ) 본문

정보처리기사

[ 정보처리기사 ] 1-1 요구사항 확인 - UML ( Unified Modeling Language )

myo-kyeong 2023. 5. 31. 23:29
728x90
반응형

 

UML ( Unified Modeling Language ) 

  • 시스템 개발 과정에서 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체 지향 모델링 언어
  • Rumbaugh, Booch, Jacobson 등의 객체지향 방법론의 장점을 통합
  • OMG ( Object Management Group ) 에서 표준으로 지정
  • UML의 구성 요소 : 사물(Things), 관계(Relationship), 다이어그램(Diagram)

 

사물 ( Things )

  • 다이어그램 안에서 관계가 형성될 수 있는 대상들
사물 내용
구조 사물
(Structural Things)
- 시스템 개념적, 물리적 요소를 표현
- ex ) 클래스(Class), 유스케이스(Use Case), 컴포넌트(Component)
행동 사물
(Behavioral Things)
- 시간과 공간에 따른 요소들의 행위를 표현
- ex ) 상호작용(Interaction), 상태 머신(State Machine) 등
그룹 사물
(Grouping Things)
- 요소들을 그룹으로 묶어 표현
- ex ) 패키지(Package)
주해 사물
(Annotation Things)
- 부가적인 설명이나 제약조건 등을 표현
- ex ) 노트 (Note)

 

관계 ( Relationship )

  • 사물과 사물 사이의 연관성을 표현하는 것
  • 관계 종류 : 연관 관계, 집합 관계, 포함 관계, 일반화 관계, 의존 관계, 실체화 관계

 

관계 ( Relationship ) - 연관( Association ) 관계

  • 2개 이상의 사물이 서로 관련되어 있는 관계
  • 사물 사이실선으로 연결하여 표현
  • 방향성화살표로 표현, 양방향 관계의 경우 화살표 생략하고 실선으로만 표현
  • 다중도를 선 위에 표현

https://lipcoder.tistory.com/260

 

 

관계 ( Relationship ) - 집합 ( Aggregation ) 관계

  • 하나의 사물이 다른 사물에 포함되어 있는 관계
  • 포함하는 쪽(Whole)과 포함되는 쪽(Part)는 서로 독립적
  • 포함되는 쪽(Part)에서 포함하는 쪽(Whole)으로 속이 빈 마름모를 연결하여 표현

 

 

관계 ( Relationship ) - 포함 ( Composition ) 관계

  • 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계
  • 포함하는 쪽(Whole)과 포함되는 쪽(Part)는 서로 독립될 수 없고 생명주기를 함께 함
  • 포함되는 쪽(Part)에서 포함하는 쪽(Whole)으로 속이 채워진 마름모를 연결하여 표현

 

 

관계 ( Relationship ) -  일반화 ( Generalization ) 관계

  • 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계
  • 구체적(하위)의 사물에서 일반적(상위)인 사물 쪽으로 속이 빈 화살표를 연결하여 표현

 

https://morm.tistory.com/88

 

 

관계 ( Relationship ) -  의존 ( Dependency ) 관계

  • 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계
  • 영향을 주는 사물(이용자)이 영향을 받는 사물(제공자) 쪽으로 점선 화살표를 연결하여 표현

 

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=if_you-&logNo=221002118528

 

 

관계 ( Relationship ) -  실체화 ( Realization ) 관계

  • 사물이 할 수 있거나 해야 하는 기능으로, 서로를 그룹화 할 수 있는 관계
  • 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현 

 

https://morm.tistory.com/88

 

 

다이어그램 ( Diagram )

  • 사물과 관계를 도형으로 표현한 것
  • 시스템을 가시화한 뷰 (View) 를 제공함으로써 의사소통에 도움을 줌
  • 정적 모델링 - 구조적 다이어그램, 동적 모델링 - 행위 다이어그램 주로 사용

 

구조적 (Structural) 다이어그램 

종류 내용
클래스 다이어그램
(Class Diagram)
- 클래스와 클래스가 가지는 속성
- 클래스 사이의 관계를 표현
객체 다이어그램
(Object Diagram)
- 클래스에 속한 사물(객체)들을 특정 시점의 객체와 객체 사이의 관계로 표현
- 럼바우 (Rumbaugh)  객체지향 분석 기법에서 객체 모델링에 활용
컴포넌트 다이어그램
(Component Diagram)
- 실제 구현 모델인 컴포넌트 간의 관계나 컴포넌트 간의 인터페이스 표현
- 구현 단계에서 사용
배치 다이어그램
(Deployment Diagram)
- 결과물, 프로세스, 컴포넌트 등 물리적 요소들의 위치 표현
- 구현 단계에서 사용
복합체 구조 다이어그램
(Composite Structure
Diagram) 
- 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조 표현
패키지 다이어그램
(Package Diagram)
- 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계 표현

 

행위(Behavioral)  다이어그램   

종류 내용
유스케이스 다이어그램
(Use Case Diagram)
- 사용자의 요구 분석하는 것, 기능 모델링 작업에 사용
- 사용자(Actor)와 사용 사례(Use Case)로 구성
시퀀스 다이어그램
(Sequence Diagram)
- 상호작용하는 시스템이나 객체들이 주고받는 메시지를 표현
커뮤니케이션 다이어그램
(Communication Diagram)
- 동작에 참여하는 객체들이 주고받는 메시지객체들간의 연관 관계 표현
상태 다이어그램
(State Diagram)
- 하나의 객체가 자신이 속한 클래스의 상태 변화 또는 다른 객체와의 상호 작용에 따라 상태가 어떻게 변화하는지 표현
- 럼바우(Rumbaugh) 객체지향 분석 기법에서 동적 모델링에 활용
활동 다이어그램
(Activity Diagram)
- 시스템이 어떤 기능을 수행하는지 객체의 처리 로직이나 조건에 따른 처리의 흐름을 순서에 따라 표현
상호작용 개요 다이어그램
(Interaction Overview Diagram)
- 상호작용 다이어그램 간의 제어 흐름을 표현
타이밍 다이어그램
(Timing Diagram)
- 객체 상태 변화시간 제약을 명시적으로 표현

 

스테레오 타입 ( Stereotype )

  • UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하는 것
  • 길러멧(Guilemet)이라고 부르는 겹화살괄호 ( << >> )사이에 표현할 형태 기술
<<include>> 포함 관계에 있는 경우
<<extends>> 확장 관계에 있는 경우
<<interface>> 인터페이스 정의하는 경우
<<exception>> 예외를 정의하는 경우
<<constructor>> 생성자 역할을 수행하는 경우

 

 

 


REFERENCE

 

728x90
반응형