VBで開発を請け負っている人に質問です。(逆の立場の人でもかまいません)
開発にはノータッチで完成してからお前が運用を考えろと渡された、人事管理
システムがあります。この中に名簿の定型帳票があり1万ステップを超えて
いるので改修は許して欲しいと言うのプログラムがあります。
先日バグの切り分けの為にシステム設計書、概要設計書及びプログラム仕様書
を見て「バカやってんじゃねぇーよ!」と怒ってしまった。私はVBの知識は
ありませんが、要求されている仕様を整理すれば1~2千ステップもあれば
書ける内容を、概要設計から出力フォーマットに沿った説明をコーディング
レベルまで持ち込み大きなステップ数になっているのが判りました。
(推測ですが、以前はAccessで開発されていたものをセキュリティーやメンテ
ナンスの理由から書き換えを行ったことからAccessのクエリー等をそのまま
VBに置き換えたのかも知れません。)
システム設計の先頭にメンテナンスビリティーを重視した開発を行う事と
あるのに、この帳票は部課コードを始めにコード類は殆どConstant Valueを
使っていて組織変更等がある都度変更の必要があると言う優れもの。
開発の当社側担当の無能さもさることながらVBで開発されている方はこんな
レベルが低いのかと呆れた次第です。汎用機を扱うベンダーであれば効率性や
メンテナンスの事を良く考え、詳細設計書に書かれている内容では、それらが
損なわれると判断すると、設計の変更を申し入れられる経験をして来た人間に
とって泥棒並のベンダーとの思いもします。
No.1ベストアンサー
- 回答日時:
質問でしょうか、それとも愚痴でしょうか?
VBでの開発に携わるものとして、十把一絡にして「レベルが低い」と決め付けられるのは少々心外であります。
CONSTについては、ある程度は仕方がない面もあります。
「部課Aのときは処理1を行う、それ以外は処理2を行う」
ってなコーディングを要求されれば、どうしてもCONSTを使わざるを得ないですから…
(外部ファイルで部課ごとにフラグを指定して、それによって動的に処理を切り替える、って手もありますが、それにしても最低限、部課コード位はCONSTで定義しなくてはいけません。ステップ数も増えるでしょうし… なんでもかんでも外部ファイルで定義すればいいって訳でもないんです。)
ってことで、PGの技量不足もさることながら、仕様を整理する側のSEの方により大きな責任があると思うのですが…
それはともかく、「とにかく融通が利かない」というイメージの汎用系ベンダに対して、VBメインのベンダは、「とにかくお客様の要望を重視し、お客様の言ったとおりにソフトを作ってしまう」という傾向がありますね。
小回りの効く言語であるが故に、ある程度の要望にはその場で答えることができる為、言われたことを言われたとおりにホイホイ作ってしまう、っていうのはあるかと思います。
そういった傾向もあって、仕様書からの展開を馬鹿正直に行ってしまい、工数が馬鹿みたいに増えてしまうっていうことも、中にはあります。
(ですが、仕様書に素直なコーディングって言うのも大事です。その辺のさじ加減がPGの腕の見せどころかと思うんですが…)
※個人的な意見としては「1万ステップを超えているので改修は許して欲しい」などというプログラムは即刻破棄すべきだと思います(^^;。
この手の言い訳が付くモジュールは、大概、それを作成した人間しかメンテ出来ない(汗
嫌みな質問に誠実に答えて頂きありがとうございました。
>>質問でしょうか、それとも愚痴でしょうか?
両方でしょうね!
>>VBでの開発に携わるものとして、十把一絡にして「レベルが低い」と決め付けられるのは少々心外であります。
感情に流されて書いた事を反省しています。別案件C/Sの世界で、私がシス
テム設計した案件を担当してくれた人は適切なアドバイスをしてくれました。
そう言う人もいる事を忘れて言い過ぎでした。
>>この手の言い訳が付くモジュールは、大概、それを作成した人間しかメンテ出来ない
引き渡しを受けて幾つかのバグがあり、バグ取りと合わせて改修を依頼したら
書いた本人が判らないらしいんです。当たった人間が悪いと言うことなんでしょネ!
>>それはともかく、「とにかく融通が利かない」というイメージの汎用系
>>ベンダに対して、VBメインのベンダは、「とにかくお客様の要望を重視し、
>>お客様の言ったとおりにソフトを作ってしまう」という傾向がありますね。
傾向が良く判りました。
プログラマーはそのレベルでいいでしょうが、SEでと名乗る人間で、この程度の
人間に当たったら即刻首だなぁ・・・
No.2
- 回答日時:
プログラムを組んで、他人様からお金を貰ったことのないノンプロが言うことですから、適当に聞いてください。
Constの件は、(1)数学定数的なもの、Paiなど(2)システムコード的なものxl・・・やvb・・・など(3)MaxやMinなど限界値(3)世俗的なコード、人事部を3と決めたなど(5)世俗的定数、消費税率など考えられるが(3)(4)(5)は変更がありえるので、プログラムの一箇所にまとめておいて、そこを変えれば済むようにするのは、常道ではないでしょうか。
もっと印刷の設定のエクセルの画面や会計ソフトのように一覧画面にでもすれば判りやすいですね。手間はかかります。
また注釈は製作者x社A氏から将来改変するy社B氏へのメッセージ
とおもえばそれでいいが、全コーディング行に注釈行を入れると
2倍の量になり、今も料金はステップ数合計で、1ステップ単価*行数で計算するのでしょうか。何となく水増し的でやり切れませんね。
ただ大型コンピュターメーカーのソフトが、立派だとは経験から思いません。(1)仕事を知らない。仕事のパターンを知らない。
(2)人間心理を勘案していない。(3)入力の大変さや大切さを良く
判っていない。(4)一部の欠点の為に全部が使われなくなることがあることを戒心していない。(5)総なめ法を取っていて、データ量が増えて応答や処理時間が極端に長くなる。などの欠点は良く体験しました。
しかし考えても見てください。約10年前の大型コンピュターは、ウィンドウGUIは本格的でなく、IBMのGDDMだったかは縁が遠くて終に使わずでした。それに比べVBで出きるWindowsのGUIは多彩
です。Contorol類を見てもこんなことも出きるのと、感心します。大きな可能性を見せてくれています。
SEといってもコーディング規則を憶えてすぐ客先のシステムを組めと放り出されるひとも多いのではないですか。
結局発注先を規模人員数ネームバリュで選ばず、見極めるより手はないのでしょう。
ご教授ありがとうございます。ノンプロで良かったですね!
>>SEといってもコーディング規則を憶えてすぐ客先のシステムを組めと放り出されるひとも多いのではないですか。
そう言う人は、駆け出しのプログラマーとしか見ませんから、SE給料の半額以下は当然で、
場合によっては、お荷物ですから研修の一環として無給でなら置いていいと言うスタンスを
取るのが多いのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
MFC,C++/CLI,C#の共存
-
C言語(gcc), Linux, FTPプログ...
-
プログラミングのコード量に関...
-
変数・オブジェクト名に漢字使用
-
CからJavaの呼び出し
-
あるプログラムのコマンドライ...
-
Excelで4096点以上のFFTの方法
-
正しい五十音順について
-
65536は2の何乗なのでしょうか?
-
変数の値が勝手に変化する原因
-
CRC8を教えてください
-
VBAにてメール作成した際、一部...
-
C++ で、「)」が必要 というエ...
-
0除算して、落ちるプログラムと...
-
排他的論理和 BCC(水平パリテ...
-
ホームページビルダーで料金の...
-
io.hをincludeするとそのような...
-
クリックするとページ内で説明...
-
VBAでユーザーフォームが自動的...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで仕様書は書きますか?
-
空elseの有無
-
プログラミングのコード量に関...
-
C言語(gcc), Linux, FTPプログ...
-
きれいなコード vba vbaを勉強...
-
Javaプログラムをリバースエン...
-
GUIプログラミングはガワを作っ...
-
他人が作ったプログラムのメン...
-
「ルーチン」という言葉の意味
-
他人の作ったソースの見方(どこ...
-
ソースコード改造 msペイント
-
クリップボードを排他的に利用...
-
ノベルゲームを作成中なのですが、
-
1~1000,1001~2000の間に素数が...
-
GDLでH8/3052Fのi2cプログラム...
-
FILEとfstreamどちらを使う方が...
-
(各種言語)自作関数化の基準...
-
ホワイトボックステスト と ブ...
-
変数・オブジェクト名に漢字使用
-
プログラム動作時のCPU処理時間...
おすすめ情報