잡다한 배똥월드

728x90

 

 

 

1. 정의

  • 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어
  • Rumbaugh(OMT), Booch, Jacobson 등의 객체지향 방법론의 장점을 통합
  • 객체 기술에 관한 국제표준화기구인 OMG(Object Management Group)에서 표준으로 지정
  • 시스템의 구조를 표현하는 6개의 구조 다이어그램과 시스템의 동작을 표현하는 7개의 행위 다이어그램을 작성할 수 있음
  • 구성요소 : 사물(Things), 관계(Relationships), 다이어그램(Diagram) 등

 

 

 

 

2. 사물(Things) = 객체(Object)

  • 모델을 구성하는 가장 중요한 기본 요소
  • 다이어그램 안에서 관계가 형성될 수 있는 대상들을 말함
  • 구조 사물(Structural Things) : 시스템의 개념적, 물리적 요소를 표현
  • 행동 사물(Behavioral Things) : 시간과 공간에 따른 요소들의 행위를 표현
  • 그룹 사물(Grouping Things) : 요소들을 그룹으로 묶어서 표현
  • 주해 사물(Annotation Things) : 부가적인 설명이나 제약조건 등을 표현

 

 

 

 

3. 관계(Relationships)

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

 

 

 

 

4. 연관(Association) 관계

  • 2개 이상의 사물이 서로 관련되어 있음을 표현
  • 사물 사이를 실선으로 연결하여 표현하며, 방향성은 화살표로 표현
  • 양방향의 관계일 경우 화살표 생략
  • 연관에 참여하는 객체의 개수를 의미하는 다중도(Multiplicity)를 선 위에 표기

 

 

 

 

5. 집합(Aggregtion) 관계

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

 

 

 

 

6. 포함(Composition) 관계

  • 집합 관계의 특수한 형태
  • 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계를 표현
  • 포함하는 쪽(전체, Whole)과 포함되는 쪽(부분, Part)은 서로 독립될 수 없고 생명주기를 함께함
  • 부분에서 전체 방향으로 속이 채워진 마름모를 연결하여 표현 (부분 ―◆ 전체)

 

 

 

 

7. 일반화(Generalization) 관계

  • 하나의 사물이 다른 사물에 비해 더 일반적인지 구체적인지를 표현
  • 보다 일반적인 개념을 상위(부모), 보다 구체적인 개념을 하위(자식)라고 부름
  • 구체적인 사물에서 일반적인 사물 방향으로 속이 빈 화살표를 연결하여 표현 (하위 ―▷ 상위)

 

 

 

 

8. 의존(Dependency) 관계

  • 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계를 표현
  • 하나의 사물과 다른 사물이 소유 관계는 아니지만 사물의 변화가 다른 사물에도 영향을 미치는 관계
  • 일반적으로 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우에 나타나는 관계
  • 영향을 주는 사물(이용자)이 영향을 받는 사물(제공자) 쪽으로 점선 화살표를 연결하여 표현 (이용자 ····> 제공자)

 

 

 

 

9. 실체화(Realization) 관계

  • 사물이 할 수 있거나 해야 하는 기능(오퍼레이션, 인터페이스)으로 서로를 그룹화 할 수 있는 관계를 표현
  • 한 사물이 다른 사물에게 오퍼레이션을 수행하도록 지정하는 의미적 관계
  • 사물에서 기능 쪽으로 속이 빈 점선 화살표를 연결하여 표현 (사물 ····▷ 기능)

 

 

 

 

10. 다이어그램(Diagram)

  • 사물과 관계를 도형으로 표현한 것
  • 의사소통에 도움을 줌
  • 정적 모델링에서는 주로 구조적 다이어그램을 사용하고 동적 모델링에서는 주로 행위 다이어그램을 사용함

 

 

 

 

10. 구조적(Structural) 다이어그램의 종류

  • 클래스(Class) 다이어그램 : 클래스와 클래스가 가지는 속성, 클래스 사이의 관계를 표현
  • 객체(Object) 다이어그램 : 인스턴스(Instance)를 특정 시점의 객체와 객체 사이의 관계로 표현 (럼바우 객체지향 분석 기법에서 객체 모델링에 활용)
  • 컴포넌트(Component) 다이어그램 : 컴포넌트 간의 관계나 인터페이스를 표현 (구현 단계에서 사용)
  • 배치(Deployment) 다이어그램 : 물리적 요소들의 위치를 표현하며 노드와 의사소통(통신) 경로로 표현 (구현 단계에서 사용)
  • 복합체 구조(Composie Structure) 다이어그램 : 클래스나 컴포넌트가 복합 구조를 갖는 경우 그 내부 구조를 표현함
  • 패키지(Package) 다이어그램 : 유스케이스나 클래스 등의 모델 요소들을 그룹화한 패키지들의 관계를 표현

 

 

 

 

11. 행위(Behavioral) 다이어그램의 종류

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

※ 유스케이스 다이어그램의 구성요소 : 시스템(System) / 시스템 범위(System Scope), 액터(Actor), 유스케이스(Use Case), 관계(Relationship)

※ 클래스 다이어그램의 구성요소 : 클래스(Class), 제약조건, 관계(Relationship)

※ 시퀸스 다이어그램의 구성요소 : 액터(Actor), 객체(Object), 생명선(Lifeline), 실행 상자(Active Box), 메시지(Message)

 

 

 

12. 스테레오 타입(Stereotype)

  • UML에서 표현하는 기본 기능 외에 추가적인 기능을 표현하기 위해 사용
  • 길러멧(Guilemet)이라고 부르는 겹화살괄호(《》) 사이에 표현할 형태를 기술
  • 《include》 : 연결된 다른 UML 요소에 대해 포함 관계에 있는 경우
  • 《extend》 : 연결된 다른 UML 요소에 대해 확장 관계에 있는 경우
  • 《interface》 : 인터페이스를 정의하는 경우
  • 《exception》 : 예외를 정의하는 경우
  • 《constructor》 : 생성자 역할을 수행하는 경우

 

 

 

 

 

728x90

+ Recent posts