web-dev-qa-db-ja.com

アクティビティ図の初期状態と最終状態

ご存知のように、初期状態はアクティビティが始まる前のシステムの初期状態であり、最終状態はアクティビティが終了したときのシステムの最終状態です。しかし、アクティビティ図の最初と最後の状態は正確には何ですか?たとえば、これらの要素には、システムの状態(初期/最終)を正確に示すためのテキストがあるはずですか?これらの要素を説明する例を誰かに与えてください。

3
John adams

要するに

アクティビティ図 は、制御のフローとオブジェクトのフローをモデル化します。このような図には、初期状態も最終状態もありません。しかし、

  • 初期ノード アクティビティの開始時にフローが開始する場所を示します。アクティビティは並行性を許可するため、いくつか存在する可能性があります。
  • 最終ノード フローを終了します。

初期/最終アクティビティノードinitial / finalstatesは、これらのノード/状態を表すために使用される同じグラフィックシンボルが原因の1つであることは確かです。

詳細情報

ノードのロジックは、制御トークンに関するものです。アクティビティが開始すると、すべての初期ノードがトークンを取得します。これらのトークンはフローに従い、アクティビティが終了するまでアクションをトリガーします。

これは状態の論理とは大きく異なります。状態は、「一部の不変条件が成立する」状況を表します。イベントは他の状態への遷移を引き起こします。初期状態は、最初の実際の状態を見つける場所を示す一時的な疑似状態です。

オンライン購入/予約に関連する例:

  • アクティビティ図 は、アクションのシーケンスを示します。最初のノードは、ブラウジングと検索のいずれかの選択にすぐにつながります。最後のノードはチェックアウトアクションに従います。
  • 状態図 は、予約の状態を示します。これは、状態によって何が起こり得るかを示します。状態が予約 オブジェクトの動作 に影響を与える可能性があることにも注意してください。在席状態に到達すると、最終的には何も起こりません。

正直に言うと、最初と最後のノードのans状態の混乱は、少なくとも哲学的観点から、それらのセマンティクスに関連している可能性があります。両方のタイプの図を使用して、同じ動作のさまざまな側面を説明できます。この場合、初期ノードにトークンがあることは初期状態と見なすことができ、同様に、最終状態と最終ノードの両方が動作の終了に対応します。

3
Christophe