トップレベル関数のUMLクラス図記号


13

UMLクラス図表記法では、カプセル化クラスやその他の構造を持たない最上位関数をどのように示すのですか?

たとえば、URLからデータを取得するために使用する関数があります。パラメータと共有グローバル状態のみの関数であるため(数学的な意味で)、関数はクラスに入れられず、トップレベルのメソッドとして残されます。

しかし今では、それを使用してプログラムのUMLダイアグラムを作成する必要があり、トップレベル関数を示す方法については何も見つかりません。どうすればいいですか?


staticたとえば、global
xmojmr

1
以下の答えは良いです。ただし、クラスまたはステレオタイプを「グローバル」と呼ぶよりも、「StandaloneFunction」の方が意図が明確であるため、より良いと思います。そうは言っても、IMOは「トップレベル」関数を、名前を付けた適切な名前空間に配置することで、関数を整理し、クラスを提供することができます。 UrlUtilitiesは、これを単に「トップレベル」関数にするよりもはるかに優れています。しかし、この時点でも、最適なオプションである静的メソッドとしてUrlUtilitiesクラスに入れることができます。
ダンク

回答:


10

UML言語は、スタンドアロン関数の概念をサポートしていません。UML内では、すべての関数はクラスの一部でなければなりません。

回避策として、スタンドアロン関数を密接に関連するクラスの静的メンバーとしてモデル化できます。そのようなクラスがない場合global、@ xmojmrがコメントで言及したクラスのように、これらの関数をダミークラスの一部としてモデル化できます。


7

「クラス」分類子に添付できるステレオタイプを作成します(例:)<<global function>>。次に、完全に指定された静的操作を1つ含むグローバル関数ごとに、単一のステレオタイプ化された「クラス」を作成できます。

私が提案するステレオタイプは、ダイアグラムを読んでいる人に、分類子を関数として解釈するように伝えます。特定の図の長方形(ステレオタイプ付き)は単一の機能を表し、その依存関係はその単一の機能の依存関係を表します。


私は...あなたの答えはバートのとは異なるがいかに困難な時期を見を持っています
アダム・ズッカーマン

3
@AdamZuckerman-Bartは、すべてのグローバル関数を集約する「グローバル」と呼ばれる単一のクラスを作成し、特定のコンテキストで適用されるグローバル関数と依​​存関係を把握することを困難にします。私が提案するステレオタイプは、図を読んでいる人にクラスを関数として解釈するように伝えます。クラスの長方形(ステレオタイプ付き)は単一の関数を表しますが、依存関係はその単一の関数の依存関係を表します。
ダグクネセク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.