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

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

非機能要件の開発体系

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でシェアする

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

2009-01-20 14:26:59 | Weblog

 前のブログで、「機能要件中心の現在の開発手法は、もう一度レビューしたほうがいいことになる。今度、そのレビューについて書いてみたいと思います」と書いたので、従来の機能仕様中心の開発方法を書いてみたいと思います。

 ざっとこんなかんじ?

 つまり、要求段階では、業務内容を機能要件としてまとめ、非機能要件は、その際の条件としてまとめると思います。
このとき、「どのくらいの量」とか「どのくらいの正確さ」といった、形容詞、副詞的な要素のほか、「Linuxで」とか「Javaで」といった、環境などに関することも一緒にまとめてしまうと思います。

 そして外部設計の段階で、画面設計など、ユーザーインターフェース関連をきめ、さらに、要求仕様が終わった段階で詳細化とかフレームワークの決定などをすると思います。




 でも、この方法、やばいわけです。

 機能要件というのは、一般に、どのような入出力機器で行うかということは考えずに(抽象化して)記述されます。

 「どのような入出力機器」といった実装方法は、記述されないし、一般に検討もされません。

 このような実装に関して、規定をするのは、非機能要件です。

   使いやすく/みやすく・・・じゃあ、RIAで
   大量の検索・・・じゃあ、その項目にインデックスを張って・・・

 そして、実装方法が決まった時、どのくらい効率的にできるかを規定するのがフレームワークやツールです。

 そこで、非機能要件から、実装方法、フレームワーク、ツールを確定し、処理スピードと開発期間の大まかな予想を付けるという作業をしないで、項目のみ挙げて、機能要件だけ重要視して要件定義を終了すると、外部設計段階で、「いや実はこういうようなインターフェースは・・・」、「この期間では、無理(-_-;)」といったことになります。




 ところが、現在の開発方法論は、機能を決定することに力を入れて、非機能要件を体系的に分析していません。

 ですが非機能要件によって、実装の仕方が決まり、それによって、開発プラットフォーム、開発期間、費用などが決まります。つまり、非機能要件によって、その機能が実現できるか、そのプロジェクトが実現できるかが決まります。

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

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



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

非機能要件や、形容詞・副詞のほうが、重要なのか?ひょっとして??

2009-01-20 11:17:33 | Weblog

 きのうの、ユーザー中心デザイン手法について、さらに考える。

 「ITロードマップ2009年版」の141~142ページに、いままでは、構造化手法、データ中心指向、オブジェクト指向、プロセス指向があったが、それと、ユーザー中心デザイン手法が違うというようなことが書いてある。
 その先にかかれていることを、ちょっと深く考えると、

従来の

  構造化手法、データ中心指向、オブジェクト指向、プロセス指向

は、結局、機能をきめている、つまり、機能要件を決めている。
この機能要件は、オブジェクト指向にとって顕著だが、形容詞・名詞を中心に扱う。


一方、新しく出てきた

  ユーザー中心デザイン手法や、ユーザー中心指向

でも、たしかに機能は扱うが、顧客にとって「心地よい」経験を提供する機能を分析する。
「心地よい」とは、形容詞なわけで(=経験という名詞を修飾し、「い」で終わる)、
このような、形容詞的、副詞的な世界、つまり、非機能要件から先に扱っていることになる。




 非機能要件であつかう、形容詞や、副詞の世界

  早い、正確に、使いやすく、クールに、などなど・・・

 は、コンピューター技術に結びつく。
 もっとはっきり言うと、GUI(きれいに)やDB(早く、確実に)などの外部入出力の実装部分に結びつく。
 この分野が今、重視されていることは、実装面ではRIAの話が出てきたり、要件定義でも、i*など、非機能要件に着目していることからも、見て取れる。




 では、なぜ、今、非機能要件なのだろうか・・・

 コンピューターの当初は機能要件中心であったことは想像がつく。
 なぜなら、入出力は限定的なので、選択の余地はない。機能要件を決定しないと、プログラムできないので、ここが中心に考えられてきた。

 しかし、現在、

(1)入出力は様々なデバイスが出てきて、それにより使いやすさが
   大きく作用されるようになった

(2)機能要件のミスの修正は、ソースの自動生成、コードの局所化など
   により、従来よりも早くなった
   →その結果、非機能要件のミス(フレームワークの選択失敗、
    実現困難なインターフェースなど)のほうが、
    工数へ大きな影響を与えてきた。

ということになってきたからでないだろうか?




 そうだとすると、非機能要件のほうが重要であり、機能要件中心の現在の開発手法は、もう一度レビューしたほうがいいことになる。今度、そのレビューについて書いてみたいと思います。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コンテンツで海外へ・・・という戦略は、失敗なのかな。。。

2009-01-20 02:42:34 | Weblog

たしか、昔、コンテンツ(ゲームとかアニメとか)を海外へ輸出!などと、経済産業省あたりが言っていた気がするが・・・

ここのいたいニュース
日本のゲーム業界、大ピンチ…世界シェア20%程度に落ち込む
http://blog.livedoor.jp/dqnplus/archives/1210175.html

(以下斜体は上記サイトより引用)

世界を席巻していた日本のゲーム産業に異変が起きている。欧米のゲームメーカーの台頭が著しい一方で、日本のゲームソフトは売れない状況になっている。3年前からゲーム市場の世界シェアも急激に低下。現在は推定で20%程に落ち込んでいるという。


ま、とりあえず、コンテンツで海外へ・・・という戦略は、失敗なのかな。。。



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする