こんにちは,児玉@電車の中です。
山本さん,
「[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
児玉流メール道 家元