プログラムを自動生成するようなCASEツールが、
・非常に大昔は、開発工程すべてをカバーするようなツールが多かったのに対して、
・最近は、仕様書を利用して、工程(あるいはプログラムの)一部を自動生成
するような形になって、多く使われるようになった
(これを、伽藍とバザールになぞって考え、後者をバザール型とみなす考えもあるみたいだけど)
のは
共通化の部分を、広く取ってしまうと、実際に作りたいものとの誤差が大きくなってしまって、共通化のメリットがなくなるからでしょうね。
もちろん、抽象化すれば、広くはなるけど、今度は、なにもしなくなるので、効果が薄くなる。
(CASEツールというよりは、お絵かきツールになってきたり・・・)
そうすると、小さい部分に区切って、実際に作りたいシステムとの誤差が小さい範囲でCASEツールをつくる。
でも、あんまりにも小さくすると、CASEツールの意味がなくなる。
ってことで、経験的に、一番効果があるところが、ドキュメントから、ソース自動生成(あるいは、ドキュメントからドキュメント自動生成)っていうラインなんでしょうかね・・