1

TomCat をローカル ホストとして使用して実行されている Web ベースのアプリケーションのシーケンス図を作成しようとしています。

このアプリケーションにより、ユーザーはテキスト ボックスにテキストを入力し、それを TomCat 内のディレクトリに保存できます。

このオブジェクトの定義に問題があります。

これまでのところ、「ACTOR-CreateText.jsp-Application Server」があります

イベントのシーケンスは次のとおりです。

  1. ユーザーがアプリケーションをロードする
  2. ユーザーが [テキストの作成] ボタンを選択
  3. アクターに返されるテキスト Web ページの作成
  4. ユーザーがテキストを入力し、プッシュのクリックでテキスト ファイルを保存
  5. アプリケーションサーバーに保存されたファイル
  6. アクターに確認メッセージが返されました

これをシーケンス図に表示するにはどうすればよいですか?

4

2 に答える 2

2

「アクター」を定義するときは、その定義を知っておく必要があります

アクターは、サブジェクトと対話するエンティティによって演じられる役割のタイプをモデル化します (たとえば、信号とデータを交換することによって)。対応するサブジェクトのインスタンス)。アクターは、人間のユーザー、外部ハードウェア、またはその他のサブジェクトが果たす役割を表す場合があります。アクターは必ずしも特定の物理エンティティを表すわけではなく、関連付けられたユースケースの仕様に関連するエンティティの特定の側面 (つまり、「役割」) を表すだけであることに注意してください。したがって、単一の物理インスタンスが複数の異なるアクターの役割を果たすことができ、逆に、特定のアクターが複数の異なるインスタンスによって演じられる場合があります。

あなたのシステムでは、アクターは( User, Web browser, Web server (Application, Content database) ).

次のステップは、アクター間の「Call Messages」と「Return Messages」を定義することです。

メッセージは、相互作用のライフライン間の特定の通信を定義します。

あなたが言及した出来事に従って、私たちはそれらをよりよく説明するためにもう少し分解しようとします.

  1. ユーザーがアプリケーションをロードします。
    • [ユーザー] ----"RequestResource()" ---> [Web ブラウザ]
    • [Web ブラウザ] ---"RequestAccessForUser()"---> [Web サーバー]
    • [Web サーバー] ------"CheckUserExists()"-----> [コンテンツ データベース]
    • [コンテンツ データベース] ---"Exists Return Message" ----> [Web サーバー] - ユーザーに応答を返し続け、ユーザーのブラウザーにページを読み込みます。

ここでは、ユーザーが登録されていない可能性があることがわかります。その場合、「代替パス」と呼ばれるものがあります。

もちろん、アクターの数を減らすことでステップを最小限に抑えることができますが、学習と単純さのために非常に優れたソリューションになります。以下はいくつかの例であり、チュートリアルは間違いなく役に立ちます。

初めてのシーケンス図を作成するためのビジュアル パラダイムの紹介

シーケンス図の例

于 2013-01-25T12:28:07.367 に答える
1

Web アプリケーションは HTTP 要求/応答のペアを使用して構築されるため、これをシーケンス図で捉えると役立つことがわかりました。また、リクエストごとに発行する HTTP コマンドのタイプ (GET、POST など) と、認証または状態が必要なリクエストについて考えるのにも役立ちます。アプリケーションがステータス コードを使用する場合 (「リダイレクト」や「認証が必要です」など) には、これらも含めたいと思います。

通常、このプロセスでユーザーをモデル化することはありません。ポイントは通常、ユーザー インタラクション (ユーザーがクリックするボタンなど) をモデル化しないことです。ただし、ブラウザーで実行される関連する JavaScript 関数 ("WaitForInput()" など) は含めます。

したがって、あなたの例では、次のようになります。

Browser: GET index.jsp -> ServletContainer
ServletContainer: 200: index.jsp ->Browser
Browser: GET enterText.jsp -> ServletContainer 
ServletContainer: 200: enterText.jsp -> Browser
Browser: POST: enterText.jsp(text) -> ServletContainer
ServletContainer: validateEntry() -> ServletContainer
if(valid)
  ServletContainer: 200: success.jsp(fileName) -> Browser
else
  ServletContainer: 501: fail.jsp(reason)
endif
于 2013-01-25T12:57:03.653 に答える