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

更新日

投稿日

 それでは、機能以外にも注目してシステム要件をリストアップするにはどうしたらよいでしょうか、 そのための手法として FURPS+ を紹介したいと思います。
 
R&D
図71. FURPS+
 
 図71 に示しているように、FURPS+ とは Functionality(機能性),Usability(使用性),Reliability(信頼性),Perfomance(性能),Supportability(保守性)の頭文字を並べて、さらにその他の属性という意味で + を付け加えたものです。「ファープス プラス」と発音します。FURPS+ はシステム要件を考えるときに、機能 (F) 以外に考えるべき品質特性を忘れないようにガイドするものです。「ファープス プラス」と覚えておけば常に意識することが可能になるはずです。この自販機の場合 FURPS+ はどのようになるでしょうか。機能 (F) については前回、リストアップしたので、残りの URPS+ について考えてみましょう。
 
R&D
図72. 例題のFURPS+
 
 FURPS+ のリストアップができたらば、その一つひとつを機能やサービスと同じように要件としてブレークダウンし整理します。このとき、性能 (P) は機能 (F) としてブレークダウンできたり、信頼性 (R) は性能 (P) としてブレークダウンできたりすることに注意してください。たとえば、図72 の 信頼性 (R) の一つである「停電のときには投入したお金を返却口に返しその旨を表示する(伝える)」について考えると、次のように機能(F)にブレークダウンすることができます。
 
R&D
図73. FURPS+のブレークダウン
 
 これらの機能はすべて停電時のシステムの機能ですから、「停電時の商品とお金の保証」という新しいシステム要件として追加しておきます。同様に、信頼性(R)の他の項目についても、また、使用性(U)や性能(P)などの他の品質特性についても同様に一つひとつ検討してシステム要件に加えます。この作業はシステム設計の一部ですが、開発現場によっては要件定義とか要件設計というように呼んでいることもあります。どのように呼んでいるにせよ、大切なのは図73 に示すような考え方で、機能以外の品質特性についても漏れなくリストアップすることです。そして、FURPS+ を使うと機能以外の品質特性について考慮することができ、漏れのないシステム要件を作ることが容易になるわけです。
 
 くどいようですがもう一つ注意があります。開発現場の中には非機能要件としてシステム要件を整理しているところもありますが、その場合でも性能にしか注目していないことが多いということです。しかし、FURPS+ で示したように、システム要件を考える際には品質特性全般を考慮することが重要です。システム設計の最初のインプットであるシステム要件が正しくなければ、その後のシステム設計作業を正しく行うことはできないのです。そのためには、FURPS+ のような手法を使い、十分な時間をかけてシステム要件を整理することが大切です。
 
 さて、システム設計の一つであるシステムエンジニアリングのインプットであるシステム要件が決まりました。次にすることは、システムエンジニアリングを行って各サブシステムの要件を明確にすることです。具体的には、一つひとつの要件に対してシステムの振る舞いを考えることと、それと並行して、システムとしてどのようなサブシステム(ブロック)が必要なのか考...
 それでは、機能以外にも注目してシステム要件をリストアップするにはどうしたらよいでしょうか、 そのための手法として FURPS+ を紹介したいと思います。
 
R&D
図71. FURPS+
 
 図71 に示しているように、FURPS+ とは Functionality(機能性),Usability(使用性),Reliability(信頼性),Perfomance(性能),Supportability(保守性)の頭文字を並べて、さらにその他の属性という意味で + を付け加えたものです。「ファープス プラス」と発音します。FURPS+ はシステム要件を考えるときに、機能 (F) 以外に考えるべき品質特性を忘れないようにガイドするものです。「ファープス プラス」と覚えておけば常に意識することが可能になるはずです。この自販機の場合 FURPS+ はどのようになるでしょうか。機能 (F) については前回、リストアップしたので、残りの URPS+ について考えてみましょう。
 
