최상위 함수에 대한 UML 클래스 다이어그램 기호


13

UML 클래스 다이어그램 표기법에서 캡슐화 클래스 또는 다른 구조가없는 최상위 함수를 어떻게 표시합니까?

예를 들어 URL에서 데이터를 검색하는 데 사용되는 함수가 있습니다. 매개 변수와 공유 전역 상태의 함수 (수학 의미)이므로 클래스에 배치되지 않고 최상위 메서드로 유지됩니다.

이제는 프로그램을 사용하여 UML 다이어그램을 작성해야하며 최상위 함수를 표시하는 방법에 대한 정보를 찾을 수 없습니다. 어떻게해야합니까?


static예를 들어 다음과 같은 특수 클래스의 메소드로 모델링 할 수 있습니다.global
xmojmr

1
아래 답변이 좋습니다. 그러나 클래스 또는 스테레오 타입을 "전역"이라고 부르기보다는 "StandaloneFunction"이 의도에 매우 명확하므로 더 좋습니다. 그렇게 말하면 IMO는 "최상위"함수를 이름이 지정된 네임 스페이스에 배치하여 함수를 구성한 다음 클래스를 제공하는 클래스를 제공하는 것이 더 좋습니다. UrlUtilities는 이것을 "최상위"기능으로 만드는 것보다 훨씬 우수합니다. 그러나 다시이 시점에서 UrlUtilities 클래스에 정적 옵션으로 가장 적합한 옵션으로 넣을 수도 있습니다.
덩크

답변:


10

UML 언어는 독립형 기능 개념을 지원하지 않습니다. UML 내에서 모든 함수는 클래스의 일부 여야합니다.

이 문제를 해결하기 위해 독립형 함수를 밀접하게 관련된 클래스의 정적 멤버로 모델링 할 수 있습니다. 그러한 클래스가 없다면 global주석에서 @xmojmr가 언급 한 클래스와 같은 더미 클래스의 일부로 해당 함수를 모델링 할 수 있습니다 .


7

"클래스"분류기에 연결할 수있는 스테레오 타입을 작성하십시오 (예 :) <<global function>>. 그런 다음 하나의 완전히 지정된 정적 연산을 포함하는 전역 함수 에 대해 단일 스테레오 타입 화 된 "클래스"를 작성할 수 있습니다 .

내가 제안하는 고정 관념은 다이어그램을 읽는 사람에게 분류자를 함수로 해석하도록 지시합니다. 주어진 다이어그램에서 사각형 (스테레오 타입 포함)은 단일 함수를 나타내며, 해당 종속성은 해당 단일 함수의 종속성을 나타냅니다.


귀하의 답변이 Bart의 답변과 어떻게 다른지 보는 데 어려움을 겪고 있습니다.
Adam Zuckerman

3
@AdamZuckerman-Bart는 모든 전역 함수를 집계하는 "전역"이라는 단일 클래스를 생성하여주기 컨텍스트에 적용되는 전역 함수 및 종속성을 알기가 어렵습니다. 내가 제안하는 고정 관념은 다이어그램을 읽는 사람에게 클래스를 대신 함수로 해석하도록 지시합니다. 스테레오 타입이있는 클래스 사각형은 단일 함수를 나타내지 만 종속성은 해당 단일 함수의 종속성을 나타냅니다.
Doug Knesek 님이
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.