2011-04-29 4 views
1

は仮定は、私が使用ケース購入書籍を持っている、と主な流れは以下の通りです:ポイント - ユースケース

1- The user types the book code that he wants to buy 
2- The system replies that there's enough stock of the requested book 
3- The user confirm 

非常にシンプル。

ここで、2と3の間で別のことをするというオプションをユーザーに与えたいとします。どうすればいいですか?私はそれがこのユースケースの拡張だと思いますが、どこが拡張のポイントかわかりません。

私が知っている限り、3で拡張ポイントを選択すると、ユーザーは3を実行するか、すべての拡張を行いますが、3はできません。代替フローの同じ動作。

しかし、私が望むのは違う。私はいくつかの "2.5"または何もしたくない...それを行うか、代わりに何もしない。別のものではありません。

あいまいな質問には申し訳ありません。

+0

ユースケースはフロー図のようなもので、同じポイントで終了する必要はありません。それを分ける。 – slandau

答えて

1

1つのオプションはで推奨される形式であるアリスター・コバーンのWriting Effective Use Cases

2a- User wants to do another thing: 
2a1- The user does another thing 
2a2- The system responds in some way, returns to step 3 

ステップ2aは、UCは、単に置き換えるステップ2A2で終了した場合はステップ2の後に、ステップ3の前に起こると「ステップ3に戻ります」 'ユースケース終了'など。

hth。

+0

そして私はどこで元のユースケースに "拡張ポイント"を配置しますか?どのように指定されていますか? – artu85

+0

あなたはそうではありません - それがポイントです。元のユースケースには、拡張される場所が明示されていません。メインフローでは、主要な成功シナリオに焦点を当てます。拡張機能は、主シナリオのステップのIDを参照して追加され、拡張された/変更された動作が追加されます。 – sfinnie

+0

Cockburnのモデルでは、拡張ユースケースの説明に拡張機能を直接追加するため、拡張関係はなく、拡張ポイントもありません。 –

0

ここでの問題は、UMLのユースケースモデルとユースケースの記述の違いです。拡張ポイントは、拡張されたユースケースと拡張されたユースケースを切り離すために使用されるUMLの概念です。これを遵守したい場合は、UMLはユースケースの記述について何も言わないので、分岐の位置を定義して自分自身に戻す必要があります。私は個人的にはもちろん、Alistair Cockburnsのユースケースへのアプローチのファンをsfinnieとしていますが、UML標準にはうまく対応していません。 Bittner(ユースケースモデリングブック)によって提案されたもう1つの方法があり、シナリオを見出しでサブフローに分割することを提案しています。

+0

良い点。 UML仕様では、「拡張ロケーション」を元のユースケースで明示的に定義する必要があるという印象を与えています。ただし、「拡張ポイント」は形式的には指定されていません。 UML 2.3の上部構造仕様(p608)から:「拡張場所の概念は意図的に指定されていません」。したがって、Cockburnの計画は仕様の意図に準拠していると主張することができます。具体的には、メインシナリオの各ステップは、候補となる拡張ポイント(ステップ番号で識別されます)です。 ctd ... – sfinnie

+0

... ctd。 @ artu85:一般的には、あまりにも上手くやる価値がないと言っています。仕様に完全に準拠しているものをあなたのために働かせるもので行ってください。あなたが非常に正式な環境(または宿題を完了している場合)の場合、Cockburnのスキームが受け入れ可能であることを確認したり、拡張ポイントの周りにあなたのアプローチを文書化したりする必要があります。 hth。 – sfinnie

+0

@sfinnie:Bittnerのスキームにはステップ番号がありません。サブフローの見出しを使用します。代わりに、これらの見出し(拡張ポイント)に拡張子が結合されているため、シナリオを個別に変更することができます拡張を壊すことなくステップを削除する)しかし、Cockburnのスキームを変更すると、スキームを変更するとステップ番号が変わる可能性があるため、拡張を破る可能性があります...しかし、私は多くの理由でCockburnのファンです:) –

0

あなたが実際に望んでいるのは代替パスだと思います。別のパスは、メインまたは別の代替パスのステップを参照します。私は通常、その参照を代替ステップの開始ステップにします。次に、Endステップは、どこに戻るか、パスが停止するかのいずれかの参照です。