アカウント名:
パスワード:
経験から言うと、既存のプログラムをどれだけ解析しても、処理内容までは分かってもその処理の意図が分からないという事は往々にしてある。意図が分からないということはその処理が正しいのかどうか判断できないということで、同様の処理を再現することは出来ても結局遠からず保守できなくなる。
それならいっそ要求仕様からきちんと起こして新規に作成する方が良いのでは。
そりゃ米国防総省だって知っている話。米国防総省は10億米ドル以上かけて、更新に失敗しているのだが。https://it.srad.jp/story/13/07/14/0555217/ [it.srad.jp]
新規で作れば楽じゃん!で、後悔することになる。仕様漏れが発覚したり動きが微妙に違ったり…結局解析して仕様作る羽目になる。
バイナリを手作業で解析すれば仕様漏れが発生しないとでも?
そういう場合に必要なのはエミュレータの類だよね。それでも完璧ってわけじゃないけどまぁ常識的な範囲の仕様はカバーできるっしょ。
エミュレートしてる処理と新規に書いた処理を混ぜれるような環境作って必要な箇所だけ置換しつつ面倒な部分はエミュに投げるとか、テスト構成の中にエミュレータとの比較を盛り込んでテストケース山盛りで一致するまでロジック練るとか、イチから全部解析するよりはそれなりにエミュレータにぶん投げてしまいたい。
・・・とはいえそれも規模によるか。Hello worldレベルならエミュレータ構成するより解析して書き直すほうが早い。
新規に作成する案件ではありません。要件の間違いは危険。
PC-98だと、古い機械の制御用という可能性もあるのでは。
とすると、その制御するための運動モデルなどがハッキリしてなくて、試行錯誤の末に作られた継ぎ接ぎのコードだけが仕様として存在しているのかも。
そうそう。意味不明なコードが、実は機器の同期用ウェイト取りだったり機器バグのためのメモリクリアに使うバッドノウハウだったりとか。
そんなのは仕様書があっても分からなかったりする。仕様ではない手順はせいぜいコメントに書くぐらい。コーディング定義書のようなものを書いている職場があることは聞いたことがあるけど行きたくないな・・・
>PC-98だと、古い機械の制御用という可能性もあるのでは。というかそれ以外には考えられん。I/O云々とかも有るが、そもそもそれらの固有の問題が無ければ新規に起こした方が速いだろ。多分その古い機械のプロトコルすら判らんとか言うのだろうな。でも、そっちに言及が無い以上、そりゃもう地雷としか言えないよ。ヘタすりゃ、動作状況のモニタすら不要でプログラムだけ見たら判るとか思って居る可能性すら有る。いやいや、どう考えても最初に確認すべきは実際に動いている実物そのものだろうに。
理化学機器用の制御プログラムとかだと、インテグレータを通してで機器と一式セット保守契約付で買ってたとこから契約切れになったやつを又買いしたあるいは譲渡してもらって使ってたってパターンはありそうね。んでそれがいよいよホスト機ご臨終になりそうになったんでインテグレータに聞いた→聞かれたインテグレータが「当時の担当者もういねーしそもそも保守契結んだとこじゃねーけど、シラネーヨじゃかわいそうだからとりあえずCWにでも投げとくか」って感じで出してるんじゃないかね?
新規開発は別にあるじゃね?説明読んだ?
たぶん、その要件定義を作るための解析なんじゃないかな。複雑で完全にブラックボックスになっていて、Input/Outputの総当たりで調べる人海戦術でも無理とか書いてあるし。
リバースエンジニアで楽勝でできる人はいるのかもしれず、その人がやれば2,3週間でできるボリュームなのかもしれない。でも日本企業でよくある間違いは、下っ端PG/SEの2週間分の請負料でいいんだろうって計算しちゃうこと。
下っ端PGが一か月かかる仕事をスーパーSEが一週間でやったら、費用は1/4ではなく、4倍速くできた分高くなって倍額くらいは払わなきゃいけないんだよね。
つか、INPUTって人の手入力なんですかね?他とつなぐためのpgなら、INPUTはその相手側のOUTPUTなわけで、そこの仕様もわからんのだろか?
手入力だとまぁ。。。。。無理かな。
>たぶん、その要件定義を作るための解析なんじゃないかな。それなら先ず動いている現物を見るべきだ。
PC98のソフトを使っているぐらいだから、町工場かなんかでそんなお金なんて無い(つまり詰んでる)んだと思いますよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
新規に作成し直した方が良いのでは (スコア:4, すばらしい洞察)
経験から言うと、既存のプログラムをどれだけ解析しても、
処理内容までは分かってもその処理の意図が分からないという事は
往々にしてある。
意図が分からないということはその処理が正しいのかどうか
判断できないということで、同様の処理を再現することは出来ても
結局遠からず保守できなくなる。
それならいっそ要求仕様からきちんと起こして新規に作成する方が良いのでは。
Re:新規に作成し直した方が良いのでは (スコア:2, すばらしい洞察)
そりゃ米国防総省だって知っている話。
米国防総省は10億米ドル以上かけて、更新に失敗しているのだが。
https://it.srad.jp/story/13/07/14/0555217/ [it.srad.jp]
Re:新規に作成し直した方が良いのでは (スコア:1)
新規で作れば楽じゃん!
で、後悔することになる。
仕様漏れが発覚したり動きが微妙に違ったり…
結局解析して仕様作る羽目になる。
Re: (スコア:0)
バイナリを手作業で解析すれば仕様漏れが発生しないとでも?
Re: (スコア:0)
そういう場合に必要なのはエミュレータの類だよね。
それでも完璧ってわけじゃないけどまぁ常識的な範囲の仕様はカバーできるっしょ。
エミュレートしてる処理と新規に書いた処理を混ぜれるような環境作って必要な箇所だけ置換しつつ面倒な部分はエミュに投げるとか、
テスト構成の中にエミュレータとの比較を盛り込んでテストケース山盛りで一致するまでロジック練るとか、
イチから全部解析するよりはそれなりにエミュレータにぶん投げてしまいたい。
・・・とはいえそれも規模によるか。Hello worldレベルならエミュレータ構成するより解析して書き直すほうが早い。
Re: (スコア:0)
新規に作成する案件ではありません。
要件の間違いは危険。
Re: (スコア:0)
PC-98だと、古い機械の制御用という可能性もあるのでは。
とすると、その制御するための運動モデルなどがハッキリしてなくて、
試行錯誤の末に作られた継ぎ接ぎのコードだけが仕様として存在しているのかも。
Re: (スコア:0)
そうそう。意味不明なコードが、実は機器の同期用ウェイト取りだったり
機器バグのためのメモリクリアに使うバッドノウハウだったりとか。
そんなのは仕様書があっても分からなかったりする。
仕様ではない手順はせいぜいコメントに書くぐらい。
コーディング定義書のようなものを書いている職場があることは聞いたことがあるけど行きたくないな・・・
Re: (スコア:0)
>PC-98だと、古い機械の制御用という可能性もあるのでは。
というかそれ以外には考えられん。
I/O云々とかも有るが、そもそもそれらの固有の問題が無ければ新規に起こした方が速いだろ。
多分その古い機械のプロトコルすら判らんとか言うのだろうな。
でも、そっちに言及が無い以上、そりゃもう地雷としか言えないよ。
ヘタすりゃ、動作状況のモニタすら不要でプログラムだけ見たら判るとか思って居る可能性すら有る。
いやいや、どう考えても最初に確認すべきは実際に動いている実物そのものだろうに。
Re: (スコア:0)
理化学機器用の制御プログラムとかだと、インテグレータを通してで機器と一式セット保守契約付で買ってた
とこから契約切れになったやつを又買いしたあるいは譲渡してもらって使ってたってパターンはありそうね。
んでそれがいよいよホスト機ご臨終になりそうになったんでインテグレータに聞いた→聞かれたインテグレータ
が「当時の担当者もういねーしそもそも保守契結んだとこじゃねーけど、シラネーヨじゃかわいそうだからとり
あえずCWにでも投げとくか」って感じで出してるんじゃないかね?
Re: (スコア:0)
新規開発は別にあるじゃね?
説明読んだ?
Re: (スコア:0)
たぶん、その要件定義を作るための解析なんじゃないかな。
複雑で完全にブラックボックスになっていて、Input/Outputの総当たりで調べる人海戦術でも無理とか書いてあるし。
リバースエンジニアで楽勝でできる人はいるのかもしれず、その人がやれば2,3週間でできるボリュームなのかもしれない。
でも日本企業でよくある間違いは、下っ端PG/SEの2週間分の請負料でいいんだろうって計算しちゃうこと。
下っ端PGが一か月かかる仕事をスーパーSEが一週間でやったら、費用は1/4ではなく、4倍速くできた分高くなって倍額くらいは払わなきゃいけないんだよね。
Re: (スコア:0)
つか、INPUTって人の手入力なんですかね?
他とつなぐためのpgなら、INPUTはその相手側のOUTPUTなわけで、そこの仕様もわからんのだろか?
手入力だとまぁ。。。。。無理かな。
Re: (スコア:0)
そもそも既存のプログラムが正しいかどうかも判断できないと
いうことになるのでは…
# 現実にはそういう仕事があったりするのは承知だけど。
# 『前と同じ動きにして~』というのがどれだけ地雷かは
# ここに来るような人は経験があるのでは…
Re: (スコア:0)
>たぶん、その要件定義を作るための解析なんじゃないかな。
それなら先ず動いている現物を見るべきだ。
Re: (スコア:0)
PC98のソフトを使っているぐらいだから、町工場かなんかでそんなお金なんて無い(つまり詰んでる)んだと思いますよ。