0

以下のスクリーンショットにシーケンス図がありますが、2つの小さな質問があります。

質問1:ユーザーがページにアクセスするまで、ページは順番に従いPenalty Marks Informationます。そこで、ユーザーはページに移動するかどうかを決定enable penalty marksdisable penalty marksます。有効になっている場合はPenalty Marks for Each Answerページに移動しますが、無効にしたい場合はページに直接移動しAssessment Completedます。私の質問は、これに一致させようとするときに下の図が正しいか、それとも図で別の方法で実装する必要があるかということです。

質問2:各ページが送信された後、それはデータベーステーブルへの独自の挿入を行いますが、dbへの挿入も行うことを図に含めるにはどうすればよいですか?誰かが2ページの間でこれを行う方法の例を示して、それがどのように行われるかを確認できますか?

シーケンス図のスクリーンショット:

ここに画像の説明を入力してください

ありがとうございました

4

1 に答える 1

2

シーケンス図は、一般的なアプローチに従っていないようです。ウィキペディアの記事(および UML ユーザー ガイド) から: シーケンス図

シナリオに含まれるオブジェクトとクラス、およびシナリオの機能を実行するために必要なオブジェクト間で交換される一連のメッセージを示します

したがって、「スイムレーン」には、「評価の作成」などのアクティビティではなく、ソリューション内のオブジェクトをラベル付けする必要があります。どのオブジェクトを表示するかは、システムの設計によって異なります。MVC アプリケーションでは、「評価」モデル オブジェクトと対話する「評価コントローラー」を示します。これは、データベースと対話して、評価を保存および取得する場合があります。

メッセージは、システム内のアクター/オブジェクト間で送信されます。そのため、ログインした教師は「作成」というメッセージを評価コントローラーに送信します。評価コントローラーはメッセージを検証し、新しい「評価」モデル オブジェクトを作成します。これにより、データベースに「持続」メッセージが送信される場合があります。

もちろん、シーケンス図を使用する方法は他にもあります。それは、使用している粒度のレベルによって異なります。単にドメイン エンティティ (教師、評価、質問、回答など) をモデル化し、シナリオを達成するためにそれらが相互にメッセージを送信する方法を調べるか、ソフトウェア コンポーネント (ブラウザー、Web サーバー、スクリプト エンジン、データベース) をモデル化することができます。それはあなたが何を達成しようとしているかによって異なります。

非常に単純なバージョンは次のようになります (要件を完全に満たすことができなかったため、回答を作成した後に停止しました)。 ラフスケッチ

Apropos question 2: まず、評価を保存するようにデータベースに指示するコンポーネントを決定する必要があります。これは、ソフトウェアの設計に完全に依存します。決定したら、そのコンポーネントからデータベースに線を引き、「保存」メッセージを表示します。データベースは「成功」または「失敗」で応答します。

于 2013-02-20T14:57:37.607 に答える