0

システム シーケンス図の作成方法を理解するのに苦労しています。なぜなら、System -> Actor の操作を定義する必要がある場合とそうでない場合がある理由を完全には理解していないからです。次に例を示します。

System がシネマ チケット ストアで、Actor がチケットを購入したいクライアントであるとします。

1) The User tells the System that wants to buy some tickets, stating his client number.
2) The System confirms that the given client number is valid.
3) The User tells the System the movie that wants to see.
4) The System shows the set of available sessions and seats for that movie.
5) The System asks the user which session/seat he wants.
6) The User tells the System the chosen session/seat.

これは次のように変換されます。

a) -----> tellClientNumber(clientNumber)
b) <----- validClientNumber
c) -----> tellMovieToSee(movie)
d) <----- showsAvailableSeatsHours
e) -----> tellSystemChosenSessionSeat(session, seat)

私たちがSDDを扱っているとき、私たちはまだコーディングから遠く離れていることを知っています. しかし、それをすぐにコードに変換するとどうなるか想像せずにはいられません。

私は理解することができ1)ます2)。次のシグネチャを持つ C#/Java メソッドであるかのようです。

boolean tellClientNumber(clientNumber)

だから私は両方をSDDに入れました。

次に、ペアがあり3) 4)ます。私はそれを次のように想像できます:

SomeDataStructureThatHoldsAvailableSessionsSeats tellSystemMovieToSee(movie)

さて、問題:

私が理解したことから、私の講師は、 から までの操作のみを表示する必要があるため、 for で操作を行うべきではなくSDD、システムがデータを提示している場合 ( のように)、または送信されたデータを検証している場合に、操作を行うべきではないと言っています。 (のように)。5)ActorSystemc)b)

これは奇妙だと思います。入力を順番に入力する必要があるDOSアプリのように想像しようとすると、5の場合でも矢印を作成するのが理にかなっています)。なぜこれが間違っているのですか?これを視覚化するにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

システムが何であるかを定義しておらず、設計のどの段階にいるかが明確でないため、答えるのが少し難しい.

代わりに、Web で電車を予約するためのシステムのようなものを想像すると、時刻を表示する画面の横にチェックボックスがあり、システムがユーザーにプロンプ​​トを表示するのではなく、ユーザーが希望するものを選択できるようになります。ユーザーは次の予約を開始します。データの受信を開始します。したがって、ユーザー インターフェイスで、ユーザーが追加のプロンプトなしでデータのみから選択できるようにすることは完全に可能です。

システムの予備設計を行っている場合は、ユーザー インターフェイスについて仮定をすることを避け、重要なユース ケースのみを含めます。DOS UI コンポーネントを設計している場合は、「ユーザーにプロンプ​​トを表示する」ユース ケースのみが必要です。Web ベースのシステムでは使用できません。

したがって、問題は、ユーザーとシステムの間の相互作用を伴うユースケースと、そうでないユースケースがあるということではありません。問題は、ユースケースの一部が、システムが機能するために不可欠ではない特定の UI 実装の詳細を想定していることであり、最上位の設計に含めるべきではありません。

于 2010-06-11T09:10:28.310 に答える