KAOS (64) 図式を使用する (4.3.1-2)

問題図

M. Jackson の問題-フレーム分析(PFA)で用いられる図である(PFAに関する最近の論文には,「幾つかの原則とアイデア」という論文 1がある).

例題(会議スケジュール管理システム)としては同じで,前回のPFAコンテキスト図から問題図を作る(下図を参照).

M. Jackson氏の問題図

M. Jackson氏の問題図

上記で,「スケジューラ」は,作るべきソフトウェア「機械」を示している.単一の縦線を含む「制約リポジトリ」は,設計する機械を示している.機械が操作する対象でもある.その他の矩形は,問題領域となる(ここでの問題領域は,通常とは少し違った意味で用いられている.問題に関係している実体 – 但し,ジャクソン法でいう – であろうか).

重要なのは,点線で示される部分である(教科書では一点鎖線になっている.ここではオリジナルに合わせて,点線を用いる).ここがソフトウェア「機械」に対する要求である.要求は,スケジューラを作ることではなく,「参加予定者にとって都合が良い,会議の日程・場所を定めること」である.通常見失いやすい,要求と仕様の違いである.

矢印付き点線は,制約を加えることを示している.ここでの要求は,まさに会議(日時・場所)を決定することにある.矢印のない点線は情報を取得することを示している.参加者から会議を計画するための必要な情報を得ることを示している.

上図における記号は,次のような意味を持っている.

問題図における記号の説明
a IN! {meetingRequest}
b SCH!{meetingNotification}
c SCH!{collectedConstraints}
d SCH!{constraintsRequest, meetingNotification}
e PART!{constraintsSent}
f SCH!{determineDate, determineLocation}
g PART!{constrints}
h SCH!{Date, Location}

例えば,aは,招待者(IN)から会議招集依頼(meetingRequest)が発行されるという意味である.!の記号は,CSPのように出力を表している.SCHは,スケジューラ,PARTは,参加者である.

問題フレーム分析(PFA)であるから,フレーム図というのも存在する.フレームとは,ある種の問題のパターンを表している.簡単な例が原書では示されているが,今回は省略する.

(nil)

Notes:

  1. Jackson, M., Some Principles and Ideas of PFA: the Problem Frames Approach.