UML 개요

크르릉·2023년 12월 13일
0

UML/OOAD

목록 보기
1/1

UML이란?

  • Unified modeling language의 약자
  • 시스템의 직관적인 표현수단

단어 그대로 해석하면 통합 모델링 언어. 말 그대로 13개 각 언어의 장점을 다 unified 하여 뽑아쓰자는 것이다. combine the best of the best form. 각각의 언어가 표현할 수 있는 고유 syntax와 semantic에는 설명에 한계가 있기 때문이다.

한 시스템 개발을 위해 여러 사람이 참여한다. 개발자/사용자/설계자/분석자 등등. 이 때 개발하고자 하는 시스템에 대한 설명을 참여자들에게 모두 잘 설명하기가 쉽지 않다. 이 때 표준화된 양식이자 복잡한 시스템을 시각화한 UML 문서로 모두의 이해를 도울 수 있다. 이렇게 UML은 객체지향 소프트웨어를 개발할 때 시스템과 산출물을 명세화, 시각화, 문서화할 때 사용한다.

이탤릭체로 쓰여진 다이어그램은 abstract이라서 실존하지 않는 다이어그램으로, 다른 다이어그램을 묶는 카테고리라고 봐야 맞다.
속이 빈 화살표 클래스 부모 자식간의 상속을 나타낸다. 화살표 머리쪽이 부모다.

다이어그램의 종류:

이 글에서는 간단히 요약만하고 다이어그램 별 상세 설명은 별도 글에서 하겠다.

행위 다이어그램

behaviour 요소들간의 변화 흐름 동작을 나타냄

이름표현하고자 하는 것
Usecase사용자 관점에서 시스템의 기능, 상호작용과 그들간의 관계
Activity프로그램의 시작과 끝을 정의하고, 작업의 단계적 수행과정
State객체가 취할 수 있는 상태와 상태변화
Sequence시간의 흐름에 다른 객체간의 상호작용
Communication메세지 관점으로의 객체간의 상호작용
Interaction overview-
Timing-

구조 다이어그램

structure 시스템의 개념 관계등을 표현

이름표현하고자 하는 것
Class클래스의 속성, 메서드, 관계
Object-
Component소프트웨어 컴포넌트들과 그들의 관계, 구조
Composite-
Deployment프로그램의 아키텍처를 물리적인 관점에서 설계
Package관련있는 요소들을 하나의 패키지로 묶고, 패키지 사이의 관계

그리는 법✍

13가지 크레파스가 있다고 생각하자. 서로 색깔이 다 다르다. 어떤 어떤 크레용을 잡았는가는 중요하지 않다. 중요한 것은 내가 선택한 크레용으로 내가 그림을 얼마나 잘 그려낼 수 있는지다.
각 다이어그램 별 설명 및 그리는 방법은 다어어그램 별 별도 페이지에 나타낼 예정이라서, 여기서는 모든 다이어그램에 공통적인 요소. 화살표 등만 설명하겠다.

화살표. UML 관계 유형

연관관계, 직접연관관계 :

연관 관계의 경우 게시물이 자신에게 달린 댓글을 알고, 댓글도 자기가 어디다가 달았는지 알지만. 직접 연관 관계의 경우, 댓글은 자신이 어느 게시글에 달렸는지 모른다.

집합연관관계, 합성연관관계

집합의 경우 게시글이 지워져도 댓글은 남아있는 경우를 말한다. (삭제된 게시글입니다 정도만 보이고 댓글이 여전히 남아있는 경우를 보았을 것이다.) 반면에 합성의 경우 강한 종속관계라서, 게시글이 삭제되면 댓글도 함께 사라진다.

확장의존관계, 포함의존관계

확장의 경우 기능 추가가 선택적이지만, 포함의 경우는 필수이다.

일반화관계 및 실체화관계

일반화는 부모 자식 상속관계를 나타낸다. 부모가 하는 것은 다 자식도 한다. 실체화의 경우 동물이 무엇을 할 지 대략적인 정의만 해놓아서, 실체 동작 방법은 자식 클래스에서 다시 상세히 정의해야한다.

0개의 댓글

관련 채용 정보