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

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

ベームの見積もりの不確実性の図やマコネルの不確実性コーンは、JQueryやREST、CI時代にも有効か?

2015-07-20 01:04:26 | Weblog
B. BoehmのSoftware Engineering Economicsにでてくる見積もりの不確実性の図

http://csse.usc.edu/csse/TECHRPTS/1984/usccse84-500/usccse84-500.pdfより引用

や、スティーブマコネルの不確実性コーン

http://itpro.nikkeibp.co.jp/article/COLUMN/20131001/508039/ より引用


は、要求のような上流段階では見積もりは不正確で、下流工程になるほど正確になる
ということを示しているといわれる。

これは、JQueryやREST、CI以前なら、成立すると思われる。
なぜなら、ソフトウェアの各工程

  要求ー設計ー実装ーテスト

という各工程は前工程を前提に成立している。
したがって、たとえば要求に変更が起こった場合、

  要求→設計→実装→テスト

に変更が起こり、この工数が発生するのに対し、

実装に変更が起こった場合

実装→(単体)テスト

にしか変更が起こらないから、この工数分しか工数は発生しない。
なので、工程が進んだほうが、変更工数が少なく、不確実性は低い。




しかし、現在のJQueryやREST、CI時代に同じことは言えるのだろうか?

CIにより、テストは
  変更点テスト+回帰テスト
となった。ここで、回帰テストは、どれだけの変更があっても、全部同じである。


JQueryやRESTは、アスペクト指向を事実上実現可能にした。

アスペクト指向は、横断的関心事、つまり非機能要件のような各機能(=業務)に直性関係ない
GUIや性能、移植性などを、機能(=業務)横断的に修正することを可能にする。

 これは、JQueryのセレクタ(クラスをセレクタで選択)したり、RESTでWebサーバーを
使う場合、そのサーバーのフィルターに、非機能要件となるプログラムを入れることで、
実現可能となる。
 ということは、非機能要件部分は、機能に関係なく、一斉に修正・追加でき、再利用可能になる。

 そのため、要求変更が出たら、その要求変更部分をJQueryのセレクタで切り出して、
 切り出した部分を、非機能要件を実現するプログラムを埋め込めば(再利用すれば)よい 

 そうなってくると、変更になっても、あんまり手間暇かからないから、
 何倍にもなることは、ないんじゃないかなあ?


*ベームの見積もりの不確実性の図とマコネルの不確実性コーンは同じ図に見えるけど、
 アジャイルでは、この図は、マコネルの不確実性コーンといわれ、
 大学の先生は、ベームの図ということになっている。


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