UModel을 이용한 C++ UML 모델링
C는 현재 사용 가능한 프로그래밍 언어 중 가장 강력하고 효율적인 언어 중 하나이며, 고성능 컴퓨팅, 서버 애플리케이션, 그리고 가장 강력한 언어 기능을 요구하는 복잡한 시스템 구축에 사실상 표준으로 사용됩니다. 유니파이드 모델링 언어(UML)는 C 및 기타 소스 코드 언어로 구현된 소프트웨어 시스템의 모델을 설계, 시각화, 문서화하는 표준입니다.
Altova UModel은 가장 뛰어난 제품들과도 경쟁할 수 있는 수준입니다 고급 UML 모델링 C를 위한 UML 모델링 환경에서 완벽한 코드 엔지니어링 지원 기능을 제공하는 도구입니다. UModel은 다음과 같은 기능을 포함합니다. UML 다이어그램으로부터 C 코드 생성, C++ 코드를 분석하여 UML 모델 생성, 그리고 C++ 코드와 UML 모델 모두에 대한 수정 사항을 반영하는 양방향 엔지니어링 기능입니다.
모델 변환 기능은 개발자가 자바, C#, 또는 비주얼 베이직을 위해 설계된 기존 UML 모델을 C++을 지원하도록 변환할 수 있도록 해줍니다.

개발자는 UModel에서 C++용 UML을 사용하는 방법을 다음과 같이 여러 가지로 시작할 수 있습니다
- 새로운 UModel 프로젝트를 생성하고, 대상 코딩 언어로 C++를 선택하십시오
- 기존 C++ 프로젝트에서 코드를 가져와 새로운 UML 모델을 생성합니다
- 기존 UML 다이어그램을 C++ 코드로 변환합니다
- UModel에 포함된 예제 C++ 프로젝트를 열어보세요
UModel에는 자바 또는 C#으로 구현된 홈 뱅킹 프로젝트 샘플이 포함되어 있으며, 이는 비즈니스 프로세스 모델로 활용될 수 있습니다. 또한 SysML 버전도 제공됩니다. 우리는 C# 버전을 C++를 대상으로 변환하고, 그 결과를 새로운 프로젝트로 저장했습니다.
이 은행 관련 프로젝트는 다양한 은행 계좌 유형에 대한 계층 구조를 포함하며, 변환된 프로젝트의 클래스 다이어그램에서 확인할 수 있듯이 다음과 같은 클래스들이 존재합니다

개발자는 기존 은행 애플리케이션을 확장하여 증권 계좌 기능을 지원하도록 할당될 수 있습니다. 아래 그림과 같이, 새로운 클래스를 기존 다이어그램에 쉽게 추가할 수 있습니다. (일부 기존 클래스는 공간을 절약하기 위해 단순히 접혀 있습니다.)

위의 클래스 다이어그램에서, UModel 아이콘은 속성 및 연산의 가시성 특징을 그래픽으로 나타내며, 이는 보호(protected), 공개(public), 또는 비공개(private)로 설정될 수 있습니다. 원하신다면, 기존 UML 스타일의 기호(#, +, 등)를 사용하실 수도 있습니다.

이제 남은 작업은 새로운 "BrokerageAccount" 클래스에 대해 속성 창에서 코드 파일 이름을 지정하는 것입니다
코드 생성은 프로젝트의 메인 메뉴에서 시작되며, 몇 가지 설정을 위한 대화 상자가 열립니다.

UModel은 UML 다이어그램으로부터 C++ 98, C++ 11 또는 C++ 14와 호환되는 C++ 코드를 생성할 수 있으며, Visual Studio 6.0부터 Visual Studio 2017까지의 버전에 맞는 프로젝트를 만들 수 있습니다. "메시지" 창에 코드 생성 성공 여부가 표시됩니다. 다음은 새로 만든 클래스의 C++ 소스 코드의 일부입니다

UModel 도움말 파일에는 자체 UML C++ 프로젝트를 설정하는 방법에 대한 자세한 설명이 포함되어 있습니다. 또한, 더 복잡한 예제를 바로 시작하고 싶으시다면, C++로 구현된 실제 난방/냉방 시스템의 상태 머신을 나타내는 UML 모델도 함께 제공됩니다.

UModel은 합리적인 가격으로 제공되는 UML 도구로, 풍부한 시각적 인터페이스와 데이터베이스 및 XML 모델링, XMI 모델 교환, 비즈니스 프로세스 모델링 지원, 문서 생성, 팀 협업 지원 등 고급 기능을 결합하여, 개발팀이 오늘날의 프로젝트 과제를 해결하는 데 필요한 강력한 도구를 제공합니다.