R&D
図72. 例題のFURPS+
 
 FURPS+ のリストアップができたらば、その一つひとつを機能やサービスと同じように要件としてブレークダウンし整理します。このとき、性能 (P) は機能 (F) としてブレークダウンできたり、信頼性 (R) は性能 (P) としてブレークダウンできたりすることに注意してください。たとえば、図72 の 信頼性 (R) の一つである「停電のときには投入したお金を返却口に返しその旨を表示する(伝える)」について考えると、次のように機能(F)にブレークダウンすることができます。
 
R&D
図73. FURPS+のブレークダウン
 
 これらの機能はすべて停電時のシステムの機能ですから、「停電時の商品とお金の保証」という新しいシステム要件として追加しておきます。同様に、信頼性(R)の他の項目についても、また、使用性(U)や性能(P)などの他の品質特性についても同様に一つひとつ検討してシステム要件に加えます。この作業はシステム設計の一部ですが、開発現場によっては要件定義とか要件設計というように呼んでいることもあります。どのように呼んでいるにせよ、大切なのは図73 に示すような考え方で、機能以外の品質特性についても漏れなくリストアップすることです。そして、FURPS+ を使うと機能以外の品質特性について考慮することができ、漏れのないシステム要件を作ることが容易になるわけです。
 
 くどいようですがもう一つ注意があります。開発現場の中には非機能要件としてシステム要件を整理しているところもありますが、その場合でも性能にしか注目していないことが多いということです。しかし、FURPS+ で示したように、システム要件を考える際には品質特性全般を考慮することが重要です。システム設計の最初のインプットであるシステム要件が正しくなければ、その後のシステム設計作業を正しく行うことはできないのです。そのためには、FURPS+ のような手法を使い、十分な時間をかけてシステム要件を整理することが大切です。
 
 さて、システム設計の一つであるシステムエンジニアリングのインプットであるシステム要件が決まりました。次にすることは、システムエンジニアリングを行って各サブシステムの要件を明確にすることです。具体的には、一つひとつの要件に対してシステムの振る舞いを考えることと、それと並行して、システムとしてどのようなサブシステム(ブロック)が必要なのか考えることです。システムエンジニアリングにより次のことが明確になります。
 
システム内部の要素とその役割
システム内部の要素間の関係
システム要件に対するシステム内部の振る舞い
システム内部要素の要件(FURPS+)
 
 このステップについては次回、さらに解説します。システム設計のスタートは、顧客からの言葉を FURPS+ のような考え方を使って機能以外の品質特性も含めてシステム要件として整理することです。くれぐれも、顧客や企画部門から与えられた要求だけをシステム要件としたり、機能以外の品質特性について考慮しないままにシステム要件としたりすることがないように注意してください。
 
 

   続きを読むには・・・


この記事の著者

石橋 良造

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

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


関連する他の活用事例

もっと見る
ハイヒール型プルタブオープナー  異分野市場での事業化事例 (その1)

「部品技術の見える化」で、B2Bの部品からB2Cの完成品事業に成功したクライアントの事例を紹介します。A社は、金属加工の部品メーカーであり、田植え機、AT...

「部品技術の見える化」で、B2Bの部品からB2Cの完成品事業に成功したクライアントの事例を紹介します。A社は、金属加工の部品メーカーであり、田植え機、AT...


プロジェクトの計画策定 プロジェクト管理の仕組み (その3)

 前回のその2:CMMIの要件管理に続いて、プロジェクトの計画策定について解説します。CMMIでは次のことができている必要があります。   ...

 前回のその2:CMMIの要件管理に続いて、プロジェクトの計画策定について解説します。CMMIでは次のことができている必要があります。   ...


設計部門の仕組み構築(その3)

【設計部門の仕組み構築 連載目次】 1. 設計部門の仕組み構築 2. 設計部門の仕組み構築(解決すべき根本原因) 3. 設計部門の仕組み構築(具...

【設計部門の仕組み構築 連載目次】 1. 設計部門の仕組み構築 2. 設計部門の仕組み構築(解決すべき根本原因) 3. 設計部門の仕組み構築(具...