システム設計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 を考えます。「商品管理サブシステム」は商品在庫があるかどうかを把握し、在庫が切れている商品があれば「操作管理サブシステム」に知らせます。知らせを受けた「操作管理サブシステム」はその商品のライトを消しその状態を維持します。
 
 以上のシステム要件の振る舞いを記述したサブシステム構成の図を使って、サブシステムが受け持つ役割(機能)がシンプルかどうか、サブシステム間のやりとりがシンプルかどうかを確認します。たとえば、「商品管理サブシステム」の役割は「在庫がない商品を確認する」となっていますが、これは、「商品管理サブシステム」が商品ごとのストッカーにセンサーを持ち、商品がないことを知らせるための信号線を確保することでシンプルに実現できそうです。ストッカーなどのハードウェアは化粧品に合うように作り直す必要がありますが、センサーなどの仕組みは既存の自販機から流用できそうです。同様に、「操作管理サブシステム」は在庫がない商品を教えてもらえれば、在庫がある商品だけにライトをつけることは問題ないですし、「状態管理サブシステム」も自販機の状態を常にモニターしているわけですから正常かどうかを判断するのは適切です。どちらもサブシステムも役割としてシンプルなものになっています。
 
 さらに、サブシステム間のやりとりについて検証します。「商品管理サブシステム」は「操作管理サブシステム」に対して「在庫がない商品を知らせる」ことになっていますが、在庫は「商品管理サブシステム」が把握できるデータなので問題はありません。ただ、「操作管理サブシステム」には商品が特定できるデータにして知らせる必要があります。先ほど、「商品管理サブシステム」と「操作管理サブシステム」の間に在庫の有無を知らせる信号線を確保する必要があるとしましたが、商品が特定できる信号にしてその状態を保持しておく必要があります。同じように、「状態管理サブシステム」から「操作管理サブシステム」に自販機が正常か異常かを知らせるようになっていますが、このやりとりもシンプルなので問題ないでしょう。ただ、異常を検出した時点で「操作管理サブシステム」に対して割り込みがかかるような信号線にしておく必要があります。
 
 次回は、最後に追加したシステム要件「停電時の商品とお金の保証」についての検証作業を解説します。
 
 

   続きを読むには・・・


この記事の著者

石橋 良造

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

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


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

もっと見る
ゾンビテーマを温存しようとしていないか?~技術企業の高収益化:実践的な技術戦略の立て方(その34)

   【目次】 ▼さらに深く学ぶなら!「技術マネジメント」に関するセミナーはこちら! 「現状走っているテーマを評...

   【目次】 ▼さらに深く学ぶなら!「技術マネジメント」に関するセミナーはこちら! 「現状走っているテーマを評...


『価値づくり』の研究開発マネジメント (その6)

    前回は、「技術を目いっぱい拡大」に関する活動の中でコア技術について、議論しました。今回も引き続き、このテーマで議論したいと思いま...

    前回は、「技術を目いっぱい拡大」に関する活動の中でコア技術について、議論しました。今回も引き続き、このテーマで議論したいと思いま...


関係性の種類、重複とは 普通の組織をイノベーティブにする処方箋(その95)

   現在、KETICモデルの中の「知識・経験を関係性で整理する」を解説しています。今回は、下記の(4)重複(一部を共有)について解説しま...

   現在、KETICモデルの中の「知識・経験を関係性で整理する」を解説しています。今回は、下記の(4)重複(一部を共有)について解説しま...


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

もっと見る
作業要素の進捗分析2 プロジェクト管理の仕組み (その19)

  前回のその18:作業要素の進捗分析1に続いて解説します。    図50は製品構造の観点から管理単位にブレークダウンした例です。製品がどの...

  前回のその18:作業要素の進捗分析1に続いて解説します。    図50は製品構造の観点から管理単位にブレークダウンした例です。製品がどの...


ソフトウェア開発スケジュールと結合テスト プロジェクト管理の仕組み (その7)

 前回のその6:進捗管理可能なソフト開発計画に続いて解説します。    ソフトウェア開発スケジュールでは次のような問題を抱えています。 &...

 前回のその6:進捗管理可能なソフト開発計画に続いて解説します。    ソフトウェア開発スケジュールでは次のような問題を抱えています。 &...


擦り合わせ型と組み合わせ型、目指すべき開発体制とは(その3)

【目指すべき開発体制 連載目次】 目指すべき開発体制とは(その1)擦り合わせ型と組み合わせ型 目指すべき開発体制とは(その2)日本企業文化を引きず...

【目指すべき開発体制 連載目次】 目指すべき開発体制とは(その1)擦り合わせ型と組み合わせ型 目指すべき開発体制とは(その2)日本企業文化を引きず...