Index: [Article Count Order] [Thread]

Date:  Fri, 11 Mar 2005 12:09:31 +0900
From:  kiminobu-kodama@....jp (児玉公信)
Subject:  [modeling-dojo:00201] 別なシナリオで> 強烈な揺さぶり> Re:  コンテスト アフター ザ コンテスト
To:  modeling-dojo@....jp
Message-Id:  <200503110309.AA01244@....jp>
In-Reply-To:  <FAEOJGLKEBOAMBEALPLNMEKKCAAA.shoji-yamamoto-v@....jp>
References:  <FAEOJGLKEBOAMBEALPLNMEKKCAAA.shoji-yamamoto-v@....jp>
X-Mail-Count: 00201

 こんにちは,児玉@電車の中です。

山本さん,

 「[modeling-dojo:00198] Re: 強烈な揺さぶり> Re:  コンテスト アフター ザ コンテスト」のお返事
させていただきます。

   > 強烈な揺さぶりに,頭がクラクラしています。
   >M9.7を記録しました。。

 多少は手心を加えたつもりなんですがね(^_^)。

   >と,書きながら,「機能」という名前に疑問を持ってしまいました。。
   >
   > 生産物を作り出すには,何らかのプロセスが必ず必要だと思っています。
   >私は,このプロセスを「実現作業」としました。

 はい,その方向性ですね。ただし,山本さんは,機能とは生産物を作
ることだとという仮定をしています。これが正しいかどうかではなくて,
そう仮定していて,いずれ,ここはその仮定を取り除いて考えなければ
いけないということを覚えておくことが大事です。

 ということで,続けましょう。

   > う〜ん。。トラブル発生を察知しないとトラブルだと認識出来ないと考え,
   >この「監視」クラスを設けたのですが。。

 これ,コントロールオブジェクトですよね。このオブジェクトにバリ
エーションはないんじゃないかな。ドメイン層にコントロールオブジェ
クトは持ち込みたくないです。

 トラブル発生を感知するには,テストと同じに,予想結果を持ってい
ればいいですよね。

   >○シナリオ
   >「 Aさんは,客先別の受注状況を紙ベースでみたいと思い,
   >客先情報,注文情報を管理している受注システムの
   >客先別受注情報出力処理を起動したところ,プリンタが動作せず
   >正しく出力できませんでした。
   > 原因を調べたところ,用紙切れと判明しました。」

 ははぁ,このシナリオが私のイメージと違いますね。私は運用管理側
の支援システムを考えていました。山本さんは,ユーザのシステムを考
えているようです。
 ちなみに,私のシナリオを書いてみます。

「客先別受注情報出力処理」でAさんからうまく印刷できないというク
レームが来た。さっそく,この処理のトラブル履歴を走査したが,その
種の情報は見つからないので,Aさん固有の問題と推定して,Aさんのも
とに駆けつけて,どのような操作をしたのかを聞いた。結局,プリンタ
の用紙切れと判明した。トラブル履歴にはこのことを追記し,エラーメ
ッセージを分かりやすく変更するよう開発担当にお願いした。

 あれ,予想結果がないですね。ま,このレベルでは「正常に印刷でき
る」ですかね。計算結果の照合まで想定しているのですが,そこまでの
シナリオはようかけまへん。

 業務システムって,ぴんと来なかったんですが,こんなふうに解釈の
幅があったんですね。今後,モデリングのお題には,主要なシナリオを
付けてもらいましょう。

   >このシナリオをもとにして,インスタンス図とクラス図を書いてみました。
   >
   >○インスタンス図
   >
   >          --------------客先別受注情報出力:S/W----------
   >          |   ------------客先情報:データ---------------  |
   >          |   |   --------注文情報:データ---------  |  |  |
   >          |   |   |                               |  |  |  |
   >    成功:予定出力処理-----------------------失敗:実績出力処理
   >     |  |  |  |  |                                |  |  |  |
   >     |  |  |  |  --------タイムアウト:基準--------  |  |  |
   >     |  |  |  |                                      |  |  |
   >     |  |  |  ----------A4用紙:備品----------------  |  |
   >     |  |  -------------リボン:備品---------------------  |
   >     |  ----------------プリンタ:H/W--------------------
   >     |
   >     |
   >客先別受注情報出力帳票:結果

 なるほど。分かりますが,A4用紙とかリボンなどの残量まで問題に
しますか。上のシナリオなら,「データ」は不要ですね。備品もどうで
しょうか。
 シナリオが単純すぎて,かえってオブジェクト図に何を書くべきかの
判断が難しくなっているように思います。

 もうちょっと,違ったシナリオを考えてみてはどうでしょう。

   >○クラス図
   >
   >+------+  +------+  +------+  +------+
   >|S/W|  |データ|  | 備品 |  |H/W|
   >+------+  +------+  +------+  +------+
   >   |*         |*       |*        |*
   >   |          |        |         |
   >   |      1..*|    1..*|         |
   >   |        +------------+1..*   |
   >   ---------|  出力処理  |--------
   >        1..*+------------+
   >               |1..*  △
   >               |      |
   >               |    ----------------------
   >               |    |                    |
   >               | +------+0..1         +------+
   >               | | 予定 |-------------| 実績 |
   >               | +------+         0..1+------+
   >               |    |1..*  +------+       |1..*
   >              *|    -------| 基準 |--------
   >              結果        *+------+*
   >
   >
   > この図では,基準(タイムアウト)によって,予定・実績と比較などを行い,
   >トラブルを判断させようと表現してみました。
   >ここを出発点に,トラブルの原因を走査したいなぁと思っています。

 何かを生産するのが「機能」ということなので,「出力処理」になっ
ているんですね。その処理に投入されるデータと資源,それに生産物と
いうモデルですか。その仮定に立てば,クラス図としてはできています
ね。
 別のシナリオで,もう一度検討してみてくれますか。

----
児玉公信@(株)エクサ
   エンタープライズソリューション事業部SPBOMソリューション部
 兼 技術部
 kiminobu-kodama@....jp kodamak@....org
         児玉流メール道 家元