新人技術者のためのロジカル・シンキング入門(3) ―― 「必要とされる設計書」の作り方
【3】ブロック図でシステムの全体像を記述する(2/2)
● 機能ブロック単体のブロック図を作成する
各機能ブロックの担当者は,全体ブロックがある程度整理された後で,各機能ブロックの設計に入ります.試しにデコード・ブロックについて,単体のブロック図を描いてみました(図6).
デコーダであるからには,当然,デコード・アルゴリズムを内包しており,この部分の設計とテストはもっとも重要.ただし,周りのハードウェア回路制御を作り込む工数を過少に見積もってはならない
エンコードされたデータは,アプリケーション・チップと専用チップの間の共有メモリ空間に配置することにします.全体のブロック図では記述されていませんでしたが,デコーダでデコードされたデータはシリアル通信回路と同期させたDMA(direct memory access)を使ってD-A変換器につなぎ,ヘッドホンから出力することにします.DMAはデコーダのフレームレートに合わせた周期で割り込みをかけるようにして,その割り込みハンドラからデコーダが呼ばれて楽曲データを処理するしくみにします.
このように整理してくると,デコーダ・ブロックの設計およびテストの工程は,大ざっぱに以下の二つの作業に分かれることが明らかになります.
1) デコーダ・モジュール単体の設計やコーディング,テスト
2) デコーダ・モジュールをリアルタイムに駆動するための周りの部分の設計やコーディング,テスト
もちろん,もっとも工数を要するのは,デコーダ・モジュールそのものの設計やテストであることはまちがいありません.リアルタイム性が厳しく求められるデコード・モジュールを実現するには,最適化設計のノウハウを反映しなければなりませんし,楽曲のデコーダとして満足できる品質を保証するためには,これまた専門性の高いテスト技術が要求されます.
しかしその一方で,デコーダを動かす周りの部分を組み立てる工数を過少に見積もってしまうと,やけどすることになるでしょう.組み込みソフトウェアの開発環境というのは,デバッグそのものよりも,実は環境の立ち上げにかなりの時間が必要です.とくに,いろいろなハードウェアやソフトウェアが複雑に絡むブロックの結合および結合テストは,ソース・コードのステップ数から想像するよりも工数がかかるのが一般的です.
● ブロック図作成の所要時間は比較的少ない
ブロック図を用いた設計書を作成する利点として,そのほかに挙げられるものがあるとしたら,作成にかかる時間が比較的少ないことだと思います.
ブロック図は,全体像を明らかにすることに主眼が置かれています.詳細は省略し,とりあえず全体像1枚を起こせば事足ります.
例えば筆者の場合,設計書がほとんど用意されていないソース・コードを引き継ぐときが時々あります.そのようなときは,とりあえず前任者にお願いして,最低限,ハードウェアとソフトウェアの構成がわかるようなブロック図を機能ブロックごとに作成してもらいます.経験的に言って,それだけであれば,たいていの場合はすぐに用意してもらえます.また,全体像さえ明らかになれば,詳細はソース・コードをたどって何とかやりくりする体制が作れるものです.
tag: 技術教育