asatoの技術的な日常日記

「成長に最大の責任をもつ者は、本人であって組織ではない。自らと組織を成長させるためには何に集中すべきかを、自らに問わなければならない」  非営利組織の経営 - ピーター・ドラッカー

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

要求構造

要求レベルでの依存関係などを分析したい。

図は、今作ってるゲーム(「不思議のダンジョン」みたいなやつ)の、ある機能の仕様。

req_structure.png


図からわかるように「マップ表示機能仕様」は、7つの項目からなる。

そのうち6つは、実際に「表示する」という機能を表す。
残りの一つは、「表示する条件」を表す。

ここでの考察は:
-(1)要求は、より小さな項目(要求 or 仕様 or 問題)に分解できる
req_structure2.png


-(2)分解された要求をすべて満たさなければ、分解前の要求を満たしたことにはらない
req_solution.png





次に、項目間の依存関係を DSM (Design Structure Matrix) で示して考えてみようと思う。DSM は、要素間の依存関係を表現するための方法。

req_structure_dsm.png


DSMからは、『「アイテム」の位置は、位置が分かっている場合のみ表示』『「階段」の位置は、位置が分かっている場合のみ表示』の二つは、『「アイテム」「階段」は、プレイヤーの可視範囲に入れば位置が分かるものとする』の仕様に依存(Xマーク)していることが分かる。

一方他の項目については、互いに依存関係はない。


また、ここで「可視範囲」は、横断的な仕様 であることが分かる。「可視範囲」は、他の機能でも必要な仕様。
req_structure3.png

たとえば、「画面描画機能仕様」では、実際にゲーム画面を描画するときに、この「可視範囲」の仕様に依存している。
req_structure4.png


仕様間の依存関係は、したがって、次のようになる:
req_structure_dsm2.png


「可視範囲」の仕様の変更は、他の二つの仕様の変更に影響する。
req_structure_dsm3.png

req_structure_dsm4.png


ここまでのまとめ:
-(1)横断的な仕様が存在する。
-(2)仕様内の依存関係と、仕様外の依存関係がある。


ここまでのまとめ:
-(1)要求は、より小さな項目(要求 or 仕様 or 問題)に分解できる
-(2)分解された要求をすべて満たさなければ、分解前の要求を満たしたことにならない
-(3)横断的な仕様が存在する。
-(4)仕様内の依存関係と、仕様外の依存関係がある。

やり残したこと:
-(1)デザイン or 実装との関係性:上述の議論は、仕様 or 要求レベルの話だった。デザインとはどうかかわってくるのか。
スポンサーサイト

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://asatohan.blog77.fc2.com/tb.php/48-b67906ba
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。