UML (Unifed Modeling Language)
: OMG (Object Management Group)에서 표준으로 채택한 통합 모델링 언어로 모델을 만드는 표준언어
: 소프트웨어를 설계 할 때 어떠한 표준적인 규칙을 가지고 설계도를 그리는데, 이때 설계의 표준이 되는 것이 UML
- 모델
: 어떤 것을 실제로 만들 때 어떻게 만들어야 잘 작동할지 미리 검증해보는 것
: 실제 물건을 만드는 것 보다 비용이 훨씬 적게 들어갈때 모델을 만들고 설계를 검사함
- 방법론
: 어떠한 작업을 할 때 이런저런 절차를 가지고 작업을 하면 된다라는 것을 이론적으로 정립해놓은 것
UML의 필요성
: 다른 사람들과의 의사소통 또는 설계 논의
: 전체 시스템의 구조 및 클래스의 의존성 파악
: 유지보수를 위한 설계의 백엔드 문서
UML의 구성
: 클래스 다이어그램
: 콜레버레이션 다이어그램
: 시퀀스 다이어그램
: 상태 다이어그램
: 액티비티 다이어그램
: 디플로이먼트 다이어그램
: 컴포넌트 다이어그램
: 유스케이스 다이어그램
유스케이스 다이어그램
: 컴퓨터 시스템과 사용자의 상호작용을 표현하는 다이어그램
: "고객이 전화망에 전화를 건다"와 같은 사용자 입장 중심에서 시스템이 어떤 일을 하는지 기술
클래스 다이어그램
: 시스템 내부에 존재하는 클래스들을 선별하여 나타내고 각 클래스들의 속성과 행위를 기입
: 여기서 클래스들 사이에 여러가지 관계를 나타냄 (복합연관 / 집합연관 / 상속관계 / 의존관계 등)
: 추상화 단계를 고려하여 그려야함. 너무 상세한 내용을 찾아 기입하면 구현단계에서 이루어져야 할 일을 설계 단계에서 하게됨
시퀀스 다이어그램
: 시스템의 동적인 면을 나타내는 다이어그램
: 시스템 실행 시 생성되고 소멸되는 객체들을 표기하고 객체들 사이에 주고 받는 메시지를 표현
: 횡측을 시간추긍로 하여 시간의 흐름을 나타내어 메시지의 순서를 표현함
콜레버레이션 다이어그램
: 시퀀스 다이어그램과 함께 메시지의 흐름을 나타내며, 객체들 사이의 관계까지 함께표현
상태 다이어그램
: 한 객체의 상태 변화를 나타냄
: 특별히 관심을 가져야하는 객체에 대해 특정 조건에 만족하는 기간 동안의 상태를 표시
액티비티 다이어그램
: 시스템 내부에 존재하는 여러가지 행위 및 각 행위의 분기, 분기 조건 등을 표현
: 플로우차트와 비슷하나, 어떠한 행위에 따라 객체의 상태를 표기할 수 있다는 점이 다름
디플로이먼트 다이어그램 및 컴포넌트 다이어그램
: 시스템의 물리적인 구성을 표현
: 디플로이먼트 다이어그램에서는 실제 하드웨어적인 배치와 연결상태를 표현
: 컴포넌트 다디어그램에서는 소프트웨어의 물리적 단위(exe, dll 등 라이브러리)의 구성과 연결상태를 표현
Reference
'Development > Development' 카테고리의 다른 글
TODO, FIXME, XXX 태그의 의미 (0) | 2023.01.31 |
---|---|
윈도10에서 make 실행하는 방법 (0) | 2023.01.30 |
codePush를 이용한 애플리케이션 라이브 업데이트 (0) | 2023.01.18 |
정규식 AND OR NOT 연산 (0) | 2023.01.02 |
개발자 로드맵 모음 (0) | 2022.12.27 |