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

更新日

投稿日

 前回のシステム設計6に続いて解説します。
 
 検証作業の基本は、考えたサブシステム構成に対してシステム要件の一つひとつに対してどのような振る舞いになるのかを確認することです。まず、FURPS+ で整理したシステム要件のうち、図70に示している機能 (Functionality) について検証したいと思います。再度、図70を下記に示します。
 
R&D
図70. システム要件
 
 図を見ると、機能の最初のシステム要件である「取り扱い商品の確認」は、「お金の投入前はすべての商品をライトアップする」(システム要件 F1.1 とします)と「自販機の中の在庫が切れた場合はその商品はライトアップしない」(システム要件 F1.2 とします)という2つの要件に分かれていることがわかります。それぞれの要件についてサブシステムの振る舞いを考えます。図75 を見てください。
 
R&D
図75. サブシステム構成の検証(その1) 
 
 まずシステム要件 F1.1 です。「状態管理サブシステム」がお金が投入される前の待機状態が正常であることを確認して「操作管理サブシステム」に知らせます。知らせを受けた「操作管理サブシステム」は商品のライトをすべてオンにしてユーザからの操作を待ちます。ちなみに、要件 F1.1 には記述していませんが、自販機に異常が見つかった場合には、今の振る舞いと同様に「状態管理サブシステム」は「操作管理サブシステム」に異常であることを知らせ、「操作管理サブシステム」は商品ライトを全部消して何も操作ができないようにする必要があるでしょう。
 
 このように、ある要件を検証するときに関係する新たな要件が出てくるときがあります。このような要件は派生要件としてシステム要件に加えます。今の場合であれば、システム要件 F1.1.1 として「自販機に異常が見つかった場合は商品ライトを消して操作できないようにする」を追加します。
 
 次にシステム要件 F1.2 を考えます。「商品管理サブシステム」は商品在庫があるかどうかを把握し、在庫が切れている商品があれば「操作管理サブシステム」に知らせます。知らせを受けた「操作管理サブシステム」はその商品のライトを消しその状態を維持します。
 
 以上のシステム要件の振る舞いを記述したサブシステム構成の図を使って、サブシステムが受け持つ役割(機能)がシンプルかどうか、サブシステム間のやりとりがシンプルかどうかを確認します。たとえば、「商品管理サブシステム」の役割は「在庫がない商品を確認する」となっていますが、これは、「商品管理サブシステム」が商品ごとのストッカーにセンサーを持ち、商品がないことを知らせるための信号線を確保することでシンプルに実現できそうです。ストッカーなどのハードウェアは化粧品に合うように作り直す必要がありますが、センサーなどの仕組みは既存の自販機から流用できそうです。同様に、「操作管理サブシステム」は在庫がない商品を教えてもらえれば、在庫がある商品だけにライトをつけることは問題ないですし、「状態管理サブシステム」も自販機の状態を常にモニターしているわけですから正常かどうかを判断するのは適切です。どちらもサブシステムも役割としてシンプルなものになっています。
 
 さらに、サブシステム間のやりとりについて検証します。「商品管理サブシステム」は「操作管理サブシステム」に対して「在庫がない商品を知らせる」ことになっていますが、在庫は「商品管理サブシステム」が把握できるデータなので問題はありません。ただ、「操作管理サブシステム」には商品が特定できる...
 前回のシステム設計6に続いて解説します。
 
 検証作業の基本は、考えたサブシステム構成に対してシステム要件の一つひとつに対してどのような振る舞いになるのかを確認することです。まず、FURPS+ で整理したシステム要件のうち、図70に示している機能 (Functionality) について検証したいと思います。再度、図70を下記に示します。
 
R&D
図70. システム要件
 
 図を見ると、機能の最初のシステム要件である「取り扱い商品の確認」は、「お金の投入前はすべての商品をライトアップする」(システム要件 F1.1 とします)と「自販機の中の在庫が切れた場合はその商品はライトアップしない」(システム要件 F1.2 とします)という2つの要件に分かれていることがわかります。それぞれの要件についてサブシステムの振る舞いを考えます。図75 を見てください。
 
