Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

ADO.NETは非接続型なのを解かってよ

とあるPMから業務担当者の操作ログが不完全だとクレームが来ました。
ログの採取基準はDBに対する操作という指針で開発しているので、ロールバックしてもログ落ちしないように、ログはトランザクション外の扱いにしているので、通常では抜けることがないはず。再現するんですかぁ..と尋ねたら、「確実に再現する。これはバグだ。」とのこと。
現場に行ってどのような操作をしているのか拝見してみると........
  画面はWindowsアプリでGrid型のデータ入力画面。
既存のデータが該当件数表示し最後の行が新規入力行となっているアリキタリの画面。
 行った操作とは
    新規追加 で A行 , B行,C行の 3行追加します。
    その後、新規追加したB行を削除 (ミス入力に気づいて削除したとのこと)
 そしてデータ登録ボタンを押したそうな。
当然操作ログには A行、C行が Insertされた事が記載されている。おかしくないジャン
ところが PMさん曰く「な! バグってるだろう」                    ... 「???」
  「解からんのか?  B行を登録して 削除した行為が抜けてるやんか」... 「???」

業務用件からみて新規追加行の削除なんてなかったものにしてOKと違うの? ログのための追加仕様ならおかしいよ。
基本認識の食い違いとの問題か? PMさんが納得できるように説明しなアカンのか?...
このログをとるための仕組みをつくると、他の潜在バグを生むことになるし、ログのとそのコストと引き合わないよ。

旧来の接続型であってもそこまで操作をログとっている事にもびっくりしました。普通の販売管理なのにそこまで必要な業務なの?。オーバースペックな気がします。
不思議な発想する人もいるものだ。

投稿日時 : 2007年9月4日 16:09

Feedback

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 16:18 じゃんぬねっと

正直 PM は非技術者だと思っています。
その観点で行くと非技術者に理解を求めようと思うのもまた然りではないでしょうか。

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 16:21 囚人

そこは理解を得るまで説明すべきじゃないかなと思います。もしくはそこまでログを採りたいというならそのように実装すべきかと。
ログの観点からしてもユーザの観点からしても、接続型だとか非接続型だとかは関係ないように思います。

てことは現状は、「A行、B行、C行追加」「やっぱキャンセル」という操作ログは採らない?これもバグって言われたりするのかな。

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 16:44 Mr.T

Mr.Tです、こんにちは。

あー、それってでも、そういう操作の場合なんかは、要件定義で決めてなかったんでしょうかね?

名前入力でIMEの入力途中の文字列もログに残せとか?(^^;

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 16:48 さかもと0

さかもとです。

ログっていっても処理した担当者のIDと処理日時を取っているくらいのシステムがあって・・・。

担当者A:「本当はこの日に処理するつもりじゃなかったから処理日時(ログの)を変えておいて」

って言われて。

私:「・・・えっ?それじゃログの意味がないですよね・・・?」

担当者A:「えっ?なんで?」

という去年の6月あたりの出来事を思い出しました。

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 17:36 Ognac

>要件定義で決めてなかったんでしょうかね
LOGの要件としては、「DBに対するアクションをログとして残す」となっています。
この文言の理解の差だと思っています。実装者は、非接続型でのDataTable上の操作はDBに対するアクションとは認識していない。PMは Grid上の操作はDBに対する操作であると認識している。

>てことは現状は、「A行、B行、C行追加」「やっぱキャンセル」という操作ログは採らない
Logに残らないのでバクと言われると思います。

>その観点で行くと非技術者に理解を求めようと思うのもまた然りではないでしょうか。
>そこは理解を得るまで説明すべきじゃないかなと思います。
この意識の差を説明するのも我々の責任なんですね。複雑な心境。(本音はPMに学習して欲しい)

>処理日時(ログの)を変えておいて
 これも説明が要りますね。ってこの場合は、担当者だからもっとヤヤコシクなりますね。

ところで実装するとしたらどうするのだろう。常時接続して操作の都度ログに書くのはバツだが、gridのCell変更/行変更の都度 Log出力するように実装するのかなぁ。

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 18:21 シャノン

> PMは Grid上の操作はDBに対する操作であると認識している。

その認識にあわせないといけないのは不幸だと思います。
程度問題ではありますが、

> 名前入力でIMEの入力途中の文字列もログに残せとか?(^^;

テキストボックスに対する入力途中のは要らないとしても、GridのCellに対する入力途中のはどうなるの? と。

# re: ADO.NETは非接続型なのを解かってよ 2007/09/04 18:23 まりり

>PMは Grid上の操作はDBに対する操作であると認識している。
要するに、この誤解だけですよね?

非接続だのなんだの難しいこと言わなくたってGridの操作全てでDBアクセスしているわけじゃないってことだけだから、すんなり行きそうなんですが。
PMに学習させるにはそれなりの説明が要りますよ。普通はPMだって暇じゃないですし、他に必要なスキルがありますし。

もともとの要件がGridの操作全てでDBに書けということであれば、PMが正。そんな話はなかった(実装者任せ)のなら今回誤解を解いておしまい。

PMの要望はDBのログというよりは、画面操作のログに見えますね。
実際、これ欲しいときあります。

# re: ADO.NETは非接続型なのを解かってよ 2007/09/05 0:15 Ognac

>要するに、この誤解だけですよね
結論はそうなんですが.....いかに誤解を解く...難問なんですよぁ

>実際、これ欲しいときあります
私も欲しい時がありますが実装するのは嫌なので欲しがりません。あったら使うけど...<= コラ!

# GPjKNAMdlinjuby 2021/07/03 2:24 https://amzn.to/365xyVY

Thanks-a-mundo for the article.Really looking forward to read more. Much obliged.

# oStQfZkKBp 2021/07/03 3:53 https://www.blogger.com/profile/060647091882378654

What as up, just wanted to mention, I liked this blog post. It was funny. Keep on posting!

タイトル
名前
Url
コメント