オブジェクト指向開発は、ICONIXによって、ユースケース駆動による、要求仕様から、実装までの一貫した手順が示された。これによって、一通りの開発手法が成立したと思える。
しかし、それで全てが完成したわけではない。
問題点は、大きく、3つの方向性があると思う。
・構造の大規模化の方向
オブジェクトは、粒度が細かいので、再利用するときには、もっと大きな単位で再利用したい
・要求仕様の変更
機能要求の変更のみならず、非機能要求を満たすための変更がある。
非機能要求の変更の場合、UIとかセキュリティとか、各機能に散在する要求の変更(横断的関心事)に成ってしまう。
これは、オブジェクト指向では扱いにくい
・要求の多様化、柔軟化
要求変更がなくとも、もともと、要求がかなり多い場合、ユースケースに書くのが困難になる。
とくに、ユースケースに記述する際に、コンピューターの仕様として判るように、厳密に書くと、
多くのケースが現れてしまう。もっと、柔軟に仕様を書きたい。
これらの方向に基づき、
・構造の大規模化の方向→コンポーネント指向
・要求仕様の変更 →アスペクト指向
・要求の多様化、柔軟化→エージェント指向
が出てきた。ここまでのまとめは、下の図

この続きは、また今度