システム設計4 プロジェクト管理の仕組み (その36)

 前回はシステム設計を、開発工程上はシステムエンジニアリングと、ハードやソフトなどのサブシステムのエンジニアリングの両方と定義しました。ここで、システムエンジニアリングとは、顧客の要望やニーズを整合性や一貫性を保証、あるいは、補完してハードウェアやソフトウェアなどのいくつかのサブシステムにブレークダウンする工程で、これにより、ハードウェア・サブシステムやソフトウェア・サブシステムの要件を明確にする作業です。そして、ハードウェア・エンジニアリングとは、システムエンジニアリングにより明確になったハードウェア・サブシステムの要件をそれを実現するための内部構造や各ブロック仕様、必要な開発作業などにブレークダウンする作業です。ソフトウェア・エンジニアリングなど他のサブシステムのエンジニアリング作業も同様です。今回は、実際にシステム設計の進め方について話をしたいと思います。説明のために自動販売機を開発すると仮定して話を進めたいと思います。
 
 システム設計の最初のステップは、ハードやソフトを含んだシステムに対する要件を明確にすることです。まずは、顧客の要望やニーズを整理します。ここでは、顧客からは以下のような要求があったとします。
 
  【自販機で扱う商品は化粧品】
  【商品は続けていくつも購入することができる】
  【既存の缶ジュース自販機を流用して開発作業を最小限に抑える】
 
 このリストを見てわかるように、顧客からは今までとは違う機能や他社とは違う特徴を伝えられるだけであることが普通です。したがって、ユーザの要望をベースに、システム(製品)として必要な要件を漏れなくリストアップするのは製品開発者の仕事となります。この化粧品の自販機の場合は次のようになります。今回はあくまでも説明のための例として取り上げているので、実際に製品を作るレベルにまでの完成度にはなっていないことにご注意ください。
 
図69. 主要なシステム要件
 
 図69を見ると、システム(製品)としてユーザに提供するサービスや機能の一覧になっていることがわかると思います。これで十分と考える人もいるでしょうが製品開発としては不十分です。製品としてはもっと細かなところまで詰めておく必要があります。それでは、図70に図69をさらに詳細化してみます。
 
図70. システム要件
 
 図69と比較して「取り扱い商品の確認」などの6つの大分類は変わらないものの、一つひとつが詳細になっていることがわかると思います。また、今まではユーザを主語にした表現にしていましたが、システムを主語にした表現に変えています。このように、システム(製品)がユーザに...
提供するサービス/機能を漏れなくリストアップしたものがシステム要件です。このレベルまで詳細化できれば十分だと考える人も多いと思います。しかし、このシステム要件は問題を抱えています。機能にしか注目していないからです。実際、システム設計きちんとやっていて十分に整理しているといっている開発現場であっても、注目しているのが機能だけとなっていることは少なくありません。次回は、「機能以外に注目してシステム要件をリストアップする」を、解説します。
 
 
◆関連解説『技術マネジメントとは』

↓ 続きを読むには・・・

新規会員登録


この記事の著者