IMT2000 3GPP - UML의 적용

Applications of UML
스테이트 추상화
이 상태 다이어그램은 어떻게 UML을 열거나 닫을 수 있는 도어 시스템 설계에 사용할 수 있는지를 보여준다.

UML(Unified Modeling Language)은 소프트웨어 개발자들이 사용하는 모델링 언어다.[1] UML은 다이어그램을 개발하고 사용자(프로그래머)에게 바로 사용할 수 있는 표현식 모델링 예를 제공하는 데 사용될 수 있다.[note 1] 일부 UML 도구는 UML로부터 프로그램 언어 코드를 생성한다.[2] UML은 플랫폼 언어와 독립적인 시스템 모델링에 사용될 수 있다. UML은 소프트웨어 집약적인 시스템에 대한 정보를 시각화, 지정, 구성 및 문서화하기 위한 그래픽 언어다.[3] UML은 개념적 아이디어를 다루는 시스템 모델을 작성하는 표준 방법을 제공한다.[4][note 2] 모델링에 대한 이해로, UML의 사용과 적용은 소프트웨어 개발 프로세스를 보다 효율적으로 만들 수 있다.

역사

UML은 1990년대 후반부터 다양한 활동에 적용되어 객체지향적 개발방식으로 활용되고 있다.

UML을 적용하는 필드

UML은 다음 영역에 사용됨

또한 UML은 법률 시스템의 워크플로우, 의료 전자환자 의료 시스템, 하드웨어 설계와 같은 비 소프트웨어 시스템을 모델링하는 데 사용될 수 있다.[3]

다이어그램 예제
UML 2.2의 다이어그램 계층 구조
배포된 시스템의 정적 보기를 보여주는 UML 배포 다이어그램
사용자가 웹 브라우저를 통해 서버와 통신하는 시스템에 대한 배치 뷰의 예
레스토랑 사용 사례 다이어그램
이 예에서, 그 식당의 작업은 UML이 식당 시스템을 구현하는데 어떻게 사용될 수 있는지 이해하기 위해 사용된다. 여기서 기다리는 직원들이 주문을 받고 손님에게 음식을 대접한다. 그리고 나서 후원자는 음식을 먹고, 와인을 마시고, 청구서를 지불한다. 이 다이어그램에서, 요리사, 계산원, 그리고 대기 스태프는 배우들이다.
임베디드 시스템의 UML 응용

다양한 도표를 이용한 UML 모델링 적용

다음의 UML 다이어그램 및 기능 요약 목록은 실제 사례에서 UML 응용 프로그램을 이해할 수 있도록 한다.

구조 다이어그램 및 그 적용

구조 다이어그램은 분류자, 관계, 속성 및 연산을 포함하여 객체의 구조를 보여주는 시스템의 뷰를 보여준다.

동작 다이어그램 및 해당 응용 프로그램

행동 다이어그램은 시스템의 동작을 설명하기 위해 사용되며, 소프트웨어 시스템의 기능을 설명하기 위해 광범위하게 사용된다. 일부 동작 다이어그램은 다음과 같다.

상호 작용 다이어그램 및 해당 응용 프로그램

상호작용 다이어그램은 행동 다이어그램의 하위 집합이며 모델링되는 시스템 내에서 제어 및 데이터의 흐름을 강조한다.

웹 응용 프로그램

UML의 웹 애플리케이션은 웹 애플리케이션의 사용자 인터페이스를 모델링하고 웹사이트의 목적을 명확히 하기 위해 사용될 수 있다. 웹 애플리케이션은 소프트웨어 집약적인 시스템이며[5] UML은 이들을 모델링하기 위한 언어의 효율적인 선택이다. 응용 프로그램의 웹 소프트웨어 복잡성은 다양한 UML 도구를 사용하여 최소화할 수 있다.

