UML(Unified Modeling Language) 통합 모델링 언어

 

소프트웨어를 설계할 때 사용하는 표준화된 범용 모델링 언어를 말합니다.

 

객체 지향 소프트웨어 개발 방법론에 특화되어있어 객체지향 모델링 언어라고도 부릅니다.

 

https://ko.wikipedia.org/wiki/%ED%86%B5%ED%95%A9_%EB%AA%A8%EB%8D%B8%EB%A7%81_%EC%96%B8%EC%96%B4

즉, 소프트웨어를 시각화하며 문서화하는 언어죠.

 

건물에 비교하면 설계도라고 보시면 됩니다. 소프트웨어의 설계도

 

소프트웨어가 점점 무겁고 복잡해지면서 개발하기 전에 필수적인 작업이 되고있습니다.

 

다른 개발자가 UML을 통해 해당 소프트웨어를 쉽게 이해할 수 있습니다.

 

다만 UML은 모델링 언어고 개발방법론도 아니고 프로그래밍언어도 아닙니다.

 

구성요소

 

Things

 

Class, Usecase, Component, Node, State Machine..

 

Relationship

 

Dependency, Association, Generalization, Realization

 

Diagram

 

Things+ Relationships

 

 

 

다이어그램 (종류가 많지만 보통 9가지로 봅니다.)

 

 

클래스 다이어그램(Class Diagram)

https://medium.com/@smagid_allThings/uml-class-diagrams-tutorial-step-by-step-520fd83b300b

클래스와 관계 정의, 정적인 관점

 

시퀀스 다이어그램(Sequence Diagram)

https://en.wikipedia.org/wiki/Sequence_diagram

객체간의 동적 상호 작용 정의, 동적인 관점

 

유스 케이스 다이어그램(Usecase Diagram)

https://en.wikipedia.org/wiki/Use_case_diagram

사용자 관점에서 정의, 인수 테스트 기준

 

Collaboration Diagram(Communication, Interaction 다 같은 다이어그램)

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml-collaboration-diagram/

Sequence Diagram과 같으며 구조적인 측면을 좀 더 중시, 동적인 관점

 

상태 다이어그램(StateChart Diagram)

https://medium.com/@warren2lynch/state-diagram-comprehensive-guide-with-examples-e08b6d1c70fe

상태를 정의

 

액티비티 다이어그램(Activity Diagram)

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-activity-diagram/

일의 처리를 정의(프로세스 같은거), 동적인 관점

 

컴포넌트 다이어그램(Component Diagram)

https://creately.com/blog/diagrams/component-diagram-tutorial/

컴포넌트(시스템의 기능)의 구성 정의, 정적인 관점

 

배포 다이어그램(Deployment Diagram)

https://creately.com/blog/diagrams/deployment-diagram-tutorial/

컴퓨터를 기반으로 하는 시스템의 물리적 구조 정의

 

객체 다이어그램(Object Diagram)

https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-object-diagram/

객체간의 관계 표현

 

 

 

복합 구조 다이어그램(Composite Structure Diagram), 패키지 다이어그램(Package Diagram) 

타이밍 다이어그램(Timing Diagram), 인터액션 오버뷰 다이어그램(Interation Overview Diagram)

통신 다이어그램(Communication Diagram), 교류 개요 다이어그램

 

이런 다이어그램도 있습니다.

 

 

 

 

 

 

객체지향 분석의 방법론

 

Booch(부치) 방법론 : 설계 중심 방법론, 미시적 개발, 거시적 개발 프로세스를 모두 사용하는 방법론

 

Jacobson(야콥슨) 방법론 : Usecase를 강조하여 사용하는 방법론, 큰 프로젝트에서 효율적

 

Rumbaugh(럼바우) 방법론 : 가장 일반적인 방법론, 객체 모델, 동적 모델, 기능 모델로 나누어 수행

 

Coad와 Yourdon 방법론 : E-R 다이어그램을 사용

 

Wirfs-Brock 방법론 : 고객 명세서 평가

 

+ Recent posts