UML(Unified Modeling Language)

m_ngyeong·2024년 4월 23일
0

정보처리기사 이론

목록 보기
2/25
post-thumbnail

UML(Unified Modeling Language)


UML은 시스템 분석, 설계, 구현 등 시스템 개발 과정에서 시스템 개발자와 고객 또는 개발자 상호 간의 의사소통이 원할하게 이루어지도록 표준화한 대표적인 객체지향 모델링 언어이다.

  • Rumbaugh(OMT), Booch, Jacobson 등의 객체지향 방법론의 장접을 통합
  • Components of UML :
    • 사물(Things)
    • 관계(Relationships) : 사물과 사물 사이의 연관성을 표현하는 것으로, 연관, 집합, 포함, 일반화 등 다양한 형태의 관계가 존재
    • 다이어그램(Diagram)
  • 클래스(Class) : UML에 표현되는 사물의 하나로, 객체가 갖는 속성과 동작을 표현함. 일반적으로 직사각형으로 표현하며, 직사각형 안에 이름, 속성, 동작을 표기함
  • 인터페이스(Interface) : 클래스와 같은 UML에 표현되는 사물의 하나로, 클래스나 컴포넌트의 동작을 모아놓은 것이며, 외부적으로 가시화되는 행동을 표현. 단독으로 사용되는 경우는 없으며, 인터페이스 구현을 위한 클래스 또는 컴포넌트와 함께 사용됨

Relationships

연관 관계(Association Relationship)

연관관계는 2개 이상의 사물이 서로 관련되어 있는 관계이다.

  • 사물 사이를 실선으로 연결하여 표현
  • 방향성을 화살표로 표현
  • 양방향의 관계의 경우 화살표를 생략하고 실선으로만 연결
  • 다중도를 선 위에 표기

🧪 ex) 사람이 집을 소유하는 관계이고, 사람은 자기가 소유하고 있는 집에 대해서 알고 있지만 집은 누구에 의해 자신이 소유되고 있는지 모른다.

  • '사람' 쪽에 표기된 다중도가 '1'이므로 집은 한 사람에 의해서만 소유될 수있음
  • '집' 쪽에 표기된 다중도가 '1'이므로 사람은 집을 하나만 소유할 수 있음

집합 관계(Aggregation Relationship)

집합관계는 하나의 사물이 다른 사물에 포함되어 있는 관계이다.

  • 포함하는 쪽(Whole, 전체)과 포함되는 쪽(Part, 부분)은 서로 독립적
  • 포함되는 쪽에서 포함하는 쪽으로 속이 빈 마름모를 연결하여 표현

🧪 ex) 프린터는 컴퓨터에 연결해서 사용할 수 있으며, 다른 컴퓨터에 연결해서 사용할 수도 있다.

포함 관계(Composition Relationship)

포함관계는 집합 관계의 특수한 형태로, 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계이다.

  • 포함하는 쪽(Whole, 전체)과 포함되는 쪽(Part, 부분)은 서로 독립될 수 없고 생명주기를 함께함
  • 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결하여 표현

🧪 ex) 문을 열 수 있는 키는 하나이며, 해당 키로 다른 문은 열 수 없다. 문이 없어지면 키도 더 이상 필요하지 않다.

일반화 관계(Generalization Relationship)

포함관계는 하나의 사물이 다른 사물에 비해 더 일반적이거나 구체적인 관계이다.

  • 보다 일반적인 개념을 상위(부모), 보다 구체적인 개념을 하위(자식)이라고 부름
  • 구체적(자식)인 사물에서 일반적(부모)인 사물 쪽으로 빈 화살표를 연결하여 표현

🧪 ex) 아메리카노와 에스프레소는 커피이다. 다시 말하면, 커피에는 아메리카노와 에스프레소가 있다.

의존 관계(Dependency Relationship)

의존관계는 연관 관계와 같이 사물 사이에 서로 연관은 있으나 필요에 의해 서로에게 영향을 주는 짧은 시간 동안만 연관을 유지하는 관계이다.

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

🧪 ex) 등급이 높은면 할인율을 적용하고, 등급이 낮으면 할인률을 적용하지 않음

실체화 관계(Realization Relationship)

실체화관계는 사물이 할 수 있거나 해야하는 기능으로, 서로를 그룹화 할 수 있는 관계이다.

  • 한 객체가 다른 객체에게 오퍼레이션을 수행하도록 지정하는 의미적 관계
  • 사물에서 기능 쪽으로 빈 점선 화살표를 연결하여 표현

🧪 ex) 비행기는 날 수 있고 새도 날 수 있다. 그러므로 비행기와 새는 날 수 있다는 행위로 그룹화 할 수 있다.



참고,
길벗알앤디. 『정보처리기사 실기 단기완성』. 길벗. 2023.

profile
사용자 경험 향상과 지속적인 성장을 추구하는 프론트엔드 개발자 ʚȉɞ

0개의 댓글