UML 기반 엔지니어링은 웹 개발의 필요성에 더 잘 맞는 UML 프로필을 제공하는 것을 목표로 한다. 다음은 예시들이다.

  • 모델[5] 집합을 사용한 웹 응용 프로그램 표현
    • 웹 앱 사용 사례 모델
    • 웹 앱 구현 모델
    • 웹 앱 배포 모델
    • 웹 앱 보안 모델
    • 웹 앱 사이트 맵
  • 클라이언트 및 서버 측에서 페이지, 하이퍼링크 및 동적 콘텐츠를 모델링하려면 다음과 같이 하십시오.
  • 하나의 클래스 및 클라이언트 측면으로 웹 페이지의 서버 측면 모델링 및 각 서버 및 클라이언트 페이지에 대한 고정관념과 아이콘을 정의하기 위해 UML의 확장 메커니즘을 사용하여 두 측면을 구분한다.
  • UML에서의 고정관념은 모델링 요소를 위한 새로운 의미론을 정의하는데 사용된다.
  • HTML의 양식도 다양한 UML 구성을 사용하여 모델링할 수 있다.
  • UML은 이러한 웹 특유의 요소와 기술에서 시스템의 사업논리의 실행을 표현하는데 사용될 수 있다.

임베디드 시스템

임베디드 시스템 설계의 소프트웨어는 소프트웨어 사양과 분석을 주의 깊게 살펴볼 필요가 있다. 실시간 영역의 통합 모델링 언어 및 확장 제안을 새로운 설계 흐름 개발에 사용할 수 있다. UML은 현대 임베디드 시스템의 사양, 설계 및 구현에 사용될 수 있다. 또한 UML은 기능적 요건에서 실행 가능한 규격까지 시스템을 모델링하는 데 사용될 수 있으며, 그러한 목적을 위해 환경 및 사용자 주도형 임베디드 시스템의 컨텍스트를 모델링할 수 있는 것이 중요하다.[6]

임베디드 시스템과 관련된 UML의 몇 가지 주요 개념:

  • UML은 단일 언어가 아니라 특정 응용 프로그램에 대한 언어 패밀리를 만들 수 있는 일련의 표기, 구문 및 의미론이다.
  • 프로파일, 고정관념, 태그 및 제약조건과 같은 UML의 확장 메커니즘을 특정 애플리케이션에 사용할 수 있다.
  • 시스템 환경, 사용자 시나리오 및 테스트 사례를 설명하는 사용 사례 모델링.
  • UML은 객체 지향 시스템 사양, 설계 및 모델링을 지원한다.
  • 임베디드 시스템과 실시간 커뮤니티의 UML에 대한 관심 증가.
  • 모델링 및 합성에 사용할 수 있는 주-기계 의미론 지원.
  • UML은 객체 기반 구조 분해 및 정교화를 지원한다.

실시간 및 임베디드 시스템의 모델링 및 분석을 위한 MARTE라고 불리는 특정 UML 프로파일은 도메인 전용 확장을 제공한다.

참고 항목

참조 및 참고 사항

메모들

  1. ^ UML은 임베디드 시스템, 웹 애플리케이션, 상용 애플리케이션 등과 같은 영역에 적용될 수 있다.
  2. ^ 예를 들어, 프로그래밍 언어로 작성된 클래스, 데이터베이스 스키마 및 재사용 가능한 소프트웨어 구성요소와 같은 비즈니스 프로세스시스템 기능의 모델.
  3. ^ 예를 들어, 항공기 전투 시스템의 소프트웨어 엔지니어링
  4. ^ UML의 사용 사례 다이어그램은 실시간 시스템을 이해하는 데 유용하다.
  5. ^ 통신 다이어그램은 물체 또는 부품 간의 통신을 보여주는 데 사용된다.
  6. ^ 시퀀스 다이어그램은 시퀀스 측면에서 객체 간 통신에 사용된다.
  7. ^ 타이밍 다이어그램은 타이밍 제약조건에 초점을 맞추는 특정 유형의 상호작용 다이어그램이다.

인용구

  1. ^ "Power of UML related reference".
  2. ^ "Some UML tools generate program language tools".
  3. ^ a b "Grady Booch, Jacobson and rumbaugh book". {{cite web}}: 누락 또는 비어 있음 url= (도움말)
  4. ^ [1412.2458] UML의 시스템, 뷰 및 모델. Ruth Breu Radu Grosu Franz Huber Bernhard Bernhard Lumpe Wolfgang Schwerin. arxiv.org
  5. ^ a b "Modeling Web Application Architectures with UML" (PDF).
  6. ^ "UML for embedded systems". CiteSeerX 10.1.1.67.5101. {{cite web}}: 누락 또는 비어 있음 url= (도움말)

외부 링크