3

私のアプリには Document クラスと DocumentFact クラスがあります。DocumentFact クラスには、データベースから複数のドキュメントを取得するメソッドが含まれています。これらのドキュメントは、データテーブルまたはデータセットに保存されます。両方 (datatable、dataset) は documentfact クラスのプライベート メンバーです。プロパティを介してアクセスできます。

ここで私の質問は次のとおりです。シーケンス図では、次のようなプロパティを呼び出すことができますか?

Actor      Web interface    DocumentFact          Database
  |          |                 |                      |
  |input     |                 |                      |
  |------->  |  GetDocuments   |                      |
  |          |---------------->|                      |
  |          |                 | ExecuteSelectQuery() |
  |          |                 | -------------------->|
  |          |                 |                      |
  |          |                 |      Bool            |
  |          |                 | <--------------------|
  |          |                 |                      |
  |          |                 |   GetDataSet()       |
  |          |                 | -------------------->|
  |          |                 |                      |
  |          |                 |    DataSet           |
  |          |                 |<---------------------|
  |          |                 |                      |

GetDataSet はプロパティです。これは正しいです?そうでない場合、これを行う正しい方法は何ですか?

注:これはシーケンス図の一部に過ぎず、残りは関係ありません。

4

3 に答える 3

5

覚えておくべき重要なことの 1 つは、UML は正式な表記法ではないため、要点を理解できると思うことは何でもできるということです。何かが明確でない場合 (または、それを表現する方法について考えすぎる必要がある場合) は、おそらくメモを追加する必要があります。

シーケンス図で非常に役立つと思ったものの 1 つは、メッセージ (またはメッセージのグループ) に番号を付け、何が起こっているのかを説明する実行中のダイアログ (番号付きリストとしてフォーマット) を用意することでした (...そしてなぜそれを行っているのか)その通り)。ダイアグラムはそれ自体では成り立ちませんが、より大きなドキュメントに統合する必要があることを覚えておく必要があります。したがって、プロパティを具体的に表現する方法は実際には大したことではありません。表現を選択して、GetDataSet が Database のプロパティであることを説明するだけです (または何でも:)。

于 2009-02-10T14:12:08.527 に答える
1

設計を文書化しているときに、同様の問題に直面しました。メソッド呼び出しの下 (矢印の下) に「プロパティ」というテキストを追加しました。(私はそれを行う「正しい」UML の方法を見つけられませんでした。) それは標準の UML ではありませんが、私の知る限り、それは本当に要点を伝えました。もちろん、うまくいかない場合もありますが、その場合は、標準の UML を使用したほうがよいでしょう。

于 2009-02-10T14:04:34.943 に答える