R&D
図75. サブシステム構成の検証(その1) 
 
 まずシステム要件 F1.1 です。「状態管理サブシステム」がお金が投入される前の待機状態が正常であることを確認して「操作管理サブシステム」に知らせます。知らせを受けた「操作管理サブシステム」は商品のライトをすべてオンにしてユーザからの操作を待ちます。ちなみに、要件 F1.1 には記述していませんが、自販機に異常が見つかった場合には、今の振る舞いと同様に「状態管理サブシステム」は「操作管理サブシステム」に異常であることを知らせ、「操作管理サブシステム」は商品ライトを全部消して何も操作ができないようにする必要があるでしょう。
 
 このように、ある要件を検証するときに関係する新たな要件が出てくるときがあります。このような要件は派生要件としてシステム要件に加えます。今の場合であれば、システム要件 F1.1.1 として「自販機に異常が見つかった場合は商品ライトを消して操作できないようにする」を追加します。
 
 次にシステム要件 F1.2 を考えます。「商品管理サブシステム」は商品在庫があるかどうかを把握し、在庫が切れている商品があれば「操作管理サブシステム」に知らせます。知らせを受けた「操作管理サブシステム」はその商品のライトを消しその状態を維持します。
 
 以上のシステム要件の振る舞いを記述したサブシステム構成の図を使って、サブシステムが受け持つ役割(機能)がシンプルかどうか、サブシステム間のやりとりがシンプルかどうかを確認します。たとえば、「商品管理サブシステム」の役割は「在庫がない商品を確認する」となっていますが、これは、「商品管理サブシステム」が商品ごとのストッカーにセンサーを持ち、商品がないことを知らせるための信号線を確保することでシンプルに実現できそうです。ストッカーなどのハードウェアは化粧品に合うように作り直す必要がありますが、センサーなどの仕組みは既存の自販機から流用できそうです。同様に、「操作管理サブシステム」は在庫がない商品を教えてもらえれば、在庫がある商品だけにライトをつけることは問題ないですし、「状態管理サブシステム」も自販機の状態を常にモニターしているわけですから正常かどうかを判断するのは適切です。どちらもサブシステムも役割としてシンプルなものになっています。
 
 さらに、サブシステム間のやりとりについて検証します。「商品管理サブシステム」は「操作管理サブシステム」に対して「在庫がない商品を知らせる」ことになっていますが、在庫は「商品管理サブシステム」が把握できるデータなので問題はありません。ただ、「操作管理サブシステム」には商品が特定できるデータにして知らせる必要があります。先ほど、「商品管理サブシステム」と「操作管理サブシステム」の間に在庫の有無を知らせる信号線を確保する必要があるとしましたが、商品が特定できる信号にしてその状態を保持しておく必要があります。同じように、「状態管理サブシステム」から「操作管理サブシステム」に自販機が正常か異常かを知らせるようになっていますが、このやりとりもシンプルなので問題ないでしょう。ただ、異常を検出した時点で「操作管理サブシステム」に対して割り込みがかかるような信号線にしておく必要があります。
 
 次回は、最後に追加したシステム要件「停電時の商品とお金の保証」についての検証作業を解説します。
 
 

   続きを読むには・・・


この記事の著者

石橋 良造

組織のしくみと個人の意識を同時に改革・改善することで、パフォーマンス・エクセレンスを追求し、実現する開発組織に変えます!

組織のしくみと個人の意識を同時に改革・改善することで、パフォーマンス・エクセレンスを追求し、実現する開発組織に変えます!


「技術マネジメント総合」の他のキーワード解説記事

もっと見る
思い付くには何が必要か 普通の組織をイノベーティブにする処方箋 (その60)

   前回は思考の構成要素として、「その1:思い付く」と「その2:思い付いたことの発展」があるという話をしました。今回からは「その1:思い...

   前回は思考の構成要素として、「その1:思い付く」と「その2:思い付いたことの発展」があるという話をしました。今回からは「その1:思い...


開発生産性向上とは 【連載記事紹介】

  開発生産性向上の連載記事が無料でお読みいただけます! ◆【特集】 連載記事紹介:連載記事のタイトルをまとめて紹介、各タイトルから詳細...

  開発生産性向上の連載記事が無料でお読みいただけます! ◆【特集】 連載記事紹介:連載記事のタイトルをまとめて紹介、各タイトルから詳細...


思考パターンの拡大 普通の組織をイノベーティブにする処方箋 (その76)

   前回から3つの方向性の中で、最初の方向性である「思考パターンの固定化という問題を意識し、思考パターンを拡大する強い意志を持つ」につい...

   前回から3つの方向性の中で、最初の方向性である「思考パターンの固定化という問題を意識し、思考パターンを拡大する強い意志を持つ」につい...


「技術マネジメント総合」の活用事例

もっと見る
イノベーションのための「チーム体制」

 「最後の砦、技術力がアブナイ」では、技術者は自律性、創意工夫、挑戦意欲、変化対応力などを期待されているにもかかわらず、開発現場はそのような技術者に育てる...

 「最後の砦、技術力がアブナイ」では、技術者は自律性、創意工夫、挑戦意欲、変化対応力などを期待されているにもかかわらず、開発現場はそのような技術者に育てる...


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

 前回はシステム設計を、開発工程上はシステムエンジニアリングと、ハードやソフトなどのサブシステムのエンジニアリングの両方と定義しました。ここで、システムエ...

 前回はシステム設計を、開発工程上はシステムエンジニアリングと、ハードやソフトなどのサブシステムのエンジニアリングの両方と定義しました。ここで、システムエ...


成功体験が重荷となる製品開発プロセス(その2)

◆ 解決策    成功体験が重荷となる製品開発プロセス(その1:現状の課題)では、スマートフォンで起きていることを例にして、従来の組み込みソ...

◆ 解決策    成功体験が重荷となる製品開発プロセス(その1:現状の課題)では、スマートフォンで起きていることを例にして、従来の組み込みソ...