반응형
1. UML(Unified Modeling Language)의 이해
가. UML의 정의
- 객체지향 분석(Analysis)과 설계(Design)를 위한 모델링 언어
- Booch 방법론, Rumbaugh 등의 OMT(Object Modeling Technique), Jacobson의 OOSE 방법론 등을 연합하여 만든 통합 모델링 언어
- UML은 말 그대로 여러 종류의 표현방법을 통합하여 나타내는 모델링 언어
나. UML의 목적
- 소프트웨어 집약적인 시스템의 개발 과정에서 발생하는 산출물을 시각화, 명세화, 구현 및 문서화함
2. UML의 가치 및 한계
가. UML의 가치
- OMG(Object management Group 표준
- 소프트웨어 개발 주기 전체를 지원
- 다양한 Diagram을 포함
- 다양한 응용 분야 지원
- 사용자 공동체의 경험과 필요를 반영
- 많은 도구들이 UML을 지원(Rational Rose, StarUML 등)
나. UML의 한계
- 소프트웨어 개발 프로세스에 대한 언급이 부족함
- 그 의미가 엄밀하게 정의되어 있지 은 경우가 많아 동일한 Diagram이 서로 다르게 이해될 소지가 있음
- 여러 Diagram의 영역이 겹쳐져 있거나 중복되어 있음
- 그러나 UML은 다양한 개념들을 지원하고, 시스템에 대한 전체적인 시각을 얻거나 제공하기에 훌륭한 명세 언어이며 업계에서 널리 받아들여지는 표준 기반으로 사용되며, UML2.0은 MDA(Model Driven Architecture)의 표준 명세 언어로 사용되고 있음
3. UML 구성요소와 표현방법(Diagram)
가. UML의 구성 요소
구분 | 내용 |
View | - 모델화 된 시스템의 다양한 면(aspects)을 보여준다. - 4 + 1 View |
Diagram | - View의 내용을 표현하기 위한 그림(그래프) - 모든 View를 제공하기 위해 다양한 Diagram을 제공한다. - Use Case Diagram, Class diagram, activity Diagram 등 |
Model Element | - Diagram에 사용된 개념들이 모델 요소(Model Element)이다. - Class, Object , Message, 연계를 포함한 개념 사이의 관계, 종속성, 일반화와 같이 일반적인 객체지향(Object Oriented) 개념 |
General Mechanism |
- 모델 요소에 대하여 여분의 주석 정보와 의미를 제공 |
나. 4+1 View
Views | 내용 | 시각 |
Use Case View |
|
사용자, 기능성 |
Logical View |
|
분석/설계자, 구조 |
Process View |
|
System Integrator, 성능 |
Component View |
|
프로그래머 |
Deployment View |
|
시스템 엔지니어링 , 설치, 인도 |
반응형
'TechNote > 소프트웨어 공학(SW)' 카테고리의 다른 글
016. 리펙토링_Refactoring (0) | 2022.10.01 |
---|---|
015. 디자인 패턴과 아키텍처 스타일 비교 (0) | 2022.10.01 |
014. 디자인 패턴 (0) | 2022.10.01 |
013. 관점 지향 프로그래밍 (Aspect Oriented Programming) (0) | 2022.10.01 |
012. 객체 지향 (0) | 2022.10.01 |
댓글