728x90

1. 배경

소프트웨어 개발과 시스템 공학(System Engineering) 분야에서는 복잡한 구조나 동작을 명확히 시각화하고 설계할 수 있는 모델링 언어가 필요했습니다. UML은 소프트웨어 중심 모델링 언어로 등장하였으며, 점차 범용 모델링 표준이 되었고, 이후 시스템 수준까지 포괄하려는 요구에 따라 SysML이 UML에서 파생되어 개발되었습니다.


2. 개념 및 정의

  • UML (Unified Modeling Language):
    객체지향 소프트웨어 설계를 위한 표준화된 모델링 언어입니다. 주로 소프트웨어 아키텍처, 동작, 객체 간 관계 등을 시각적으로 표현하기 위해 사용됩니다.
  • SysML (Systems Modeling Language):
    UML을 기반으로 하여 확장한 시스템 엔지니어링 모델링 언어입니다. 소프트웨어뿐 아니라 하드웨어, 전자기기, 기계 구조 등 복합 시스템 전체를 모델링하기 위한 목적으로 설계되었습니다.

3. 어떤 기술인지 구체적으로 설명

  • UML은 클래스 다이어그램, 시퀀스 다이어그램, 상태 다이어그램 등 다양한 소프트웨어 설계 도구를 제공합니다. 주로 소프트웨어 개발자, 아키텍트들이 객체 설계 및 프로그램 동작 구조를 시각화할 때 사용합니다.
  • SysML은 요구사항, 구조, 동작, 파라메트릭(수학적 관계) 모델을 포함하여 시스템 전체의 생애주기와 복잡한 상호작용을 포괄합니다. 물리적 구성요소, 제어 시스템, 환경 제약조건까지 표현할 수 있어 우주항공, 자동차, 국방 등 복잡한 시스템 설계에 적합합니다.

4. 주요 기술 구성

항목 UML SysML
기반 객체지향 소프트웨어 모델링 UML 기반 확장
다이어그램 수 14종류 9가지 다이어그램 (UML 일부 + 확장)
요구사항 모델링 제한적 지원 요구사항 다이어그램 별도 지원
파라메트릭 모델링 없음 수학적 관계 표현 가능
적용 범위 소프트웨어 중심 시스템 전체 (HW, SW, 환경 등)
도메인 IT, 웹, 앱 개발 항공, 방위, 제조, 시스템 엔지니어링 등

5. 활용 방법 및 전망

  • UML은 여전히 대규모 소프트웨어 아키텍처 설계나 객체 관계 분석에 널리 사용됩니다. 특히 Java, C++, Python 등의 언어 기반 시스템 설계에 많이 활용됩니다.
  • SysML은 복잡한 시스템의 요구사항 관리, 성능 분석, 시뮬레이션 통합 설계에 필수적입니다. MBSE(Model-Based Systems Engineering)의 핵심 언어로 자리 잡고 있으며, AI/로봇/우주/자율주행 분야에서도 중요성이 증가하고 있습니다.

6. 유사 기술과 비교

  • BPMN (Business Process Model and Notation): UML과 유사하지만 비즈니스 프로세스를 시각화하는 데 특화된 언어입니다.
  • AADL (Architecture Analysis & Design Language): 실시간 임베디드 시스템을 위한 모델링 언어로, SysML보다 더 제어 중심입니다.
  • MATLAB/Simulink: SysML이 논리적 구조에 초점을 둔다면, Simulink는 동적 시뮬레이션에 중점을 둡니다. 실제로는 SysML과 연계하여 사용되기도 합니다.

정보기술연구모임
https://cafe.naver.com/itpewiki

728x90

+ Recent posts