ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

非機能要件の開発体系

2009-01-20 17:58:14 | Weblog

前のブログで、

非機能要件が体系的になっていない、行き当たりばったりでは、本当にその期間や予算で実装できるかどうかわかりません。

 現在の機能要件重視の考え方は、プロジェクト失敗の要因を内在しているといえそうです。


と書いた以上は、非機能要件の体系化をしないといけません。

というわけで、考えてみました。




■非機能要件における開発手順

(1)まず、非機能要件を、形容詞、副詞、数詞などを使って出す。

 この段階では、「早く」とか、「美しく」とかであって、「Linuxで」とか「ブラウザで」とかは、とりあえず置いておく。その次の段階で出てくる

(1)’ユーザーのシナリオとかでもいい
 ペルソナとか。っていうか、そういうののほうがいいのかな・・・

(2)その要件を実現する技術を検討する
 「使いやすく」ならRIAで、Flashだね!とか。ここでは、実装技術を検討するので、「Linuxで」とか「ブラウザで」とかいうのも、検討対象として挙がってくる

(3)それらの技術をつないで、フレームワーク化する
 挙がっていたそれぞれの技術を、MVCの体系とかで、つないでいき、今回の開発で使うフレームワーク化する。
 ここで、実現可能性をチェックするため、プロトを作るのもありあり。
 
(4)非機能要件が満たせそうなことを確認
 この段階で、もう確認してしまう。満たせなければ、(2)へ

(5)決まった実装技術、フレームワークを元に、外部設計以降の手順や効率化を考える
 自動生成ツールなどの検討、作成




■ということは・・・

 非機能要件というのは、最近、まとまりつつある。

非機能要求グレード検討会
http://www.nttdata.co.jp/nfr-grade/


とか

非機能要求仕様定義ガイドライン
http://www.juas.or.jp/seminar/product/p006.htm


 なので、これらに対して、各項目(非機能要件)を実現するための、実装技術というのを、各社で対応付ければよいことになる。

 機能要件部分は、各案件ごとにちがうが、非機能要件の実装部分は、共通化しやすい。

 たとえば、受注と発注は違う業務だが、どっちもブラウザを使って実現できる。

 そこで、たとえば、

   使いやすさを求められたら、RIA
   グラフパッケージならこれ、
   トランザクションの処理スピード向上なら、インデックス→ハッシュ
   信頼性向上なら、冗長化

 などなど、非機能要件に出てくるキーワードを、自社の技術と結びつけ、それに磨きをかければ、様々な案件に対応しやすいし、使っちゃいけない、あとで問題になる技術も分かるし、開発の大体の予測もつく。




■全体像

 非機能要件は、機能要件がまとまらなくても、ある程度、決めることは出来る。
 たとえば、受注の細かいことは決まらなくても、
    受注の画面は、ブラウザで、ホームページビルダー使って、パンくずリストを上に付けて・・
    帳票は、プリンタから直接。
 といったかんじで。

 つまり、機能要件と非機能要件は、同時に開発できて、
    非機能要件はフレームワークまで
    機能要件はER+業務フローまで
 いけば、それぞれを使って、詳細化、DB,画面定義ができる。

 この辺をまとめると、こんな感じかな・・・


P.S ってことで、どんなフレームワークがあるかって言うことを知ることは、非機能要件をまとめる上で、大切だよね!
 ってことで、

http://www.geocities.jp/xmldtp/index_frame.htm

 に、フレームワークのまとめ(って、このブログで取り上げたもののリンクだけど)をしておきました。もしよかったら見てね!

この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 現在の機能要件重視の考え方... | トップ | 非機能要件も記述できるi*法 »
最新の画像もっと見る

Weblog」カテゴリの最新記事