Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因?

 じゃんぬさんやJITTAさんが頻繁に指摘されている問題なので詳細はそちらを参照してもらえば幸いです。
 私はEntryPoint/初期化メソッドを実装することを薦めてます。(少しの初期化ならLoadに書いてしまうことも…秘密)
なぜそうなるかの一因を見てしまったので書いてみます。
こんなソースはダメ、技術者に勉強してね!…と一蹴するのは簡単なんですが、構造的な問題が垣間見えます。
とあるプロジェクトの仕様書記述基準に,「詳細仕様書のロジック記述はイベントの視点で書くこと。」とあります。これだと詳細仕様でなくプログラム仕様になってしまうのだが、このプロジェクトのPMは、詳細仕様とプログラム仕様は同一と考えている御様子。 パラパラ見ると, 各項目のCursorのGotFocus/LostFocus 時の処理も書いてあるのですが、業務仕様が見えない。「PGは仕様書通りに書けばOKで業務仕様を知る必要はない」というPG=コーダーというスタイル。 スタイルなので是非云々を言うべきではないのですが、問題は、そのイベント処理の記述のレベル。
詳細仕様書(?)を書いている人が殆ど実装経験が乏しい人で、先人から引き継いだパターンに則って記述しているものだから、 非Object指向なのは当然で、Windows.作法にも反しています。
(例)
  FormLoad時:
         権限テーブルと使用者を照合し、権限が無ければ終了する
          変数/コネクション等の初期化を行う。
                   前画面から引き継いだパラメータ P1,p2,p3を使用し,Table xxxを引用し,項目 A,B CをGridで表示する
  商品コード欄にGotFocus したとき. TEXTBOXの内容を全反転する。
  商品コード欄からLostFocusしたとき,商品マスターを引用し,名称と単価を該当するテキストボック
スに表示する。コードが商品マスタに未登録の時は"xxxxxが未登録" とメッセージを表示し,カーソルを商品コード欄に設定する。カーソル位置づけに伴うイベント連鎖には配慮する。

ここまででも、突っ込み所満載ですね。
     FormLoadでなぜ権限チェックする。Formインスタンス作成前にするものでしょう。
      Load時にRDBを見に行ってデータ取得するのも私には抵抗あり。メソッド化したい。
         カーソル制御..(VS2005では Leave/Entryでしょ...は置いといて)はプログラムでするのは避けたいものです.Event連鎖になりかねません。配慮せよと言われてもね。  Validationを知らないんだろうね。
このような仕様書に則ったコーディングを強いられたPGはどうなるか..この書き方が正しいと信じているPGも居るようです。自覚しないPGが悪いという見方もありますが、PGの芽を潰してしまったPMの責任も大きいと思うのです。

そもそも、ここまで細かい仕様書を書く手間でプログラムが完成する気がするのです。
納品物目的の日の目を見ない詳細(Event)仕様書なんて要らない.....言い過ぎかな!?
まだまだ、お寒い開発現場。

投稿日時 : 2007年4月13日 11:49

Feedback

# re: FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因? 2007/04/13 12:25 かずくん

詳細仕様に、UIレベルのことを書いては欲しくないですよねぇ。

・UIのことは、画面仕様に記述する。
・どの詳細仕様とリンクするのかを画面仕様に記述する。
という、方向を私は目指しています。
#まだまだ、ゴールは遠いけど

# re: FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因? 2007/04/13 23:15 Ognac

上流工程の責任者で、「UI仕様書で詳細設計書が賄える」と信じている人種は少なからず存在するようです。デザインとロジックの分離の流がれができつつあるのに……ぐしゅん

# re: FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因? 2007/04/15 23:42 シャノン

> UI仕様書で詳細設計書が賄える

そんな設計者の下で仕事してますorz

# re: FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因? 2007/04/16 1:55 Ognac

>そんな設計者の下で仕事してますorz
ご愁傷様です

# re: FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因? 2007/04/16 22:09 Jitta

> GotFocus したとき
イベント名なんて変わるものなんだから、不変な要素で書くべき。

商品コード 欄:
 フォーカスを受け取ったとき、内容を全選択状態にする。
 フォーカスを失うとき、商品マスタへコードを照会する。マスタにコードが存在しないとき、エラーメッセージを表示し、フォーカスを移動させない。

でいいんじゃない?それに、「配慮する」って何よ?何を、どう配慮するのさ?!
と、言ってやって。

# re: FormLoadでの初期化と表示判断問題---仕様書記述基準が遠因? 2007/04/17 1:36 Ognac

聞くところによると、VB5のEventの知識から進歩がないとのこと。 VB5のEventってそうだったかな?
 忘却のかなた....
いずれにせよ、こんな設計者は要らない!!

タイトル
名前
Url
コメント