Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

設計書(成果物)作成が目的になってしまうのは宿命だろうか

(過去の記事にちょくちょく書いていたのをまとめてみる)
システム開発に限らず、製造工程や作業工程に設計書(指示書)類の書類は必要で、書類の元で行動するのが原則であると考えています。
(例外として、プログラム仕様書に関しては事後にツール経由で起こすこともありますが、これは性格上、許容されているケースでもあります。)
書類の目的は、
   1.作業/開発を効率的に且つ、円満に遂行する
   2.作業/開発の内容を書類で伝える。
   3.保守/改修に必要な箇所/要点を伝える
   4.製造物の構成の仕組みを伝える
   5.コストの類の資料化
   6.その他必要事項 (<=この言い方も曖昧だよね)
だと思うのです。
書類の受入審査やレビューを経て成果物となりますが、その内容よりも書式/デコレーションのほうを重要視して、内容が無くても、ページ数/活字が詰まっていて、見てくれがよければ、OKとなってしまうケースがあります。
大きめのプロジェクトになると専任のレビュアーがいてレビューするのですが、個々のシステムは知らずに書類のみでレビューすることもあるようです。
 大仰に言えば,「省益あって国益なし」の精神の縮小版を感じたことがありました。

ソースにマジックナンバーを書くことを禁止する のは当然の規約ですが、上がってきたソースに以下の記述がありました。

        Const case_One As Integer = 1
        Const case_百 As Integer = 100

        dim 判断値  as Integer = CInt(DB.Table.判断項目)
        Select Case 判断値
            Case case_One
                'xxxxxxxxxxx
            Case case_百
                'xxxxxxxxxxx
        End Select

レビュアーがOKにして納品物となって、本稼動されてます。

確かにマジックナンバーになっていないケレド.... PGもPGだけれど、レビュアーも形式に則っているかをチェックするだけでなく、目的を自覚して貰いたいものです。
これは、役所などでもよくみられます。書類の形式のみの審査だから,空出張や,空購入、チケットの金券屋流しなどが簡単にできてしまうのでしょう。
自分の仕事の役割を自覚してなくて、狭い範囲の実作業レベルが仕事だと考えているのでしょうかね?
一般的なサラリーマンの仕事もそうなんだろうか?

投稿日時 : 2007年4月18日 12:06

Feedback

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 12:14 かつのり

>Const case_One As Integer = 1
>Const case_百 As Integer = 100
Javaですが、前に0から100まで定義しているのを見たことがありますよwww
ご丁寧に全部英語で。ONEの中身が2になることがあるのかと・・・
インターフェイスに書かれていて、意味なく全クラスで実装していましたwww

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 13:38 通りすがり

本題の方ではなく例題だけへの反応ですが、こういう考え方はできいないでしょうか?

・ 本来、仕様に 1 が何で 100 が何を意味するのかが書かれているべき
・ プログラマは、現時点ではそれが不明なだけだと解釈し、後から正式な定数名にリファクタリングできる状態とした(プログラマは、無意味に定数化したのではなく、本来は意味づけるベキと考えた)。

コーディング時に「1って何ですか?」って簡単に確認できる状況であればよいですが、そうとも限りませんし。
聞いても、旧システムがそうだったからと回答があったりw

と、プログラマ代表として意見させていただきますw

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 13:48 通りすがり

誤:できいないでしょうか?
正:できないでしょうか?
プログラマ代表はミスを逃しませんw

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 16:18 シャノン

1の意味が分からないのに、1の場合にどんな処理をするのかが決定できるのだろうか?

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 16:23 Ognac

>Javaですが、前に0から100まで定義しているのを見たことがありますよ
Java世界にも、べた書きする人が居るとは聞いてましたが。居ますか。


>コーディング時に「1って何ですか?」って簡単に確認できる状況であればよいですが、そうとも限りませんし。 聞いても、旧システムがそうだったからと回答があったりw

暫定的、緊急回避的に記述するのは問題ないとは思いますが、そのまま納品しちゃうのは? です。
設計書がそうなっているのは設計者の手抜きです。責めるのはそちらですね。
既存のシステム/ソースがそうなっている....うーん。 何の値か不明だったり、列挙体にできなかったり..いろいろ考えられるなぁ。  動いているソースは弄りたくないしね。
そのまま放置しちゃうかも! < オイ


>プログラマ代表はミスを逃しませんw
見習います。Typoが多すぎるものでwww)


# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 16:41 かつのり

最近のJavaはオブジェクト指向風にも書くことができる、
今風のCOBOLと化していますwww
某大手とか某大手とか某大手とか・・・

某大手なんて自分のところでJ2EEフレームワークやら
J2EEサーバを作っている部隊があるくせして、
業務系の部隊はJavaとCOBOLの違いをよくわかっていませんねwww

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 17:11 通りすがり

> 1の意味が分からないのに、1の場合にどんな処理をするのかが決定できるのだろうか?

あ、私は仕様に 1 の場合と 100 の場合の条件が書かれていることを前提にコメントしちゃいました。
(つまり、仕様書にマジックナンバーが書かれていた場合の話に限定していました。)
けど上記が内部ロジック上の単なる数値だったり、仕様に例えば「1 行目は色を変えて 100 行で改行する」と書かれているのをあんな風に無意味な定数名で定義しただけの可能性もありますね。
失礼しましたっ

> そのまま納品しちゃうのは? です

白状します。ありました...w
プログラマ代表失格ですね。この場を持って代表の座を退きたいと思いますw

# re: 設計書(成果物)作成が目的になってしまうのは宿命だろうか 2007/04/18 20:11 シャノン

> (つまり、仕様書にマジックナンバーが書かれていた場合の話に限定していました。)

なるほど。
…うーん。質問しないと怖くて作れないかもw
仕様書を書いた人も意味がわかってない可能性が高いんじゃないか、それw

# シャネルサングラスコピー 2017/10/04 9:22 milgdc@excite.co.jp

サービスが素早くて親切で商品もきれいでとても気に入りました。永遠がありましたら、また宜しくお願いします。どうもありがとうございました。^o^
★PRADA プラダ★トートバッグ★BR2167★ナイロン×カーフ★ベージュ×ブラウン★

タイトル
名前
Url
コメント