[SW 설계] UML(Unified Modeling Language)

당고짱·2023년 5월 9일
0

SW design and develop

목록 보기
5/11
post-thumbnail

UML(Unified Modeling Language)

시스템 개발 과정에서 개발자와 고객 또는 개발자 상호간의 의사소통이 원활하도록 표준화한 객체지향 모델링 언어

  • 객체지향 방법론의 장점을 통합, OMG에서 표준으로 지정함
  • 6개의 시스템 구조 다이어그램, 7개의 시스템 행위 다이어그램 작성 가능
  • 사물과 사물 간의 관계를 용도에 맞게 표현
  • 사물, 관계, 다이어그램 등

사물(Things)

모델을 구성하는 가장 중요한 기본 요소. 관계가 형성될 수 있는 대상

구조 사물(Structural Things)

  • 시스템의 개념적, 물리적 요소 표현
  • 클래스, 유스케이스, 컴포넌트, 노드 등

행동 사물(Behavioral Things)

  • 시간과 공간에 따른 요소들의 행위 표현
  • 상호작용, 상태머신 등

그룹 사물(Grouping Things)

  • 요소들을 그룹으로 묶어 표현
  • 패키지

주해 사물(Annotation Things)

  • 부가적인 설명이나 제약조건 등
  • 노트

관계(Relationship)

사물과 사물 사이의 연관성을 표현한 것

연관(Association) 관계 : 2개 이상의 사물이 서로 관련

  • 관계 : 실선으로 연결하여 표현
  • 방향성 : 화살표로 표현
  • 서로 영향을 주는 양방향 관계의 경우 화살표 없음
  • 다중도 : 연관에 참여하는 객체의 개수
다중도의미
11개의 객체가 연관
nn개의 객체가 연관
0..1연관된 객체가 없거나 1개만 존재
0,, 또는 연관된 객체가 없거나 다수
1..*연관된 객체가 적어도 1개 이상
n..*연관된 객체가 적어도 n개 이상
n..m연관된 객체가 최소 n개에서 최대 m개

집합(Aggregation) 관계 : 하나의 사물이 다른 사물에 포함

  • 포함되는 쪽과 포함 하는 쪽은 서로 독립적
  • 포함되는 쪽에서 포함하는 쪽으로 빈 마름모를 연결

포함(Composition) 관계 : 포함하는 사물의 변화가 포함되는 사물에게 영향을 미치는 관계

  • 포함하는 쪽과 포함되는 쪽은 서로 독립될 수 없음 (생명주기를 함께함)
  • 포함되는 쪽에서 포함하는 쪽으로 속이 채워진 마름모를 연결

일반화(Generalization) 관계 : 하나의 사물이 다른 사물에 비해 더 일반적인지 or 구체적인지

  • 상위 : 보다 일반적인 개념
  • 하위 : 보다 구체적인 개념
  • 구체적인 사물에서 일반적인 사물로 속이 빈 화살표 연결

의존(Dependency) 관계 : 필요에 의해 짧은 시간 동안만 연관을 유지하는 관계

  • 소유 관계는 아니지만 영향을 미치는 관계
  • 한 클래스가 다른 클래스를 오퍼레이션의 매개 변수로 사용하는 경우
  • 영향을 주는 사물이 영향을 받는 사물 쪽으로 화살표를 연결

실체화(Realization) 관계 : 사물이 해야하는 기능으로 서로를 그룹화

  • 한 사물이 다른 사물에게 오퍼레이션을 수행하도록 지정
  • 사물에서 기능 쪽으로 속이 빈 점선 연결

다이어그램(Diagram)

사물과 관계를 도형으로 표현

  • 뷰를 제공함으로써 의사소통에 도움
  • 정적 모델링 - 구조적 다이어그램 사용
  • 동적 모델링 - 행위 다이어그램 사용\

구조적 다이어그램 종류

행위 다이어그램 종류

스테레오 타입

UML 기본 기능 외에 추가적인 기능을 표현할 때 사용

profile
초심 잃지 말기 🙂

0개의 댓글