システムのミッションを考えよう

NPO法人ITプロ技術者機構理事  木村  稔

◇開発システムには使命がある
システムの要件定義や設計を行う場合に、ただ与えられた条件で行った場合には、後からしっぺ返しを食う場合が多々あります。一歩踏み込んでユーザの立場でそのシステムに与えられたミッションを考えて開発を行うことが重要になります。ミッションはピーク時の処理件数確保であったり、超信頼性であったり、とにかく安く作ることであったり、システムにより様々だと思われます。もちろんそのシステムの種類や適用される業種や業務の特徴を考慮することは言うまでもありません。

◇処理性能がミッションの例
筆者が携わってきた新聞制作システムの例で言いますと、新聞産業はピーク産業であり、新聞は物として印刷・運搬・配達しなければならず、そのためには、降版時間という締切時間を設けてぎりぎりまで最新のニュースを待って一挙に高速処理するシステムが必要となります。
もう三十年以上も前の話ですが、組上がった新聞のゲラを確認する大刷りシステムの開発に際して、1頁の出力を2分以内にせよとのミッションをユーザから与えられました。当時はメインメモリも小さいため、文字発生頻度により仮名などはメモリに、残りの内字はROMの文字発生装置、外字は磁気ディスクに収容し、一番時間が掛かる文字イメージの展開部分はプログラムの命令レベルで最速化を図ることによりどうにか1分半で出力することが出来ました。
また、それとは別の紙面イメージを全国の印刷工場に送るシステムでは、当時の紙面伝送受信装置は途中で止めることが出来ず、システムからの送信データが途絶えると空白が書かれてしまい、フィルム1枚が無駄になってしまうため、9回線分を同時に途切れることなくデータを送り続けるミッションがありました。そのためにデータ圧縮装置などの開発や新磁気ディスクの前倒し開発などとともにミニコンのバス性能も考慮した設計を行い、クリアしました。

◇マンマシンの操作性とレスポンスがミッションの例
新聞紙面を編集・レイアウトして一面を組み上げる組版システムでは、整理記者と言われる編集者が活字時代から行われているその新聞社特有の複雑な組版のルールに従って操作する必要があり、高度な操作性と締切間際の急な組み替えに対応するための高速なレスポンスがミッションになります。そのために膨大なソフトの開発と高速な端末が必要となります。

◇最後は品質と性能
大変となったシステム開発においては、まずとにかく動くようにシステム品質の向上が図られ、ある程度目処が付いてくると性能対策が図られるのがよくある一般的なパターンのようです。性能が問題にされるようになるとやっとここまで来たかと感じ入ることもあるようですが、性能が出ないために上位のマシンに置き換えたり、ソフトの一部を作り替えたり大変な労力が掛かる場合もあります。やはり上流工程の設計時にそのシステムのミッションを良く理解し、手を打っておくことが特に次代を担う若い技術者に求められます。

(2008年6月15日)