あらすじ:
平凡な30代のシステムエンジニア たかし が、ブックオフで何気なく見かけて買った『孫子の兵法』の本。
家で読んでいると孫子の兵法を教えてくれる謎のマスコット「そんしくん」が現れ、 たかし の様々な問題に孫子の兵法を使って解決に導いてくれるのであった。
そしてなぜかそんしくんはシステムエンジニアリングに詳しい。。。
第3章:形 – ソフトウェアの構造
「形とは、敵と味方の状況や関係を把握することだよ。形が分かれば、勝敗も分かる。形が分からなければ、勝ち目もないよ」とそんしくんは言った。
たかしは、自分が担当するプロジェクトのソフトウェアの構造について考えていた。
クライアントからの要求は多岐にわたり、機能や性能も高度だった。
しかし、開発期間は短く、予算も限られていた。
どうやってこの難題に対処すればいいのだろうか。
そんしくんは、たかしに孫子の兵法の一節を教えてくれた。
「敵に知られずして動く者は神と呼ぶべし。神とは、音もなくして現れ、影もなくして去る者なり」。
「つまり、ソフトウェアの構造も敵に知られないようにすればいいということだよ。敵とは、競合他社や不正アクセス者やバグや障害などだね。ソフトウェアの構造が分からなければ、攻撃や妨害もできないし、模倣や改造もできないよ」
とそんしくんは説明した。
「でも、どうやってソフトウェアの構造を隠せばいいんだろう?」
とたかしは聞いた。
「それはね、オブジェクト指向設計やモジュール化や暗号化や圧縮などの技術を使えばいいんだよ。それらを駆使すれば、ソフトウェアの構造は外から見えなくなるし、内部も複雑になるよ。そうすれば、敵は手も足も出せなくなるよ」
とそんしくんは言った。
「なるほど、そういうことか」
とたかしは納得した。
「でも、それらの技術を使うと開発コストや時間が増えるんじゃないか?」
「心配しなくても大丈夫だよ。それらの技術を使うことで、ソフトウェアの品質や保守性や拡張性も向上するからね。結果的にはコストや時間を節約できるよ」
とそんしくんは言った。
「そうか、ありがとうそんしくん。君は本当に頼りになるね」
とたかしは感謝した。
「どういたしまして。さあ、次の章に進もうか」
とそんしくんは笑顔で言った。
(続く)
コメント