ビジネスコミュニケーション

エンタープライズICT総合誌 月刊ビジネスコミュニケーション

本誌の概要 ホーム
要求工学 第11回:ジャクソンの問題フレーム
NTTデータ 技術開発本部 副本部長 山本修一郎
NTTデータ 
技術開発本部
副本部長 
山本修一郎

概要

今回はジャクソン(Michael Jackson) の問題フレーム (Problem Frame)について紹介する[1]。問題フレームは設計方法論の 影響を受けないように、問題自体を 分析するための手法である。10 年 ほど前にジャクソン法で有名なジャ クソンによって提案された手法だ。 昨年、問題フレームに関する第一回 の国際会議[2]が開催されるなど、注 目されてきている。本稿では、まず 問題フレームとは何かを説明する。 次いで基本となる問題フレームとそ の組み合わせを紹介する。最後に、 問題フレームの応用事例を紹介して 今後を展望しよう。

問題フレームとは

問題フレームは問題を識別し構造 化するための分析手法である。問題 フレームでは、外部要求R、現実の 世界を構成する問題領域の性質K、 ソフトウェア開発の対象となる機械 の仕様Sを考える。

Rは問題世界の望ましい振る舞いや性質に関する 明示的な要求で ある。K は世界 に関する現象に ついての記述で ある。Sは世界とのインタフェース に関して機械が実現すべき振る舞 いや性質についての記述である。S を実現する機械が問題領域Kに対し て動作するとき、外部要求Rが成立 する必要がある。

このように問題フレームでは、要 求をR、K、Sの3つの部分に分け て記述することで、ソリューション に関する内部要求と、ソリューショ ンを取り巻く環境としての現実世界 の振る舞いや性質に関する外部要求 とを明確に区別することができる。

ソフトウェアを開発することは、 問題を解くための機械を作成する ことであり、顧客の要求に合わせ ないといけないわけだが、顧客の 要求は外部要求であり、機械に対 する要求とは異なることが多い。 問題フレームでは外部要求と内部 要求としての仕様との関係を記述 できるので、顧客と開発者とのソ フトウェアに対する認識のギャッ プを埋める手段として有効である と考えられる。

図1 問題フレームの構成要素

問題フレームの表記法

問題フレームの基本的な構造は、 図1に示すように、機械、問題のコ ンテクストとしての現実世界、要求 の3つで構成される。現実世界を問 題領域(Problem Domain)、ある いは単に領域ということもある。

機械が現実世界とインタフェース を持つことを実線で示す。要求が現 実世界と関係することを点線で表 す。要求が現実世界の振る舞いや性 質を参照するを点線で示す。要求が 現実世界の性質や振舞いに対して、 制約を与える場合には矢印付点線で 示す。

表1 問題フレームの図式要素

問題フレーム図の構成要素は表1のようになる。

機械Mが現実世界Dの現象aを制 御するときM!aで表す。これに対し て現実世界で制御される現象b を D!bで表す。現象a は機械で制御さ れ現実世界で観測される。これに対 して現象bは現実世界が制御し、機械により観測される。

モデルは機械によって所有される 領域である。たとえば、文書編集シ ステムでは、編集対象となるテキス ト領域を作成し保存する必要があ る。問題フレームでは、テキスト領 域をモデルとして記述する。

問題フレームの検討

問題フレームでは、与えられた問 題を正確に理解するために検討すべ き項目(Frame Concerns)を記述 する。この検討項目の妥当性をしら べることにより、機械の仕様を論理 的に検証することができる。問題フ レームの検討では、仕様、領域の特 性、および要求に基づいて、次のよ うに議論を整理することができる。 すなわち、機械の振舞いに関する仕 様が領域の振舞いについての要求を 満足することを、領域記述を前提条 件として確認する。

図2 信号機の問題フレームの検討項目 図3 コマンド制御問題フレーム

たとえば、図3に示す交通信号機の問題フレームの場合、次のように検討を進めることができる。

  1. 信号機のランプがこういう「領域の記述」に従って動作するように、
  2. こういう「仕様」で振舞う機械(ソフトウェア)を作れば、
  3. ランプの系列はこのような「要求」に適合する

つまり、問題フレーム図は、何を 検証すべきかを教えてくれている。 ソフトウェア開発者はソリューショ ンの開発過程で様々な検討課題を抽 出して、それを解決する必要がある。 問題フレーム図を作成することで、 検討項目の抽出が容易化できるだけ でなく、検証手順も明確化できるこ とになる。

問題フレームと要求仕様

問題フレームにより要求のコンテ クストを明確化できるので、要求抽 出を容易化できる。また開発すべき 機械が満足すべき仕様を問題フレー ムから導くことができる。

たとえば問題フレームの検討順序 を次のように入れ替えることで、開 発すべきソリューションの仕様を外 部要求に基づいて明確化していると 考えることもできる。

  1. 信号機のランプが「領域の記述」に従って動作するとき、
  2. ランプの系列がこのような「要求」に適合するように、
  3. こういう「仕様」で振舞う機械(ソフトウェア)を作る必要がある
2  3  次へ 

広告募集 ページ先頭へ
Copyright:(C) 2005 BUSINESS COMMUNICATION All Rights Reserved. ※本サイトの掲載記事、コンテンツ等の無断転載を禁じます。