1 :
仕様書無しさん
2012/08/25(土) 21:38:05.05
■前提 ------------------------------
設計・・・「○○の計算を行う。」とだけ書く
詳細設計・・・○○の計算の詳細なロジックを記述する
実装・・・詳細設計を見てコードを書く
例
設計・・・「うるう年の計算を行う。」とだけ書く
詳細設計・・・うるう年の計算の詳細なロジックを記述する
実装・・・詳細設計を見てコードを書く
■本題 ------------------------------
詳細設計を日本語で書くと、
「4で割り切れればうるう年だが、100で割り切れればうるう年ではない。と思いきや400で割り切れればうるう年」
プログラム言語で書くと
((year % 4 == 0) && (year % 100 != 0) || (year % 400 == 0))
よって詳細設計はプログラム言語で書いたほうが、より正確であり短く書けます。
2 :
仕様書無しさん
2012/08/25(土) 22:23:25.48
無理
終了
3 :
仕様書無しさん
2012/08/25(土) 22:31:31.24
isLeapYearとかのメソッドつかえばいいじゃん
4 :
仕様書無しさん
2012/08/25(土) 22:34:17.57
本題が普通に知ってないといけないところなのは何故?
2000年問題で盛り上がったのはそういうことも知らない人達がやってたってこと
5 :
仕様書無しさん
2012/08/25(土) 23:34:10.90
計算式かけば1行なのに、日本語で何行もクダクダと書いてる設計書があるな。
で、たいてい間違っている。
6 :
仕様書無しさん
2012/08/26(日) 01:12:30.95
>>4 もしかして2000年問題の原因を間違えてないか?w
7 :
仕様書無しさん
2012/08/26(日) 01:15:08.70
>>6 お祭り騒ぎでウハウハしたかった程度にしか思ってないけど
8 :
仕様書無しさん
2012/08/26(日) 01:17:37.74
誤動作を見抜けなかったの方を悪く思わせたい戦略でもあったのかな?
9 :
仕様書無しさん
2012/08/26(日) 01:19:04.53
>>7 2000年問題は、うるう年が原因じゃないんだよ?
知らなかった?
10 :
仕様書無しさん
2012/08/26(日) 01:21:48.26
>>9 西暦2桁管理してたからでしょ
2038年?あたりでひと騒ぎするのかな
11 :
仕様書無しさん
2012/08/26(日) 01:24:23.11
日本製の時計チップは年2桁管理だったけどうるう年は別に動くようにしてあったな
12 :
仕様書無しさん
2012/08/26(日) 01:31:47.26
>>10 そうだけど、なんでいきなり
無関係な話だしてきたのさ?
13 :
仕様書無しさん
2012/08/26(日) 01:48:59.76
14 :
仕様書無しさん
2012/08/26(日) 09:32:06.58
そんなことされると COBOL とかで書かれた設計書が出てくるから迷惑
15 :
仕様書無しさん
2012/08/26(日) 13:11:21.33
「コードキュメント」ってやつか。
16 :
仕様書無しさん
2012/08/26(日) 17:41:57.28
行列・ベクトル計算なんかだとプログラミング言語のソースコードより数式の方が圧倒的に分かりやすいと思うのだが
17 :
仕様書無しさん
2012/08/26(日) 17:57:05.79
プログラミング言語のソースコードって
ほぼ数式じゃんw
18 :
仕様書無しさん
2012/08/26(日) 18:18:03.13
数式で書けば1行なのに何行も書かないといけないとかあるからなあ
例えば数式で Mc = (Ma * Mb * va) × vb みたいな処理があったとする
ここでva, vbはn次元ベクトルでMa, Mb, Mcはn*n行列、×は外積演算とする
これをJavaで書いたソースコードと元の数式、どっちが分かりやすいですかねえ
19 :
仕様書無しさん
2012/08/26(日) 18:25:22.81
>>18 Javaは演算子オーバーロードがないから
ちょっと見にくくなる。
Mc = ( Ma.mul(Mb).mul(va) ).product(vb)
スペース入れたら見やすくなるかな?
Mc = ( Ma .mul (Mb) .mul (va) ) .product (vb)
演算子オーバーロードがある言語なら、
Mc = (Ma * Mb * va) × vb
これそのまま使えるだろ?
20 :
仕様書無しさん
2012/08/26(日) 18:30:21.40
言語で書け、数式で書け、
じゃなくて
仕様書なんだから仕様知っている物誰にもでわかるように書け
21 :
仕様書無しさん
2012/08/26(日) 18:41:23.71
>>20 言語も数式もちょっと勉強すれば
中学生でもわかるものだよ。
22 :
仕様書無しさん
2012/08/26(日) 19:02:26.76
詳細設計はPDLで書いた方がいいよ
クロスプラットフォームで実装する予定がある&オフショアにコーディング投げる場合はだけど
23 :
仕様書無しさん
2012/08/26(日) 19:28:10.48
PDLを使ってるところなんてあるの?
サンプルコードすらろくに見つかんないんだけど。
24 :
仕様書無しさん
2012/08/26(日) 19:29:11.38
25 :
仕様書無しさん
2012/08/26(日) 21:54:17.90
>>20 仕様知っているんだったら、仕様書見なくてもわかるだろ。
26 :
仕様書無しさん
2012/08/26(日) 22:02:45.07
要求みたいなのは
こういうことやりたい
ってだけで
やるために必要な情報
があれば、いいだけだよ
あれがないからできないとかじゃなく
あれを実現するために必要な情報を聞き出す方がいいよ
27 :
仕様書無しさん
2012/08/26(日) 22:40:58.08
>>26 必要な情報? 俺に聞くな、お前が考えろ。プロだろ。
28 :
仕様書無しさん
2012/08/26(日) 22:54:16.06
29 :
仕様書無しさん
2012/08/26(日) 22:55:23.06
30 :
仕様書無しさん
2012/08/26(日) 22:59:29.57
>>29 どんな手段を使おうが
>>27みたいなことを言う奴が居る。
仕事すればわかるだろ?
なんなら、俺から情報引き出してみ。
31 :
仕様書無しさん
2012/08/26(日) 23:03:18.85
>>30 よくいるチンピラから情報引き出してもねえ
32 :
仕様書無しさん
2012/08/26(日) 23:18:52.76
っ[doxygen]
どうせコード動いてから、設計書を起こすんだろ。
33 :
仕様書無しさん
2012/08/26(日) 23:25:08.32
まともな詳細設計がバカにも書ける前提の話なのか?
34 :
仕様書無しさん
2012/08/26(日) 23:32:44.81
>
>>30 「○○日までに××の情報を頂けないと、納期に間に合いませんがよいですね?」
35 :
仕様書無しさん
2012/08/26(日) 23:38:27.09
チンピラ程度がプロとか...
36 :
仕様書無しさん
2012/08/27(月) 01:00:17.79
37 :
仕様書無しさん
2012/08/27(月) 01:05:05.15
チンピラ程度に何作らせようとしてんだか
頼む方もチンピラ?
38 :
仕様書無しさん
2012/08/27(月) 01:17:26.30
間に合わなかったら損賠償請求する
39 :
仕様書無しさん
2012/08/27(月) 01:20:08.11
>>38 チンピラに有利なように法が改正されてるんだな、これが
使い方間違うと致命的だけどね
40 :
仕様書無しさん
2012/08/27(月) 01:27:59.88
ピンハネ業を生業にしてるところは困ってるかもね
41 :
仕様書無しさん
2012/08/28(火) 23:32:20.96
これなら詳細設計書作る作業が無駄だから
コードだけ書けば?
42 :
仕様書無しさん
2012/08/30(木) 07:14:54.83
コード化された仕様書=テストコード
でオッケ。
43 :
仕様書無しさん
2012/08/30(木) 12:27:57.75
「テストファースト」とか名付けられた、そんな感じの考え方はある。
44 :
仕様書無しさん
2012/08/30(木) 22:18:31.98
テストドリブン開発
45 :
仕様書名無しさん
2012/09/01(土) 11:04:59.07
自然言語の曖昧さはプログラム言語的な視点で観たら欠陥でしかないからね。
例えば法律や、特許関連の文章なんて無駄に冗長で解釈次第でどうとでもとれることが多い。
46 :
仕様書無しさん
2012/09/04(火) 13:51:43.94
仕様書を何のために書くかを考えれば解りやすい。
俺の場合は下のどれか。
・第三者(未来の自分も含む)に理解させるため
・仕様書を紙や特定フォーマットで残すルールになってるため
どれも必要なければ仕様書は書かない。
47 :
仕様書無しさん
2014/11/12(水) 22:57:39.36
コードが動くんだから、
詳細設計は書くだけ無駄。
もしくは、詳細設計を打ち出す
コードを書けばよい。